При выборе высокой миссии для селфи-танка было несколько вариантов. Очевидно, что ни один из них не выдержал (да и не мог выдержать) конкуренции с котиками.
С некоторым внутренним стеснением я начал гуглить "распознавание котов". Стеснение было связано с тем, что вот пока Элон Маск запускает ракету, я... Однако результат оказался ошеломительным. Оказалось, что человечество бьется над этой задачей не первый десяток лет. На Каггле проводятся соревнования, ученые ищут котиков на гугловой нейросети, на эту тему исписаны километры страниц, но самое главное - OpenCV идет с заранее подготовленным каскадом Хаара, предназначенным именно для котиков и только для них. В общем, среди задач Computer Vision распознавание котиков - на втором месте после голых женщин, и только потом всякие номера, цифры и прочая скукота.
Тестируя каскад на фотках своего кота, я приуныл. Оказалось, кот умеет включать режим стелс и для компа прикидывается чем угодно, но только не собой, даже если смотрит прямо в камеру. Во всем виноват бездушный каскад, решил я. Ведь в него запихали тысячи котиков, слепив из них серую массу и лишив всякой индивидуальности. А каждый кот - уникален и неповторим и заслуживает не меньше, чем отдельного каскада.
Так я засел за обучение каскадов. Потренироваться было решено на диких кошках - и скачал десяток фоток того самого манула и, сгенерив каскад, натравил его на самую известную манулью фотку. Первая же попытка попала точно в цель - кот был найден!
Однако, я недооценил своего кота. Стелс режим никуда не делся и на его личном каскаде. Он по-прежнему периодически маскировался на своих фотках, при этом иногда заставляя комп видеть кошачий образ в спинке стула или картине на стене. В конце концов я сдался и в прошивку танка отправил тот самый массовый и бездушный каскад.
Танк все это время не сидел сложа руки, но интенсивно эволюционировал. На статичной камере с изолентой далеко не уехать, поэтому появился штатив с двумя степенями свободы. Теперь при правильном тангаже кота можно искать даже на потолке.
На место теплой ламповой картонки чотко встала плата из чоорного плексигласса, вырезанная холодным северокаролинским лазером.
Ах да, вместо Zero W вернулась нормальная Raspberry, ибо котиков распознавать не легко, тут мощность нужна, а Zero это все-таки не так много.
И теперь во всеоружии ровер Catfinder вышел на охоту (на ручном правда пока управлении). Миссия, как и предполагалось, оказалась совсем не легкой. Коварный хищник непостижимым образом оставался неуязвим для искуственного интеллекта. Только с нескольких заходов под разными углами иногда удавалось засечь объект.
Маленькие трудовые победы:
Эпичные фейлы:
Тут AI перегрелся и нашел трех котов в одном:
Идея охота на котов, идет охота, на рыжих хищников, матерых и щенков...