I. Tổng Quan Về Ứng Dụng Xử Lý Ảnh Theo Dõi Mắt Người
Hướng nhìn của mắt chứa đựng thông tin quan trọng về ý định và sự tập trung của một người. Các nghiên cứu về ước lượng hướng nhìn đã có một lịch sử phát triển lâu dài với nhiều hệ thống khác nhau. Luận văn này tập trung vào ứng dụng xử lý ảnh để xác định chuyển động của tròng mắt người, một bước quan trọng trong việc xây dựng các giao diện người-máy tự nhiên và trực quan hơn. Các ứng dụng tiềm năng bao gồm hỗ trợ người khuyết tật, phân tích hành vi người dùng và cải thiện trải nghiệm tương tác trong môi trường thực tế ảo (VR) và tăng cường (AR). Nghiên cứu này sử dụng camera để theo dõi ánh mắt, xác định hướng nhìn của mắt và hiện thực hệ thống nhúng lên board ARM Mini210s với nhân Linux. Luận văn này được thực hiện tại trường Đại học Bách Khoa – ĐHQG - HCM dưới sự hướng dẫn của TS. Đoàn Thế Thảo.
1.1. Tầm Quan Trọng của Theo Dõi Ánh Mắt trong Thực Tế
Việc xác định chuyển động mắt có ý nghĩa to lớn trong nhiều lĩnh vực. Nó có thể giúp người khuyết tật điều khiển thiết bị bằng giao diện người máy dựa trên ánh mắt. Trong lĩnh vực quảng cáo, phân tích hành vi người dùng qua ánh mắt có thể giúp đo lường sự chú ý của khách hàng đối với sản phẩm. Ứng dụng này đang trở thành xu hướng hiện nay, công nghệ giúp cuộc sống con người trở nên dễ dàng và thoải mái hơn. Theo 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.
1.2. Ứng Dụng Tiềm Năng Của Công Nghệ Eye Tracking
Ứng dụng của theo dõi ánh mắt không chỉ giới hạn trong lĩnh vực y tế và quảng cáo. Nó còn có tiềm năng lớn trong việc cải thiện trải nghiệm người dùng trong các ứng dụng thực tế ảo (VR) và thực tế tăng cường (AR). Bằng cách đo lường sự tập trung qua ánh mắt, hệ thống có thể điều chỉnh nội dung hiển thị phù hợp với sự quan tâm của người dùng, tạo ra trải nghiệm tương tác cá nhân hóa và hấp dẫn hơn. Việc ước lượng hướng nhìn của mắt để giao tiếp với máy tính bằng thị giác mở ra nhiều tiềm năng phát triển.
II. Thách Thức Trong Xác Định Chuyển Động Mắt Bằng AI
Mặc dù có nhiều tiến bộ, việc xác định chuyển động mắt chính xác vẫn còn nhiều thách thức. Các yếu tố như ánh sáng, góc nhìn, và đặc điểm khuôn mặt khác nhau có thể ảnh hưởng đến độ chính xác của hệ thống. Các hệ thống theo dõi ánh mắt truyền thống thường dựa trên máy tính cá nhân, giới hạn khả năng triển khai trong các môi trường thực tế. Do đó, việc phát triển các hệ thống nhúng linh hoạt và hiệu quả là rất quan trọng. Hơn nữa, cần có các thuật toán mạnh mẽ có thể xử lý các biến thể khác nhau trong điều kiện thực tế để đảm bảo độ chính xác của theo dõi ánh mắt.
2.1. Các Yếu Tố Ảnh Hưởng Đến Độ Chính Xác Theo Dõi Mắt
Độ chính xác của hệ thống theo dõi ánh mắt chịu ảnh hưởng bởi nhiều yếu tố. Ánh sáng yếu hoặc quá mạnh có thể gây khó khăn cho việc nhận diện ánh mắt. Góc nhìn khác nhau cũng có thể làm thay đổi hình dạng và kích thước của tròng mắt, ảnh hưởng đến việc phân tích chuyển động mắt. Đặc điểm khuôn mặt riêng của từng người, như hình dạng mắt, lông mày, và nếp nhăn, cũng tạo ra sự khác biệt và đòi hỏi hệ thống phải có khả năng thích ứng cao. Thử thách này được giải quyết bằng cách sử dụng đặc trưng Haar-like.
2.2. Hạn Chế Của Hệ Thống Theo Dõi Mắt Truyền Thống
Hầu hết các hệ thống eye tracking hiện nay vẫn còn hạn chế bởi vì hầu hết các hệ thống này được phát triển trên máy tính cá nhân. Hạn chế này ngăn cản các hệ thống được sử dụng trong đời sống hằng ngày. Yêu cầu cấu hình phần cứng cao và khả năng xử lý mạnh mẽ khiến chúng khó triển khai trong các thiết bị di động hoặc hệ thống nhúng. Do đó, việc phát triển các thuật toán nhẹ và hiệu quả, có thể chạy trên các nền tảng có tài nguyên hạn chế, là một hướng đi quan trọng.
III. Cách Xử Lý Ảnh Số Xác Định Chuyển Động Tròng Mắt
Luận văn này đề xuất một phương pháp sử dụng xử lý ảnh để xác định chuyển động của tròng mắt. Đầu tiên, khuôn mặt được phát hiện bằng cách sử dụng các đặc trưng Haar-like. Tiếp theo, phương pháp đường Isophote được áp dụng để tính toán vị trí tâm tròng mắt. Sau đó, thư viện flandmark được sử dụng để phát hiện các điểm đặc trưng trên khuôn mặt và thuật toán của J. Chen và cộng sự [8] được áp dụng để ước lượng hướng nhìn. Hệ thống được phát triển và nhúng lên board ARM với nhân Linux để tăng tính linh động.
3.1. Phát Hiện Khuôn Mặt Bằng Đặc Trưng Haar like và Adaboost
Các đặc trưng Haar-like được sử dụng rộng rãi trong các ứng dụng thị giác máy tính để phát hiện đối tượng, đặc biệt là khuôn mặt. Chúng dựa trên việc phân tích sự khác biệt về cường độ sáng giữa các vùng lân cận trong ảnh. Thuật toán Adaboost được sử dụng để kết hợp các đặc trưng Haar-like đơn giản thành một bộ phân loại mạnh mẽ, có khả năng phân biệt giữa khuôn mặt và các đối tượng khác một cách hiệu quả.
3.2. Xác Định Tâm Tròng Mắt Bằng Đường Isophote và Gradient
Phương pháp đường Isophote dựa trên việc tìm kiếm các đường cong có cùng cường độ sáng trong ảnh. Tâm của các đường cong này được ước tính là tâm của tròng mắt. Ngoài ra, thuật toán dựa trên giá trị gradient cũng được nghiên cứu, sử dụng thông tin về hướng thay đổi cường độ sáng để xác định vị trí tâm tròng mắt. Việc so sánh và đánh giá giữa hai phương pháp được thực hiện để chọn ra phương pháp phù hợp nhất.
3.3. Ước Lượng Hướng Nhìn Sử Dụng Điểm Đặc Trưng Khuôn Mặt
Sau khi xác định được tâm tròng mắt và các điểm đặc trưng trên khuôn mặt, hướng nhìn có thể được ước lượng bằng cách sử dụng các thuật toán hình học và mô hình hóa. Thuật toán được đề xuất bởi J. Chen và các cộng sự [8] được sử dụng để ước lượng hướng của đầu. Sau đó, kết hợp với việc mô hình hóa mắt dựa trên đặc tính sinh học của đầu người đã tính toán được hướng nhìn.
IV. Ứng Dụng Nhúng Theo Dõi Mắt Trên Board ARM Mini210s
Để tăng tính di động và khả năng triển khai trong thực tế, hệ thống theo dõi ánh mắt được nhúng lên board ARM Mini210s với hệ điều hành Linux. Quá trình này bao gồm việc cài đặt các thư viện cần thiết, như OpenCV, và biên dịch chương trình cho kiến trúc ARM. Kết quả cho thấy hệ thống có thể chạy ổn định trên board ARM, mở ra khả năng ứng dụng trong nhiều lĩnh vực khác nhau, chẳng hạn như hỗ trợ người khuyết tật hoặc tương tác thực tế ảo.
4.1. Cài Đặt OpenCV và Các Thư Viện Trên ARM Linux
OpenCV là một thư viện thị giác máy tính mạnh mẽ, cung cấp nhiều thuật toán và chức năng để xử lý ảnh và video. Việc cài đặt OpenCV trên ARM Linux đòi hỏi phải cấu hình toolchain và biên dịch thư viện cho kiến trúc ARM. Ngoài ra, cần cài đặt các thư viện phụ thuộc, như libjpeg, libpng, và libtiff, để hỗ trợ các định dạng ảnh khác nhau.
4.2. Tối Ưu Hóa Hiệu Năng Cho Hệ Thống Nhúng
Do tài nguyên hạn chế trên hệ thống nhúng, việc tối ưu hóa hiệu năng là rất quan trọng. Các kỹ thuật như sử dụng các thuật toán nhẹ, giảm độ phân giải ảnh, và sử dụng các thư viện được tối ưu hóa cho ARM có thể giúp cải thiện hiệu năng của hệ thống. Việc sử dụng C-make và Qt-creator là cần thiết để tạo ra một chương trình tối ưu.
4.3. Kiểm Tra và Đánh Giá Kết Quả Trên Board ARM
Sau khi nhúng chương trình lên board ARM, cần kiểm tra và đánh giá kết quả để đảm bảo hệ thống hoạt động chính xác và ổn định. Các thử nghiệm có thể được thực hiện với các điều kiện ánh sáng và góc nhìn khác nhau để đánh giá độ chính xác của theo dõi ánh mắt. Kết quả nhúng chương trình lên board được trình bày rõ ràng trong luận văn.
V. Kết Luận và Hướng Phát Triển Nghiên Cứu Theo Dõi Mắt
Luận văn này đã trình bày một phương pháp ứng dụng xử lý ảnh để xác định chuyển động của tròng mắt người. Kết quả cho thấy phương pháp này có tiềm năng trong việc xây dựng các giao diện người-máy trực quan và hỗ trợ người khuyết tật. Tuy nhiên, vẫn còn nhiều vấn đề cần được giải quyết để cải thiện độ chính xác của theo dõi ánh mắt và mở rộng phạm vi ứng dụng. Các hướng nghiên cứu tiếp theo bao gồm phát triển các thuật toán mạnh mẽ hơn, tích hợp thông tin từ nhiều nguồn khác nhau, và ứng dụng trong các lĩnh vực mới.
5.1. Tóm Tắt Kết Quả Đạt Được và Đóng Góp Của Nghiên Cứu
Luận văn đã đạt được những kết quả nhất định trong việc phát triển một hệ thống theo dõi ánh mắt dựa trên xử lý ảnh. Hệ thống có thể xác định vị trí tâm tròng mắt và ước lượng hướng nhìn với độ chính xác chấp nhận được. Các kết quả này đóng góp vào việc nghiên cứu và phát triển các ứng dụng giao diện người máy dựa trên ánh mắt.
5.2. Các Vấn Đề Còn Tồn Tại và Hướng Nghiên Cứu Tiếp Theo
Mặc dù đã đạt được những kết quả đáng khích lệ, vẫn còn nhiều vấn đề cần được giải quyết để cải thiện độ chính xác của theo dõi ánh mắt. Các thuật toán hiện tại vẫn còn nhạy cảm với ánh sáng và góc nhìn. Cần phát triển các thuật toán mạnh mẽ hơn, có khả năng thích ứng với các điều kiện khác nhau. Ngoài ra, việc tích hợp thông tin từ nhiều nguồn khác nhau, như cảm biến chuyển động và thông tin ngữ cảnh, có thể giúp cải thiện độ chính xác và độ tin cậy của hệ thống.