Hacker News new | ask | show | jobs
by tjoff 2922 days ago
A bit unrelated but I'm in a need for some sort of cat deterrent that will spray water at all cats except mine. Also it would be nice if humans were exempted as well.

I haven't done the legwork myself yet, but would this be an appropriate project to check out for this? (As for identifying my cat I've been thinking about alternative solutions such as rfid necklace or something but it is quickly getting past 'quick hack').

7 comments

Check out the talk "Militarizing Your Backyard with Python: Computer Vision and the Squirrel Hordes"[1] from PyCon 2012. He wired a water canon to a camera able to tell squirrels from birds:

> Has your garden been ravaged by the marauding squirrel hordes? Has your bird feeder been pillaged? Tired of shaking your fist at the neighbor children? Learn how to use Python to tap into computer vision libraries and build an automated sentry water cannon capable of soaking intruders.

Previous discussion here: https://news.ycombinator.com/item?id=3710107

[1] http://pyvideo.org/pycon-us-2012/militarizing-your-backyard-...

A Bluetooth LE device similar to Tile[1] might be a cheap and reliable signal source in a package small enough to attach to a collar. If you had two Bluetooth receivers on either side of your camera's visual field, you could compare signal strengths during motion and positively identify your cat (assuming feline motion detection is a solved problem).

[1] https://www.thetileapp.com/

It might be easier to cheat and put a bluetooth or similar beacon onto your cat to suppress the water spray than try and distinguish your cat from others?
One of the goals is to create a safe place for my cat, on the porch or something. And still be able to fend off neighbor cats. She is getting old and has had fights on the porch which makes her scared to go out.

So I guess it depends on how easy it would be to limit the scope/direct the receiver to only activate when she is on the stairs which is probably the optimal target range for the porch (and not activate when she is lying just beside the receiver).

Thanks so much everyone for the answers! Can't believe I forgot about the squirrel presentation. My cat is all black and I'm not sure how I'd go about distinguishing it. A really colorful necklace perhaps, but it would have to be quite ungraceful to not be covered in fur when watched from the front/back (a second camera 90 degrees from the first could perhaps help).

In the QA in the squirrel presentation someone also mentioned OpenTLD, which seems to be superseded by CMT ( https://www.gnebehay.com/cmt/ ). Worth a look.

I hope I can find the time to experiment on this.

I don't think you'll find a 'quick hack' but what you're asking is definitely possible as a project.

Check this video out for ideas(guy used ML/servo controlled squirt gun to get rid of squirrels from his bird house) https://www.youtube.com/watch?v=QPgqfnKG_T4

This older article from the same author might help you : 'Detecting cats in images with OpenCV' - https://www.pyimagesearch.com/2016/06/20/detecting-cats-in-i...
This would be amazing. Please do a DIY blog if you figure this out. :)
I find it amazing that we live in a world where such profound tech is purposed for such tasks as this :)