Một tiếp cận trong bài toán theo vết chuyển động của mắt
Chúng tôi đề xuất một tiếp cận theo vết chuyển động của mắt. Phương pháp này dựa
trên điều kiện phạm vi theo vết ban đầu đã được thu hẹp do tính chất của bài toán. Từ điều
kiện này đưa ra cách xác định vị trí mắt dựa vào tính chất hình học khi đã xác định được biên
đối tượng. Phương pháp của chúng tôi có độ chính xác khoảng 80% và tỉ lệ sai là 11%.
Bạn đang xem tài liệu "Một tiếp cận trong bài toán theo vết chuyển động của mắt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Một tiếp cận trong bài toán theo vết chuyển động của mắt
MỘT TIẾP CẬN TRONG BÀI TOÁN THEO VẾT CHUYỂN ĐỘNG CỦA MẮT PHẠM THẾ BẢO (*) PHẠM HỮU CƯỜNG (**) PHẠM CHÂU LỊCH (***) DƯƠNG TẤN TÀI (****) TÓM TẮT Chúng tôi đề xuất một tiếp cận theo vết chuyển động của mắt. Phương pháp này dựa trên điều kiện phạm vi theo vết ban đầu đã được thu hẹp do tính chất của bài toán. Từ điều kiện này đưa ra cách xác định vị trí mắt dựa vào tính chất hình học khi đã xác định được biên đối tượng. Phương pháp của chúng tôi có độ chính xác khoảng 80% và tỉ lệ sai là 11%. ABSTRACT We propose an approach for eyes tracking. This method is based on the initial conditions of tracking regions that is restricted by the properties of a problem. We use these conditions to build a process of detecting eyes positions which is based on geometric properties of eyes after determining the boundary of candidates. The precision of our method is about 80 percent; and its deviation is about 11 percent. 1. TỔNG QUAN Tương tác giữa người và máy tính đã và đang là nhu cầu cấp thiết của con người. Con người có thể giao tiếp tương tác với máy tính thông qua ánh mắt, cử chỉ, âm thanh, v.v. Bài toán theo vết chuyển động của mắt sẽ có rất nhiều ứng dụng trong thực tế. Những hệ thống như thế có thể được dùng trong an ninh, theo dõi, hỗ trợ người khuyết tật, v.v. Để theo được vết chuyển động của mắt, trước tiên chúng ta phải xác định được vùng mắt. Để xác định được vùng mắt, thông thường đầu tiên chúng ta phải xác định được khuôn mặt người trong các frame. J.L.Crowley và F.Berard [2] dựa trên sự kiện chớp mắt để xác định khuôn mặt và mắt. Hai ông dựa trên sự khác biệt giữa các ảnh nối tiếp nhau và mức độ khác biệt ánh sáng tại vùng biên của đầu và vùng mi mắt để xác định. L.P.Bala, K.Talmi và J.Liu [4] cũng dùng sự kiện chớp mắt, nhưng hai ông kết hợp thông tin giữa mô hình màu da và màu nền để xác định khuôn mặt, từ khuôn mặt này tác giả xem xét mức độ khác biệt ánh sáng để tìm sự kiện chớp mắt. Cũng theo hướng tìm sự kiện chớp mắt, có tác giả xây dựng phương pháp so khớp mẫu để tìm. Y.Matsumoto và nhóm nghiên cứu của ông [10] đã xây dựng mẫu cho mình, nhưng phương pháp này bị hạn chế khi người dùng không có tập mẫu của mình. Trong khi Shinjiro Kawato và Nobuji Tetsutani [6] xây dựng bộ mẫu về chuyển động của đầu, rồi dùng bộ mẫu này để tìm sự kiện chớp mắt. Một hướng nghiên cứu khác là theo vết chuyển động điểm giữa hai mắt, thay vì phải theo vết chuyển động của hai mắt. Từ điểm giữa này chúng ta có thể suy ra vị trí mắt dựa vào quan hệ hình học của khuôn mặt. Hướng nghiên cứu này cho phép xử lí (*) ThS, Khoa Toán – Tin học, Trường Đại học Khoa học Tự nhiên, ĐHQG TP.HCM (**) , (***), (****) CN, Khoa Toán – Tin học, Trường Đại học Khoa học Tự nhiên, ĐHQG TP.HCM được các tình huống: nghiêng, thay đổi góc nhìn, v.v. Chúng tôi nhận thấy khi một người ngồi trước máy thu (máy quay, webcam, v.v.), nếu đầu di chuyển thì chỉ di chuyển trong một phạm vi nhỏ (không thể nghiêng, xoay quá 300). Chúng tôi đề xuất một phương pháp xác định mắt dựa trên hình thái của mắt và theo vết chuyển động của mắt trong phạm vi dự đoán di chuyển của đầu và cập nhật thông tin này để xác định vị trí mắt ở lần tiếp theo. Mục tiêu có được một phương pháp xác định mắt, phương pháp này phải nhanh để đảm bảo theo được vết chuyển động. 2. XÁC ĐỊNH VỊ TRÍ MẮT Để xác định được vị trí mắt, chúng tôi phải xác định vị trí khuôn mặt người trong frame ảnh màu. Chúng tôi dùng phương pháp của Bảo [5] để xác định được bao hình chữ nhật như hình 1. Hình 1. Bao hình chữ nhật của khuôn mặt người. 2.1. Trích thô vùng mắt Khái niệm vùng mắt được hiểu là một vùng ảnh thu nhỏ của vùng khuôn mặt mà trong đó chỉ chứa mắt và lông mày. Vùng này được xác định dựa trên các đặc điểm về cấu trúc của khuôn mặt người và sự bố trí các thành phần (mắt, mũi, miệng, lông mày, v.v.) trên khuôn mặt người. Nói cách khác là dựa trên mối quan hệ hình học giữa các bộ phận trên mặt như: khoảng cách giữa hai mắt chỉ nằm trong một giới hạn nào đó (không quá xa mà cũng không quá gần), khoảng cách thẳng đứng từ mắt tới lông mày nhỏ hơn khoảng cách thẳng đứng từ mắt tới miệng, v.v. [8, 9]. Ảnh trong khung bao hình chữ nhật khuôn mặt người gồm có ba thành phần như: trán, lông mày và mắt, mũi và miệng. Thành phần gần mắt nhất chính là lông mày, còn hai thành phần mũi và miệng nằm ở phía dưới mắt có vị trí tương đối xa mắt hơn so với lông mày. Thông thường thì phần mũi và miệng nằm trong phần nửa dưới của mặt, phần mắt và lông mày sẽ nằm ở vùng nhỏ hơn một nửa khuôn mặt ở phía trên của vùng bao hình chữ nhật. Do đó ta có thể thu hẹp vùng ảnh lại để công việc xử lí được tiến hành nhanh hơn, bằng cách: dịch biên trên của mặt xuống một đoạn và dịch biên dưới của mặt lên một đoạn mà khung mới còn đảm bảo là bao được mắt [3]. Gọi d là kích thước chiều ngang của hình chữ nhật bao, d = ymax-ymin. Độ lớn đoạn dịch chuyển biên trên xuống là d/5. Khung bao hình chữ nhật mới sẽ được xác định bởi các thành phần như biểu thức 1, với yminnew là biên trái, ymaxnew biên phải, xminnew biên trên, xmaxnew là biên dưới, hình 2. yminnew = ymin y maxnew = ymax xminnew = xmin + d/5 xmaxnew = xminnew + (0.54*d) (1) (xmin, ymin) (xmax, ymax) Hình 2: Trích thô vùng mắt 2.2. Chọn ứng viên mắt Sau khi đã xác định thô được vùng mắt, chúng tôi tiến hành phân đoạn ảnh vừa có được trong không gian màu YCbCr và kết hợp các phép toán hình thái học để lọc nhiễu [1]. Trên ảnh nhị phân thu được, chúng ta có thể thấy rõ các thành phần khác nhau của khuôn mặt bao gồm: hai phần lông mày, hai mắt, còn hai thành phần mũi và miệng không còn do đã được loại bỏ trong bước xác định vùng mắt ở trên. Các đường viền (cạnh) của mắt, lông mày và các đường dọc theo biên ngoài của mặt cũng được hiện lên rất rõ ràng, hình 3. Hình 3: Xác định cạnh Từ ảnh nhị phân này, chúng tôi chỉ trích ra những đoạn tương tự mắt (những đoạn là ứng viên của mắt - ứng viên của mắt được hiểu là những đoạn ảnh có khả năng là mắt), nghĩa là sau khi thực hiện bước này trên ảnh nhị phân thu được sẽ chỉ còn có các thành phần như: mắt, lông mày, miệng (trong trường hợp không loại bỏ được miệng ở bước trích ra vùng mắt, nhưng hầu như trường hợp này ít xảy ra), hình 4. Cạnh của đối tượng không chỉ có mắt và lông mày mà còn các đối tượng khác do tác động của môi trường. Do đó, để loại những đối tượng không mong muốn này chúng tôi sử dụng tương quan tỉ lệ giữa khung hình chữ nhật bao đối tượng; hình 5; và khung hình chữ nhật bao vùng mắt thô. Gọi H, W lần lượt là chiều dọc và chiều ngang của khung ảnh chứa vùng mắt và h, w là chiều dọc và chiều ngang của đối tượng được xét. Hình 4: Trích ra những ứng viên mắt Hình 5: Tọa độ của đối tượng Dựa vào đặc trưng hình học của khuôn mặt người và ứng viên mắt cũng như kết quả thực nghiệm, chúng tôi nhận thấy các ứng viên còn lại có thể là: hai lông mày, hai mắt. Hình 6: Bốn ứng viên trích ra hai ứng viên (exmin, eymin) (exmax, eymax) Trong điều kiện thực tế, do tác động của môi trường nên có thể khi xác định xong thì số lượng ứng viên có thể là: 1, 2, 3, hoặc 4 ứng viên. Chúng tôi đề xuất hướng giải quyết cho từng trường hợp như sau: a) Còn bốn ứng viên: Trường hợp này rất ít khi xảy ra, bốn ứng viên chỉ có thể là hai mắt và hai lông mày. Ta sẽ tìm và loại hai ứng viên có exmin nhỏ nhất (tức là hai ứng viên nằm ở trên nhất). Hai đối tượng còn lại tương ứng với hai mắt, hình 6. b) Còn ba ứng viên: Đây có thể coi là trường hợp ngoại lệ hay gặp nhất trong quá trình thực hiện. Vì sự chênh lệch về kích thước của mắt và lông mày là không nhiều, do đó để đảm bảo khi trích ra các ứng viên trong đó có hai ứng viên là mắt thực sự dễ Hình 7: Các trường hợp ba ứng viên: (a) hai mắt và một ứng viên ở dưới; (b) hai mắt và mày phải; (c) hai mắt và mày trái c) Kéo theo trích ra luôn cả ứng viên lông mày. Ba ứng viên này có thể là: hai mắt và mày trái hoặc hai mắt và mày phải, v.v. Để xử lí, ta dựa vào thành phần exmin để xác định hai ứng viên nào mà có thành phần này gần nhau hơn so với ứng viên còn lại, hình 7. d) Còn hai ứng viên: Trong trường hợp này, hai ứng viên có thể hoặc cùng nằm trong một nửa của vùng khuôn mặt, hoặc thuộc hai nửa khác nhau. Nếu hai ứng viên nằm cùng một bên, nghĩa là nằm trong cùng một nửa của vùng mắt (có trục đối xứng là đường thẳng đứng). Cụ thể, hai ứng viên có thể là mắt trái và mày trái hoặc mắt phải và mày phải. Để giải quyết, chúng tôi sẽ tìm ứng viên nằm phía dưới và lấy đối xứng qua nửa còn lại theo một tỉ lệ thích hợp, hình 8. Hình 8: Hai ứng viên thuộc cùng một nửa vùng mặt Nếu hai ứng viên thuộc hai nửa của vùng mặt. Cụ thể, hai ứng viên có thể là mắt trái và mày phải hoặc mắt phải và mày trái. Để khắc phục, chúng tôi cũng tìm ra ứng viên nằm thấp hơn rồi lấy đối xứng qua, hình 9. Hình 9: Hai ứng viên thuộc hai nửa vùng mặt e) Còn một ứng viên: Ở trường hợp này ứng viên chính là mắt trái hoặc là mắt phải. Để xác định vị trí của mắt còn lại ta cũng lấy đối xứng dựa vào vị trí tọa độ của ứng viên ban đầu, hình 10. (a) (b) (c) Hình 10: Các trường hợp còn một ứng viên Thông thường khi nhìn màn hình máy tính, mắt người dùng nhìn thẳng hoặc hơi nghiêng một ít, điều này không ảnh hưởng đến kết quả của phương pháp. Còn trường hợp nghiêng đầu thì rất ít khi xảy ra hoặc giả sử nếu có xảy ra thì đầu của người dùng cũng chỉ nghiêng trong một góc không đáng kể. Do đó sự chênh lệch vị trí của hai mắt là rất ít, phương pháp vẫn cho kết quả tốt. 3. THEO VẾT CHUYỂN ĐỘNG CỦA MẮT 3.1. Phạm vi chuyển động của mắt Khi một người dùng ngồi trước máy tính và thao tác trên máy tính thì khoảng cách từ vị trí của mắt tới màn hình thường nằm trong một khoảng giới hạn vừa phải, tức không quá xa hoặc quá gần. Khi dùng các thiết bị như camera hoặc webcam để thu hình khuôn mặt người dùng trong quá trình xác định vị trí và theo vết mắt, chúng ta sẽ bố trí các thiết bị này sao cho thích hợp, đúng như các điều kiện đã đặt ra và thuận tiện cho người dùng. Tuy nhiên, khi thực hiện theo vết mắt chúng tôi còn nhận thấy rằng, người dùng khi ngồi trước màn hình thì đầu chỉ cử động trong một phạm vi (vùng) xung quanh vị trí cố định một khoảng tương đối nhỏ. Tức là sẽ không xảy ra trường hợp đầu của người dùng di chuyển ra khỏi khung ảnh của các thiết bị, hoặc đầu quá nghiêng so với trạng thái bình thường, hoặc quay hẳn sang bên trái hay phải làm khuất góc nhìn của mắt [7, 10]. Từ nhận xét này, chúng tôi sẽ chỉ tiến hành theo vết mắt trong một vùng thu hẹp mà chúng ta dự đoán là mắt chỉ có thể di chuyển trong phạm vi này, mà không tiến hành theo vết trong toàn bộ ảnh giống như khi xác định vị trí của mắt. Điều này làm cho việc theo vết mắt đơn giản và giảm được độ phức tạp cho thuật toán và theo được thời gian thực. Phạm vi theo vết mắt mà chúng tôi đưa ra dựa trên vị trí của hai mắt đã xác định được. 3.2. Theo vết chuyển động Trước khi theo vết mắt, thì vị trí của hai mắt ở frame trước được xác định và được lưu lại, đồng thời khoảng cách giữa hai mắt cũng được lưu lại. Chúng tôi sử dụng thuật toán xác định vị trí mắt đã đề cập để xác định vị trí mới của hai mắt. Xác định các giá trị tọa độ mới này, đồng thời tính khoảng cách giữa hai mắt trong lần xác định mới này. Sau khi đã có được vị trí cũ và vị trí mới của hai mắt cũng như khoảng cách giữa chúng, chúng tôi tiến hành so sánh các giá trị tọa độ này để thấy được sự di chuyển, thay đổi vị trí của mắt khi tiến hành quá trình trong thời gian thực. Sự chênh lệch vị trí này phải nằm trong một giới hạn cho phép. 4. KẾT LUẬN Chúng tôi đã đưa ra một phương pháp để từ đó có thể xây dựng, cài đặt một hệ thống dùng để xác định vị trí mắt và theo vết chuyển động của mắt bằng ngôn ngữ Matlab với công cụ Simulink và thực nghiệm cho thấy là phương pháp mà chúng tôi trình bày cho kết quả khá tốt, nghĩa là đã xác định được vị trí và theo được vết mắt với thời gian thực. Dưới đây là một kết quả thực nghiệm được kiểm tra trên mười người khác nhau, trong đó mỗi người được kiểm tra ba lần. Tỉ lệ chính xác khi thử nghiệm của chúng tôi là khoảng 80% và tỷ lệ sai là khoảng 11%, bảng 1. Trong tương lai chúng tôi sẽ phát triển tiếp nghiên cứu này theo hướng xây dựng một hệ thống hay phần mềm hỗ trợ cho việc giao tiếp giữa người và máy thông qua thị giác, cho phép người dùng sử dụng mắt để điểu khiển các thiết bị máy tính thay cho việc sử dụng chuột hay bàn phím. Cũng như có thể kiểm soát tài xế lái xe có ngủ gục khi lái xe hay không thông qua chuyển động mắt của họ. Bảng 1: Bảng thống kê kết quả thực nghiệm Người Thời gian (phút) Tổng số frame Số frame chính xác Tỉ lệ chính xác (%) Số frame sai Tỉ lệ sai (%) 1 2 1200 960 80 108 9 3 1800 1476 82 180 10 4 2400 1896 79 168 7 2 2 1200 1056 88 72 6 3 1800 1530 85 126 7 4 2400 1992 83 264 11 3 1 600 450 75 84 14 2 1200 972 81 144 12 3 1800 1494 83 144 8 4 1 600 420 70 90 15 2 1200 888 74 120 10 3 1800 1296 72 198 11 5 1 600 498 83 54 9 2 1200 960 80 84 7 3 1800 1476 82 108 6 6 1 600 474 79 96 16 2 1200 900 75 156 13 3 1800 1530 85 180 10 7 1 600 540 90 24 4 2 1200 1020 85 72 6 3 1800 1566 87 126 7 8 1 600 438 73 72 12 2 1200 1008 84 120 10 3 1800 1386 77 306 17 9 1 600 486 81 54 9 2 1200 912 76 156 13 3 1800 1440 80 180 10 10 1 600 390 65 120 20 2 1200 852 71 204 17 3 1800 1206 67 342 19 Tỉ lệ trung bình 79.1 10.8 TÀI LIỆU THAM KHẢO 1. Jiatao Song, Zheru Chi, Zhengyou Wang, and Wei Wang (2005). Locating Human Eyes Using Edge and Intensity Information, ICIC 2005, Part II, LNCS 3645, Springer-Verlag Berlin Heidelberg, pp. 492 – 501. 2. J.L.Crowley and F.Berard (1997). Multi-modal tracking of face for video communication. Proc. CVPR 97, page 640-645. 3. Kun Peng, Liming Chen, Su Ruan, and Georgy Kukharev (2005). A Robust and Efficient Algorithm for Eye Detection on Gray Intensity Face. Springer-Verlag Berlin Heidelberg 2005. LNCS 3687, pp. 302 – 308. 4. L.-P. Bala, K.Talmi, and J.Liu (Sept. 1997). Automatic detection and tracking of faces and facial features in video sequences. 1997 Picture Coding Symposium, Berlin, Germany. 5. Phạm Thế Bảo, Xác định khuôn mặt người trong ảnh màu bằng logic mờ, Luận văn TS, đang thực hiện. 6. Shinjiro Kawato and Noguji Tessutani. Detection and Tracking of Eyes for Gaze-camera Control, technical report ATR Media Information Science Laboratories. 7. S. Kawato and J. Ohya (2000). Real-time detection of nodding and head-shaking by directly detecting and tracking “betweeneyes". Proc. IEEE 4th Int. Conf. on Automatic Face and Gesture Recognition, pages 40–45. 8. S. Kawato and J. Ohya (2000). Two-step approach for real-time eye tracking with a new filtering technique. Proc. Int. Conf. on System, Man & Cybernetic, pages 1366–1371. 9. Xusheng Tang, Zongying Ou, Tieming Su, Haibo Sun and Pengfei Zhao (2005). Robust Precise Eye Location by Adaboost and SVM Techniques. Springer-Verlag Berlin Heidelberg, LNCS 3497, pp. 93–98. 10. Y. Matsumoto and A.Zelinsky. An algorithm for real-time stereo vision implementation of head pose and gaze direction measurement. Proc. IEEE 4 th Int. Conf. on Automatic face and Gesture Recognition, (2000), pages 499-504.
File đính kèm:
mot_tiep_can_trong_bai_toan_theo_vet_chuyen_dong_cua_mat.pdf

