Algorithms for eye gaze (eye-direction) in OPENCV
Hi all,
I need to implement algorithm for eye gaze to know the direction of eye using opencv ,
i have been struggling for one month to do it using viola-jones algorithm with training classifiers provided by opencv
in a first step i based my research starting with facedetection.cpp with xml's for face and eye , it can detect faces and eye just for < 1m but i haven't found a method to know the eye direction
Now after some research , i've found some algorithms for eye-gaze but i don't wich one to chooose in term of it simplicity (because i'm just a newbie) and efficiency :
- Distance-Threshold Algorithm
- Mean-Shift Algorithm
- Edge detetction ==> Hough Transformation
- the Longest Line Scanning
- Occluded Circular Edge Matching
- “one-circle” and "two-circle" algorithm
- Neural network based approaches
- principal component analysis (PCA).
- Starburst Algorithm
- Kalman filter
- Velocity Threshold Eye Movement Identification
- Active appearence model (AAM)
- CCL : Connected component labeling algorithm
- CCA : colonial competitive algorithm
- Blob detection
- Lucas Kanade
So what algorithm you recommended me , and if there is another algorithm algorithms that i haven't mentionned , i need also a comparaison between those algorithms but it must be someone experienced in this field NB : i'm using ubuntu 14.04 and developping with C++
Any help will be much appreciated , thanks :)
Answering your question is quite difficult. It all depends on where you are going to apply the algorithm, in what conditions. Most applied approach is to implement several of them and compare accuracy in your application/situation.
@StevenPuttemans , i will use it in marketing (signboard, hoarding) to know wish people view advertizing by detecting their face in the first stage and after that track their eyes for accuracy by knowing the direction of the eye . hope it was more clear now :) can you re-answer ;)
O well, then I do not think that 2D approaches will suffice :D I would go for 3D models of the head, like a 3D ASM/AAM model approach.
@StevenPuttemans i forgot to add that this must be in real time :p and using raspberry with camera module 5MP ==> so what can you recommand for me
Nothing :D
@StevenPuttemans ok i will use the Nothing algorithm =D it's seems interesting :p anyway thanks a lot
Well sorry but it is impossible to have AND a good gaze detector, AND have it real time, AND process it with 5MP on a raspberry PI board. That is just to much AND's to go with :D
@StevenPuttemans haha let's say just good gaze detector and deleting the other AND's :p LOL
Like I said, go for 3D approaches. 2D works only until a certain point. It is amazing what 3D can add to the table. Take a look here!
i have looked at the link but it seems there is no source code for that , it will be more difficult to implement it :p