Hi nigel,
It's a good project but could be more complicated (read enjoyable
) than what you think it is. Having worked quite extensively with image processing algorithms and their implementation on DSPs, here's is what I feel:
1. I agree with NetfreakBombay that feature extraction is the way to go. The paper provided seems to have a good, workable approach and could be implemented without much difficulty.
2. The approach suggested by your guide seems flawed to me. For such precision in color-based segregation of the image you need excellent brightness, a good camera and most ideal conditions of image capture which is far from the actual driving scenario. Believe me, I had faced this difficulty myself working with a >INR500000 3000fps CMOS Camera. Finally we had to place the camera assembly fixed at a specific place and keep it undisturbed throughout our work. You could imagine what could be the case with a webcam. Also, hues matter the most and define your threshold to generate binary images. Not eyes of all people have crystal clear dark eyeballs on bright white conjuctiva. If things go wrong, you could end up detecting a thick mustache as a pair of eyes.
3. Algorithm/System: I would suggest going for a more holistic approach, which could include not just blink measurement, but also various other data such as head movements, control (A,B,C) inputs, steering inputs etc. and design a complete control system in MATLAB/SIMULINK and train the system extensively for various real life scenarios. You could go for an ANN (Artificial Neural Netwroks) based approach if you like to make the system more robust and learnable (read Intelligent). This being a system already developed and implemented, I am sure you would be able to get ample of resources on the internet.
4. Hardware: I would strongly suggest to use an IR Camera instead of a webcam (current system horribly fails during the night). This way, you could also eliminate some problems of image extraction like poor lighting, colour segmentation etc. Depending on your system, you could go in for a DSP/FPGA or a simple microcontroller. If the system turns out to be extremely image processing intensive and you need and you need floating point accuracy, it is imperative to go for a DSP. An OMAP 4/5 or TI 6455 DSP should be more than sufficient for your application.
5. Implementation: This is where the major challenge lies. Its extremely difficult to code basic DSP algorithms in C, forget about IP ones. But MATLAB's Embedded Coder comes to your rescue. Its amazing how guys at MathWorks have made life so beautiful and simple. With this toolbox you can have your whole MATLAB code or Simulink model written in C and automatically embedded in the target processor you specify. (Research on Embedded Coder and Hardware-in-the-loop simulation on mathworks website).
Since you have a crunch of time, it is advisable to split the work among your team members. At this stage, do a lot of literature survey and have a clear idea in your mind (most essential). Design, redesign and make your system and algorithms flawless. Once this happens, the rest becomes trivial. All the Best!