Detecting Dirty Dishes with OpenCV

Craft & Design Technology
Detecting Dirty Dishes with OpenCV

While I’m no slob, I’ve left my fair share of dirty dishes in the sink, much to the chagrin of my former roommates. But who hasn’t left a plate, spoon, or glass in the sink when you’re in a rush to get out of the house every now and then? What happens in a shared space like a hackerspace, where you could have as many as fifty people passing through the communal kitchen in a given day? All those cups start to pile up quickly, I’m sure. Not one to let things get out of hand, London Hackspace member Tom created a solution to combat the problem. True to hackerspace form, he combined different open source technologies to alert the members in the space when a dish has been left in the sink for more than a few minutes.

To create this so-called Great OpenCV Washing-Up Detector, Tom mounted a PS3 Eye camera pointing down at the sink, connected to a BeagleBone running Debian. He used the HoughCircles function in the OpenCV library to detect the circular shape of glasses and plates from each frame. When a dish has been in the sink too long, it sends a signal over the network to an Arduino. The Arduino controls a set of relays to turn on the lights inside a traffic light, signalling to everyone in the space that someone needs to suck it up and put on the dishwashing gloves already. The system even utilizes London Hackspace’s IRC bot to alert chatters in their channel.

For those of you who want to implement a similar plan in your shared space, Tom uploaded his code to Github. In the meantime, he isn’t letting up in his crusade to give the lazy members a free pass. He plans on wiring red LED strips above the sink as an alert and even a camera to catch mug shots of the offenders. And what about cutlery and non circular dishes? Tom hopes a Kinect version of this system will help him detect those as well. So if you think you’ll be able can cheat the system by using square plates, you’ve got another think coming.

Discuss this article with the rest of the community on our Discord server!

Matt Richardson is a San Francisco-based creative technologist and Contributing Editor at MAKE. He’s the co-author of Getting Started with Raspberry Pi and the author of Getting Started with BeagleBone.

View more articles by Matt Richardson


Ready to dive into the realm of hands-on innovation? This collection serves as your passport to an exhilarating journey of cutting-edge tinkering and technological marvels, encompassing 15 indispensable books tailored for budding creators.