Чтобы отвадить кота от привычки оставлять «подарки» на газоне, можно использовать разные способы: силки для мелких животных, самодельные ловушки из ящиков с кирпичом на крышке и приманкой внутри, народные методы вроде обмазанных чесноком корок цитрусовых. Наконец, можно сидеть весь день с тапком в руке.
Инженер Nvidia считает, что поступать так с соседскими животными — как-то не по-соседски. К тому же он хотел попробовать нейросети на практике. Поэтому он использовал более продвинутый метод: он взял плату Nvidia Jetson TX1, IP-камеру Foscam, плату для разработки Particle Photon, подсоединённую к реле, и домашнюю систему полива газона. Коты мокрые — но живые и здоровые.
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/7a0/a0f/254/7a0a0f254f94ba50730a5d8d77dbc106.jpg)
Котам свойственно территориальное поведение, и их территория вовсе не совпадает с землёй хозяина. Коты метят территорию, а ходят по-большому часто на приграничных участках. Интересно, что такие приграничные участки могут делить по времени сразу несколько животных. Отвадить их от такого поведения — тяжело: несмотря на отличную память, сложно заставить кота ассоциировать владельца участка с самим участком. Членовредительские методы мало того, что негуманны, так ещё и неэффективны — на пустующую территорию придут новые коты.
Инженер Nvidia Роберт Бонд разработал собственный метод борьбы с «подарками» на газоне. Он использовал нейросеть глубокого обучения и платформу для разработки Jetson TX1 для распознавания котов и включения системы полива. «Моя жена любит наш сад, и он должен быть аккуратным и чистым», — говорит 65-летний разработчик программного обеспечения.
IP-камера Foscam FI9800P смотрит на передний двор и следит за изменениями. Если движения есть, она высылает по FTP 7 снимков разрешением 640×480, один в секунду. Их получает плата Jetson TX1, которая постоянно готова принять изображения и пропустить их через нейронную сеть глубокого обучения Caffe.
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/e9b/296/66b/e9b29666be183c81ffee184e092b5a6d.jpg)
Для получения фото на обработку и отправки команды на полив на Jetson настроена точка доступа Wi-Fi. К Jetson подключены небольшой USB-хаб и твердотельный накопитель по SATA. В хаб инженер воткнул два «свистка» для связи с клавиатурой и мышью. На SSD Бонд установил Caffe, используя рецепт от JetsonHacks. Нейросеть работает на CUDA седьмой версии. Бонд рекомендует использовать CEVA Deep Neural Network для экономии памяти.
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/4e9/a98/fe3/4e9a98fe3d378f22287b23a837b44aa1.jpg)
После перебора нескольких нейросетей инженер остановился на Fully Convolutional Network for Semantic Segmentation (FCN). На Jetson Fcn32 работает хорошо, занимая чуть больше 1 ГБ памяти, запускается всего за 10 секунд и работает с картинкой 640×480 примерно за треть секунды.
На компьютере с GTX Titan Бонд обучил нейросеть фотографиями найденных в Интернете котов. Обошлось не без курьёзов — один раз нейросеть приняла тень за кота и намочила Бонда.
Когда система глубокого обучения узнаёт в движущемся объекте кота, она даёт команду плате Particle Photon, работающей с реле, подсоединённому к системе полива. Справа на перфорированной картонной основе — Photon, слева — реле. При получении нужной команды реле замыкается, включая душ для котиков на две минуты.
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/994/2b8/5da/9942b85da4b3b08a4abe8135e1e45505.jpg)
Примеры работы системы представлены на изображениях. Сначала кот попадает в поле зрения камеры, которая делает фотографию. На второй фотографии мы видим пяточки котика — он облитый водой убегает со двора. Никаких опасных химических веществ, никаких силков и капканов, которые могут навредить коту, никаких ударов палками и бросков ботинками. Только чистая вода.
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/4cf/704/430/4cf704430222c88e86e5ce6c9bb149e8.jpg)
![image](https://habrastorage.org/r/w780q1/getpro/geektimes/post_images/f5a/be9/c91/f5abe9c91895e8a1571525930d9aa521.jpg)
Как подчёркивает компания-производитель платы Jetson, на весь проект ушло порядка 10—15 часов работы. Система уже может определять местоположение котов. Бонд планирует использовать возможности в софте и довести проект до точечной атаки.
В прошлом уже были подобные проекты, где животных распознают и отпугивают. Blender Defender — это что-то похожее, но для защиты от домашнего кота цветов и других полезных и нужных в доме вещей. Название связано с блендером, который вклюется, когда в поле зрения камеры попадает кот, запрыгнувший на стол или на шкаф. Бонусом идёт стробоскоп.
![image](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/eb5/a11/a78/eb5a11a789aa3cad426d08d6f33f4284.png)
Похожую систему разрабатывал в 2012 году Курт Грандис. У него система компьютерного зрения помогала прицельно стрелять водяным пистолетом Nerf по белкам. Автор этого проекта использовал библиотеку компьютерного зрения с открытым исходным кодом OpenCV.
![image](https://habrastorage.org/r/w1560/getpro/geektimes/post_images/6c4/fc3/349/6c4fc334950332c2cf70c200978215ff.png)
Неожиданный душ помогает бороться не только с котами и белками — но и с людьми. К сожалению, это полностью ручная система, но её можно сделать с помощью тех же инструментов, которые использовал Роберт Бонд.
Инженер Nvidia считает, что поступать так с соседскими животными — как-то не по-соседски. К тому же он хотел попробовать нейросети на практике. Поэтому он использовал более продвинутый метод: он взял плату Nvidia Jetson TX1, IP-камеру Foscam, плату для разработки Particle Photon, подсоединённую к реле, и домашнюю систему полива газона. Коты мокрые — но живые и здоровые.
![image](https://habrastorage.org/getpro/geektimes/post_images/7a0/a0f/254/7a0a0f254f94ba50730a5d8d77dbc106.jpg)
Котам свойственно территориальное поведение, и их территория вовсе не совпадает с землёй хозяина. Коты метят территорию, а ходят по-большому часто на приграничных участках. Интересно, что такие приграничные участки могут делить по времени сразу несколько животных. Отвадить их от такого поведения — тяжело: несмотря на отличную память, сложно заставить кота ассоциировать владельца участка с самим участком. Членовредительские методы мало того, что негуманны, так ещё и неэффективны — на пустующую территорию придут новые коты.
Инженер Nvidia Роберт Бонд разработал собственный метод борьбы с «подарками» на газоне. Он использовал нейросеть глубокого обучения и платформу для разработки Jetson TX1 для распознавания котов и включения системы полива. «Моя жена любит наш сад, и он должен быть аккуратным и чистым», — говорит 65-летний разработчик программного обеспечения.
IP-камера Foscam FI9800P смотрит на передний двор и следит за изменениями. Если движения есть, она высылает по FTP 7 снимков разрешением 640×480, один в секунду. Их получает плата Jetson TX1, которая постоянно готова принять изображения и пропустить их через нейронную сеть глубокого обучения Caffe.
![image](https://habrastorage.org/getpro/geektimes/post_images/e9b/296/66b/e9b29666be183c81ffee184e092b5a6d.jpg)
Для получения фото на обработку и отправки команды на полив на Jetson настроена точка доступа Wi-Fi. К Jetson подключены небольшой USB-хаб и твердотельный накопитель по SATA. В хаб инженер воткнул два «свистка» для связи с клавиатурой и мышью. На SSD Бонд установил Caffe, используя рецепт от JetsonHacks. Нейросеть работает на CUDA седьмой версии. Бонд рекомендует использовать CEVA Deep Neural Network для экономии памяти.
![image](https://habrastorage.org/getpro/geektimes/post_images/4e9/a98/fe3/4e9a98fe3d378f22287b23a837b44aa1.jpg)
После перебора нескольких нейросетей инженер остановился на Fully Convolutional Network for Semantic Segmentation (FCN). На Jetson Fcn32 работает хорошо, занимая чуть больше 1 ГБ памяти, запускается всего за 10 секунд и работает с картинкой 640×480 примерно за треть секунды.
На компьютере с GTX Titan Бонд обучил нейросеть фотографиями найденных в Интернете котов. Обошлось не без курьёзов — один раз нейросеть приняла тень за кота и намочила Бонда.
Когда система глубокого обучения узнаёт в движущемся объекте кота, она даёт команду плате Particle Photon, работающей с реле, подсоединённому к системе полива. Справа на перфорированной картонной основе — Photon, слева — реле. При получении нужной команды реле замыкается, включая душ для котиков на две минуты.
![image](https://habrastorage.org/getpro/geektimes/post_images/994/2b8/5da/9942b85da4b3b08a4abe8135e1e45505.jpg)
Примеры работы системы представлены на изображениях. Сначала кот попадает в поле зрения камеры, которая делает фотографию. На второй фотографии мы видим пяточки котика — он облитый водой убегает со двора. Никаких опасных химических веществ, никаких силков и капканов, которые могут навредить коту, никаких ударов палками и бросков ботинками. Только чистая вода.
![image](https://habrastorage.org/getpro/geektimes/post_images/4cf/704/430/4cf704430222c88e86e5ce6c9bb149e8.jpg)
![image](https://habrastorage.org/getpro/geektimes/post_images/f5a/be9/c91/f5abe9c91895e8a1571525930d9aa521.jpg)
Как подчёркивает компания-производитель платы Jetson, на весь проект ушло порядка 10—15 часов работы. Система уже может определять местоположение котов. Бонд планирует использовать возможности в софте и довести проект до точечной атаки.
В прошлом уже были подобные проекты, где животных распознают и отпугивают. Blender Defender — это что-то похожее, но для защиты от домашнего кота цветов и других полезных и нужных в доме вещей. Название связано с блендером, который вклюется, когда в поле зрения камеры попадает кот, запрыгнувший на стол или на шкаф. Бонусом идёт стробоскоп.
![image](https://habrastorage.org/getpro/geektimes/post_images/eb5/a11/a78/eb5a11a789aa3cad426d08d6f33f4284.png)
Похожую систему разрабатывал в 2012 году Курт Грандис. У него система компьютерного зрения помогала прицельно стрелять водяным пистолетом Nerf по белкам. Автор этого проекта использовал библиотеку компьютерного зрения с открытым исходным кодом OpenCV.
![image](https://habrastorage.org/getpro/geektimes/post_images/6c4/fc3/349/6c4fc334950332c2cf70c200978215ff.png)
Неожиданный душ помогает бороться не только с котами и белками — но и с людьми. К сожалению, это полностью ручная система, но её можно сделать с помощью тех же инструментов, которые использовал Роберт Бонд.