Face Tracking With An Android Device

This Android device can recognize faces and move to keep them in frame. It’s a proof of concept that uses commonly available parts and software packages.

The original motivation for the project was [Dan O’s] inclination to give the OpenCV software a try. OpenCV is an Open Source Computer Vision package that takes on the brunt of the job when it comes to discerning meaning from images. To give the phone the power to move he designed and printed his own mounting brackets for the phone and a couple of hobby servos. An IOIO board connects to the Android device in order to control the motors. On the software side all [Dan] needed to do was write some code to interface the output of the OpenCV face tracking modules with the input of the IOIO. See the finished project demonstration after the jump.

This system can easily be implemented with other hardware, like this Arduino-based version we looked at earlier in the year.

Continue reading “Face Tracking With An Android Device”

OpenCV Knows Where You’re Looking With Eye Tracking

[John] has been working on a video-based eye tracking solution using OpenCV, and we’re loving the progress. [John]’s pupil tracking software can tell anyone exactly where you’re looking and allows for free head movement.

The basic idea behind this build is simple; when looking straight ahead a pupil is perfectly circular. When an eye looks off to one side, a pupil looks more and more like an ellipse to a screen-mounted video camera. By measuring the dimensions of this ellipse, [John]’s software can make a very good guess where the eye is looking. If you want the extremely technical breakdown, here’s an ACM paper going over the technique.

Like the EyeWriter project this build was based on, [John]’s build uses IR LEDs around the edge of a monitor to increase the contrast between the pupil and the iris.

After the break are two videos showing the eyetracker in action. Watching [John]’s project at work is a little creepy, but the good news is a proper eye tracking setup doesn’t require the user to stare at their eye.

Continue reading “OpenCV Knows Where You’re Looking With Eye Tracking”

Getting Started With OpenCV

[Eric Gregori] sent in an article he wrote for EETimes to introduce the concepts behind computer vision to the masses. As a nice little bonus, [Eric] included a VMware image containing Ubuntu and all the packages and examples necessary to write your own OpenCV apps.

There’s a ton of awesome stuff you can do with computer vision – from automated sentries to keep squirrels away, a kitchen that will tell you when to do the dishes, and automating blindness by mounting a laser on a face tracker, there’s a lot of unexplored territory in the area of computer vision.

Included in [Eric]’s VM image are a motion and line detection example app, an ‘optical flow’ example, and a face detection example. There’s enough here to make a few very interesting projects, so hopefully, [Eric]’s VM image and examples will get your next CV project up and running quickly.

Visible Kitteh Project Keeps Mice Out Of The House

[Aaron] and his wife have a wonderful cat that likes to contribute to the household by bringing field mice, shrews, and voles into the house as a ‘present.’ Obviously, this leads blood, fur, and viscera staining the carpet, and chasing around mortally wounded rodents isn’t [Aaron]’s idea of fun. To stop the cat from bringing small mammals into the house, [Aaron] is now preventing the cat from entering the house when it has an animal in its mouth.

[Aaron]’s project is inspired by this facial recognition cat door that refuses entry of all cats holding a small rodent in their mouth. To get his system working, [Aaron] started researching object recognition and built an Android app using the OpenCV libraries. To detect if his cat has a rodent in his mouth, [Aaron] is using Harr cascades – a proven object detection system that will detect and differentiate between a cat and a cat plus mouse.

Right now, the project is only about half done. [Aaron] is currently training his object recognition system, a process that can take days. Still, anything that keeps mouse guts out of the carpet is an awesome project in our books.

Electronics That Tell You To Wash The Dishes

Nothing stinks up the house like a sink full of dirty dish. Well, a full trash can will do it to a greater extent, but that’s a project for another day. In what must be an overreaction to a perpetually full sink of dishes at his London Hackerspace, [Tom] built a web-connected dirty dish detector.

He calls it the Great OpenCV Wash-Up Detector. The system features a series of different signals to ‘remind’ forgetful geeks about cleaning up after themselves. The initial implementation uses a traffic signal to alert the room that there are dirty dished to be cleaned; illuminating the different colors to show how long the sink has been full. [Tom] also plans to add message bursts to the IRC room, and air horns when the situation gets dire.

As the name implies, this uses OpenCV to detect circles in the sink. A webcam has been mounted above it pointing straight down, providing a clear input image to detect plates, mugs, and the like. [Tom] even wrote some code that disables the system when the lights are turned off.

Of course, this may train offenders to leave the dishes on the counter where the detector can’t see them.

Shoulder Surfing With OpenCV

shoulder_surfing_with_shoulder_pad

While it seems that many people are wise to shoulder surfing, keeping a lookout for anyone spying on their passwords, [Haroon] wrote in to remind us that the threat is just as real today as it ever was.

The subjects of his research are touch screen phones and tablets, which utilize on-screen keyboards for data entry. He says that while nearly all password entry boxes on these devices are obscured with the traditional line of asterisks, the keyboards themselves are quite an interesting vulnerability.

Since touch screen technology can be finicky at times, most vendors ship their devices with some sort of key press verification system. On the iPhone and iPad, for instance, each key is highlighted in blue following a button press. This functionality makes it quite easy for shoulder surfers to casually steal your password if you’re not paying attention.

But what if you are well aware of your surroundings? [Haroon] has developed a piece of software he calls shoulderPad, which is based on openCV that does the surfing for him. The application can monitor a video stream, live or recorded, extracting the user’s password from the highlighted button presses. His demonstrations show the recording taking place at a relatively close distance, but he says that it would be quite easy to use surveillance footage or zoom lenses to capture key presses from afar.

He does say that the button highlighting can be easily disabled in the iPhone’s options pane, which should negate this sort of attack for the most part.

Continue reading to see a quick video of shoulderPad in action.

Continue reading “Shoulder Surfing With OpenCV”

Teensy Can School You At Guitar Hero

[Johnny Chung Lee] put together a system that is perfect at playing Guitar Hero. He’s using the PlayStation 2 version and, as you can see above he’s combined a controller connector and a Teensy microcontroller board to communicate with the console using its native SPI protocol. This custom guitar controller receives its signals via USB from a computer that is monitoring the video from the console and calculating the controller signals necessary for perfect gameplay. [Johnny] wrote an OpenCV program that monitors the video, removes the perspective from the virtual fretboard, and analyzes color and speed of the notes coming down the screen.

As you can see after the break it works like a charm. It’s fun from a programming standpoint, but if you want a hack you can actually play maybe you should build your own Banjo Hero.

Continue reading “Teensy Can School You At Guitar Hero”