Чтобы отвадить кота от привычки оставлять «подарки» на газоне, можно использовать разные способы: силки для мелких животных, самодельные ловушки из ящиков с кирпичом на крышке и приманкой внутри, народные методы вроде обмазанных чесноком корок цитрусовых. Наконец, можно сидеть весь день с тапком в руке.
Инженер Nvidia считает, что поступать так с соседскими животными — как-то не по-соседски. К тому же он хотел попробовать нейросети на практике. Поэтому он использовал более продвинутый метод: он взял плату Nvidia Jetson TX1, IP-камеру Foscam, плату для разработки Particle Photon, подсоединённую к реле, и домашнюю систему полива газона. Коты мокрые — но живые и здоровые.
Котам свойственно территориальное поведение, и их территория вовсе не совпадает с землёй хозяина. Коты метят территорию, а ходят по-большому часто на приграничных участках. Интересно, что такие приграничные участки могут делить по времени сразу несколько животных. Отвадить их от такого поведения — тяжело: несмотря на отличную память, сложно заставить кота ассоциировать владельца участка с самим участком. Членовредительские методы мало того, что негуманны, так ещё и неэффективны — на пустующую территорию придут новые коты.
Инженер Nvidia Роберт Бонд разработал собственный метод борьбы с «подарками» на газоне. Он использовал нейросеть глубокого обучения и платформу для разработки Jetson TX1 для распознавания котов и включения системы полива. «Моя жена любит наш сад, и он должен быть аккуратным и чистым», — говорит 65-летний разработчик программного обеспечения.
IP-камера Foscam FI9800P смотрит на передний двор и следит за изменениями. Если движения есть, она высылает по FTP 7 снимков разрешением 640×480, один в секунду. Их получает плата Jetson TX1, которая постоянно готова принять изображения и пропустить их через нейронную сеть глубокого обучения Caffe.
Для получения фото на обработку и отправки команды на полив на Jetson настроена точка доступа Wi-Fi. К Jetson подключены небольшой USB-хаб и твердотельный накопитель по SATA. В хаб инженер воткнул два «свистка» для связи с клавиатурой и мышью. На SSD Бонд установил Caffe, используя рецепт от JetsonHacks. Нейросеть работает на CUDA седьмой версии. Бонд рекомендует использовать CEVA Deep Neural Network для экономии памяти.
После перебора нескольких нейросетей инженер остановился на Fully Convolutional Network for Semantic Segmentation (FCN). На Jetson Fcn32 работает хорошо, занимая чуть больше 1 ГБ памяти, запускается всего за 10 секунд и работает с картинкой 640×480 примерно за треть секунды.
На компьютере с GTX Titan Бонд обучил нейросеть фотографиями найденных в Интернете котов. Обошлось не без курьёзов — один раз нейросеть приняла тень за кота и намочила Бонда.
Когда система глубокого обучения узнаёт в движущемся объекте кота, она даёт команду плате Particle Photon, работающей с реле, подсоединённому к системе полива. Справа на перфорированной картонной основе — Photon, слева — реле. При получении нужной команды реле замыкается, включая душ для котиков на две минуты.
Примеры работы системы представлены на изображениях. Сначала кот попадает в поле зрения камеры, которая делает фотографию. На второй фотографии мы видим пяточки котика — он облитый водой убегает со двора. Никаких опасных химических веществ, никаких силков и капканов, которые могут навредить коту, никаких ударов палками и бросков ботинками. Только чистая вода.
Как подчёркивает компания-производитель платы Jetson, на весь проект ушло порядка 10—15 часов работы. Система уже может определять местоположение котов. Бонд планирует использовать возможности в софте и довести проект до точечной атаки.
В прошлом уже были подобные проекты, где животных распознают и отпугивают. Blender Defender — это что-то похожее, но для защиты от домашнего кота цветов и других полезных и нужных в доме вещей. Название связано с блендером, который вклюется, когда в поле зрения камеры попадает кот, запрыгнувший на стол или на шкаф. Бонусом идёт стробоскоп.
Похожую систему разрабатывал в 2012 году Курт Грандис. У него система компьютерного зрения помогала прицельно стрелять водяным пистолетом Nerf по белкам. Автор этого проекта использовал библиотеку компьютерного зрения с открытым исходным кодом OpenCV.
Неожиданный душ помогает бороться не только с котами и белками — но и с людьми. К сожалению, это полностью ручная система, но её можно сделать с помощью тех же инструментов, которые использовал Роберт Бонд.
Автор: ivansychev