Man Buys Two Metric Tons of LEGO Bricks; Sorts Them Via Machine Learning

iStock // Ekaterina Minaeva
iStock // Ekaterina Minaeva

Jacques Mattheij made a small, but awesome, mistake. He went on eBay one evening and bid on a bunch of bulk LEGO brick auctions, then went to sleep. Upon waking, he discovered that he was the high bidder on many, and was now the proud owner of two tons of LEGO bricks. (This is about 4400 pounds.) He wrote, "[L]esson 1: if you win almost all bids you are bidding too high."

Mattheij had noticed that bulk, unsorted bricks sell for something like €10/kilogram, whereas sets are roughly €40/kg and rare parts go for up to €100/kg. Much of the value of the bricks is in their sorting. If he could reduce the entropy of these bins of unsorted bricks, he could make a tidy profit. While many people do this work by hand, the problem is enormous—just the kind of challenge for a computer. Mattheij writes:

There are 38000+ shapes and there are 100+ possible shades of color (you can roughly tell how old someone is by asking them what lego colors they remember from their youth).

In the following months, Mattheij built a proof-of-concept sorting system using, of course, LEGO. He broke the problem down into a series of sub-problems (including "feeding LEGO reliably from a hopper is surprisingly hard," one of those facts of nature that will stymie even the best system design). After tinkering with the prototype at length, he expanded the system to a surprisingly complex system of conveyer belts (powered by a home treadmill), various pieces of cabinetry, and "copious quantities of crazy glue."

Here's a video showing the current system running at low speed:

The key part of the system was running the bricks past a camera paired with a computer running a neural net-based image classifier. That allows the computer (when sufficiently trained on brick images) to recognize bricks and thus categorize them by color, shape, or other parameters. Remember that as bricks pass by, they can be in any orientation, can be dirty, can even be stuck to other pieces. So having a flexible software system is key to recognizing—in a fraction of a second—what a given brick is, in order to sort it out. When a match is found, a jet of compressed air pops the piece off the conveyer belt and into a waiting bin.

After much experimentation, Mattheij rewrote the software (several times in fact) to accomplish a variety of basic tasks. At its core, the system takes images from a webcam and feeds them to a neural network to do the classification. Of course, the neural net needs to be "trained" by showing it lots of images, and telling it what those images represent. Mattheij's breakthrough was allowing the machine to effectively train itself, with guidance: Running pieces through allows the system to take its own photos, make a guess, and build on that guess. As long as Mattheij corrects the incorrect guesses, he ends up with a decent (and self-reinforcing) corpus of training data. As the machine continues running, it can rack up more training, allowing it to recognize a broad variety of pieces on the fly.

Here's another video, focusing on how the pieces move on conveyer belts (running at slow speed so puny humans can follow). You can also see the air jets in action:

In an email interview, Mattheij told Mental Floss that the system currently sorts LEGO bricks into more than 50 categories. It can also be run in a color-sorting mode to bin the parts across 12 color groups. (Thus at present you'd likely do a two-pass sort on the bricks: once for shape, then a separate pass for color.) He continues to refine the system, with a focus on making its recognition abilities faster. At some point down the line, he plans to make the software portion open source. You're on your own as far as building conveyer belts, bins, and so forth.

Check out Mattheij's writeup in two parts for more information. It starts with an overview of the story, followed up with a deep dive on the software. He's also tweeting about the project (among other things). And if you look around a bit, you'll find bulk LEGO brick auctions online—it's definitely a thing!

Watch an AI-Powered Robot Take the Fun Out of 'Where's Waldo'

YouTube
YouTube

"There's Waldo" is the name of an AI-powered robot that has been trained to swiftly suck all the fun out of the beloved children's books. As Popular Mechanics reports, the robot can pick Waldo's pom-pom beanie and striped shirt out of a crowd in just 4.45 seconds, "which is better than most 5-year-olds," according to the robot's maker.

Built by creative agency Redpepper, the robot is linked to Google's AutoML Vision service, which was fed 107 photos of Waldo from Google Images.

"I thought that wouldn't be enough data to build a strong model, but it gives surprisingly good predictions on Waldos that weren't in the original training set," Matt Reed, creative technologist at Redpepper, tells The Verge.

The robot's mechanical arm is equipped with a Vision Camera Kit, which lets it snap photos of the page and send them to AutoML Vision to be analyzed. Disconcertingly, the otherwise industrial-looking robot has a rubber hand that it uses to point to Waldo when it's at least 95 percent sure that the man on the page is, indeed, Waldo. Alas, once the machines take over, "Where's Waldo?" will just be one more phrase that future generations won't understand.

[h/t Popular Mechanics]

How to Rig Your Android Phone to Play Old Floppy Disk Games

iStock
iStock

Owning a smartphone means you have thousands of games at your fingertips, but capturing the nostalgia of playing a game saved on a floppy disk isn't as simple as downloading an app. Reviving floppy disk games for the smartphone era is a bit more complicated, and YouTube vintage video game reviewer LGR shows you just how to do it step by step.

In this video, spotted by Kotaku, LGR takes an old floppy disk, the same kind you used in your computer class at school, and uses it to play a classic video game on a smartphone. This is made possible with an Android phone, a USB connector, an Android USB adaptor, and a portable floppy disk drive that's about as big as the phone itself. (The hardware doesn't work for iPhones, but if you're an Apple user there are plenty of ways to play old PC games online).

Just inserting the disk into the drive when it's connected to your phone isn't enough to start playing: You need to download a special app that mimics Microsoft's old disk operating system, like Magic Dosbox, for example. Once you have that on your phone, you can use it to open whatever game is saved to your floppy disk.

Because old PC games weren't made for touchscreens, the smartphone gameplay can be a little be a little awkward—but if you're willing to hook a floppy disk drive up to your phone, convenience likely isn't your goal. You can watch LGR's full instructions in the video below.

[h/t Kotaku]

SECTIONS

arrow
LIVE SMARTER
More from mental floss studios