Train object recognizer for cards

Using TensorFlow To Recognize Your Own Objects

When the time comes to add an object recognizer to your hack, all you need do is choose from many of the available ones and retrain it for your particular objects of interest. To help with that, [Edje Electronics] has put together a step-by-step guide to using TensorFlow to retrain Google’s Inception object recognizer. He does it for Windows 10 since there’s already plenty of documentation out there for Linux OSes.

You’re not limited to just Inception though. Inception is one of a few which are very accurate but it can take a few seconds to process each image and so is more suited to a fast laptop or desktop machine. MobileNet is an example of one which is less accurate but recognizes faster and so is better for a Raspberry Pi or mobile phone.

Collage of images for card datasetYou’ll need a few hundred images of your objects. These can either be scraped from an online source like Google’s images or you get take your own photos. If you use the latter approach, make sure to shoot from various angles, rotations, and with different lighting conditions. Fill your background with various other things and even have some things partially obscuring your objects. This may sound like a long, tedious task, but it can be done efficiently. [Edje Electronics] is working on recognizing playing cards so he first sprinkled them around his living room, added some clutter, and walked around, taking pictures using his phone. Once uploaded, some easy-to-use software helped him to label them all in around an hour. Note that he trained on 24 different objects, which are the number of different cards you get in a pinochle deck.

You’ll need to install a lot of software and do some configuration, but he walks you through that too. Ideally, you’d use a computer with a GPU but that’s optional, the difference being between three or twenty-four hours of training. Be sure to both watch his video below and follow the steps on his Github page. The Github page is kept most up-to-date but his video does a more thorough job of walking you through using the software, such as how to use the image labeling program.

Why is he training an object recognizer on playing cards? This is just one more step in making a blackjack playing robot. Previously he’d done an impressive job using OpenCV, even though the algorithm handled non-overlapping cards only. Google’s Inception, however, recognizes partially obscured cards. This is a very interesting project, one which we’ll be keeping an eye on. If you have any ideas for him, leave them in the comments below.

Continue reading “Using TensorFlow To Recognize Your Own Objects”

Our Reactions To The Treatment Of Robots

Most of us have seen employees of Boston Dynamics kicking their robots, and many of us instinctively react with horror. More recently I’ve watched my own robots being petted, applauded for their achievements, and yes, even kicked.

Why do people react the way they do when mechanical creations are treated as if they were people, pets, or worse? There are some very interesting things to learn about ourselves when considering the treatment of robots as subhuman. But it’s equally interesting to consider the ramifications of treating them as human.

The Boston Dynamics Syndrome

Shown here are two snapshots of Boston Dynamics robots taken from their videos about Spot and Atlas. Why do scenes like this create the empathic reactions they do? Two possible reasons come to mind. One is that the we anthropomorphize the human-shaped one, meaning we think of it as human. That’s easy to do since not only is it human-shaped but the video shows it carrying a box using human-like movements. The second snapshot perhaps evokes the strongest reactions in anyone who owns a dog, though its similarity to any four-legged animal will usually do.

Is it wrong for Boston Dynamics, or anyone else, to treat robots in this way? Being an electronic and mechanical wizard, you might have an emotional reaction and then catch yourself with the reminder that these machines aren’t conscious and don’t feel emotional pain. But it may be wrong for one very good reason.

Continue reading “Our Reactions To The Treatment Of Robots”

Inception object recognizer in a box

DIY Raspberry Neural Network Sees All, Recognizes Some

As a fun project I thought I’d put Google’s Inception-v3 neural network on a Raspberry Pi to see how well it does at recognizing objects first hand. It turned out to be not only fun to implement, but also the way I’d implemented it ended up making for loads of fun for everyone I showed it to, mostly folks at hackerspaces and such gatherings. And yes, some of it bordering on pornographic — cheeky hackers.

An added bonus many pointed out is that, once installed, no internet access is required. This is state-of-the-art, standalone object recognition with no big brother knowing what you’ve been up to, unlike with that nosey Alexa.

But will it lead to widespread useful AI? If a neural network can recognize every object around it, will that lead to human-like skills? Read on. Continue reading “DIY Raspberry Neural Network Sees All, Recognizes Some”

TensorFlow Robot Recognizes Objects

Children can do lots of things that robots and computers have trouble with. Climbing stairs, for example, is a tough thing for a robot. Recognizing objects is another area where humans are generally much better than robots. Kids can recognize blocks, shapes, colors, and extrapolate combinations and transformations.

Google’s open-source TensorFlow software can help. It is a machine learning system used in Google’s own speech recognition, search, and other products. It is also used in quite a few non-Google projects. [Lukas Biewald] recently built a robot around some stock pieces (including a Raspberry Pi) and enlisted TensorFlow to allow the robot to recognize objects. You can see a video of the device, below.

Continue reading “TensorFlow Robot Recognizes Objects”

NASA Knows Where The Meteors Are

NASA has been tracking bright meteoroids (“fireballs”) using a distributed network of video cameras pointed upwards. And while we usually think of NASA in the context of multi-bazillion dollar rocket ships, but this operation is clearly shoe-string. This is a hack worthy of Hackaday.

droppedimage

The basic idea is that with many wide-angle video cameras capturing the night sky, and a little bit of image processing, identifying meteoroids in the night sky should be fairly easy. When enough cameras capture the same meteoroid, one can use triangulation to back out the path of the meteoroid in 3D, estimate its mass, and more. It’s surprising how many there are to see on any given night.

You can watch the videos of a meteoroid event from any camera, watch the cameras live, and even download the meteoroid’s orbital parameters. We’re bookmarking this website for the next big meteor shower.

cameraThe work is apparently based on [Rob Weryk]’s ASGARD system, for which the code is unfortunately unavailable. But it shouldn’t be all that hard to hack something together with a single-board computer, camera, and OpenCV. NASA’s project is limited to the US so far, but we wonder how much more data could be collected with a network of cameras all over the globe. So which ones of you are going to take up our challenge? Build your own version and let us know about it!

Between this project and the Radio Meteor Zoo, we’re surprised at how much public information there is out there about the rocky balls of fire that rain down on us every night, and will eventually be responsible for our extinction. At least we can be sure we’ll get it on film.

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.