LỜI CẢM ƠN
Đầu tiên, tôi xin chân thành cảm ơn giáo viên hướng dẫn PGS. TS. Đào
Thanh Tĩnh người đã tận tình chỉ dẫn về mặt chuyên môn, định hướng ý
tưởng nghiên cứu cũng như hỗ trợ tôi về tin thần cũng như công việc để
tôi thực hiện nghiên cứu này.
Tôi cũng rất cảm ơn đến các đồng nghiệp trong bộ môn Hệ thống thông
tin và Khoa công nghệ thông tin Học viện Kỹ thuật quân sự đã động viên,
hỗ trợ tôi trong quá trình thực hiện luận án này. Tôi cũng xin cảm ơn đến
TS. Tăng Văn Hạ, PGS. TS. Ngô Thành Long đã cùng cộng tác thực hiện
một số công trình nghiên cứu cũng như đưa ra những nhận xét và góp ý
quý báu để hoàn thiện các nghiên cứu này.
Cuối cùng tôi xin cảm ơn gia đình tôi đã đồng hành, hỗ trợ, tạo điều
kiện cho tôi thực hiện luận án này.
LỜI CAM ĐOAN
Tôi xin cam đoan rằng trong luận án này không chứa nội dung đã được
sử dụng trong luận án, luận văn của các tác giả khác trong các trường đại
học và học viện trong nước cũng như quốc tế ngoại trừ các tham khảo. Với
nhận thức của mình, tôi xin cam đoan các kết quả đã được trình bày trong
luận án của mình chưa được xuất bản bởi các tác giả khác trong nước và
quốc tế.
Tác giả luận án
Nguyễn Mậu Uyên
i
Mục lục
Danh mục các chữ viết tắt
iii
Danh mục các bảng
v
Danh mục các hình vẽ, đồ thị
v
Mở đầu
1
Chương 1
Phân đoạn ảnh RGB-D dựa trên phân cụm
6
1.1
Ảnh RGB-D và mô hình thu nhận . . . . . . . . . . . . . . .
7
1.2
Phân cụm dữ liệu và phân đoạn ảnh RGB-D . . . . . . . . . 12
1.3
1.4
1.2.1
Phân cụm trừ mờ . . . . . . . . . . . . . . . . . . . . 13
1.2.2
Phân đoạn ảnh và phân cụm . . . . . . . . . . . . . . 21
Logic mờ loại 2 . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.1
Logic mờ . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.2
Tập mờ loại 2 và tập mờ loại 2 khoảng . . . . . . . . 29
1.3.3
Sử dụng logic mờ trong bài toán xử lý ảnh . . . . . . 33
Phân đoạn ảnh và khôi phục thông tin trong ảnh . . . . . . 35
Chương 2
Phân cụm mờ loại 2 khoảng và xác định đối
tượng trên ảnh RGB-D
2.1
2.2
2.3
42
Logic mờ và phân cụm . . . . . . . . . . . . . . . . . . . . . 43
2.1.1
Phân cụm mờ trừ loại 2 khoảng . . . . . . . . . . . . 44
2.1.2
Phân cụm trừ mờ loại 2 khoảng cải tiến . . . . . . . 48
Trích xuất đối tượng trong ảnh RGB-D . . . . . . . . . . . . 58
2.2.1
Vấn đề trích xuất đối tượng trong ảnh RGB-D . . . . 59
2.2.2
Thuật toán trích xuất đối tượng trong ảnh RGB-D 62
Ứng dụng tính khoảng cách đến các đối tượng . . . . . . . . 70
ii
Chương 3
3.1
3.2
Khôi phục thông tin trong ảnh RGB-D
77
Khôi phục thông tin trong ảnh độ sâu . . . . . . . . . . . . . 80
3.1.1
Đặc trưng ảnh độ sâu của camera Kinect . . . . . . . 80
3.1.2
Khôi phục ảnh trong miền wavelet . . . . . . . . . . 83
Mô hình mờ khôi phục thông tin . . . . . . . . . . . . . . . 87
3.2.1
Mô hình mờ giải quyết bài toán mất thông tin trong
ảnh RGB-D . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.2
Thuật toán khôi phục ảnh độ sâu dựa trên logic mờ . 95
3.2.3
Thử nghiệm mô hình khôi phục thông tin dựa trên
logic mờ . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.3
Phương pháp gradient bước dài . . . . . . . . . . . . . . . . 103
3.3.1
Phương pháp xấp xỉ gradient . . . . . . . . . . . . . 104
3.3.2
Phương pháp xấp xỉ gradient bước dài . . . . . . . . 107
3.3.3
Thử nghiệm thuật toán xấp xỉ gradient bước dài . . . 109
Kết luận
127
iii
Danh mục các chữ viết tắt
Chữ viết tắt
Ý nghĩa
ACC
Tỷ lệ chính xác - Accuracy
AIT2FSC
Phân cụm mờ trừ loại hai khoảng cải tiến
- Accelerated interval type-2 fuzzy subtractive clustering
APG
Phương pháp xấp xỉ gradient bước dài - Accelerated
proximal gradient
B3DO
Cơ sở dữ liệu đối tượng trường Đại học Berkeley
- Berkeley 3-D Object Dataset
F1
Độ đo chính xác - F1 score
FCM
Phân cụm mờ c-Means - Fuzzy c-Means clustering
FCRM
Mô hình C-Regression mờ - Fuzzy C-Regression model
FDR
Xấp xỉ mờ khôi phục giá trị điểm mất thông tin trong ảnh
độ sâu - Fuzzy depth reconstruction
FOU
Biên không chắc chắn bậc 2 - Footprint of uncertainty
IT2FSC
Phân cụm trừ mờ loại hai khoảng - Interval type-2 fuzzy
subtractive clustering
MSE
Sai số toàn phương trung bình - Means square error
NYU
Đại học New York - New York University
ODBC
Phát hiện đối tượng dựa trên phân cụm - Object detection
based on clustering
PG
Phương pháp xấp xỉ gradient - Proximal gradient
iv
Chữ viết tắt
Ý nghĩa
PSNR
Tỷ lệ tín hiệu cực đại trên nhiễu - Peak signal-to-noise ratio
RGB
Ảnh màu, thu nhận bởi camera quang học bao gồm ba
thành phần đỏ (R), xanh (G), xanh dương (B)
RGB-D
Ảnh màu kết hợp ảnh độ sâu
ToF
Camera độ sâu dựa trên tia quét - Time of Flight
WashU
Đại học Washington - Washington University
v
Danh mục các bảng
2.1
So sánh tỉ lệ N , ND , Ng trên ảnh độ sâu. . . . . . . . . . . . 55
2.2
So sánh tỉ lệ N , ND , Ng trên ảnh màu. . . . . . . . . . . . . 56
2.3
Thống kê số lượng phần tử trên dữ liệu ảnh NYU. . . . . . . 57
2.4
Thống kê khoảng cách tính được so với khoảng cách thực tế.
3.1
Thống kê tỉ lệ mất thông tin trên các ảnh độ sâu. . . . . . . 78
3.2
Thống kê độ lệch của các giá trị đã được khôi phục và giá
73
trị đã được gán trên ảnh độ sâu. . . . . . . . . . . . . . . . . 100
3.3
Thống kê PSNR của ảnh khôi phục và ảnh gốc với mặt nạ
ngẫu nhiên (PG-APG). . . . . . . . . . . . . . . . . . . . . . 115
3.4
Thống kê PSNR của ảnh khôi phục và ảnh gốc với mặt nạ
thiết lập (PG-APG). . . . . . . . . . . . . . . . . . . . . . . 115
3.5
Thống kê số bước lặp trên mặt nạ ngẫu nhiên (PG-APG). . 116
3.6
Thống kê số bước lặp trên mặt nạ thiết lập (PG-APG). . . . 117
3.7
Thống kê PSNR của ảnh khôi phục và ảnh gốc với mặt nạ
ngẫu nhiên (FDR-APG). . . . . . . . . . . . . . . . . . . . . 118
3.8
Thống kê PSNR của ảnh khôi phục và ảnh gốc với mặt nạ
thiết lập (FDR-APG). . . . . . . . . . . . . . . . . . . . . . 119
3.9
Thống kê chỉ số PSNR cho thuật toán APG. . . . . . . . . . 121
3.10 Thống kê chỉ số PSNR cho thuật toán FDR. . . . . . . . . . 121
3.11 Thống kê độ chính xác phát hiện đối tượng. . . . . . . . . . 124
vi
Danh mục các hình vẽ, đồ thị
1.1
Mô hình camera Kinect. . . . . . . . . . . . . . . . . . . . .
8
1.2
Ảnh thu nhận từ camera Kinect. . . . . . . . . . . . . . . . 10
1.3
Hình ảnh độ sâu trước và sau khi khôi phục. . . . . . . . . . 12
1.4
Mô hình tập mờ . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5
Biểu diễn phép AND. . . . . . . . . . . . . . . . . . . . . . . 26
1.6
Biểu diễn phép OR. . . . . . . . . . . . . . . . . . . . . . . . 27
1.7
Tập mờ và phần bù. . . . . . . . . . . . . . . . . . . . . . . 27
1.8
Mô hình logic mờ. . . . . . . . . . . . . . . . . . . . . . . . . 28
1.9
Hàm thuộc tập mờ loại 2. . . . . . . . . . . . . . . . . . . . 30
1.10 Ảnh độ sâu được thu nhận từ camera Kinect. . . . . . . . . 37
2.1
Ảnh độ sâu và ảnh màu. . . . . . . . . . . . . . . . . . . . . 49
2.2
Lược đồ histogram của ảnh độ sâu. . . . . . . . . . . . . . . 50
2.3
Tọa độ không gian tương ứng với camera Kinect. . . . . . . 59
2.4
Mặt phẳng nền của di chuyển. . . . . . . . . . . . . . . . . . 61
2.5
Ảnh trước và sau khi loại bỏ mặt phẳng nền của di chuyển. . 64
2.6
Ảnh trước và sau khi loại bỏ mặt phẳng nền của di chuyển
(NYU).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.7
Ảnh thu nhận trong phòng thí nghiệm. . . . . . . . . . . . . 66
2.8
Lược đồ histogram của các ảnh độ sâu trong phòng thí nghiệm. 68
2.9
Kết quả loại bỏ mặt phẳng nền của di chuyển. . . . . . . . . 69
2.10 Các cụm trong ảnh độ sâu. . . . . . . . . . . . . . . . . . . . 70
2.11 Các đối tượng trong ảnh . . . . . . . . . . . . . . . . . . . . 71
2.12 Các đối tượng được quan tâm. . . . . . . . . . . . . . . . . . 72
vii
2.13 So sánh khoảng cách thật và khoảng cách tính toán trên ảnh. 72
3.1
Ảnh độ sâu thu nhận từ camera Kinect. . . . . . . . . . . . 77
3.2
Các trường hợp mất thông tin đặc trưng trong ảnh độ sâu. . 81
3.3
Hình ảnh nhiễu thu nhận từ camera Kinect. . . . . . . . . . 82
3.4
Hệ số wavelet của ảnh độ sâu. . . . . . . . . . . . . . . . . . 87
3.5
Một số loại mất thông tin. . . . . . . . . . . . . . . . . . . . 90
3.6
Mô hình lân cận 8. . . . . . . . . . . . . . . . . . . . . . . . 91
3.7
Các ảnh thử nghiệm khôi phục thông tin. . . . . . . . . . . . 99
3.8
Kết quả khôi phục độ sâu trên ảnh RGB-D theo cơ sở dữ
liệu WashU [70]. . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.9
Kết quả so sánh chi tiết khôi phục thông tin. . . . . . . . . . 102
3.10 Kết quả thử nghiệm khôi phục thông tin. . . . . . . . . . . . 111
3.11 Biểu đồ so sánh tốc độ hội tụ và hệ số PSNR . . . . . . . . 112
3.12 Biểu đồ so sánh tốc độ cực tiểu hóa hàm chi phí . . . . . . . 113
3.13 Các mặt nạ thử nghiệm thuật toán khôi phục thông tin. . . 114
3.14 Các ảnh thử nghiệm khôi phục thông tin với thuật toán APG
và FDR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.15 Biểu đồ PSNR thử nghiệm thuật toán APG. . . . . . . . . . 122
3.16 Biểu đồ PSNR thử nghiệm thuật toán FDR. . . . . . . . . . 122
1
Mở đầu
Công nghệ tích hợp "khả năng suy nghĩ và thực thi của con người" cho
máy móc đã đặt ra nhu cầu trang bị khả năng nhìn cho các thiết bị. Kỹ
thuật xử lý ảnh đã được nhiều nhà khoa học quan tâm nghiên cứu để đáp
ứng nhu cầu này. Một số thiết bị chuyên dụng đã được chế tạo để đo được
khoảng cách từ camera thu nhận đến bề mặt vật thể (độ sâu), kết quả thu
nhận được là hình ảnh độ sâu. Các thiết bị được sử dụng để thu nhận ảnh
độ sâu có thể kể đến là stereo camera, thiết bị camera dựa trên các tia quét
ToF (Time-of-Flight camera) và các loại khác. Trong thời gian gần đây,
một số thiết bị camera hồng ngoại thu nhận ảnh độ sâu như Kinect của
Microsoft, ASUS Xtion Pro, Intel Leap Motion được các nhà nghiên cứu
quan tâm khai thác. Nhiều nhóm nghiên cứu của các phòng thí nghiệm và
trường đại học đã xây dựng nhiều cơ sở dữ liệu thông tin hình ảnh RGB-D
để nghiên cứu và thử nghiệm. Một số cơ sở dữ liệu tiêu biểu như các cơ sở
dữ liệu hình ảnh của Đại học Rzeszow [68], Đại học New York [106], Đại
học Washington [70], Đại học Viên (Wein) [76], Đại học California vùng
Berkeley [58] và một số khác được mô tả trong các công bố [6], [8], [12],
[40]. Trong nước cũng có nhiều nhóm nghiên cứu quan tâm đến xử lý ảnh
RGB-D như viện MICA - Viện Nghiên cứu quốc tế MICA, với các công bố
[55], [92], [96], [113], nhóm nghiên cứu đến từ Đại học Quốc gia Thành phố
Hồ Chí Minh [114]. Đặc trưng mới của ảnh RGB-D đặt ra bài toán phân
đoạn, xác định đối tượng trong không gian mới. Bên cạnh đó, ảnh độ sâu
(D) có chứa nhiễu và các điểm mất thông tin (các điểm không thu được
giá trị độ sâu) đặt ra nhóm bài toán khử nhiễu và khôi phục giá trị điểm
mất thông tin.
2
Do giá thành thấp và khả năng cung cấp ảnh độ sâu bên cạnh ảnh màu
nên camera có đặc tính tương tự như camera Kinect được nghiên cứu và
ứng dụng trong nhiều lĩnh vực khác nhau. Các hình ảnh thu nhận được từ
hệ thống camera được sử dụng trong nhiều ứng dụng như hỗ trợ giám sát
thông tin cư dân trong công bố [3], giám sát việc ngã của người đột quỵ
trong công bố [68], [113]. Ảnh RGB-D được sử dụng để tái tạo không gian
và hỗ trợ cho việc định hướng di chuyển của robot trong các nghiên cứu
[26], [37], [110], [122]. Các nghiên cứu trong [1], [55], [56], [72], [96] được
ứng dụng vào bài toán hỗ trợ người khiếm thị trong cảnh báo vật cản trong
quá trình di chuyển. Một ứng dụng khác là phân tích hình dạng tay để hỗ
trợ trao đổi cho người khuyết tật [30], [92], [97].
Để đảm bảo các ứng dụng trên hoạt động có hiệu quả, các bài toán xử
lý ảnh RGB-D nâng cao chất lượng ảnh độ sâu cho các bước xử lý tiếp
theo đã được đặt ra. Các nhóm nghiên cứu Sch¨oner H. cùng cộng sự trong
công bố [103], Nguyen C. V. và các đồng tác giả trong công trình [91] và
các công bố [42], [46], [57], [73], [74], [79], [124] trình bày nhiễu, điểm mất
thông tin trong ảnh độ sâu và các phương pháp để loại bỏ nhiễu và khôi
phục giá trị điểm bị mất thông tin.
Vấn đề phân đoạn ảnh RGB-D để phục vụ các mục đích nhận dạng đối
tượng, xác định vật cản, mô tả các bề mặt cũng được nhiều nhà khoa học
nghiên cứu. Phát hiện đối tượng và vật cản trong ảnh độ sâu cũng được
nghiên cứu và đề cập đến bởi các nhóm Huang H.-C. trong công bố [56],
viện nghiên cứu MICA trong các nghiên cứu [55], [96] và các công bố [72],
[109], [125]. Phân đoạn ảnh được sử dụng để hỗ trợ quá trình xác định các
đối tượng, bề mặt đối tượng được đề cập trong các nghiên cứu của các nhóm
Firman M. [41], Zhang S. [127], Zhang Y. [128] và các nghiên cứu khác [5],
3
[34], [94]. Xây dựng sơ đồ không gian trong bài toán dẫn đường robot được
đề cập đến trong các công bố của các nhóm Tang S. [110], Halber M. [49]
và các công trình [18], [37], [49], [78], [98]. Sử dụng ảnh RGB-D cho bài
toán nhận dạng và xây dựng thông tin vật thể 3 chiều được công bố trong
[5], [38], [42].
Quá trình nghiên cứu về ảnh RGB-D thu nhận từ camera Kinect và các
hệ thống camera hồng ngoại có đặc tính tương đương, tác giả nhận thấy
bài toán phân đoạn ảnh xác định đối tượng trong không gian trong nhà
có nhiều ứng dụng và có ý nghĩa trong thực tiễn cuộc sống. Các ứng dụng
của quá trình phân đoạn xác định đối tượng là hỗ trợ thông tin cho việc
định hướng di chuyển của robot, cảnh báo vật cản cho người khiếm thị.
Các nghiên cứu hiện tại đã có thành công nhất định, nhưng cần phải có
những nghiên cứu bổ sung hoàn thiện hơn. Vì thế bài toán phân đoạn và
xác định đối tượng trong ảnh RGB-D với môi trường trong nhà đã được
tác giả lựa chọn để thực hiện luận án "Phân đoạn mờ và khôi phục
thông tin trong ảnh RGB-D".
Với bài toán đặt ra, luận án tập trung vấn đề xác định đối tượng trong
ảnh RGB-D thu nhận từ camera Kinect với môi trường trong nhà. Trong
đó có các nội dung được nghiên cứu là: khôi phục thông tin trong ảnh độ
sâu (D); phân đoạn ảnh RGB-D để xác định đối tượng.
Để giải quyết bài toán xác định đối tượng trong ảnh RGB-D hỗ trợ
thông tin cho việc định hướng di chuyển, luận án đã giới hạn nghiên cứu
bài toán trên các ảnh RGB-D với môi trường trong nhà có chứa các mặt
phẳng nền của di chuyển. Từ đó, luận án đã đề xuất loại bỏ mặt phẳng
nền của di chuyển sau đó sử dụng thuật toán phân cụm mờ để xác định
các cụm dữ liệu từ đó phân đoạn ảnh độ sâu. Kết quả phân đoạn được sử
4
dụng trong quá trình xác định đối tượng. Thử nghiệm sơ bộ cho thấy, thuật
toán này đã thỏa mãn việc xác định đối tượng áp dụng trong các trường
hợp hỗ trợ thông tin cho việc di chuyển trong nhà có nền đơn giản. Vấn
đề khôi phục thông tin trong ảnh độ sâu cũng được nghiên cứu để nâng
cao chất lượng ảnh đầu vào cho các bước xử lý tiếp theo trên ảnh RGB-D.
Luận án đã khảo sát mô hình nhiễu, mất thông tin của ảnh độ sâu trong
ảnh RGB-D thu nhận từ camera Kinect, dựa trên kết quả phân tích đã đề
xuất sử dụng mô hình logic mờ và phương pháp gradient bước dài để khôi
phục thông tin. Kết quả thử nghiệm cho thấy ảnh độ sâu sau khi khôi phục
thông tin đưa vào xác định đối tượng cho kết quả xác định có xu hướng
tốt hơn với ảnh chưa được khôi phục thông tin.
Luận án đã đề xuất thuật toán phát hiện đối tượng trong ảnh độ sâu
gồm các bước: loại bỏ mặt phẳng nền của di chuyển, phân cụm, phân đoạn
và xác định đối tượng. Luận án cũng đã cải tiến thuật toán phân cụm trừ
mờ loại hai khoảng áp dụng cho bài toán phân cụm ảnh độ sâu nhằm giảm
khối lượng tính toán. Ngoài ra, trong luận án phân tích các trường hợp mất
thông tin của ảnh độ sâu trong ảnh RGB-D thu nhận từ camera Kinect. Từ
kết quả phân tích, trong luận án đã đề xuất thuật toán xấp xỉ mờ khôi phục
giá trị điểm mất thông tin trong ảnh độ sâu (Fuzzy depth reconstruction FDR). Trong trường hợp tỉ lệ mất thông tin lớn do đặc trưng thiết bị và
môi trường thu nhận, luận án đã đề xuất sử dụng thuật toán gradient bước
dài (Accelerated proximal gradient - APG) để khôi phục giá trị điểm mất
thông tin nhằm tăng tốc độ hội tụ, giảm số lượng bước lặp và tăng chất
lượng khôi phục so với thuật toán xấp xỉ gradient ban đầu.
Kết quả nghiên cứu trình bày trong luận án được công bố trong 02 bài
báo tạp chí và 04 bài báo cáo hội thảo được trình bày chi tiết trong các
5
chương tiếp theo:
Chương 1: Phân đoạn ảnh RGB-D dựa trên phân cụm
Chương này trình bày khảo sát về ảnh RGB-D thu nhận được từ camera
Kinect và các kỹ thuật phân cụm, phân cụm mờ. Mục cuối của chương
trình bày về mối liên hệ giữa phân đoạn ảnh và khôi phục thông tin trong
ảnh độ sâu.
Chương 2: Phân cụm mờ loại 2 khoảng và xác định đối tượng trên ảnh
RGB-D
Trong chương này trình bày về nghiên cứu áp dụng thuật toán phân cụm trừ
mờ loại hai khoảng - Interval type-2 fuzzy subtractive clustering (IT2FSC)
cho bài toán phân cụm, phân đoạn ảnh RGB-D. Xét các ảnh RGB-D với
môi trường trong nhà, nghiên cứu đề xuất kỹ thuật loại bỏ mặt phẳng nền
của di chuyển và phân đoạn nhằm xác định đối tượng trong ảnh độ sâu.
Thuật toán IT2FSC được cải tiến phân cụm trên nhóm điểm ảnh thay vì
phân cụm trên các điểm ảnh để giảm bớt khối lượng tính toán.
Chương 3: Khôi phục thông tin trong ảnh RGB-D
Nội dung của chương trình bày về mô hình mất thông tin trong ảnh độ
sâu thu nhận từ camera Kinect. Kết quả phân tích mô hình mất thông tin
được sử dụng để đề xuất các độ đo mờ và đề xuất sử dụng logic mờ để tiến
hành khôi phục thông tin trong ảnh độ sâu. Bên cạnh đó, phương pháp
xấp xỉ gradient đã được sử dụng để khôi phục thông tin trong trường hợp
ảnh độ sâu bị nhiễu do thiết bị thu nhận.
6
Chương 1
Phân đoạn ảnh RGB-D dựa trên phân cụm
Ảnh RGB-D thu nhận từ camera Kinect ban đầu được sử dụng để tương
tác với máy trò chơi của Microsoft [105], nhưng về sau do giá thành rẻ và
chất lượng của hình ảnh độ sâu chấp nhận được cho một số bài toán xử lý
ảnh [65], nên đã được nhiều nhà khoa học nghiên cứu và đưa vào ứng dụng
trong các lĩnh vực khác nhau. Điều đó đã đặt ra một số bài toán xử lý ảnh
trên ảnh RGB-D thu nhận từ camera Kinect của Microsoft. Bài toán phân
đoạn ảnh được nghiên cứu như là một bước cơ bản trong nhiều bài toán xử
lý ảnh. Có nhiều tiếp cận phân đoạn ảnh dựa trên ảnh RGB để xác định
đối tượng. Nhưng phân đoạn ảnh dựa trên màu sắc bị ảnh hưởng của các
họa tiết trên các đối tượng mà không thể hiện rõ được đối tượng thực tế.
Các ảnh độ sâu thể hiện được bề mặt của các đối tượng không phụ thuộc
vào màu sắc từ đó cho phép xác định được đối tượng chính xác hơn. Nhiều
nhóm nghiên cứu trên thế giới đã sử dụng ảnh RGB-D cho bài toán xác
định đối tượng. Banerjee T. trong công bố [3] đã sử dụng kết quả phân
đoạn ảnh để xác định hình dáng người phục vụ cho giám sát dân cư, nhóm
tác giả Gupta S. sử dụng kết quả phân đoạn ảnh để nhận dạng đối tượng
trong công bố [48]. Đặc trưng ảnh độ sâu thu nhận từ camera Kinect chứa
nhiễu và điểm mất thông tin - điểm không có thông tin độ sâu (Zhang Y.
trong công bố [128] chỉ ra trong một số điều kiện tỉ lệ mất thông tin lên
đến 50%), bài toán khôi phục thông tin trong ảnh độ sâu được đề cập và
nghiên cứu trong các công bố [9], [20], [91], [128] . Có nhiều nguyên nhân
dẫn đến mất thông tin trong ảnh độ sâu, mối liên hệ giữa thông tin bị mất
7
trong ảnh và các thông tin đã thu nhận được (phần có thông tin trong ảnh)
là không rõ ràng, vì vậy tập mờ và logic mờ được đề xuất để mô hình cho
tính không rõ ràng đó [4]. Trong chương này sẽ trình bày đặc trưng của
ảnh RGB-D thu nhận được từ camera Kinect, kiến thức phân đoạn, tập
mờ, logic mờ và vấn đề khôi phục thông tin trong ảnh độ sâu.
1.1
Ảnh RGB-D và mô hình thu nhận
Ảnh RGB-D là tập hợp của một ảnh màu (RGB - màu đỏ (R), màu
xanh lá cây (G), màu xanh dương (B)) và một ảnh thể hiện khoảng cách
từ bề mặt đối tượng đến thiết bị thu nhận (độ sâu - D). Trong đó, ảnh
màu được thu nhận bằng các camera sử dụng thấu kính quang học. Việc
xây dựng khoảng cách từ bề mặt đối tượng đến thiết bị thu nhận là một
bài toán được nhiều nhóm nghiên cứu quan tâm và đã đưa ra nhiều giải
pháp khác nhau như trong các nghiên cứu [52], [99]. Trong đó có hai mô
hình được quan tâm nghiên cứu và áp dụng là sử dụng nhiều camera quang
học - stereo camera và sử dụng camera chuyên dụng dựa trên các tia quét
- ToF.
Dựa trên mô hình xác định độ sâu của mắt người, mô hình sử dụng
nhiều camera quang học đã được đề xuất để đo khoảng cách. Mô hình này
sử dụng hai hoặc nhiều camera với các vị trí thu nhận khác nhau để thu
nhận các ảnh từ đó phân tích, khớp nối các đặc trưng trong các ảnh xác
định độ lệch để tính ra độ sâu. Theo nghiên cứu của Zhang J. được công
bố trong [126], điểm yếu của phương pháp này là khó khôi phục được độ
sâu khi các ảnh thu nhận được có ít đặc trưng để khớp nối, trong khi môi
trường có quá nhiều đặc trưng thì việc phân tích và khớp nối mất nhiều
thời gian. Vì vậy, mô hình stereo camera chỉ phù hợp với một số môi trường
và hoạt cảnh nhất định.
8
Một tiếp cận khác trong việc thu nhận thông tin về độ sâu là sử dụng
tia quét, các tia như tia laser, tia hồng ngoại, các loại sóng như siêu âm,
các phương pháp đo khoảng cách này được công bố trong các công trình
[45], [52]. Trong đó camera sử dụng tia quét bằng laser có độ chính xác cao
nhưng giá thành đắt được sử dụng nhiều trong các ứng dụng chuyên biệt.
Tiếp cận có giá thành rẻ hơn là sử dụng tia hồng ngoại trong xây dựng
hình ảnh độ sâu, các nhà sản xuất đã cung cấp các dòng camera RGB-D
Microsoft Kinect, ASUS Xtion Pro, Intel Leap Motion. Với nhà sản xuất và
phiên bản khác nhau, các camera có thể cung cấp hình ảnh RGB-D có độ
phân giải khác nhau theo các cấu hình và lựa chọn của người dùng. Nhưng
các camera này đều sử dụng chung cơ chế thu nhận hình ảnh độ sâu là tia
hồng ngoại nên các đặc trưng hình ảnh thu nhận được là tương tự nhau.
Trong phạm vi luận án với các cơ sở dữ liệu được sử dụng thử nghiệm được
thu nhận từ camera Microsoft Kinect, trong mục này, luận án mô tả chi
tiết về mô hình của camera Kinect.
Camera Kinect của Microsoft sử dụng các tia hồng ngoại để xác định
độ sâu. Trong hình 1.1 thể hiện mô hình một camera Kinect, trong đó (IP)
là nguồn phát tia hồng ngoại, (IR) camera thu nhận hồng ngoại, (RGB) là
camera thu nhận ảnh màu [12].
Hình 1.1: Mô hình camera Kinect.
9
Thông tin thu nhận từ camera Kinect bao gồm một ảnh màu 32 bit và
một ảnh độ sâu 16 bit, với độ phân giải khác nhau nhưng thường được sử
dụng là 480 × 640 điểm ảnh. Giá trị độ sâu tại mỗi điểm ảnh được lưu trữ
bằng 16 bit nguyên, mỗi đơn vị trong ảnh tương ứng với khoảng cách 1mm
như hình 1.2, có giới hạn từ 0 đến 4000 hoặc 0 đến 15000 tùy theo cấu hình
của camera [69], [108]. Hình 1.2 thể hiện một số hình ảnh thu nhận được
từ camera Kinect, trong đó hình 1.2a, 1.2c và 1.2e là kết quả hình ảnh thu
nhận được từ camera màu, hình 1.2b, 1.2d và 1.2f là kết quả hình ảnh thu
nhận được từ camera độ sâu.
Nhóm nghiên cứu Khoshelham K. [65] đã khảo sát và cho thấy rằng
dữ liệu từ thông tin độ sâu của camera Kinect có độ chính xác gần tương
đương với dữ liệu từ máy chuyên dụng sử dụng tia laser. Trong luận án này
sẽ giới hạn các bài toán xử lý ảnh trên ảnh RGB-D thu nhận từ camera
Kinect của Microsoft và các camera có đặc tính tương tự.
Việc kết hợp thêm thông tin độ sâu giúp cho bài toán xác định đối
tượng trong các môi trường trở nên dễ dàng và chính xác hơn. Nhiều ứng
dụng khai thác đặc điểm này của ảnh RGB-D như việc giám sát dân cư [3].
Để kiểm soát chăm sóc người già hoặc bị bệnh, hệ thống phát hiện người
ngã bằng hình ảnh RGB-D thu nhận được từ camera Kinect cũng được sử
dụng [68], [113]. Bài toán xác định hành vi tay hỗ trợ ngôn ngữ giao tiếp
cho người khiếm thanh có sự phát triển vượt bậc khi khai thác thêm thông
tin ảnh độ sâu [30], [92], [97]. Một ứng dụng rất quan trọng khác của thông
tin hình ảnh RGB-D là hỗ trợ cảnh báo vật cản trong quá trình di chuyển
cho người khiếm thị như mô tả trong các công bố [1], [55], [56], [72], [96].
Mô hình đường đi hỗ trợ định hướng cho robot cũng được trình bày trong
các công trình [25], [37], [56], [110]. Các bài toán xác định đối tượng và biên
10
(a) Ảnh màu từ cơ sở dữ liệu WashU [70]
(b) Ảnh độ sâu từ cơ sở dữ liệu WashU [70]
(c) Ảnh màu từ cơ sở dữ liệu [68]
(d) Ảnh độ sâu từ cơ sở dữ liệu [68]
(e) Ảnh màu trong phòng thí nghiệm
(f) Ảnh độ sâu trong phòng thí nghiệm
Hình 1.2: Ảnh thu nhận từ camera Kinect.
11
đối tượng cũng được chứng minh có kết quả tốt hơn khi kết hợp thông tin
về độ sâu [54], [109], [125] và [71].
Nhiều ứng dụng khai thác ảnh RGB-D từ camera Kinect và các camera
hồng ngoại có đặc tính tương tự đã đặt ra cho các nhà khoa học một số bài
toán liên quan đến xử lý ảnh RGB-D. Bài toán phân đoạn ảnh trong ngữ
cảnh RGB-D đã được đặt ra và nhiều nhà khoa học quan tâm giải quyết.
Các công bố của Huang H.-C. và cộng sự [56], Song S. [109], viện nghiên
cứu MICA [55], [96] và các công bố [72], [125] thể hiện sự quan tâm đến bài
toán phân đoạn và phát hiện đối tượng trong ảnh độ sâu. Xác định bề mặt
đối tượng trong ảnh RGB-D đã được đề cập đến trong các nghiên cứu của
Rusu R. B. [102], Berger M. [9], Zhang Y. [128] và các nghiên cứu khác [5],
[34], [127], [129]. Bài toán dẫn đường và điều khiển robot được nghiên cứu
trong Tang S. [110], Halber M. [49] và các công bố [18], [37], [78]. Do đặc
điểm chứa nhiễu và điểm mất thông tin trong ảnh độ sâu của ảnh RGB-D
(các điểm có mức xám bằng 0) như trong hình 1.3a, nhiều nhóm nghiên
cứu đã đề xuất phương án để khôi phục thông tin bị mất như hình 1.3b để
nâng cao chất lượng ảnh độ sâu phục vụ các bước tính toán tiếp theo. Các
công bố gần đây như Sch¨oner H. [103], Huhle B. [57], Nguyen C. V. [91] và
các nhóm [42], [46], [73], [74], [79], [124] đã đề cập đến vấn đề này.
12
(a) Ảnh độ sâu - các điểm màu đen là
mất thông tin.
(b) Ảnh độ sâu sau khi khôi phục.
Hình 1.3: Hình ảnh độ sâu trước và sau khi khôi phục.
Các phòng thí nghiệm của nhiều trường đại học đã xây dựng nhiều cơ
sở dữ liệu ảnh RGB-D để phục vụ mục đích nghiên cứu và đã được đề cập
đến trong các công bố [6], [8], [12]. Cơ sở dữ liệu để nghiên cứu phát hiện
người bị ngã được mô tả trong công bố [68], các hình ảnh của khung cảnh
hàng ngày với môi trường trong nhà được giới thiệu trong [106], cơ sở dữ
liệu về đối tượng và các hình ảnh chứa đối tượng để nghiên cứu nhận dạng
đối tượng được giới thiệu trong [70].
1.2
Phân cụm dữ liệu và phân đoạn ảnh RGB-D
Phân đoạn dữ liệu ảnh là quá trình phân chia ảnh thành các vùng khác
nhau, thể hiện các thông tin khác nhau trong ảnh. Ví dụ trong bài toán
phân đoạn ảnh độ sâu, các vùng đã được phân chia trong ảnh được xem
xét ghép nối để tạo thành những phần mô tả cho các đối tượng từ đó có
thể xác định đối tượng trong ảnh. Có nhiều kỹ thuật khác nhau trong phân
đoạn ảnh. Các kỹ thuật phân đoạn được đề cập như phân ngưỡng [3], sử
dụng vùng và mở rộng vùng [114], xác định biên của vùng [125], sử dụng
mạng nơ-ron (neural) [118] và các kỹ thuật khác [84]. Phân cụm dữ liệu có
thể được sử dụng đề làm tiền đề cho quá trình phân đoạn.
13
1.2.1
Phân cụm trừ mờ
Phân cụm là quá trình phân chia dữ liệu thành các tập con khác nhau
còn được gọi là các cụm dựa trên các tính chất của dữ liệu. Bài toán phân
cụm được xem như là một thành phần cơ bản trong phân tích dữ liệu, nó
được tiếp cận bởi nhiều phương pháp khác nhau bởi nhiều nhà khoa học
trên thế giới. Một trong tiếp cận được đề xuất là phân cụm K-means, dựa
trên gán các giá trị tâm cụm ngẫu nhiên và tính toán để phân cụm cực tiểu
hàm mục tiêu:
n
c
(i)
xj − vi
J=
2
.
(1.1)
i=1 j=1
(i)
Với số cụm là c, các tâm cụm tương ứng là vi và xj là các phần tử dữ liệu
thuộc cụm thứ i, thuật toán dựa trên việc phân các giá trị vào các cụm đã
xác định được tâm cụm:
(t)
(t)
Si = {xk : xk − vi
2
(t)
≤ xk − vj
2
, ∀j, 1 ≤ j ≤ c},
(1.2)
trong đó t thể hiện cho bước tính thứ t của thuật toán. Sau khi xác định
các phần tử của các cụm, các vị trí tâm cụm mới V (t+1) được xác định:
(t+1)
vi
(t)
=
1
|
(t)
Si
|
xj ,
(1.3)
(t)
xj ∈Si
(t)
trong đó Si , vi là các cụm, tâm cụm tại bước lặp thứ t.
Thuật toán kết thúc khi các tâm cụm không thay đổi sau các bước lặp
- V (t) = V (t+1) . Khi tâm cụm không thay đổi, các phần tử thuộc các cụm
không thay đổi theo biểu thức (1.2) lúc đó hàm mục tiêu trong (1.1) đạt
giá trị cực tiểu. Thuật toán phân cụm K-means được trình bày:
14
Thuật toán 1.1 Phân cụm K-means.
Đầu vào: Tập X các giá trị cần được phân cụm, c số tâm cụm dự kiến.
Đầu ra: Tập các tâm cụm C.
(1)
Bước 1: Khởi tạo c tâm cụm ngẫu nhiên V (1) = [vi ], i = 1, ..., c, t = 1.
(t)
Bước 2: Tính toán các cụm tại bước thứ t là Si theo công thức xác định
các cụm (1.2).
(t+1)
Bước 3: Tính các tâm cụm tại bước thứ t + 1 là V (t+1) = [vi
], i = 1, ..., c
theo công thức tính tâm cụm (1.3).
Bước 4: So sánh phương án tại hai bước lặp V (t) = V (t+1) tiếp tục bước 5,
nếu không t = t + 1, tiếp tục đến bước 2.
Bước 5: C=V (t+1) .
Từ ý tưởng phân cụm của K-means kết hợp với khái niệm tập mờ để
mô tả các giá trị thuộc tập xác định {0,1}, fuzzy c-means (FCM) đã được
đề xuất bởi Bezdek J. C. và các cộng sự trong [10]. Mở rộng hàm mục tiêu
(1.1) thành:
N
c
um
ik
Jm (U, v) =
xk − vi
2
,
(1.4)
k=1 i=1
trong đó: xk ∈ X là giá trị cần phân cụm, m tham số mũ thể hiện trọng
số ảnh hưởng của uik lên khoảng cách giữa các điểm dữ liệu và tâm cụm
(1 ≤ m < ∞). Ký hiệu d2ik là bình phương khoảng cách giữa điểm xk đến
tâm cụm vi , được tính bằng:
d2ik = xk − vi
2
.
(1.5)
15
Tính giá trị độ thuộc của phần tử k vào tâm cụm i:
c
dik
djk
uik =
j=1
2
m−1
−1
; 1 ≤ k ≤ N ; 1 ≤ i ≤ c.
(1.6)
Nếu xác định một bộ (U ∗ , v ∗ ) là vị trí đạt cực tiểu địa phương của Jm thì
xác định giá trị tâm cụm tại phương án tối ưu v ∗ được xác định:
N
vi∗
N
(u∗ik )m xk /
=
k=1
(u∗ik )m ; i ∈ {1, ..., c},
(1.7)
k=1
và các giá trị độ thuộc tối ưu u∗ik được cập nhật thông qua công thức
(1.6).Chi tiết thuật toán phân cụm FCM được trình bày trong thuật toán
1.2.
Thuật toán 1.2 Phân cụm FCM.
Đầu vào: Tập X các giá trị cần được phân cụm, c số tâm cụm dự kiến.
Đầu ra: Tập các tâm cụm C.
Bước 1: Lựa chọn các giá trị m, ε là ngưỡng dừng thuật toán. Khởi tạo c
(0)
(0)
tâm cụm ngẫu nhiên V = [vi ], i = 1, ..., c, các giá trị U (0) = uik
theo
công thức tính độ liên thuộc (1.6).
(t)∗
Bước 2: Tính toán các tâm cụm tối ưu tại bước thứ t là V = [vi ], i =
1, ..., c theo công thức (1.7).
Bước 3: Tính toán lại các độ thuộc tối ưu ở bước thứ t + 1 là U (t+1) =
(t+1)∗
uik
(t+1)∗
, trong đó uik
theo công thức tính độ thuộc (1.6).
Bước 4: So sánh phương án tại hai bước lặp
U (t) − U (t+1) ≤ ε tiếp tục
bước 5, nếu không thì gán giá trị U (t+1) cho U (t) tiếp tục đến bước 2.
Bước 5: C=V .
16
Trong đó các giá trị: c thể hiện số tâm cụm trong bộ dữ liệu đầu vào X,
m thể hiện độ mờ của hàm thuộc, trong trường hợp m = 1 là trường hợp
rõ, ε là biên độ xác định ngưỡng dừng của thuật toán. Thuật toán FCM
sau khi kết thúc xác định được các tâm cụm C = [ci ], i = [1, c] thỏa mãn
được điều kiện giá trị cực tiểu của hàm mục tiêu (1.4). Điểm yếu của thuật
toán là số bước lặp để đạt tối ưu phụ thuộc vào việc lựa chọn ngẫu nhiên
các tâm cụm ban đầu, trong một số trường hợp xấu, vòng lặp không kết
thúc vì thế trong thực tiễn triển khai thuật toán sẽ xác định một số bước
lặp hữu hạn, nếu vượt quá số bước lặp thuật toán sẽ dừng. Ngoài ra, thuật
toán phải xác định đầu vào là số lượng tâm cụm, trong triển khai thuật
toán nhiều bài toán khó khăn xác định được số lượng tâm cụm dự kiến phù
hợp. Vì thế, một số thuật toán đã được nghiên cứu để xác định được số
tâm cụm và khởi tạo tâm cụm ban đầu cho thuật toán FCM.
Phân cụm Mountain clustering là thuật toán xác định các tâm cụm
tiềm năng dựa trên xác định mật độ dữ liệu và sự ảnh hưởng của việc lựa
chọn tâm cụm dự kiến đến mật độ các điểm khác được gọi là Mountain
function được mô tả trong [117]. Đây là phương pháp đơn giản để xấp xỉ
tâm cụm dữ liệu, thuật toán này cũng có thể sử dụng như một giai đoạn
đầu của các thuật toán phân cụm khác (ví dụ giai đoạn khởi tạo tâm cụm
cho FCM).
Bước đầu tiên là xây dựng một lưới trên miền giá trị - tập các giá trị
có thể có của dữ liệu, mỗi điểm mắt lưới có thể xem như là các điểm tương
ứng với các gợi ý về tâm cụm trong các bước tiếp theo, định nghĩa tập này
là V . Bước tiếp theo là tính toán mật độ của các điểm gợi ý tâm cụm trên
lưới dựa trên hàm Mountain function. Giá trị mật độ mỗi điểm v ∈ V là