(Pierwszy post, cześć wszystkim)
Pracuję na systemem eyetrackingu na PC ostatnio, webkamera po rozebraniu i próbach przerobienia (nieodwracalne wydłubanie filtru podczerwieni, założenie prześwietlonej kliszy fotograficznej) ma straszliwe toporną podczerwoną czułość, najwyżej jako wykrywacz pożarów mogłaby służyć- eCom 8 na chipsecie microdia, odradzam, zwłaszcza pod Linuksem, poszukam czegoś mniej skomplikowanego (obserwacja: im większa rozdzielczość tym większa szansa, że kamerka obsługuje jakieś dziwne tryby kompresji i dostęp programistyczny będzie upierdliwy) i ponowię zabiegi, w międzyczasie szlifując bibliotekę OpenCV (computer vision library- podobno najlepsza rzecz do widzenia maszynowego, jeszcze nie mogę zweryfikować).
Do sedna- o uwagi do szkicu algorytmu prosiłbym:
Najpierw OpenCV-owa opcja szukania największego obiektu (tzn. głowy), potem szukanie na nim źrenic i odbić na siatkówce z diodek podczerwonych, powiedzmy, czterech w rogach ekranu zamontowanych, i tak x2 kamery, które mogłyby nawet jakoś 480x640 być mamy wejść na sieć neuronową: 4 z punktów skrajnych głowy (koordynaty x i y przeciwległych rogów obrysowującego prostokąta) + x,y źrenicy + 4x2 koordynaty odbić, czyli na dwóch kamerach 28 neuronów w warstwie pierwszej, w ostatniej 2 wyjścia (x i y na ekranie punktu skupienia wzroku), dodałbym pośrednią na około 16 neuronów (wszystkich nieliniowych), a szkolić sieć na bibliotece fann i danych zebranych od ochotnika, co przejdzie przez unikalny program "siedź-i-klikaj-gdzie-spojrzysz" można; dwie kamery powinny rozwiązać kwestię szkodliwości ruchów głowy, zakładając, że będą miały stałe umiejscowienie np. po bokach ekranu.
W którym punkcie może to nie wypalić? (Nie licząc tego, że pewnie popsuję kolejną kamerę moimi niezdarnymi paluchami)