[Techb] had a friend who was paralyzed after an accident and could no long use a computer. He rigged up an amazingly simple mouse interface using python to implement infrared tracking. The controller was built from an old hat by adding an IR LED and wireless mouse modified so that the button could be clicked by the user’s mouth. A webcam with exposed film used as a filter can track the IR LED and take input from the wireless mouse buttons.
This setup, which draws inspiration from Wii Remote white boards, is much simpler than the Eyewriter (and doesn’t shine an IR LED into your eye). Although [Techb] wants to add facial recognition to the system, there’s something to be said for such a simple implementation.
18 thoughts on “Python IR Tracking For The Handicapped”
“Works only with IR filter on camera”?
I thought webcams came with an IR filter already in them and film negative was used as a pseudo visible light filter?
I may be wrong
I think they meant a filter that filters out everything but IR, instead of the normal filters which block only IR, that are usually found on webcams.
Well it is good to see something like this, I think alot of people are going to miss the fact that he done this purely for his friend.
speaking of hacks, i found live NASA servers very vulnerable as listed at pinoysecurity
Great to see that this isn’t a proof of concept or something built on a whim, but rather an ingenious way to use your skills to help out a friend.
the link is down, anyone have a mirror?
site seems down :/
Google cache (text only) is at
(Yes, I googled for “infrared python hat mouse” :D)
This is similar in operation to FreeTrack, or NaturalPoint’s TrackIR. With FreeTrack you open the webcam, take the IR filter out, and the floppy disc layers are there to filter visible light and let IR light pass.
I’d imagine that’s similar to what the floppy disc layers are for here.
What a wonderful true friend. Those are hard to come by these days.
Not to ruin the moment, but the whole “friend” thing…? Not so much. Read the link. He was just fucking around, and ran into a handicap guy that was complaining, and realized what he had been fucking around with could help the guy.
Still a nice thing to do, but it doesn’t sound like they’re even friends after the fact. Just some guy he felt like helping… I guess that makes it even better, but whatever. My favorite line was “no he gets online and looks at porn just like the rest of us!”
@UKSci: atrain is right. It filters everything BUT IR. It is powered by a python script after all; It’s just looking for the colored dot I would guess. Sounds like eventually he wants to do facial recognition so he won’t need the hardware hack.
I didn’t know the guy until the survey thing. But after I introduced him to my project we became friends.
And I should have clarified it does filter out all other light but infrared. It looks for the first true pixel value from the getprojection() function in PIL.
I have written a new updated version that looks for the highest RBG value to base on. It can read two IR dots now. Mouse movement isn’t incorporated in the new version, but could be implemented via slop degrees.
My ultimate goal was to mimic the WII with my webcam, it just happened to help someone in the process.
hey, just FYI title should perhaps read “Python IR tracking for the disabled” rather than handicapped.
handicapped is considered derogatory by some.
And disabled is considered a derogatory term by others.
Disabled is the proper name. Medically speaking and such.
Handicapped is really now becoming offensive, don’t ask me why that’s just what happens with some words.
People find offence *everywhere*, either way you can’t win. There’s no reason to change the title.
i don’t see why there’s even an upset about using “handicapped/disabled”. It’s the program that’s there to help.Weather it’s for a friend or stranger, doesn’t matter. The fact that he took time to come up with this is awsome! It takes some one who cares with the know how to do this!So while those of you are wondering “which term” to use, Tech B will be helping those that need it! I am for one very proud of Tech B!
hey would you happen to know anything about gaze tracking using just the simple webcams? i mean yes it would require computer vision (pycv?) but i don’t know much.. OpenCV 2.3.1 installation on dev c++ is still not complete.. i don’t have any idea what i’m gonna do about it. and i hate MS VC++.. so bloated.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)