In this study we outline the development methodology for an automatic dog treat dispenser which combines machine learning and embedded hardware to identify and reward dog behaviors in real-time. Using machine learning techniques for training an image classification model we identify three behaviors of our canine companions: "sit", "stand", and "lie down" with up to 92% test accuracy and 39 frames per second. We evaluate a variety of neural network architectures, interpretability methods, model quantization and optimization techniques to develop a model specifically for an NVIDIA Jetson Nano. We detect the aforementioned behaviors in real-time and reinforce positive actions by making inference on the Jetson Nano and transmitting a signal to a servo motor to release rewards from a treat delivery apparatus.
Paper: arxiv.org/abs/2101.02380 (BibTeX)
- Flash SD Card Image for Jetson Nano Developer Kit
- Ensure JetPack is installed to latest version. Upgrade/install JetPack
- Install TensorFlow for Jetson Platform. Installation 1 Installation 2
Our curated dataset can be found on HuggingFace:
https://huggingface.co/datasets/stockeh/dog-pose-cv
@article{stock2021s,
title={Who's a Good Boy? Reinforcing Canine Behavior in Real-Time using Machine Learning},
author={Stock, Jason and Cavey, Tom},
journal={arXiv preprint arXiv:2101.02380},
year={2021}
}