Hướng dẫn sử dụng eyeLike: Công cụ theo dõi đồng tử thông minh dựa trên OpenCV

Hướng dẫn sử dụng eyeLike: Công cụ theo dõi đồng tử thông minh dựa trên OpenCV

eyeLike là một công cụ thực hiện theo dõi đồng tử qua webcam dựa trên OpenCV, sử dụng thuật toán gradient hình ảnh do Fabian Timm đề xuất để phát hiện và định vị trung tâm đồng tử mắt người. Bài viết này sẽ giới thiệu chi tiết các tính năng, bước cài đặt và ứng dụng thực tế của công cụ mã nguồn mở này, giúp bạn nhanh chóng bắt đầu với công cụ thị giác máy tính mạnh mẽ này.

eyeLike: Tính năng cốt lõi và Nguyên lý kỹ thuật

Điểm mạnh cốt lõi của eyeLike nằm ở thuật toán theo dõi trung tâm đồng tử chính xác. Công cụ này phân tích sự thay đổi gradient của hình ảnh mắt, có thể định vị trung tâm đồng tử theo thời gian thực, cung cấp dữ liệu cơ sở cho nghiên cứu theo dõi chuyển động mắt. Dự án chủ yếu thực hiện các chức năng quan trọng sau:

  • Phát hiện mắt thời gian thực: Sử dụng phân loại cấp độ Haar nhanh chóng nhận diện vùng mặt và mắt
  • Định vị trung tâm đồng tử: Tính toán chính xác điểm trung tâm đồng tử dựa trên thuật toán gradient hình ảnh
  • Hỗ trợ đa nền tảng: Tương thích với các hệ điều hành Linux, macOS và Windows

Về mặt kỹ thuật, eyeLike chủ yếu dựa vào thư viện thị giác máy tính OpenCV, thuật toán cốt lõi được thực hiện trong các tệp src/findEyeCenter.cpp và src/findEyeCorner.cpp. Dự án sử dụng hệ thống xây dựng CMake để đảm bảo tính nhất quán biên dịch đa nền tảng.

Yêu cầu hệ thống và Chuẩn bị cài đặt

Trước khi bắt đầu cài đặt eyeLike, hãy đảm bảo hệ thống của bạn đáp ứng các yêu cầu sau:

  • Trình biên dịch hỗ trợ tiêu chuẩn C++11 trở lên
  • OpenCV phiên bản 2.4 hoặc cao hơn
  • CMake phiên bản 3.0 hoặc cao hơn
  • Webcam (có tích hợp hoặc bên ngoài)

Bạn có thể lấy mã nguồn dự án thông qua lệnh sau:

git clone https://gitcode.com/gh_mirrors/ey/eyeLike
cd eyeLike

️ Bước cài đặt nhanh

Cài đặt trên Linux/macOS

Đối với người dùng Linux hoặc macOS, nên sử dụng Make để xây dựng:

# Tạo thư mục build
mkdir build
cd build
# Tạo Makefile
cmake ../
# Biên dịch dự án
make
# Chạy tệp thực thi
./bin/eyeLike

Phương pháp riêng cho người dùng macOS XCode

Nếu bạn là người dùng macOS và thích sử dụng môi trường phát triển XCode, có thể thực hiện các lệnh sau:

mkdir build
./cmakeBuild.sh

Sau đó, tìm và mở tệp dự án XCode trong thư mục build, bạn có thể biên dịch và chạy chương trình trong XCode.

Cài đặt trên Windows

Người dùng Windows cần sử dụng CMake để tạo tệp dự án tương ứng, các bước cụ thể như sau:

  1. Cài đặt CMake và thêm vào biến môi trường hệ thống
  2. Mở dấu nhắc lệnh, điều hướng đến thư mục dự án
  3. Thực hiện các lệnh cmake tương tự như trên Linux để tạo dự án Visual Studio
  4. Mở dự án bằng Visual Studio và biên dịch

Hướng dẫn sử dụng và Trình diễn chức năng

Sau khi chạy eyeLike, chương trình sẽ tự động khởi động webcam và bắt đầu theo dõi mắt thời gian thực. Bạn sẽ thấy nhiều cửa sổ gỡ lỗi, bao gồm:

  • Hình ảnh webcam gốc
  • Kết quả phát hiện khuôn mặt
  • Cận cảnh vùng mắt
  • Đánh dấu điểm trung tâm đồng tử

Các cửa sổ này minh họa cách thuật toán từ hình ảnh gốc dần dần định vị và theo dõi điểm trung tâm đồng tử. Hiện tại, eyeLike vẫn chưa có thể thực hiện chức năng theo dõi ánh mắt (gaze tracking) đầy đủ, nhưng nó đã có thể phát hiện ổn định điểm trung tâm đồng tử, cung cấp nền tảng vững chắc cho các phát triển tiếp theo.

Phát triển nâng cao và Mở rộng

Cấu trúc dự án eyeLike rõ ràng, các tệp mã nguồn chính nằm trong thư mục src/, bao gồm:

  • src/main.cpp: Điểm nhập của chương trình, xử lý đầu vào webcam và hiển thị cửa sổ
  • src/findEyeCenter.cpp: Thuật toán phát hiện trung tâm đồng tử cốt lõi
  • src/findEyeCorner.cpp: Thực hiện phát hiện góc mắt
  • src/helpers.cpp: Các hàm chức năng hỗ trợ
  • src/constants.h: Định nghĩa hằng số dự án

Nếu bạn muốn mở rộng chức năng của eyeLike, có thể xem xét các hướng sau:

  1. Thêm ước tính tư thế đầu, thực hiện theo dõi chuyển động mắt không gian ba chiều
  2. Tối ưu hóa thuật toán để tăng cường khả năng chống chịu trong các điều kiện ánh sáng khác nhau
  3. Tích hợp mô hình học sâu, nâng cao độ chính xác phát hiện đặc điểm mắt

Tài liệu thuật toán thuật toán

Thuật toán cốt lõi của eyeLike dựa trên kết quả nghiên cứu của Fabian Timm và Erhardt Barth:

Timm and Barth. Accurate eye centre localisation by means of gradients. In Proceedings of the Int. Conference on Computer Theory and Applications (VISAPP), volume 1, pages 125-130, Algarve, Portugal, 2011. INSTICC.

Bạn có thể tìm hiểu thêm về chi tiết thực hiện thuật toán qua các bài viết blog của dự án.

Phát triển tương lai và Đóng góp cộng đồng

Hiện tại eyeLike vẫn đang trong giai đoạn phát triển, mặc dù hiệu quả theo dõi trung tâm đồng tử đã tốt, nhưng vẫn chưa thực hiện chức năng theo dõi ánh nhìn đầy đủ. Tác giả dự án đang tìm kiếm sự giúp đỡ từ cộng đồng, đặc biệt ở các lĩnh vực sau:

  • Phương pháp ước tính tư thế đầu
  • Thuật toán theo dõi điểm tham chiếu
  • Tính toán điểm nhìn màn hình

Nếu bạn có kinh nghiệm hoặc ý tưởng liên quan, hãy tham gia đóng góp qua kho dự án, cùng thúc đẩy sự phát triển của công cụ mã nguồn mở này.

Thẻ: opencv Thị giác máy tính theo dõi đồng tử eyeLike xử lý hình ảnh

Đăng vào ngày 14 tháng 6 lúc 21:44