OAK Vision Modules Help You See The Forest And The Trees

OpenCV is an open source library of computer vision algorithms, its power and flexibility made many machine vision projects possible. But even with code highly optimized for maximum performance, we always wish for more. Which is why our ears perk up whenever we hear about a hardware accelerated vision module, and the latest buzz is coming out of the OpenCV AI Kit (OAK) Kickstarter campaign.

There are two vision modules launched with this campaign. The OAK-1 with a single color camera for two dimensional vision applications, and the OAK-D which adds stereo cameras for that third dimension. The onboard brain is a Movidius Myriad X processor which, according to team members who have dug through its datasheet, have been massively underutilized in other products. They believe OAK modules will help the chip fulfill its potential for vision applications, delivering high performance while consuming low power in a small form factor. Reading over the spec sheet, we think it’s fair to call these “Ultimate Myriad X Dev Boards” but we must concede “OpenCV AI Kit” sounds better. It does not provide hardware acceleration for the entire OpenCV library (likely an impossible task) but it does cover the highly demanding subset suitable for Myriad X acceleration.

Since the campaign launched a few weeks ago, some additional information have been released to help assure backers that this project has real substance. It turns out OAK is an evolution of a project we’ve covered almost exactly one year ago that became a real product DepthAI, so at least this is not their first rodeo. It is also encouraging that their invitation to the open hardware community has already borne fruit. Check out this thread discussing OAK for robot vision, where a question was met with an honest “we don’t have expertise there” from the OAK team, but then ArduCam pitched in with their camera module experience to help.

We wish them success for their planned December 2020 delivery. They have already far surpassed their funding goals, they’ve shipped hardware before, and we see a good start to a development community. We look forward to the OAK-1 and OAK-D joining the ranks of other hacking friendly vision modules like OpenMV, JeVois, StereoPi, and AIY Vision.

Raspberry Pi Shuffler Is Computerized Card Shark

If you’re playing Texas Hold’em or other card games with a small group, you may get tired of shuffling over and over again. [3dprintedLife] was in just such a position, and realized there were no good automatic card shufflers in his budget. Instead, he elected to build one, and put in some extra functionality to corrupt the game to his whims.

The mechanicals of the machine took much development, as accurately handling and dispensing cards is a challenge, particularly with the loose tolerances of 3D printed parts. After developing a reliable transport mechanism, it was more than capable of shuffling a deck well with some basic commands.

However, the real magic comes from installing a camera and Raspberry Pi running OpenCV. This is capable of reading the value and suit of each card, and then stacking the deck in a particular order to suit the dealer’s wishes. It’s all controlled through a web interface and is capable of creating guaranteed wins in Blackjack and Texas Hold’em. Files are on Github for those eager to delve deeper into how the machine works.

The mechanism does such a beautiful job of shuffling, that your friends may not even notice the ruse. It goes to show that you should always have your wits about you when gambling with the aid of machines. Of course, if you wish only to create havoc, this Lego card machine gun may be more your speed. Video after the break.

[via Reddit]

Continue reading “Raspberry Pi Shuffler Is Computerized Card Shark”

Human-Powered Laser Gun Makes Battery-Free Target Practice

[Dirk] shared a fascinating project of his that consists of several different parts coming together in a satisfying whole. It’s all about wanting to do target practice, indoors, using a simple red laser dot instead of any sort of projectile. While it’s possible to practice by flashing a red laser pointer and watching where it lands on a paper target, it’s much more rewarding (and objective) to record the hits in some way. This is what led [Dirk] to create human-powered, battery-free laser guns with software to track and display hits. In the image above, red laser hits on the target are detected and displayed on the screen by the shooter.

Right under the thumb is the pivot point for the lever, and that’s also where a geared stepper motor (used as a generator) is housed. Operating the action cranks the motor.

There are several parts to this project and, sadly, the details are a bit incomplete and somewhat scattered around, so we’ll go through the elements one at a time. The first is the guns themselves, and the star of the show is his 3D printed cowboy rifle design. The rifle paints the target with a momentary red laser dot when the trigger is pressed, but that’s not all. [Dirk] appears to have embedded a stepper motor into the lever action, so that working the lever cranks the motor as a generator and stores the small amount of power in a capacitor. Upon pulling the trigger, the capacitor is dumped into the laser (and into a piezo buzzer for a bit of an audio cue, apparently) with just enough juice to create a momentary flash. We wish [Dirk] had provided more details about this part of his build. There are a few more images here, but if you’d like to replicate [Dirk]’s work it looks like you’ll be on your own to some extent.

As for the target end of things, blipping a red dot onto a paper target and using one’s own eyeballs can do the job in a bare minimum sort of way, but [Dirk] went one further. He used Python and OpenCV with a camera to watch for the red dot, capture it, then push an image of the target (with a mark where the impact was detected) to a Chromecast-enabled screen near the shooter. This offers much better feedback and allows for easier scoring. The GitHub repository for the shot detector and target caster is here, and while it could be used on its own to detect any old laser pointer, it really sings when combined with the 3D printed cowboy rifle that doesn’t need batteries.

