Oct 5, 2010

Ideas for Face detection application in daily usage.

I had posted this idea on Feb 14 2009 halfbakery.com . After that, It has almost got a life of it's own. I just made a backup/snapshot here for people who go through my blog.

This post has been edited to remove halfbakery post actions (like edit, add, flag , etc.) . Comments have not been included as the posters might want to edit them on the site.

Face based presence sensor, Auto-brightness and tilt for laptop screen & more!!

use that integrated webcam for more than it was designed for.


[Update 6: Since I posted this, I have regulary come across stuff that uses head tracking, every time increasing my hopes that all these ideas are coming closer to reality .. See links]
[UPDATE 5: added another idea 8) ]
[UPDATE 4: modified idea 7]
[UPDATE 3: added another idea 7) ]
[UPDATE 2: added one more contributed idea and changed main title and title of 1) of so that Jutta does not get thrown off ;-)]
[UPDATE: added 2 more ideas 4 and 5. also added a contributed idea]
***** ***** Idea begins here ***** *****
Most new laptops,netbooks come with integrated webcams on the top. I can immedietely think of two really usefull ways of using this.
1) Replace input device activity detector with face detector for sensing user presence.
Instead of relying on keyboard and mouse activity, rely on availability of face for activity sensing. No face in front for more than 1 minute? lock screen, show as away on IM. Face came back ? show "unlock" password prompt. This is especially usefull if you are watching a movie or reading a long article using auto-scroll. The screen won't lock/go to screen saver mode in the middle of it.
2) Auto tilt.
I sometimes use my laptop when I sleep on my side to read really long pages. As I use GNU/Linux, I just issue the command xrandr -o 1 or xrandr -o3 depending on which side I am sleeping on. As far as I can remember many recent Windows graphics drivers, even some old ones register Ctrl+Alt+cursorkey to change orientations.
My idea was to use the web cam to detect which angle your face is on.
There are enough face detection softwares out there. Even good open source ones. If someone who can understand all the code can make it extract the angle of the face, then the angle can be fed to another piece of code which uses simple heuristics and time outs to change the orientation of the screen when the user is seeing the screen at 90 degrees.
3) Auto-brightness
At least in linux, its quite easy to change the brightness of the laptop screen, you just write your brightness level to a special file and done. if you can find out the ambient brightness from the camera, then just simply adjust screen backlight brighness appropriately through code. done.
4) Could also be an interesting input for gaming. Though it can be a pain in the neck if the game gets too continuous or fast paced. But the possibilities are interesting.. [a] In a FPS you can use it to control the head of the charector (to look around). [b] In a flight simulator, you could use it to control the pitch, roll, etc
Even better: If you look away from the screen for more than 2 seconds the game can pause itself!
5) [ok.. ideas are getting a bit crazier now]
Hands free! Use it for alternative input for dialogs.. Nod your head around x axis for yes. nod your head around y axis for no. Hands free!
Hands free browsing!. Firefox plugin and extension which can be switched on while having lunch. The plugin that knows where you are looking and automatically scrolls it to centre (very very useful if you have the habit of reading slashdot or other news while having food). A left wink can bookmark the page and position for rereading. A right wink can bookmark the page and position for commenting later on(after lunch).
6) Sleep pause
If you are watching a movie and doze off, the movie should get paused, and the laptop can go to low power mode. ( I am confused whether I should be really adding this idea in the "contributed" section as i got the idea from [bigsleep]'s nick :-)
7) Boss / kids / wife detector.
Saves a lot of embarrassing moments ;-)
8) Guesture based reading of cards (Visiting cards, barcodes(?) semacodes, etc)
If I point at an object (near the camera) edge with an index finger, it should try to find text/barcode/semacode on it. OCR it and present in a dialog. After I confirm or correct and then confirm the input, operations follow suit - URL is bookmarked/launched, visiting card info is stored in my addressbook, etc.
The cam of my EEE Pc is 1.3 megapixel and so I guess all newer notebooks carry good enough cameras.
Contributed ideas:
[2 fries shy of a happy meal]
".. detect how far a persons face is from the screen and change font size accordingly.."
[bigsleep]
".. if one of a number of faces disappears[while watching a movie] it could press pause."
[supershnitzel]
augment speech recognition with face detection. just like hearing-impaired people do.
kamathln, Feb 14 2009

Dual spectrum Eye Recognition dual-spectrum_20eye_20recognition
got any laptops with IR cams ? [kamathln, 25 2009]

(5) implemented by opera!!! http://my.opera.com...log/face-the-future
(seems to be april fool though :-( ) [kamathln, Apr 01 2009]

CamSpace http://www.youtube....watch?v=v0srY37kkMw
Comes close to (4) [kamathln, May 02 2009]

Sixth Sense http://www.ted.com/...he_sixth_sense.html
Comes close to 8 [kamathln, May 02 2009]

smert.net http://smert.net/20...-beta/#comment-2805
Implementation by Jason [kamathln, 02 2009]

Presence sensor *almost* baked! http://www.pcworld...._cant_get_here.html
not on sale in the US yet though... [DIYMatt, May 19 2009, last modified May 20 2009]

Mousetrap http://live.gnome.org/MouseTrap
Gaze based cursor control [kamathln, Jul 02 2010]

John Underkoffer's hand gestures demo http://www.ted.com/...with_a_gesture.html
21 Quest 's suggestion :baked? Just have to adapt it to Laptop :) [kamathln, 04 2010, last modified Jul 06 2010]

same UI Chat_20Enhancer
for text-based conversation [FlyingToaster, Jul 04 2010]

HandVu http://www.movesins.../HandVu/HandVu.html
Hand Gesture Recognition using OpenCV [kamathln, Jul 07 2010]

Auto-dimming TV http://www.gizmag.c...watching-you/15330/
[comes close to (1), but on tv and not on a computer. Samsung Bravia TV dims/switches off when you are not looking [kamathln, 15 2010]

Ubuntu getting physical http://design.canon...9/getting-physical/
[kamathln, Sep 16 2010]

Compiz head tracking http://ubuntuforums...thread.php?t=952895
[kamathln, 16 2010]

Proxemic media player concept http://www.youtube....watch?v=OHm9teVoNE8
Comes close to the string of ideas in comments that came about thanks to idea #6 [kamathln, 01 2010]