How One NVIDIAN Uses Deep Learning to Keep Cats from Pooping on His Lawn
Everyone loves cats. No one loves cat poop.
So NVIDIA engineer Robert Bond is using deep learning — and our Jetson TX1 development platform — to recognize cats and turn on his home’s sprinkler system to gently shoo the visitors away.
“My wife is a gardener and she likes her garden to be tidy and clean,” says Bond, 65, a system software engineer who has been at NVIDIA for more than eight years.
Bond quickly dismissed the idea of trapping the cats — which just seemed “unneighborly” — and decided to go with a more technical solution.
Bond is no stranger to deep learning or Jetson. Last year, he built a system that shines a harmless 5-milliwatt laser beam on the ants that occasionally scuttle across his kitchen floor (see “How One NVIDIA Built a Jetson-Powered Laser ‘Ant Annoyer’”).
So, he knew Jetson’s potential. The surprise: how quickly and effectively Jetson was able to solve his problem.
So after 10-15 hours of tinkering — and a few comical snafus — Bond created a precision, Tegra-powered system that relies on the deep learning capabilities of our Jetson TX1 development kit to identify cats and turn on his home’s sprinkler system.
“It wasn’t actually that much work,” Bond says. “The new Jetson TX1 is really good at running these neural nets.”
The setup is simple. If motion is detected, a Foscam FI9800P IP camera trained on his front yard captures an image. That image is fed to Jetson TX1 running a sophisticated piece of deep learning software developed at the University of California, Berkeley, known as FCN (for fully-convolutional neural network for semantic segmentation).
To train this software, Bond ran as many images of cats as he could through a desktop system running an NVIDIA GeForce GTX TITAN graphics card. At first, the system mistook his shadow for a cat — resulting in Bond getting soaked when he ventured into the yard.
To learn more about Robert Bond’s project — complete with instructions so you can create your own smart sprinkler system — visit http://myplace.frontier.com/~r.bond/cats/cats.htm.
Eventually, it learned to detect cats with increasing accuracy. And because FCN is what’s known as a segmentation network, the system not only identifies cats, it identifies their location in his yard (more on why in a moment).
Once a cat is detected, the deep learning software sends a wireless signal to a relay and a Particle Photon board — a development kit popular with makers — he soldered onto the sprinkler system’s irrigation control box. And the waterworks begin.
The next challenge Bond has set for himself: using the FCN’s ability to not just detect cats but detect their location, to send a remote-controlled car out to shoo the critters away. That would certainly be more fun. But it probably won’t be necessary.
Within just a few days of completing his project, Bond reports that the neighborhood cats began avoiding his yard — and the surprise that awaits — after being squirted one too many times by his home-brewed system.
Cats, it turns out, can learn, too.
Watch National Geographic’s Breakthrough program on Bond’s DIY deep learning project (cable account info required).