2019/09/18 23:32:05

Как системы компьютерного зрения и нейросети помогают сохранять популяцию амурских тигров

Что общего между амурскими тиграми и компьютерным зрением? Как нейронные сети помогают сохранению редких животных? Ответы на эти вопросы дает система контроля популяции и передвижения амурских тигров, созданная российскими разработчиками. Уникальный проект, реализованный специалистами компании «Системы компьютерного зрения» (входит в группу компаний «Ланит»), позволяет идентифицировать особей амурского тигра по снимкам с фотоловушек при помощи алгоритмов компьютерного зрения и свёрточных нейронных сетей.

Содержание

Амурскому тигру угрожает вымирание. Этот вид внесен в Красную книгу России и находится под охраной и особым контролем государства. В 2013 году по инициативе Президента России В.В. Путина Русским географическим обществом был создан фонд Центр «Амурский тигр»[1], в задачи которого входит сохранение и увеличение популяции редкого вида. Важнейшим элементом выполнения данной задачи является ежегодный мониторинг количества особей и их перемещений в ареале обитания.

Большим подспорьем в этом нелегком деле стали фотоловушки, делающие снимки попавших в кадр тигров. Ареал обитания одного тигра (или семьи) – несколько сотен квадратных километров. Тигры ходят привычными для них тропами и к привычным местам. Поэтому фотоловушки расставляют вдоль таких троп и вокруг их излюбленных мест. Расстояния между фотоловушками в пределах таких маршрутов составляют сотни метров, километры, а в пределах излюбленных мест может быть расположено сразу несколько фотоловушек.

Кадр из фотоловушки

Автоматизация процесса обработки данных с фотоловушек

Специалистам приходилось вручную просматривать и обрабатывать огромный массив данных и по уникальному рисунку шкуры зверя определять каждого тигра, анализировать его передвижение по территории заповедника. В Центре «Амурский тигр» возникла идея автоматизировать этот трудоемкий и длительный процесс и создать систему контроля, которая смогла бы упростить и ускорить идентификацию амурских тигров.

Так как «Системы компьютерного зрения» («СКЗ») имеют обширный опыт и масштабные наработки в области распознавания образов и видео, заказчик обратился к специалистам именно этой компании для проведения предварительных исследовательских работ и дальнейшей реализации проекта.TAdviser выпустил Гид по российским операционным системам 10.4 т

Проект реализовывался на территории одного из заповедников амурского тигра и на начальном этапе перед разработчиками «СКЗ» стояло несколько задач. Первая из них заключалась в том, чтобы найти на фотографии всех тигров и убедиться, что на снимке оказались именно тигры (в кадр могло попасть и другое животное). Кроме того, в кадре могли оказаться сразу несколько тигров, поэтому требовалось использовать подход, позволяющий распознавать «попавшихся» полосатых по отдельности и не путать рисунки на их шкурах. Вторая задача заключалась в том, чтобы аккуратно выделить контур тигра на фотографии для дальнейшей идентификации. На следующем этапе, после завершения всех перечисленных операций тигр должен был быть сравнен с имеющейся базой и идентифицирован.

Использование нейросети

Для комплексного решения обозначенных задач с точки зрения компьютерного зрения было решено применить одну из лучших на данный момент свёрточных нейронных сетей с архитектурой Mask R-CNN. Особенностью этого комбинированного подхода в обработке изображений является использование как описывающих прямоугольников (bounding boxes, обнаружение на снимке объектов, потенциально представляющих интерес), отвечающих за решение задач детекции и классификации (алгоритмы семейства SSD — Single Shot Detector, определение вида объекта), так и семантической сегментации.

Обработка кадра сетью Mask R-CNN

Mask R-CNN способна выделять на снимках «маски» (контуры искомых объектов для присвоения каждому пикселю на фотоснимке определенного класса), даже при условии, что объекты имеют разный размер, на снимке присутствует несколько экземпляров и они частично перекрывают друг друга. Простых описывающих треугольников в данном случае было бы недостаточно, так как интерес представляли только рисунки на шкуре тигров и нужно было свести к минимуму присутствие всего лишнего. Поэтому, по сути, детекция сводилась к сегментации, выполняющей обе задачи.

Пример работы сети Mask R-CNN по распознаванию дорожной обстановки

Особенности идентификации

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

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

Решая эту нетривиальную задачу компьютерного зрения, разработчики, обдумав и опробовав разные подходы, пришли к нестандартной идее – адаптировать доступные наработки по распознаванию человеческих лиц под решение поставленной задачи. Известно, что расположение полос на шкуре каждого тигра является уникальным и никогда не повторяется дважды. Именно по этому признаку было решено проводить идентификацию особей. Если в базе имеются данные, например, о тигре Барсике, то сличение с вновь полученной и обработанной с помощью Mask R-CNN картотекой тигров, позволит определить попался ли именно этот Барсик в объективы камер, где и когда это произошло. Если в имеющейся базе нет информации о тигре со снимка – то сотрудникам заповедника необходимо будет занести новичка в нее.

За основу был взят алгоритм FaceNet (от Google), который в настоящее время широко используется для создания систем по идентификации человека по лицу. Данный подход состоит в том, что нейронная сеть обучается видеть различия в человеческих лицах, выделяя необходимые признаки. В результате обработки алгоритмом вычисляются значения признаков, закодированные в некое N-мерное пространство, что позволяет набор для одного лица сравнивать с набором другого, просто взяв расстояние между ними в этом пространстве. Нейронная сеть будет минимизировать расстояние между схожими изображениями и максимизировать между различающимися.

Команда разработчиков адаптировала данный подход для сравнения уникальных полосок на тигриных шкурах. На данном этапе пришлось столкнуться с множеством сложностей, связанных с недостаточностью данных. По сравнению с идентификацией лица человека, информации по тиграм было в миллионы раз меньше, а сбор новых данных был затруднен – просмотр полосок на шкуре не всегда возможен, в ночное время снимки с фотоловушек невысокого качества, широкий разброс вариантов поз и ориентаций животных…

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

В конце концов, удалось достичь тестовой точности в 97% у детектора и примерно 87-100% у распознавателя (в зависимости от настроек, можно жертвовать фотографиями с низкой уверенностью или когда у тигра слишком мало примеров), что при таком маленьком объеме данных является отличным результатом.

Примеры обработки снимка распознавателем во время ранних тренировок сети

Итоги проекта

В финальной части проекта система приобрела удобный веб-интерфейс, появилась возможность вносить информацию о тиграх, обитающих в заповеднике (уникальный идентификатор, имя, пол, возраст), загружать изображения с фотоловушек, проставлять родственные связи между особями, просматривать информацию о том, сколько раз был сфотографирован тигр, карту с его фотографиями. Намного удобнее работать с электронной базой тигров, чем хранить эту информацию в бумажных папках. Веб-интерфейс выполнен в современном стиле и адаптирован под HD-мониторы.

Личная карточка тигра
Веб-интерфейс системы

Компания «Системы компьютерного зрения» искренне гордится этим проектом, ведь он поставил перед командой разработчиков уникальную и сложную задачу, заставил поломать головы над ее решением и в итоге добиться отличного результата. Ну и, конечно, особую радость приносит понимание, что разработанная система поможет сохранению редкого вида и позволит исследователям узнать много нового о популяции амурских тигров, а также автоматизирует ручной труд сотрудников заповедника, освобождая их время для более важной работы.

Примечания