TÊN ĐỀ TÀI: ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC XÁC ĐỊNH CHUYỂN ĐỘNG CỦA TRÒNG MẮT NGƯỜI II.. NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu một số thuật toán sử dụng camera để theo vết, xác định hướng nh
Trang 1ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA
…………
ĐINH QUANG TRÍ
ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC XÁC ĐỊNH
CHUYỂN ĐỘNG CỦA TRÒNG MẮT NGƯỜI
Chuyên ngành: Kỹ thuật Cơ điện tử
Mã số: 605268
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 12 năm 2013
Trang 2Trang xii
Công trình được hoàn thành tại: Trường Đại học Bách Khoa - ĐHQG - HCM Cán bộ hướng dẫn khoa học: TS ĐOÀN THẾ THẢO
Ký tên TS Đoàn Thế Thảo Cán bộ chấm nhận xét 1:
Ký tên Cán bộ chấm nhận xét 2:
Ký tên
Trang 3Trang xiii
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm 2013
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1
2
3
4
5
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
PGS.TS Nguyễn Hữu Lộc
Trang 4Trang xiv
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
I TÊN ĐỀ TÀI:
ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC XÁC ĐỊNH CHUYỂN ĐỘNG
CỦA TRÒNG MẮT NGƯỜI
II NHIỆM VỤ VÀ NỘI DUNG:
Nghiên cứu một số thuật toán sử dụng camera để theo vết, xác định hướng nhìn của mắt
Nghiên cứu phương pháp xác định các điểm đặc trưng trên khuôn mặt và tâm tròng mắt
Hiện thực hệ thống xác định vị trí khuôn mặt, các điểm đặc trưng trên mặt, tâm tròng mắt và hướng nhìn của mắt
Hiện thực hệ thống nhúng lên board ARM Mini210s với nhân Linux
Làm thực nghiệm kiểm nghiệm kết quả thực tế
IV NGÀY HOÀN THÀNH NHIỆM VỤ: Ngày 22 tháng 11 năm 2013
Tp HCM, ngày tháng năm 2013
TRƯỞNG KHOA CƠ KHÍ PGS.TS Nguyễn Hữu Lộc
Trang 5Trang xv
LỜI CẢM ƠN
Để hoàn thành được luận văn này, tôi xin chân thành cảm ơn sự hướng dẫn tận tình của Thầy TS Đoàn Thế Thảo đã góp ý, hỗ trợ tôi trong suốt quá trình thực hiện
Xin cảm ơn gia đình và những người bạn luôn động viên, ủng hộ tôi
Xin chân thành cảm ơn!
Đinh Quang Trí
Trang 6J Chen và các cộng sự [8] để ước lượng hướng nhìn Để làm cho hệ thống trở nên linh động và dễ cài đặt trong thực tế, hệ thống được phát triển và nhúng lên board ARM với nhân Linux
Abstract:
Human gaze contains useful information regarding attention and intention Gaze estimation research has a long history and many systems have been proposed However these systems are still limited because almost these applications are based
on PC-desktop system These limitations prevent applications of the system that capture and utilize useful human gaze information in daily situations In this thesis, faces in images from camera were detected by using Haar-like feature, from the images of faces the Isophote Curvature method was employed to calculate the location of the irises center, the facial feature points were detected by using flandmark library and algorithm proposed by J Chen et al [8] was applied to estimate the gaze direction To make the system becomes more portable and easier when setup in real environments, an embedded system for gaze estimation was developed based on an ARM board Linux operating system
Trang 7mà đề tài cần tập trung nghiên cứu, giải quyết
Phần 3: Cơ sở lý thuyết và phương pháp thực hiện
Trình bày các cơ sở lý thuyết, lý luận, giả thuyết khoa học và phương pháp nghiên cứu đã được sử dụng trong luận văn
Phần 4: Thực nghiệm và kết quả đạt được
Mô tả ngắn gọn công việc nghiên cứu khoa học đã tiến hành, các số liệu thực nghiệm của luận văn
Phần 5: Kết luận và kiến nghị những nghiên cứu tiếp theo
Trình bày những kết quả đạt được của luận văn và đưa ra kiến nghị hướng nghiên cứu tiếp theo dựa trên kết quả đạt được
Trang 8Trang xviii
LỜI CAM ĐOAN
Tôi cam đoan rằng, nội dung của luận văn này là kết quả làm việc của tôi dưới
sự hướng dẫn của Thầy TS Đoàn Thế Thảo, ngoại trừ các phần tham khảo từ các tài liệu khác được ghi rõ trong luận văn
Tp HCM, Ngày 02 tháng 12 năm 2013
Đinh Quang Trí
Trang 9Trang xix
MỤC LỤC
LỜI CẢM ƠN xv
TÓM TẮT LUẬN VĂN xvi
LỜI CAM ĐOAN xviii
MỤC LỤC xix
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU xxii
DANH MỤC HÌNH xxiii
DANH MỤC BẢNG xxv
Phần 1 MỞ ĐẦU 1
Phần 2 TỔNG QUAN 4
2.1 Tổng quan về khuôn mặt và mắt người 4
2.1.1 Đặc tính sinh học của khuôn mặt 4
2.1.2 Đặc tính sinh học của mắt người 4
2.1.2.1 Cấu tạo 4
2.1.2.2 Chức năng 6
2.2 Tổng quan về một số công trình nghiên cứu của các tác giả trong và ngoài nước có liên quan đến đề tài 6
2.3 Phân tích 6
2.4 Các vấn đề còn tồn tại 8
2.5 Các vấn đề cần tập trung giải quyết của đề tài 8
Phần 3 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC HIỆN 9
3.1 Xử lý ảnh số 9
3.1.1.1 Giới thiệu về xử lý ảnh số 11
3.1.1.2 Các ứng dụng cơ bản của công nghệ xử lý ảnh số 19
3.2 Camera calibration 19
3.2.1 Mô hình pinhole 19
3.2.2 Lý thuyết camera calibration sử dụng mô hình pinhole 20
3.3 Hai thuật toán phát hiện tâm tròng mắt 23
3.3.1 Thuật toán dựa trên đường isophote [19] 23
Trang 10Trang xx
3.3.1.1 Giới thiệu đường isophote 23
3.3.1.2 Tâm của các đường isophote 24
3.3.1.3 Xác định tâm đường isophote 25
3.3.1.4 Xác định tâm tròng mắt 26
3.3.2 Thuật toán dựa trên giá trị gradient [21] 26
3.3.2.1 Giới thiệu phương pháp 26
3.3.2.2 Hậu xử lý kết quả tính được 27
3.4 Đặc tính Haar-like của khuôn mặt và thuật toán Adaboost 27
3.4.1 Đặc trưng Haar-like 27
3.4.2 Thuật toán Adaboost 29
3.5 Hệ điều hành nhân Linux 30
3.5.1 Linux là gì 30
3.5.2 Các ưu điểm nổi bật của Linux 31
3.5.3 Hệ thống nhúng 31
Phần 4 THỰC NGHIỆM VÀ KẾT QUẢ ĐẠT ĐƯỢC 33
4.1 Calib thông số camera 33
4.2 Tiền xử lý ảnh 36
4.3 Phát hiện tâm tròng mắt 39
4.3.1 Phương pháp sử dụng đường Isophote 39
4.3.2 Phương pháp sử dụng giá trị gradient 41
4.3.3 Đánh giá và chọn lựa giữa hai phương pháp 41
4.4 Ước lượng góc nhìn 41
4.4.1 Ước lượng hướng của đầu 41
4.4.2 Ước lượng hướng nhìn của mắt 44
4.5 Nhúng chương trình ứng dụng lên board ARM 46
4.5.1 Cài đặt host và các toolchain: 49
4.5.2 Cài đặt thư viện OpenCV cho ARM 51
4.5.2.1 Cài đặt các thư viện cần thiết cho OpenCV 51
4.5.2.2 Cài đặt thư viện OpenCV cho ARM 53
4.5.3 Kết quả nhúng chương trình lên board 55
Phần 5 KẾT LUẬN VÀ KIẾN NGHỊ NHỮNG NGHIÊN CỨU TIẾP THEO 57
5.1 Kết luận về kết quả của đề tài 57
Trang 11Trang xxi
5.2 Những vấn đề còn tồn tại và hướng phát triển của đề tài 57DANH MỤC TÀI LIỆU THAM KHẢO 59PHẦN LÝ LỊCH TRÍCH NGANG 62
Trang 13Trang xxiii
DANH MỤC HÌNH
Hình 1-1: Khuôn mặt của con người [26] 4
Hình 1-2: Cấu tạo mắt người [26] 6
Hình 3-1: Biểu diễn cấu trúc ảnh số 2 chiều 9
Hình 3-2: Mô tả ảnh nhị phân 10
Hình 3-3: Thang màu mức xám ảnh 8 bit 10
Hình 3-4: Biểu diễn ảnh xám [16] 10
Hình 3-5: Sơ đồ xử lý ảnh số [17] 11
Hình 3-6: Biểu đồ Gauss 14
Hình 3-7: Mặt nạ cuộn gaussian 1 chiều 14
Hình 3-8: Chuyển từ ảnh màu sang ảnh xám [18] 15
Hình 3-9: Chuyển từ ảnh xám 8 bit sang ảnh nhị phân 15
Hình 3-10: Giản đồ histogram ảnh xám 16
Hình 3-11: Tăng độ sáng và giản đồ histogram 16
Hình 3-12: Giảm độ sáng và giản đồ histogram 17
Hình 3-13: Tăng độ tương phản và giản đồ histogram 17
Hình 3-14: Giảm độ tương phản và giản đồ histogram 17
Hình 3-15: Tách biên bằng phương pháp Sobel và Canny 18
Hình 3-16: Mô hình Pinhole 19
Hình 3-17: Hình biểu diễn một mặt phẳng khác mặt phẳng ảnh 20
Hình 3-18: Phép quay vectơ 21
Hình 3-19: Tương quan của ảnh lý tưởng và thực tế 22
Hình 3-20: Ảnh gốc (a), các đường isophote của ảnh (b) 23
Hình 3-21: Hướng của gradient (a), các vector thay thế chỉ vào tâm của đường cong (b), tâm được đánh giá bởi các vector (c) 24
Hình 3-22: Các đường isophote của một hình cầu (a), đường cong curvedness của ảnh hình cầu (b) 25
Hình 3-23: Minh họa cho mối quan hệ giữa các vector và tâm 26
Hình 3-24: Ảnh với tâm của mắt đã được xác định (trái), biểu đồ 2D thể hiện giá trị tính được đối với mỗi tâm giả định (giữa), biểu đồ 3D tương ứng (phải) 27
Hình 3-25: Các đặc trưng cạnh 28
Hình 3-26: Các đặc trưng đường 28
Trang 14Trang xxiv
Hình 3-27: Các đặc trưng góc (a) và các đặc trưng trung tâm (b) 28
Hình 3-28: Cách tính tổng giá trị pixel bằng ảnh tích phân 28
Hình 3-29: Mô hình cascade kết hợp các bộ phân loại yếu 29
Hình 3-30: Cấu trúc tổng quát của một hệ thống Linux [26] 30
Hình 3-31: Giao diện hệ điều hành Ubuntu Desktop 10.04 nhân Linux 30
Hình 3-32: Một số thiết bị sử dụng hệ thống nhúng [26] 32
Hình 4-1: Bảng caro 10x7 với hệ trục tọa độ thực [22] 33
Hình 4-2: Tấm caro với các hướng khác nhau 33
Hình 4-3: Phát hiện các điểm giao nhau trên tấm caro 34
Hình 4-4: Tấm caro ở vị trí xoay quanh trục z 30 độ 35
Hình 4-5: Tấm caro ở vị trí xoay quanh trục y 30 độ 35
Hình 4-6: Sơ đồ các bước thực hiện thu thập mẫu 36
Hình 4-7: Vị trí tương đối của vùng ảnh chứa mắt 37
Hình 4-8: Sơ đồ giải thuật phát hiện tâm tròng mắt dùng đường Isophote 39
Hình 4-9: Ảnh gốc của mắt 40
Hình 4-10: Đường curvedness của mắt 40
Hình 4-11: Bản đồ phân bố tâm 40
Hình 4-12: Kết quả đạt được khi áp dụng thuật toán 40
Hình 4-13: 6 điểm đặc trưng trên khuôn mặt được trích xuất ra 42
Hình 4-14: Giao diện MeshLab với mô hình của khuôn mặt 42
Hình 4-15: Hướng của đầu tính được ở vị trí thẳng 43
Hình 4-16: Hướng của đầu tính được ở vị trí nghiêng 44
Hình 4-17: Minh họa mô hình mắt và góc nhìn [8] 45
Hình 4-18: Hướng nhìn của mắt được ước lượng 46
Hình 4-19: Board Mini210s 47
Hình 4-20: Tổng thể về host và toolchain 49
Hình 4-21: Giao diện của chương trình Qt-creator 50
Hình 4-22: Giao diện của chương trình C-make 53
Hình 4-23: Lựa chọn cross-compiling 54
Hình 4-24: Cấu hình công cụ 54
Hình 4-25: Ứng dụng được nhúng lên board Mini210s 55
Trang 15Trang xxv
DANH MỤC BẢNG
Bảng 4-1: Cấu hình chi tiết của board Mini210s 47
Trang 16Theo thống kê, Việt Nam có khoảng 6.1 triệu người khuyết tật, tương đương 7.8% dân số (02/2011) [1], việc ứng dụng này sẽ hỗ trợ được nhiều cho những người bị khuyết tật Người khuyết tật với hạn chế về cử động của tay chân, đi lại khó khăn sẽ có thể điều khiển thiết bị trong nhà bằng chuyển động của mắt Hoặc với chiếc xe lăn được gắn thiết bị di động cùng với một chiếc camera, những người tàn tật ngồi xe lăn có thể dễ dàng điều khiển xe mà không phải dùng đến tay Những người già không cần ghi nhớ chức năng của các nút điều khiển có thể bật tắt thiết bị bằng cách nhìn về phía thiết bị…
Thêm vào đó, trong lĩnh vực quảng cáo và tiếp thị, hướng nhìn của mắt là một kênh thông tin quan trọng giúp nhận biết sự chú ý của khách hàng về một sản phẩm nào đó Bằng cách xác định hướng chú ý của khách hàng, có thể nhanh chóng hiển thị những lời giới thiệu và thông tin về sản phẩm
Khoa học công nghệ đang ngày càng một phát triển hơn Việc ứng dụng công nghệ vào cuộc sống nhằm mục đích hỗ trợ cho sinh hoạt của con người được thoải mái, dễ dàng hơn đang là xu hướng hiện nay Trong thời gian không xa, những tiến
bộ công nghệ sẽ thay đổi cuộc sống của con người theo chiều hướng tốt đẹp hơn
Trang 17Trang 2
Mục đích, đối tượng và phạm vi nghiên cứu của đề tài
Đề tài này sẽ tìm hiểu một số phương pháp hiện có trong việc phát hiện tâm tròng mắt, làm cơ sở áp dụng cho việc phát hiện hướng nhìn của mắt
Tìm hiểu cơ bản về xử lý ảnh số
Tìm hiểu phương pháp calib các thông số của camera
Tìm hiểu các phương pháp hiện có dùng để phát hiện hướng nhìn
Tìm hiểu hệ điều hành Linux và và hệ điều hành nhúng Linux
Tiến hành áp dụng trên ảnh thu được từ webcam độ phân giải thấp
Áp dụng trong thực tế với webcam được đặt cách mắt khoảng cách 0.5 mét Phương pháp nghiên cứu
Tiến hành tìm hiểu, phân tích một số công trình nghiên cứu của các tác giả trong
và ngoài nước có liên quan đến đề tài
Tìm hiểu cách lập trình với thư viện OpenCV
Tìm hiểu phương pháp xác định các thông số của camera sử dụng phương pháp của ZhengYou Zhang [2]
Tìm hiểu đặc tính sinh học của tròng mắt người trong việc phát hiện tâm của tròng mắt, và đặc tinh sinh học của khuôn mặt (bao gồm cầu mắt) trong việc xác định hướng của khuôn mặt, được dùng để thử nghiệm ứng dụng xác định hướng nhìn
Tìm hiểu phương pháp phát hiện tâm: Isophote Curvature và mean of gradients
Tìm hiểu đặc tính Haar-like và thuật toán Adaboost
Tìm hiểu phương pháp nhúng hệ điều hành nhúng Linux
Tìm hiểu các phương pháp lọc nhiễu
Tìm hiểu cách nhúng chương trình lên hệ thống Linux trên board ARM
Tiến hành thực nghiệm trên ảnh thu được từ webcam
Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài
Kết quả của đề tài này sẽ góp một phần kiến thức vào việc ứng dụng công nghệ thị giác máy tính trong đời sống nhằm mục đích hỗ trợ cho sinh hoạt của con người được thoải mái, dễ dàng hơn
Trang 18Trang 3
Việc phát hiện hướng nhìn dựa trên kết quả phát hiện tâm tròng mắt người sẽ là
cơ sở cho bài toán giao tiếp với máy tính bằng thị giác sau này
Trang 19Trang 4
Phần 2 TỔNG QUAN
2.1 Tổng quan về khuôn mặt và mắt người
2.1.1 Đặc tính sinh học của khuôn mặt
Như chúng ta đã biết, khuôn mặt bao gồm các phần chính:
Vùng trán, bên dưới là lông mày
Hai mắt, bảo vệ bởi mi mắt và lông mi
Hai lỗ mũi và sống mũi
Vùng má
Miệng gồm môi trên và môi dưới
Cằm nằm bên dưới miệng
Hình 1-1: Khuôn mặt của con người [26]
2.1.2 Đặc tính sinh học của mắt người
Trang 20Trang 5
vào bên trong mắt Giác mạc cũng hoạt động như một thấu kính có tác dụng khúc xạ hoặc hội tụ ánh sáng từ một đối tượng nhìn
Mống mắt: Mống mắt hoạt động như một màng chắn hoặc một cửa sập tròn
có tác dụng điều chỉnh lượng ánh sáng đi vào bên trong mắt Đây là bộ phận tạo ra các màu khác nhau của mắt
Thủy tinh thể: Thủy tinh thể là một cấu trúc protein trong suốt, giúp tập trung hình ảnh và điều tiết mắt tùy thuộc vào khoảng cách xa hay gần của đối tượng nhìn
Thủy tinh dịch: Đây là một khối dịch đặc như lòng trắng trứng và trong suốt, giúp định hình mắt và hỗ trợ các cấu trúc bên trong của mắt
Thể mi: Đây là bó cơ giúp thay đổi hình dạng của thủy tinh thể nhằm tạo ra
sự điều tiết phù hợp Đây cũng chính là tuyến tiết ra một loại dịch lỏng, được gọi là thủy dịch Sự cân bằng giữa việc sản sinh và dẫn lưu của thủy dịch tạo
áp lực làm mắt lồi ra
Võng mạc: Võng mạc là mô thần kinh lót mặt trong của mắt Nó bao gồm các mô thần kinh cực mỏng được chia thành từng lớp rất tinh vi Phần trung tâm của võng mạc là nơi chúng ta sử dụng để nhìn các vật thể Vị trí này được gọi là hoàng điểm Đây là nơi tập trung nhiều nhất các tế bào nhạy cảm ánh sáng, hay còn gọi là những tế bào thụ quang (thụ thể ánh sáng)
Dây thần kinh thị giác: Cấu trúc của bộ phận này được tạo thành bởi các sợi thần kinh nhỏ từ toàn bộ các vùng của võng mạc Chúng hội tụ lại thành một
bó, xuyên qua một mạng lưới các lỗ nhỏ trên vỏ nhãn cầu, đi ra phía sau, mang các xung điện đến não bộ như một dây cáp tinh tế
Tất cả các mô này có cấu trúc rất tinh vi Ngoại trừ thành ngoài của mắt khá dai, các mô khác đều rất mảnh và cần được bảo vệ Vì vậy, nhãn cầu nằm trong ổ mắt, một hốc xương được bảo vệ tốt trên khuôn mặt với những phần vững chắc và những phần khác có thể bị vỡ Mắt được bảo vệ nhờ vào những cơ chế phản xạ tự nhiên cùng với một hệ thống rửa (bằng nước mắt) và lau sạch bề mặt (thông qua động tác nháy mi mắt)