OpenCV Never Forgets a Face

All the cool phones now are doing facial recognition. While that sounds like a big job, you can add face detection and recognition easily to your projects if you can support the OpenCV library. [LinuxHint] has a great tutorial that steps you from the basics of OpenCV to actually acquiring and identifying faces. It is aimed at Ubuntu users, but the code would apply to any OpenCV-supported platform. You can also see a less detailed tutorial to learn more about installing OpenCV on the Pi Zero from [DanishMalhotra].

Of course, any facial recognition system is going to need a camera. The nice thing about the first tutorial is that it assumes you know nothing about OpenCV, so it covers the basics on up to using the face-related libraries.

Continue reading “OpenCV Never Forgets a Face”

Home Brew Augmented Reality

In July of 2016 a game was released that quickly spread to every corner of the planet. Pokemon Go was an Augmented Reality game that used a smart phone’s GPS location and camera to place virtual creatures into the person’s real location. The game was praised for its creativity and was one of the most popular and profitable apps in 2016. It’s been download over 500 million times since.

Most of its users were probably unaware that they were flirting with a new and upcoming technology called Augmented Reality. A few day ago, [floz] submitted to us a blog from a student who is clearly very aware of what this technology is and what it can do. So aware in fact that they made their own Augmented Reality system with Python and OpenCV.

In the first part of a multi-part series – the student (we don’t know their name) walks you through the basic structure of making a virtual object appear on a real world object through a camera. He 0r she gets into some fairly dense math, so you might want to wait until you have a spare hour or two before digging into this one.

Thanks to [floz] for the tip!

Hackaday Links: October 15, 2017

For the last few months we’ve been running The Hackaday Prize, a challenge for you to build the best bit of hardware. Right now — I mean right now — you should be finishing up your project, crossing your t’s and dotting your lowercase j’s. The last challenge in the Prize ends tomorrow. After that, we’re going to pick 20 finalists for the Anything Goes challenge, then send the finalists off to our fantastic team of judges. Time to get to work! Make sure your project meets all the requirements!

It’s been a few weeks, so it’s time to start talking about Star Trek. I’m paying ten dollars a month to watch Star Trek: Discovery. I was going to pay that anyway, but I think this might actually be worth it. Highlights include Cardassian voles and Gorn skeletons. Also on the Star Trek front is The Orville, [Seth MacFarlane]’s TNG-inspired show. The Orville has far surpassed my expectations and is more Star Trek than Discovery. Leave your thoughts below.

It’s a new edition of Project Binky! Two blokes are spending years stuffing a 4WD Celica into a Mini. It’s the must-watch YouTube series of the decade.

AstroPrint now has an app. If you’re managing a 3D printer remotely and you’re not using Octoprint, you’re probably using AstroPrint. Now it’s in app format.

Have fifty bucks and want to blow it on something cool? A company is selling used LED display tiles on eBay. You get a case of ten for fifty bucks. Will you be able to drive them? Who knows and who cares? It’s fifty bucks for massive blinkies.

[Peter] is building an ultralight in his basement. For this YouTube update, he’s making the wings.

Oh it’s deer season, so here’s how you make deer jerky.

If you’re messing around with Z-Wave modules and Raspberry Pis, there’s a contest for you. The grand prize is an all-expense paid trip to CES2018 in Las Vegas. Why anyone would be enthusiastic about a trip to CES is beyond me, but the Excalibur arcade has Crazy Taxi, so that’s cool.

Go is the language all the cool kids are using. GoCV gives Go programmers access to OpenCV.

A Raspberry Pi Rain Man in the Making

We see a lot of Raspberry Pis used to play games, but this is something entirely different from the latest RetroPie build. This Raspberry Pi is learning how to read playing cards, with the goal of becoming the ultimate card counting blackjack player.

If [Taxi-guy] hasn’t named his project Rain Man, we humbly suggest that he does so. Because a Pi that can count into a six-deck shoe would be quite a thing, even though it would never be allowed anywhere near a casino. Hurdle number one in counting cards is reading them, and [Taxi-guy] has done a solid job of leveraging the power of OpenCV on a Pi 3 for the task. His description in the video below is very detailed, but the approach is simple: find the cards in a PiCam image of the playing field using a combination of thresholding and contouring. Then, with the cards isolated, compare the rank and suit in the upper left corner of the rotated card image to prototype images to identify the card. The Pi provides enough horsepower to quickly identify an arbitrary number of non-overlapping cards; we assume [Taxi-guy] will have to address overlapping cards and decks that use different fonts at some point.

