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%.

pdf 7 trang phuongnguyen 140
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
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:

  • pdfmot_tiep_can_trong_bai_toan_theo_vet_chuyen_dong_cua_mat.pdf