Что делать, если ваш кот не выражает свое желание выйти за дверь громким мяуканьем и часами ждет под дверью, пока вы его не заметите? Для решения этой проблемы разработчик EdgeElectronics создал Pet Detector — нейронную сеть, которая присылает уведомление хозяину на смартфон, если кот находится у двери. Код сети и подробная иструкция по установке выложены в открытом доступе.
Как работает Pet Detector
Устройство создано на основе Raspberry PI, оснащенной камерой, направленной в сторону двери. С помощью PIcamera и модели TensorFlow MobileNet-SSD, Pet Detector обнаруживает животное, которое находится рядом с дверью. Детектор определяет две области — «внутреннюю» и «внешнюю». Если питомец находится в них в течение 10 последовательных кадров, то Twilio отправляет уведомление хозяину на телефон, с информацией, что животное хочет войти или выйти.
Детектор работает на скрипте Python, который загружает модель обнаружения объектов в TensorFlow и использует ее для обнаружения объектов в видеопотоке Picamera. Руководство написано для TensorFlow v1.8.0 на Raspberry Pi Model 3B с Raspbian Stretch v9. Скорее всего, оно будет работать и для более новых версий TensorFlow.
Посмотрите видео о работе детектора:
Код с Object_detection_picamera.py доступен на GitHub. Его можно использовать и для других задач обнаружения объектов. Код для Pet Detector здесь.