One of the scariest things that can happen to a parent is losing a child in a crowded place. However, while I worked at a zoo, this was a surprisingly common occurrence, as children tend to wander off like curious ninjas. When this happened, standard procedure was that a parent would notify any staff, and they’d call it over the walkie-talkies with a description and name of the child while other staff watched each exit of the zoo.
While this problem was usually resolved relatively quickly by staff spotting the child, I thought it would be interesting to figure out how to create a simple and affordable solution where an image could be uploaded somewhere and a link could be sent to a device that would then take pictures and attempt to recognize the child through facial recognition. Once the child is found, the device could then notify staff of the general location.
There are two major parts to this project: communication and facial recognition. One problem that we ran into at the zoo is that WiFi isn’t available in most locations, however cellular connections were pretty good since the zoo was located in the middle of a large public park in the city.
Because of the network limitations of the location, Hologram and their connectivity platform seemed like a worthwhile solution for the first portion of this project. There is one part where I ran into a problem – downloading the image needed for face recognition. Because of this, I can only use Hologram on the person-to-device boundary, though I will hopefully be able to update the demo as more capabilities are added to the SDK.
Facial recognition is where things get a bit more tricky. Luckily, there is a great open sourced library for facial recognition that works on the Raspberry Pi by a developer named Adam Geitgey. If you’re interested in how this library works, I strongly recommend reading his article here, otherwise the tl;dr is that a known face in an image is turned to gray scale, the image is subdivided into sections and the direction of light in the image is measured and stored, then when a new image is taken, any detected faces in that new image are similarly encoded and compared to the original known image.
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.