Amir Goudarzi

New Updates

Published: 2023-01-29

So it’s been a while, I have had my head down on a lot so this was the last thing on my mind to update, but I think it’s important to document some of the stuff I have been working on.

  1. Learning Machine Learning to catch terrible dog owners

I have been having such a terrible issue with my front yard being a congregation spot for dogs defecating and simultaneously having owners that don’t pick up after their pets. As a certified old man, I was determined to catch the mysterious ghost poopers.

  1. Set up surveillance IP camera in front
  2. Write some python with opencv to catch dogs in certain marker areas
  3. Run this on my home server pi
  4. Record video evidence
  5. Send me a notification so I can run out and yell at them.

After ascertaining the camera, I thought I would be able to spin up a quick python script using HAAR cascades to detect dogs.

Unfortunately for me, this is pretty rudimentary and better suited for simple detection like still images, face detection and closer range items. As I had already sunk an entire day into trying to create this, I looked for another solution, an pre-built Machine Learning model that detects animals.

I came across some models with little success until coming across the YOLOv3 model. This model is such a beast and pre-trained to detect a multitude of objects. However this was a bit overkill, killing my poor pi, and not going to work to catch dogs in the act. Thanks to the chip shortage, I am unable to get an external TPU which would aid in ML inferencing on a SBC.

I finally threw my hands up in the air and decided to bite the bullet and learn about ML and create my own model