ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN HỮU CƯỜNG THIẾT KẾ HỆ THỐNG NHẬN DẠNG HƯỚNG NHÌN ĐIỀU KHIỂN ROBOT DI ĐỘNG Chuyên ngành: TỰ ĐỘNG HĨA LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2010 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: TS HUỲNH THÁI HOÀNG Cán chấm nhận xét 1: Cán chấm nhận xét 2: Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày …… tháng …… năm …… Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: Xác nhận Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành sau luận văn sửa chữa (nếu có) Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành TRƯỜNG ĐH BÁCH KHOA TP.HCM PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc Tp HCM, ngày 15 tháng 01 năm 2010 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN HỮU CƯỜNG Phái: Nam Ngày, tháng, năm sinh: 06/11/1980 Nơi sinh: Cần Thơ Chuyên ngành: TỰ ĐỘNG HÓA MSHV: 01508332 I – TÊN ĐỀ TÀI: THIẾT KẾ HỆ THỐNG NHẬN DẠNG HƯỚNG NHÌN ĐIỀU KHIỂN ROBOT DI ĐỘNG II – NHIỆM VỤ VÀ NỘI DUNG: - Nghiên cứu thiết kế xây dựng hệ thống xác định hướng nhìn mắt người dùng - Thiết kế chế tạo mơ hình xe lăn điện - Ứng dụng hệ thống xác định hướng nhìn mắt vào điều khiển hướng di chuyển cho xe lăn điện III – NGÀY GIAO NHIỆM VỤ: 15/01/2010 IV – NGÀY HOÀN THÀNH NHIỆM VỤ: 30/11/2010 V – CÁN BỘ HƯỚNG DẪN: TS HUỲNH THÁI HOÀNG CÁN BỘ HƯỚNG DẪN CN BỘ MƠN QL CHUN NGÀNH TS HUỲNH THÁI HỒNG TS NGUYỄN ĐỨC THÀNH LỜI CẢM ƠN T rong suốt thời gian theo học hồn thành chương trình Cao học đề tài luận văn thạc sĩ này, nhận nhiều giảng dạy, hướng dẫn, giúp đỡ đóng góp nhiều tình q Thầy Cơ, thành viên gia đình, đồng nghiệp bạn học Để có kết hơm nay, trước hết xin gởi lời biết ơn sâu sắc đến Tiến sĩ Huỳnh Thái Hoàng dành nhiều thời gian tâm huyết hướng dẫn giúp đỡ tơi hồn thành luận văn Thạc sĩ Đặc biệt, tơi xin chân thành cảm ơn quan tâm cảm thơng Thầy đến hồn cảnh gia đình tơi trình học tập thực luận văn Thạc sĩ Đồng thời, xin chân thành cảm ơn quý Thầy Cô Bộ môn Điều khiển Tự động – Khoa Điện-Điện Tử - Trường Đại học Bách Khoa TP.HCM giảng dạy tạo nhiều điều kiện để học tập hoàn thành luận văn Thạc sĩ Nhân đây, xin chân thành cảm ơn Ba, Mẹ, Vợ Chị quan tâm, động viên giúp đỡ suốt thời gian học tập xa nhà Tôi xin gởi lời cảm ơn đến quý Thầy Cô đồng nghiệp Bộ môn Tự động hóa – Khoa Cơng nghệ - Trường Đại học Cần Thơ tạo điều kiện cho tham gia hồn thành khóa học Cuối cùng, tơi xin gởi lời cảm ơn đến anh chị học viên ngành Tự động khóa – Khóa 2008 chia khó khăn trao đổi kinh nghiệm tơi q trình học tập nghiên cứu suốt khóa học TP Hồ Chí Minh, ngày 10 tháng 12 năm 2010 Học viên ngành Tự động hóa – Khóa 2008 Nguyễn Hữu Cường ABSTRACT In this thesis, we propose an efficient approach for real-time eye-gaze detection from images acquired from a web camera The measured data is sufficient to describe the eye movement, because the web camera is stationary with respect to the head First, the image is binarized with a dynamic threshold Then geometry features of the eye image are extracted from binary image Next using estimation method based on geometry structure of eye, we detect the positions of two eye corners After that, the center of iris is detected by matching between an iris boundary model and image contours Finally, using the relative position information between the center of iris and the eye corners, base on the relationship between image coordinate and monitor coordinate, the position where the eye is looking at the monitor is calculated This system requires only a low cost web camera and a personal computer Experimental results show that the proposed system can detect accurately eye movements in real-time This system had been applied to control the electric wheelchair by using the eye-gaze of user TÓM TẮT LUẬN VĂN THẠC SĨ Đề tài “Thiết kế hệ thống nhận dạng hướng nhìn điều khiển robot di động” luận văn Thạc sĩ chuyên ngành Tự động hóa chương trình đào tạo theo phương thức nghiên cứu Trong đề tài, chúng tơi trình bày nghiên cứu liên quan đến kỹ thuật xác định hướng nhìn mắt dựa cơng nghệ thị giác máy tính Qua q trình nghiên cứu tổng quan đánh giá kết phương pháp khác nhau, chúng tơi chọn phương pháp trích đặc trưng ảnh khớp mơ hình để thiết kế xây dựng hệ thống xác định hướng nhìn mắt Dựa vào kết thí nghiệm cho thấy hệ thống đạt độ xác cao thời gian thực hoạt động tương đối ổn định điều kiện chiếu sáng khác Từ hệ thống xác định hướng nhìn xây dựng máy tính, chúng tơi ứng dụng vào điều khiển hướng di chuyển cho xe lăn điện hướng nhìn mắt nhằm hướng đến mục tiêu hỗ trợ cho người tàn tật di chuyển sinh hoạt hàng ngày Nội dung chuyên đề bao gồm chương: - Chương 1: Giới thiệu - Chương 2: Cơ sở lý thuyết - Chương 3: Giải thuật xác định hướng nhìn - Chương 4: Chương trình xác định hướng nhìn - Chương 5: Xe lăn điện điều khiển hướng nhìn - Chương 6: Kết luận hướng phát triển Mặc dù chúng tơi cố gắng hồn thành luận văn tất tâm huyết lực mình, nhiên khơng thể tránh khỏi thiếu sót, mong nhận đóng góp quý báu quý Thầy Cô bạn MỤC LỤC CHƯƠNG I GIỚI THIỆU 1.1 Đặt vấn đề 12 1.2 Nghiên cứu tổng quan 13 1.2.1 Phân loại kỹ thuật theo đặc điểm giao tiếp người-máy 13 1.2.2 Phân loại kỹ thuật theo phương tiện, thiết bị 14 1.2.3 Phân tích mắt người ảnh mắt người 15 1.2.4 Kỹ thuật ảnh phổ hồng ngoại ảnh phổ nhìn thấy 16 1.2.5 Hệ thống thu ảnh 18 1.2.6 Các giải thuật xác định hướng nhìn 19 1.3 Những cơng trình nghiên cứu liên quan 21 1.4 Mục tiêu đề tài 26 1.5 Tóm lược nội dung nghiên cứu 27 CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 Thiết bị thu ảnh số 29 2.1.1 Camera CCD 29 2.1.2 Camera video 30 2.1.3 WebCAM 30 2.2 Ảnh số 31 2.2.1 Khái niệm ảnh số 31 2.2.2 Biểu diễn ảnh số 32 2.3 Không gian màu 35 2.3.1 Không gian màu RGB 35 2.3.2 Không gian màu CMY 36 2.3.3 Không gian màu YIQ 37 2.3.4 Không gian màu YCbCr 37 2.3.5 Không gian màu HSV 38 2.4 Nâng cao chất lượng ảnh 40 2.4.1 Histogram – Cân histogram 40 2.4.2 Lọc ảnh nhiễu 41 2.5 Phân ngưỡng ảnh 47 2.5.1 Phân ngưỡng hai mức 48 2.5.2 Nhị phân hóa 49 CHƯƠNG III GIẢI THUẬT XÁC ĐỊNH HƯỚNG NHÌN 3.1 Tổng quan giải thuật xác định hướng nhìn 51 3.2 Thuật toán phát biên 52 3.2.1 Khái niệm 53 3.2.2 Các phát biên 54 3.3 Thuật tốn trích điểm đặc trưng 57 3.3.1 Bộ trích đặc trưng Harris 57 3.3.2 Bộ trích đặc trưng Shi-Tomasi 59 3.4 Thiết lập đường bao 60 3.5 Mơ hình – Giải thuật khớp mơ hình 61 3.5.1 Mô hình đường bao trịng đen 61 3.5.2 Giải thuật khớp mô hình 62 3.6 Ước lượng hướng nhìn 64 3.6.1 Mối liên hệ tọa độ ảnh chụp tọa độ ảnh mắt 64 3.6.2 Mối liên hệ tọa độ ảnh mắt tọa độ hình 64 3.6.3 Ước lượng hướng nhìn 65 CHƯƠNG IV CHƯƠNG TRÌNH XÁC ĐỊNH HƯỚNG NHÌN 4.1 Chương trình xác định hướng nhìn 66 4.1.1 Thu ảnh tiền xử lý ảnh 66 4.1.2 Trích đặc trưng hình học ảnh mắt 68 4.1.3 Khớp mơ hình với đặc trưng đường bao tròng đen 69 4.1.4 Tính tốn hướng nhìn 70 4.2 Thí nghiệm kết 72 4.2.1 Thí nghiệm 72 4.2.2 Thí nghiệm 72 CHƯƠNG V XE LĂN ĐIỆN ĐIỀU KHIỂN BẰNG HƯỚNG NHÌN 5.1 Mơ hình phương trình động học xe lăn điện 74 5.1.1 Xe lăn điện 74 5.1.2 Phương trình động học 75 5.2 Mạch điện cho xe lăn điện 77 5.2.1 Mạch điều khiển động 78 5.2.2 Mạch vi điều khiển 78 5.3 Chương trình điều khiển xe lăn điện 80 5.3.1 Chương trình điều khiển máy tính 80 5.3.2 Giao diện chương trình 80 5.3.3 Chương trình cho vi điều khiển 81 5.4 Kết thí nghiệm 81 CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận 83 6.2 Hướng phát triển 84 DANH MỤC CƠNG TRÌNH CỦA TÁC GIẢ 85 TÀI LIỆU THAM KHẢO 92 84 Để thấy ứng dụng hệ thống xác định hướng nhìn mắt thực tiễn, đề tài áp dụng thành công hệ thống vào xe lăn điện để điều khiển hướng di chuyển xe lăn theo yêu cầu người sử dụng thơng qua hướng nhìn mắt Những kết thí nghiệm điều khiển xe lăn hướng nhìn mắt đạt với độ tin cậy cao Từ cho thấy khả ứng dụng hệ thống xác định hướng nhìn mắt vào đời sống thực tiễn khả thi có nhiều triển vọng 6.2 HƯỚNG PHÁT TRIỂN Nhằm xây dựng hệ thống xác định hướng nhìn bền vững nhiều điều kiện chiếu sáng khác đạt hiệu thời gian thực, nghiên cứu nhằm tìm mơ hình trịng đen tổng quát xây dựng giải thuật trích đặc trưng khớp mơ hình tối ưu thời gian tính tốn Bên cạnh đó, mở rộng khả hệ thống hướng phát triển đề tài Với việc kết hợp phương pháp trích đặc trưng hình học giải thuật nhận dạng thơng minh, tin tương lai hệ thống có khả bám đuổi xác vị trí nhìn mắt khơng gian Ngồi ra, tương lai mở rộng nghiên cứu thêm nhiều ứng dụng khác cho hệ thống xác định hướng nhìn mắt nhằm phục vụ tốt cho người đời sống hàng ngày Thiết kế hệ thống nhận dạng hướng nhìn điều khiển robot di động 85 DANH MỤC CƠNG TRÌNH CỦA TÁC GIẢ [1] Nguyen Huu Cuong and Huynh Thai Hoang, “Eye-Gaze Detection with a Single WebCAM Based on Geometry Features Extraction”, IEEE The 11th Internatinal Conference on Control, Automation, Robotics and Vision, ICARCV 2010, Singapore, pages 2507-2512, December 2010 2010 11th Int Conf Control, Automation, Robotics and Vision Singapore, 5-8th December 2010 Eye-Gaze Detection with a Single WebCAM Based on Geometry Features Extraction Nguyen Huu Cuong Huynh Thai Hoang College of Engineering Technology Cantho University Cantho, Vietnam Email: nhcuong@ctu.edu.vn Faculty of Electrical and Electronic Engineering Ho Chi Minh City University of Technology Ho Chi Minh City, Vietnam Email: hthoang@hcmut.edu.vn Abstract — In this paper, we propose an efficient approach for real-time eye-gaze detection from images acquired from a web camera The measured data is sufficient to describe the eye movement, because the web camera is stationary with respect to the head First, the image is binarized with a dynamic threshold Then geometry features of the eye image are extracted from binary image Next using estimation method based on geometry structure of eye, we detect the positions of two eye corners After that, the center of iris is detected by matching between an iris boundary model and image contours Finally, using the relative position information between the center of iris and the eye corners, base on the relationship between image coordinate and monitor coordinate, the position where the eye is looking at the monitor is calculated This system requires only a low cost web camera and a personal computer Experimental results show that the proposed system can detect accurately eye movements in realtime Keywords—eye-gaze detection, corners detection, eye corners, iris boundary, matching contours, threshold I INTRODUCTION These days, there are many methods to detect the eye-gaze direction We can classify the current techniques into three types The first is using electro-oculography method which places electrodes on the skin near the eyes The eye movement can be measured because the electrical changes in activity can be detected when the eyeballs move [1] The second is using contact-lens based on eye coil systems which places contact lens with affixed mechanical level or magnetic coil into the eyes The eye movement can be estimated by tracking these affixed objects [2] The last one is tracking eye movement by using image-based methods A common method used to detect the eye-gaze is to illuminate the eyes with special light sources (e.g infrared light) After that using cameras capture the image is reflected by those light sources [5], [8], [11] One of the advantages of this method is to eliminate uncontrolled specular reflection by other light sources However, this method possibly damages the eyes and sometime it is uncomfortable for users devices those have low resolution (e.g web camera) However, head-mounted systems may be uncomfortable for user because of wearing it Remote systems can overcome that obstacle expect inheritance of other advantages Eye-tracking algorithms can be classified into two approaches typically The first, feature-based approaches detect and localize image features related to the position of the eye [3], [7], [11] These algorithms are performed quickly and easily but they require high quality eye images The second, mode-based approaches not explicitly detect features but rather find the best fitting model that is consistent with the image, combine with intelligent algorithms such as neural networks, genetic algorithm, etc.) [4], [10], [12] These algorithms not expect high quality images but they take more time to calculate In this paper, a head-mounted system is designed for eyegaze detection This system utilizes only one web camera It can continuously obtain images of a user’s eye Based on images obtained from the web camera, the eye features are extracted in real-time From that, the eye-gaze direction is estimated After experiments had been performed, it show that the proposed algorithm estimate accurately eye-gaze direction in real-time This article consists of sections as follows: Section II reviews the theories of eye structure and finding corners Section III describes the development of the algorithm to detect the eye position and to estimate the eye-gaze direction in details Experimental results are presented in section IV Finally, conclusions are given in section V II REVIEW OF RELATED THERORIES A Human Eye Structure A human eye is an organ that senses light An image of eye captured by digital camera is shown in Fig Eye-tracking systems can be divided into remote [4], [8] and head-mounted [6], [9], [11] systems Each type of these systems has its respective advantages One of the benefits gained from head-mounted systems is captured images are always fixed and independent on head movements Further, head-mounted systems are compatible with image-capture pupil limbus corner corner iris sclera Figure Eye image 978-1-4244-7815-6/10/$26.00 ©2010 IEEE 2507 ICARCV2010 The cornea is a transparent coat in front of eyeball The iris is the muscle that controls the size of pupil, which is like the aperture in a camera to let light goes inside The iris has color and is different from person to person, thus can used in biometrics The sclera is the tough outer surface of the eyeball and appears white in the eye image The limbus is the boundary between the sclera and the iris where matrix C(x, y) captures the intensity structure of the local neighborhood Let λ1, λ2 be the eigenvalues of matrix C(x, y) The eigenvalues form a rotationally invariant description Three most relevant constituent elements of the eye are the pupil – the aperture that lets light into the eye, the iris – the colored muscle group that controls the diameter of the pupil, and the sclera, the white protective tissue that covers the remainder of the eye B The Harris corner detector The most commonly definition of a corner was provided by Harris [13] The Harris corner detector [14] is based on the local auto-correlation function of a signal; where the local autocorrelation function measures the local changes of the signal with patches shifted by a small amount in different directions Given a shift (Δx, Δy) and a point (x, y), the autocorrelation function is defined as, c ( x, y ) = ∑[ I ( x , y ) − I ( x + Δx, y + Δy)] i i i i • If both λ1, λ2 are small, so that the local autocorrelation function is flat (i.e., little change in c(x, y) in any direction), the windowed image region is of approximately constant intensity • If one eigenvalue is high and the other low, so the local auto-correlation function is ridge shaped, then only local shifts in one direction (along the ridge) cause little change in c(x, y) and significant change in the orthogonal direction; this indicates an edge • If both eigenvalues are high, so the local autocorrelation function is sharply peaked, then shift in any direction will result in a significant increase; this indicates a corner Fig.2 illustrates obtained corners by using Harris corner detector (1) W where I(., ) denotes the image function and (xi, yi) are the points in the window W(Gaussian) centered on (x, y) The shifted image is approximated by a Taylor expansion truncated to the first order terms, I ( xi + Δx, yi + Δy ) Figure Result of using Harris detector to find corners (2) ⎡ Δx ⎤ ≈ I ( xi + yi ) + I x ( xi , yi ) I y ( xi , yi ) ⎢ ⎥ ⎣Δy ⎦ [ ] where Ix(., ) and Iy(., ) denote the partial derivatives in x and y, respectively Substituting approximation (2) into (1) yields, c ( x, y ) = ∑ W = [ ⎛ ⎡Δx ⎤ ⎞ ⎜ − I x ( xi , yi ) I y ( xi , yi ) ⎢ ⎥ ⎟ ⎜ ⎟ ⎣Δy ⎦ ⎠ ⎝ ∑ [ W = ⎛ ⎡ Δx ⎤ ⎞ ⎜ I ( xi , yi ) − I ( xi , yi ) − I x ( xi , yi ) I y ( xi , yi ) ⎢ ⎥ ⎟ ⎜ ⎟ ⎣Δy ⎦ ⎠ ⎝ ⎛ ⎡Δx ⎤ ⎞ ⎜ I x ( xi , yi ) I y ( xi , yi ) ⎢ ⎥ ⎟ ⎜ ⎟ ⎣Δy ⎦ ⎠ ⎝ ∑[ W ] ] ] III DEVELOP THE ALGORITHM TO DETECT IRIS POSITION AND CALCULATE EYE-GAZE DIRECTION In this section, we describe the proposed algorithm for position’s iris detection and eye-gaze estimation The system for eye movement detection that was previously addressed includes one web camera This system can continuously obtain images of user’s eye, processes them and draws out the information of the eye movement In this paper, an algorithm is proposed to detect the eye movement based on matching between the iris boundary model and the limbus The limbus is the boundary between the white sclera and the dark iris of the eye Fig shows a flow chart of the proposed algorithm which can be summarized as follows ⎡ ∑W (I x ( xi , yi ) )2 ∑W I x ( xi , yi ) I y ( xi , yi )⎤ ⎡ Δx ⎤ = [Δx Δy ]⎢ ⎥⎢ ⎥ ∑W I y ( xi , yi ) ⎥⎦ ⎣Δy ⎦ ⎢⎣∑W I x ( xi , yi ) I y ( xi , yi ) ⎡ Δx ⎤ = [Δx Δy ]C ( x, y ) ⎢ ⎥ ⎣ Δy ⎦ ( ) (3) 2508 • Source image is binarized with a dynamic threshold • Extract the eye image based on two eye corners that are selected from corners of binary image • Find contours of the eye image, then select the contour that contains iris boundary • Matching between the iris boundary model and the contour obtained from previous step to detect iris position • h( g ) < h( g ' ), Using the relative position between eye corners and iris, calculate the eye movement • g , g '∈ [ g1 , g ] (5) Use g as the threshold Fig describes results of image threshold process Source image Source image Gray image Binary image Figure Process threhold image Image is binarized with a dynamic threshold Finding corners of the image B Detecting position of eye corners First, corners from binary image are extracted by using the Harris corner detector Next, corners that belong to the eye corners areas are selected based on geometric structure’s eye After that, the positions of two eye corners are detected Finally, to reject parts not belong to the eye, we extract a part of binary image that is limited by two eye corners Thus, we have the image of eye This process is illustrated in Fig Finding contour contains iris boundary Detecting iris by matching iris boundary model Corners are extracted Eye corners are detected Image’s eye is obtained Figure Process detection eye corners and extracting eye image Eye image is extracted after find eye corners C Finding contours In this process, we find the contours that probably contain the iris boundary To start, contours are detected from boundary of the binary eye image Next, based on the number of elements in these contours, we choose contours that have this number higher a certain amount These contours contain the iris’s boundary Fig shows that contours contain iris boundary is chosen from original contours Using the relative position between eye corners and iris, calculate the eye movement Figure Structure of the Eye movement tracking algorithm A Thresholding the source image To threshold the source image that captured from web camera, first color space of this image is converted from RGB to grayscale Next, a dynamic threshold is found by using peak and valley method Finally, the gray scale image is threshed with this threshold Let g be gray level, h(g) be number of pixels have g gray level Peak and valley method could be described as follows • Find the two most prominent peaks of histogram’s image with constrain: g is a peak if h( g ) > h( g ± Δg ), Δg = 1, , k (4) • Let g1 and g2 be two highest peaks, with g1 < g2 • Find the deepest valley, g, between g1 and g2: g is the valley if Contours of eye image Contours contain iris boundary Figure Results of finding contours D Modeling iris boundary It is easy to know that the boundary of the iris is generally observed as a circle Haslwanter et al showed that the error of modeling the iris boundary as a circle is very small while they research the robust method to find the eye movement and the iris boundary [4] Therefore, we model the iris boundary as a circle and found the three parameters, center of iris (xc, yc) and radius rmin < r < 2509 rmax, which present the circle model Fig depicts the iris boundary model x y (xc,yc) rmin rmax Figure Iris boundary (limbus) model E Matching model From the contours has found in previous section, position of iris center is detected by matching between the iris boundary model and these contours Model matching algorithm is performed as follows: Let denotes C(x, y) as the position of iris center Let rmax and rmin be maximum and minimum radius of iris respectively Contour consists of n elements and i denotes as ith element of contour A Counter is used to determine number of contour elements match iris boundary that has center as considering position In addition, we make a tester Max to choose the case has highest Counter and use a temp T(x, y) to store position of iris center in this case The details flow chart of matching algorithm is presented in Fig Results of detecting iris position using model matching method are shown in Fig Figure Results of iris position detection F Calculating the eye-gaze direction To estimate eye-gaze direction, we construct three coordinates and determine their relationships These coordinates are listed as follows: • Coordinate of image captured from web camera • Coordinate of eye image based on positions of two eye corners • Coordinate of monitor Based on relationships of these coordinates, the position that user is looking at monitor is calculated after detecting the position of center iris 1) Relationship between captured image and eye image coordinates The origin of the eye image coordinate is the central point of the line segment connects two eye corners Fig 10 depicts captured image and eye image coordinates and their relationship xi {Image} yi O(x,y) {Eye} xe α ye Figure 10 Captured image and eye image coordinates Figure Flow chart of matching iris boundary model 2510 Relationship between the two coordinates is presented as follows, ⎧ xe = ( xi − O ( x )) cos α ⎨ ⎩ ye = ( yi − O ( y )) cos α (6) where O(x, y) is origin of eye image coordinate 2) Relationship between eye image and monitor coordinates Because captured images incidentally obtains horizontal movements opposite to actual movements of the eye Hence, horizontal axes of eye image and monitor coordinates are opposite to each other Eye image and monitor coordinates and their relationship are described detail in Fig 11 IV EXPERIMETAL RESULTS The proposed algorithm is implemented on a Compaq notebook (Core Solo T1350 processor, 1.86Ghz) with a 320x240 pixels resolution web camera The proposed algorithm is programmed by Visual C++ 6.0, using vision library OpenCV 1.0 Fig 12 shows the results of the first experiment In there, the eye position is detected after the proposed algorithm had been performed with an image sequence in the good light condition Table I presents the successful rate of the proposed algorithm in this experiment is approximate 98.2% It is also shown that if the iris is not covered then the proposed algorithm reaches higher accuracy xm ym O(x,y) xe O’(x,y) {Monitor} Figure 12 Results of the first experimental ye {Eye} TABLE I Figure 11 Eye image and monitor coordinates Looking at Number of source images Number of correct detections Successful rate Relationship between eye image and monitor coordinates is outlined as follows: ⎧ xm = − xe * h _ scale + O' ( x) ⎨ ⎩ ym = ye * v _ scale + O' ( y ) (7) RESULTS OF THE FIRST EXPERIMENTAL Right Left Straight Up Down Total 134 107 604 24 33 902 132 104 604 24 22 886 98.5% 97.2% 100% 100% 66.7% 98.2% where width of monitor h _ scale = × width of eye image d (8) height of monitor × height of eye image d (9) v _ scale = To appraise the robustly of the proposed algorithm with the change of illumination, the second experiment is performed in a darker environment Fig 13 and Table II present results of this experiment The successful rate of the proposed algorithm in this experiment is 95.9% Therefore, it could be affirm that the proposed algorithm is applicable to track eye movements where, d is coefficient that scales with distance between user’s face and monitor O’(x, y) is center of monitor Finally, if we detected position of iris in captured image coordinate, then position, which is being looked at monitor by user, will be estimated according to (10) ⎧ xm = −( xi − O( x)) ⋅ cos α ⋅ h _ scale + O' ( x) ⎨ ⎩ ym = ( yi − O ( y )) ⋅ cos α ⋅ v _ scale + O ' ( y ) (10) Figure 13 Results of the 2nd experimental 2511 TABLE II Looking at Number of source images Number of correct detections Successful rate RESULTS OF THE 2ND EXPERIMENTAL Right Left Straight Up Down Total 275 116 322 106 78 897 267 116 313 91 73 860 Our future work will concentrate on improving the accuracy of the proposed eye-gaze detection algorithm, making the system more robust and quicker, and considering other eye movements such as the user blinking The proposed system will be verified by numerous experiments with different users REFERENCES [1] 97.1% 100% 97.2% 85.8% 93.6% 95.9% [2] Real time implementation of this system is critical due to the practice consider Time to perform the proposed algorithm in the experiment is 200msec for the 320x240 pixels image This means that the system operates at almost real time In addition, the system is applied to the experimental for tracking the looking position of user at monitor Result of this experimental is presented in Fig 14 [3] [4] [5] [6] [7] [8] [9] [10] Figure 14 Results of application the algorithm for eye-gaze tracking V CONCLUSIONS In this paper, a real time eye-gaze detection system is presented We proposed an eye-gaze detection algorithm using images captured by a single web camera is attached to the head We verified the system accuracy by performing the experiments Although the proposed algorithm may look rather simple, but it is able to detect the eye gaze with satisfactory successful rate However, the proposed algorithm still has some limitations (e.g a bit of accuracy is influenced by the change of illumination) [11] [12] [13] [14] 2512 A Kaufman, A Bandopadhay, and B Shaviv, “An eye tracking computer user interface”, IEEE Proceedings of Research Frontier in Virtual Reality Workshop, 1993 R Jacob, “Eye tracking in advanced interface design in virtual environments and advanced interface design”, Oxford University Press, 1995 J Zhu and J Yang, “Subpixel eye gaze tracking”, IEEE Conference on Automatic Face and Gesture Recognition, pages 124-129, May 2002 R Stiefelhagen, J Yang and A Waibel, “Tracking eyes and monitoring eye gaze”, Proceedings of the Workshop on Perceptual User Interfaces, 1997 Z Zhu, Q Ji, K Fujimura and K Lee, “Combining Kalman filtering and mean shift for real time eye tracking under active IR illumination”, Proceedings of the 16th International Conference on Pattern Recognition, Volume 4, 2002, pp 318-321 S Ramadan, W A Almageed and C E Smith, “Eye tracking using active deformable models”, Processing of the Conference on Computer Vision, Graphics and Image , India, December 2002 S Kawato and N Tetsutani, “Detection and tracking of eyes for gazecamera control”, Proceedings of the 15th International Conference on Vision Interface, 2002 A Pérez, M L Córdoba, A Garcia, R Méndez, M L Munoz, J L Pedraza and F Sánchez, “A precise eye-gaze detection and tracking system”, Proceedings of the 11th International Conference in Central Europe of Computer Graphics, Visualization and Computer Vision 2003, February 2003 R Argue, M Boardman, J Doyle and G Hickey, “Building a low-cost device to track eye movement”, December 2004 S Amarnag, R S Kumaran and J N Gowdy, “Real time eye tracking for human computer interfaces” , Proceedings of the International Conference on Multimedia and Expo, Volume 3, July 2003, pp 57-60 X Long, O K Tonguz, and A Kiderman, “A high speed eye tracking system with robust pupil center estimation algorithm”, The 29th Annual International Conference of the IEEE on Engineering in Medicine and Biology Society, August 2007, pp 3331-3334 T Akashi, Y Wakasa and K Tanaka, “Using genetic algorithm for eye detection and tracking in video sequence”, Journal of Systemics, Cypernetics and Informatics, Volume 5, No 2, pp 72-78, 2007 C Harris and M Stephens, “A combined corner and edge detector”, Proceedings of the 4th Alvey Vision Conference,1988, pp 147-151 G Derpanis, “The Harris corner detector”, York University, Octorber 2004 92 DANH MỤC TÀI LIỆU THAM KHẢO TẠP CHÍ – BÀI BÁO KHOA HỌC: [1] R Jacob, “The use of eye movements in human-computer interface techniques: what you look at is what you get”, ACM Transactions on Information Systems, 9(2):152-169, 1991 [2] P Majaranta and K Raiha, “Twenty years of eye typing: systems and design issues”, ACM Eye Tracking Research and Applications Symposium, pages 15-22, New Orleans, Louisiana, USA, March 2002 [3] A J Hornof, A Cavender, and R Hoselton, “Eye draw: a system for drawing pictures with eye movements”, ACM SIGACCESS Conference on Computer and Accessibility, Atlanta, Georgia, pages 86-93, October 2004 [4] K Grauman, M Betke, J Gips, and G Bradski, “Communication via eye blinks – detection and duration analysis in real time”, IEEE Computer Vision and Pattern Recognition Conference, pages 1010-1017, Kauai, Hawaii, USA, December 2001 [5] L Sibert and R Jacob, “Evaluation of eye gaze interaction”, SIGCHI Conference on Human Factors in Computing Systems, pages 281-288, The Hague, The Netherlands, April 2000 [6] D Fono and R Vertegaal, “Eyewindows: evaluation of eye-controlled zooming windows for focus selection”, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 151-160, 2005 [7] V Tanriverdi and R Jacob, “Interacting with eye movements in virtual environments”, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 265-272, 2000 93 [8] P Smith, M Shah, and N V Lobo, “Determining driver visual attention with one camera”, IEEE Transactions on Intelligent Transportation Systems, 4(4): 205-218, 2003 [9] T Partala and V Suraka, “Pupil size variation as an indication of affective processing”, International Journal of Human-Computer Studies, 59(12):185-198, 2003 [10] A Kaufman, A Bandopadhay, and B Shaviv, “An eye tracking computer user interface”, IEEE Proceedings of Research Frontier in Virtual Reality Workshop, 1993 [11] R Jacob, “Eye tracking in advanced interface design in virtual environments and advanced interface design”, Oxford University Press, 1995 [12] D Hansen and A Pece, “Eye tracking in the wild”, Computer Vision and Image Understanding, 98(1):155-181, 2005 [13] S Zhai, C Morimoto, and S Ihde, “Manual and gaze input cascaded (magic) pointing”, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 246-253, 1999 [14] C Morimoto, D Koons, A Amir, and M Flickner, “Pupil detection and tracking using multiple light sources”, Image and Vision Computing, pages 331-335, 2000 [15] Z Zhu and J Qiang, “Robust real-time eye detection and tracking under variable lighting conditions and various face orientations”, Computer Vision and Image Understanding, 38(1):124-154, 2005 [16] S Shih and J Liu, “A novel approach to 3-d gaze tracking using stereo cameras”, IEEE Transactions on Systems, Man and Cybernetics, 34(1):234245, 2004 [17] R Newman, Y Matsumoto, S Rougeaux, and A Zelinsky, “Real-time stereo tracking for head pose and gaze estimation”, Proceedings of the Fourth IEEE International Conference on Automatic Face and Gesture Recognition, pages 122-128, 2000 94 [18] D Beymer and M Flickner, “Eye gaze tracking using an active head”, IEEE Computer Vision and Pattern Recognition, pages 451-458, 2003 [19] C Morimoto, A Amir, and M Flickner, “Detecting eye position and gaze from a single camera and light sources”, Proceedings of the 16th International Conference on Pattern Recognition, pages 314-317, 2002 [20] Y Tian, T Kanade, and J Cohn, “Dual-state parametic eye tracking”, Proceedings of the 4th IEEE International Conference on Automatic Face and Gesture Recognition, pages 110-115, 2000 [21] J Pelz, R Canosa, J Babcock, D Kucharczyk, A Silver, and D Konno, “Portable eyetracking: a study of nature eye movements”, Proceedings of the SPIE, Human Vision and Electronic Imaging, pages 566-582, San Jose, CA, USA, 2000 [22] J Babcock and J Pelz, “Building a lightweight eyetracking headgear”, ACM Eye Tracking Research and Applications Symposium, pages 109-114, San Antonio, TX, USA, March 2004 [23] T Ohno, N Mukawa, and A Yoshikawa, “Freegaze: a gaze tracking system for everyday gaze interaction”, Eye Tracking Research and Applications Symposium, pages 15-22 March 2002 [24] X Brolly and J B Mulligan, “Implicit calibration of a remote gaze tracker”, IEEE Conference on CVPR Workshop on Object Tracking Beyond the Visible Spectrum, 2004 [25] J Zhu and J Yang, “Subpixel eye gaze tracking”, IEEE Conference on Automatic Face and Gesture Recognition, pages 124-129, May 2002 [26] J Wang and E Sung, “Study on eye gaze estimation”, IEEE Transactions on Systems, Man and Cybernetics, 32(3):332-350, 2002 [27] D Zhu, S Moore, and T Raphan, “Robust pupil center detection using a curvature algorithm”, Computer Methods and Programs in Biomedicine, 59(3):145-157, 1999 95 [28] Y Matsumoto and A Zelinsky, “A algorithm for real-time stereo vision implementation of head pose and gaze direction measurement”, IEEE Conference on Automatic Face and Gesture Recognition, pages 499-504, Grenoble, France, March 2000 [29] J Daugman, “High confidence visual recognition of persons by a test of statistical independence”, IEEE Transactions on Pattern Analysis and Machine Intellegence, 15(11):1148-1161, 1993 [30] K Nishino and S Nayar, “Eye for relighting”, ACM SIGGRAPH 2004, 23(3):704-711, 2004 [31] P Burt and E Adelson, “A multiresolution spline with application to image mosiac”, ACM Transactions on Graphics, 2(4):217-236, 1983 [32] R Stiefelhagen, J Yang and A Waibel, “Tracking eyes and monitoring eye gaze”, Proceedings of the Workshop on Perceptual User Interfaces, 1997 [33] D H Kim, J H Kim and M J Chung, “A computer interface for the disabled using eye-gaze information”, International Journal of HumanFriendly Welfare Robotic Systems, Volume 2, No 3, papes 22-27, December 2001 [34] S Ramadan, W A Almageed and C E Smith, “Eye tracking using active deformable models”, Processing of the Conference on Computer Vision, Graphics and Image , India, December 2002 [35] R Atienze and A Zelinsky, “Active gaze tracking for human-robot interaction”, Proceedings of the 4th IEEE International Conference on Multimodal Interfaces, papes 261-266, 2002 [36] R Argue, M Boardman, J Doyle and G Hickey, “Building a low-cost device to track eye movement”, December 2004 [37] M Chau and M Betke, “Real time eye tracking and blink detection with USB cameras”, Boston University Computer Science Technical Report No 2005-12, May 2005 96 [38] S Laqua, S U Bandara and M A Sasse, “GazeSpace: eye gaze controlled content spaces”, Proceedings of the 21st Conference on BCS HCI Group, Volume 2, September 2007 [39] R Barea, L Boquete, L M Bergasa, E López and M Mazo “Electrooculographic guidance of a wheelchair using eye movements codification”, International Journal of Robotic Research, 2001 [40] Yoshio Matsumoto and Tomoyuki Ino and Tsukasa Ogasawara, “Development of Intelligent Wheelchair System with Face and Gaze Based Interface”, Proceedings of 10th IEEE International Workshop on Robot and Human Communication (ROMAN 2001), papes 262-267, 2001 [41] Lin et al., “Eye-tracking driving system”, United State Pattent No US 6842670 B2, 2005 [42] Yutaka Satoh et al., “An Intelligent Electric Wheelchair Fitted with a Stereo Omnidirectional Camera”, dự án nghiên cứu National Institute of Advanced Industrial Science and Technology (AITS), Japan, 2006 [43] John Canny, “A Computational Approach to Edge Detection”, IEEE Transactions on Pattern Analysis and Machine Intelligence, papers 679-698, Vol 8, No 6, November, 1986 [44] K G Derpanis, “The Harris Corner Detector”, October, 2004 [45] J Shi and C Tomasi, “Good Features to Track”, IEEE Computer Society Conference on Proceedings Computer Vision and Pattern Recognition, 1994, pp 593-600, June, 1994 [46] R Stiefelhagen, J Yang and A Waibel, “Tracking eyes and monitoring eye gaze”, Proceedings of the Workshop on Perceptual User Interfaces, 1997 SÁCH – GIÁO TRÌNH: [47] John C Russ, “The Image Processing Handbook” 3rd Edition, Materials Science and Engineering Department, North Carolina State University, CRC Press, 1999 97 [48] G Bradski and A Kaebler, “Learning OpenCV – Computer vision with the OpenCV library”, O’reilly [49] T Acharya and A K Ray, “Image Processing – Principle and Applications”, A John Willey & Son Inc., 2005 [50] L Shapiro and G Stockman, “Computer Vision”, University of Washington, March, 2000 [51] R Siegwart and R Nourbakhsh, “Introduction to Autonomous Mobile Robots”, Massachusetts Institute of Technology, 2004 WEBSITE: [52] OpenCV Wiki, http://opencv.willowgarage.com/wiki/ [53] Corner Detection, http://www.cim.mcgill.ca/~dparks/CornerDetector/index.htm [54] Chuck McManis, “Chuck's Robotics Notebook”, http://www.mcmanis.com/chuck/robotics/ LÝ LỊCH TRÍCH NGANG Họ tên: NGUYỄN HỮU CƯỜNG Ngày, tháng, năm sinh: 06/11/1980 Nơi sinh: Cần Thơ Địa liên lạc: 135A Mậu Thân - P An Hòa – Q Ninh Kiều – TP Cần Thơ QUÁ TRÌNH ĐÀO TẠO: - Từ 10/1998 đến 3/2003: Học Đại học ngành Điện tử - Khóa 24 Trường Đại học Cần Thơ - Từ 10/2008 đến nay: Học Cao học ngành Tự động hóa – Khóa 2008 Trường Đại học Bách Khoa Tp Hồ Chí Minh Q TRÌNH CƠNG TÁC - Từ 7/2003 đến 9/2004: Cán giảng dạy – Bộ môn Viễn thông Tự động hóa, Khoa Cơng nghệ thơng tin, Trường Đại học Cần Thơ - Từ 9/2004 đến 1/2006: Giảng viên – Bộ mơn Viễn thơng Tự động hóa, Khoa Công nghệ thông tin, Trường Đại học Cần Thơ - Từ 1/2006 đến 1/2008: Giảng viên – Bộ môn Viễn thông Kỹ thuật điều khiển, Khoa Công nghệ thông tin Truyền thông, Trường Đại học Cần Thơ - Từ 1/2008 đến nay: Giảng viên – Bộ môn Tự động hóa, Khoa Cơng nghệ, Trường Đại học Cần Thơ ... dụng hệ thống xác định hướng nhìn mắt Thiết kế hệ thống nhận dạng hướng nhìn điều khiển robot di động 28 để điều khiển hướng di chuyển xe lăn thơng qua hướng nhìn mắt người điều khiển Thiết kế hệ. .. tạo hệ thống xác định hướng nhìn linh hoạt - Để có phổ biến hệ thống nhận dạng hướng nhìn số địi hỏi phải có giảm giá đáng kể so với mức Trong Thiết kế hệ thống nhận dạng hướng nhìn điều khiển robot. .. khác dùng hệ thống nhận dạng hướng nhìn huấn luyện kiểm tra vài mạng neural Hệ Thiết kế hệ thống nhận dạng hướng nhìn điều khiển robot di động 22 thống nhận dạng hướng nhìn mắt đạt độ xác từ 1.3