Tôi đang tìm một số gợi ý về cách tiếp cận vấn đề về thị lực máy tính sau đây. Dưới đây là 4 mẫu dữ liệu theo dõi mắt mà tôi đang làm việc. Tôi muốn viết mã có một hình ảnh như vậy và tính toán (x, y) vị trí của trung tâm của học sinh. Tôi hiện đang sử dụng MATLAB, nhưng tôi cũng mở để sử dụng phần mềm khác.Theo dõi mắt: tìm học sinh (x, y)
Ai đó có thể đề xuất phương pháp tôi có thể sử dụng cho tác vụ này không? Dưới đây là một số điều tôi đã thử nhưng không hoạt động tốt.
- Tôi đã cố gắng sử dụng chuyển đổi háng vòng tròn, nhưng điều đó đòi hỏi tôi phải đoán bán kính của học sinh, điều này có vấn đề một chút. Ngoài ra, do sự biến dạng, học sinh không phải lúc nào cũng chính xác là một vòng tròn, mà có thể làm cho phương pháp tiếp cận này khó hơn.
- Tôi đã cố gắng làm nổi bật hình ảnh dựa trên độ sáng pixel và sử dụng chức năng MATLAB regionprops để tìm vùng có diện tích khoảng 200 pixel với độ lệch tâm rất thấp (ví dụ như hình tròn nhất có thể). Tuy nhiên, điều này rất nhạy cảm với giá trị ngưỡng, và một số hình ảnh của mắt sáng hơn những hình ảnh khác dựa trên điều kiện ánh sáng. (Lưu ý 4 mẫu dưới đây có nghĩa là đã chuẩn hóa bình thường và vẫn là một trong những hình ảnh sáng hơn so với những hình ảnh khác có thể do một số pixel ngẫu nhiên rất tối ở đâu đó)
Mọi bình luận/đề xuất sẽ được đánh giá cao!
EDIT: cảm ơn cho bình luận Stargazer. Thuật toán lý tưởng nên có thể xác định rằng học sinh không có trong hình ảnh, như trường hợp của mẫu cuối cùng. Nó không phải là một vấn đề lớn nếu tôi mất dấu vết của nó trong một thời gian. Nó tệ hơn nhiều nếu nó cho tôi câu trả lời sai.
Vâng, ít nhất, đừng thất vọng nếu bạn tìm thấy thuật toán chỉ hoạt động trong ba bước đầu tiên. Ngay cả tôi cũng không thể tìm thấy học sinh ở lớp 4. – riwalk
Tôi hiểu rằng, tất nhiên. Thuật toán nên trong trường hợp đó xác định rằng, lý tưởng. – karpathy
Điều này sẽ làm các trick cho bạn! http://stackoverflow.com/a/11316882/1458387 – Anirudh