Умная дверь не пускает домой кота с добычей

Американский программист разработал и установил в своем доме небольшую дверь для кота, которая не пускает того, если он пришел с добычей в зубах. Она работает на основе камеры и алгоритма, обученного распознавать кота с добычей, рассказал автор на конференции Ignite Seattle.

Методы и алгоритмы машинного обучения получили большое развитие в последние годы и этот прогресс заметен не только в передовых технологиях, таких как беспилотные автомобили или выявление онкологических заболеваний на ранних стадиях. Это также позволило инженерам-любителям использовать мощные алгоритмы в своих прикладных проектах. Помимо самих алгоритмов доступнее стало и аппаратное обеспечение. Например, Google в 2017 году выпустила недорогую картонную камеру с чипом для аппаратного ускорения нейросетевых алгоритмов.



Американский инженер (Ben Hamm) использовал нейросетевые алгоритмы, чтобы защитить себя от кота, приносящего добычу в дом. Он воспользовался камерой Amazon DeepLens и облачным сервисом SageMaker для обучения алгоритмов. Кроме того, он использовал плату Arduino и подключенный к ней замок, запирающий небольшую дверь для кота. Вся система устроена достаточно просто — если камера распознает добычу в зубах кота, она не пускает его домой, запирая дверь на 15 минут. Кроме того, в этом случае система отправляет небольшое пожертвование в Национальное Одюбоновское общество, занимающееся в том числе защитой птиц, страдающих от домашних животных.

Поскольку публично доступных датасетов для такой задачи не существует, инженеру пришлось создать датасет самому. Он оставил камеру включенной и собрал почти 23 тысячи кадров. Их пришлось разметить вручную, разбив на четыре класса: кадр без кота, кадр с идущим к двери или от нее котом, а также кадр с котом с добычей в зубах. Соответственно, работа трех обученных моделей происходит в несколько стадий: сначала камера определяет само наличие кота перед ней, затем определяет, идет ли он к двери, а только после этого решает, запирать ли дверь.



Стоит отметить, что в абсолютном большинстве случаев кот появлялся перед камерой без добычи, и в датасет попали лишь 260 кадров с добычей. Для сравнения, каждому из трех остальных классов в датасете соответствуют более шести тысяч снимков. Такой дисбаланс в обучающей выборке и малый размер выборки для определения добычи усложняет обучение алгоритмов. Тем не менее, за пять недель работы системы она лишь раз не пустила кота, когда тот был без добычи в зубах, а также корректно распознала добычу в четырех из пяти случаев.

Интересно, что похожий проект был реализован в 2002 году с помощью гораздо более простого оборудования и без нейросетевых алгоритмов. Инженер использовал метод, при котором кошка подсвечивается фонарем и простой алгоритм анализирует форму тени на кадрах с цифровой камеры.

Нейросетевые алгоритмы использовали и для других применений, связанных с котами. Например, в 2016 году американский программист научил нейросеть распознавать котов на участке и активировать систему полива, отпугивающую животное.

Григорий Копиев

Читать статью в источнике