Not using projectiles in target practice does have some benefits: it’s silent, it’s easy to do safely, there is no need for a backstop, there are no consumables or cleaning, and there is no need to change or patch targets once they get too many holes. Watch it all in action in the video embedded below.

Continue reading “Human-Powered Laser Gun Makes Battery-Free Target Practice”

Underwater Crawling Soft Robot Stays In Shape

When you think of robots that were modeled after animals, a brittle star is probably not the first species that comes to mind. Still, this is the animal that inspired [Zach J. Patterson] and his research colleagues from Carnegie Mellon University for their underwater crawling robot PATRICK.

PATRICK is a soft robot made from molded silicone. Each of his five limbs contains several shape memory alloy (SMA) springs which can be contracted through Joule heating thereby causing the limbs to bend. The robot’s control board is sending and receiving commands via Bluetooth Low Energy from a nearby computer. To control PATRICK’s motion the researchers constructed a closed-loop system where an offboard OpenCV based camera system is constantly tracking the robot. As shown in the video below with an average velocity of 1 cm/s, PATRICK’s movement is a bit sluggish but the system is supposedly very robust against uncertainties in the environment.

In the future [Zach J. Patterson et al.] would like to improve their design by giving the robot the ability to grasp objects. Ultimately, also the offboard camera should be replaced with onboard sensors so that PATRICK can navigate autonomously.

Soft robots like artificial jellyfish are especially useful underwater and sometimes almost cross the boundary to organic life.

Continue reading “Underwater Crawling Soft Robot Stays In Shape”

Background Substitution, No Green Screen Required

All this working from home that people have been doing has a natural but unintended consequence: revealing your dirty little domestic secrets on a video conference. Face time can come at a high price if the only room you have available for work is the bedroom, with piles of dirty laundry or perhaps the incriminating contents of one’s nightstand on full display for your coworkers.

There has to be a tech fix for this problem, and many of the commercial video conferencing platforms support virtual backgrounds. But [Florian Echtler] would rather air his dirty laundry than go near Zoom, so he built a machine-learning background substitution app that works with just about any video conferencing platform. Awkwardly dubbed DeepBackSub — he’s working on a better name — the system does the hard work of finding the person in the frame with Tensorflow Lite. After identifying everything in the frame that’s a person, OpenCV replaces everything that’s not with whatever you choose, and the modified scene is piped over a virtual video device to the videoconferencing software. He’s tested on Firefox, Skype, and guvcview so far, all running on Linux. The resolution and framerates are limited, but such is the cost of keeping your secrets and establishing a firm boundary between work life and home life.

[Florian] has taken the need for a green screen out of what’s formally known as chroma key compositing, which [Tom Scott] did a great primer on a few years back. A physical green screen is the traditional way to do this, but we honestly think this technique is great and can’t wait to try it out with our Hackaday colleagues at the weekly videoconference.

Harry Potter Wand Hack Makes Magic Real

Any sufficiently advanced hack is indistinguishable from magic, a wise man once observed. That’s true with this cool build from [Jasmeet Singh] that magically opens a box when you wave a Harry Potter magic wand in the right way. Is it magic? No, it’s a neat hack that uses computer vision to track the wand and recognize when you make the magic gesture.

The trick is based on the same technique that Universal Studios use in their Harry Potter theme park, as detailed in a patent with the snappy title of “System and method for tracking a passive wand and actuating an effect based on a detected wand path“. The basic idea is that a retroreflective dot on the end of the wand reflects light from a set of infra-red LEDs around the camera. An infra-red sensitive camera detects this reflected light as a bright dot. This camera is tied into a computer vision system that tracks the path of the dot, then triggers the action if it follows a certain pattern.

The version that [Jasmeet] built uses a Raspberry Pi NoIR camera, and a Raspberry Pi 3 running OpenCV. This feeds into a machine learning graph that detects the letters of the alphabet. If the detected letter is an A (for Alomahora, the Harry Potter open spell), then the box opens. If it is a C, the box closes. This is all tied together using Python.

It’s a neat build that ties together a number of interesting techniques, and which could keep the kids amused for a while. You could also expand it further, such as adding a death ray that triggers if you trace an S for Sectumsempra. That’ll teach them not to mess with the dark arts.

Continue reading “Harry Potter Wand Hack Makes Magic Real”

Velocity Based Training, With A Camera

In the world of weight training, the buzzword of the moment is VBT, or Velocity Based Training. This involves sensors being used to measure the speed and position of a weight as it moves through each repetition, and thus provide instant feedback for the athlete and glean information from which they can work upon their training routine. Typically the sensors involved may be accelerometers, but [Kris] has taken a different tack using a webcam and machine vision to do the same job.

The barbell has a green disc attached to its end, and the software tracks it and measures the velocity. It issues a warning when the velocity of a repetition drops below a preset level, telling the athlete to stop their set before pushing themselves too far. Under the hood is a Python script and OpenCV, and the write-up in his GitHub repository takes us through its camera calibration to remove the effects of distortion, and set-up. All calibration of distances within the image is made through the known size of the green disc, allowing the software to accurately chart the distance through which it travels.

We’ve not seen a machine vision approach to weight training before, but we have seen one using accelerometers. Maybe this project will re-ignite interest in this field.