We’re keen to see this Pi playing blackjack someday. As he’s coding that up, he may want to look at algorithmic approaches to blackjack strategies, and the real odds of beating the house.

Continue reading “A Raspberry Pi Rain Man in the Making”

Hackaday Prize Entry: Visioneer Sensor HUD

Only about two percent of the blind or visually impaired work with guide animals and assistive canes have their own limitations. There are wearable devices out there that take sensor data and turn the world into something a visually impaired person can understand, but these are expensive. The Visioneer is a wearable device that was intended as a sensor package for the benefit of visually impaired persons. The key feature: it’s really inexpensive.

The Visioneer consists of a pair of sunglasses, two cameras, sensors, a Pi Zero, and bone conduction transducers for audio and vibration feedback. The Pi listens to a 3-axis accelerometer and gyroscope, a laser proximity sensor for obstacle detection within 6.5ft, and a pair of NOIR cameras. This data is processed by neural nets and OpenCV, giving the wearer motion detection and object recognition. A 2200mA battery powers it all.

When the accelerometer determines that the person is walking, the software switches into obstacle avoidance mode. However, if the wearer is standing still, the Visioneer assumes you’re looking to interact with nearby objects, leveraging object recognition software and haptic/audio cues to relay the information. It’s a great device, and unlike most commercial versions of ‘glasses-based object detection’ devices, the BOM cost on this project is only about $100. Even if you double or triple that (as you should), that’s still almost an order of magnitude of cost reduction.

Hackaday Prize Entry: Remote Control by Head Gestures

Some people may think they’re having a bad day when they can’t find the TV remote. Yet there are some people who can’t even hold a remote, let alone root around in the couch cushions where the remote inevitably winds up. This entry in the Assistive Technologies phase of the 2017 Hackaday Prize seeks to help such folks, with a universal remote triggered by head gestures.

Mobility impairments can range from fine motor control issues to quadriplegia, and people who suffer from them are often cut off from technology by the inability to operate devices. [Cassio Batista] concentrated on controlling a TV for his project, but it’s easy to see how his method could interface with other IR remotes to achieve control over everything from alarm systems to windows and drapes. His open-source project uses a web cam to watch a user’s head gestures, and OpenCV running on a CHIP SBC looks for motion in the pitch, yaw, and roll axes to control volume, channel, and power. An Arduino takes care the IR commands to the TV. The prototype works well in the video below; with the power of OpenCV we can imagine mouth gestures and even eye blinks adding to the controller’s repertoire.

The Assistive Tech phase wraps up tomorrow, so be sure to get your entries in. You’ll have some stiff competition, like this robotic exoskeleton. But don’t let that discourage you.

Continue reading “Hackaday Prize Entry: Remote Control by Head Gestures”

OpenCV Turret Tracks Motion, Busts Airsoft Pellets

In the eternal struggle for office dominance, the motion-tracking Airsoft/Nerf/whatever, the autonomous turret seems to be the nuclear option. [Aaron] and [Davis] built a motion-tracking turret that uses openCV to detect movement, before hitting a relay to trigger the gun.

There’s a Raspberry Pi controlling a Logitech C210 Pi-compatible webcam, with a stepper hat for the Pi controlling two NEMA steppers that aim the gun. The design is simple but elegant, with a rotating base and an assembly that raises and lowers the weapon.

The openCV intrigues us. We want to see a openCV-powered turret with color detection, so your own team doesn’t get blasted along with your hapless enemies. Or if guarding your cubicle, how about a little openCV facial recognition?

If you want to take a stab at your own, [Aaron] and [Davis] show how they built their project in their Hackaday.io page and their Python script can be found on GitHub.  Otherwise, check out the Counter Strike Airsoft robot, the Airsoft sentry gun, and the Nerf turret powered by Slack we published previously. Continue reading “OpenCV Turret Tracks Motion, Busts Airsoft Pellets”