Полосатая биометрия

Как усы, лапы, хвост и другие «документы» помогают идентифицировать амурских тигров

Будь у диких животных банковские счета, банкиры уже давно научились бы распознавать клиентов по отпечаткам лап, рычанию или по фотографиям их полосатых мордочек. Пускай в реальности охранять личные финансы тигров не приходится, зато необходимо постоянно следить за изменениями численности этих редких зверей, а еще — за их перемещениями внутри заповедников. Упростить работу специалистов по охране животных могут информационные технологии: разработчики компании «Системы компьютерного зрения», входящей в группу компаний ЛАНИТ, специально для Центра «Амурский тигр» научили нейронную сеть находить и различать тигров на снимках из фотоловушек. О том, как отыскать потерявшуюся в Хабаровском крае большую кошку, не выходя из петербургского офиса, знает главный герой нашего рассказа — программист-поисковик Виталий Утёсов (все персонажи и события этой истории — выдуманные).

Неуловимый зверь

Сергей Антипенко сидит на офисном стуле и легонько отталкивается ногой от пола. Он поворачивается то влево, то вправо, а покрасневшие от усталости глаза не отрываются от какой-то произвольной точки за окном. На рабочем столе остывает двойная порция американо. Часы показывают 03:47. Ученый-зоолог толком не спал уже около 40 часов.

— Сергей Борисович, скоро рассвет. Может, прервемся на сегодня? — тишину разрезал звонкий голос аспирантки Ольги. Антипенко резко повернул голову к монитору и надел очки.

— Ладно, иди. А я еще поработаю… — он открыл огромный архив фотографий и продолжил листать снимки до тех пор, пока не заметил оранжевое пятно.

— Стой! — Антипенко остановил аспирантку в дверях. — Кажется, это она!

Ольга почти незаметно закатила глаза, подошла к монитору и устало произнесла:

— Это Эльза, они с Василисой похожи, но у Эльзы морда немного уже. Сергей Борисович, вам надо выспаться, вы уже не замечаете очевидных вещей.

С тех пор, как наступило время ежегодного мониторинга амурских тигров и в руки Сергея Антипенко попали гигабайты снимков из фотоловушек, он не может нормально спать. Ученый ищет молодую тигрицу Василису, которую полгода назад выпустили на волю после реабилитации. За это время большая кошка ни разу не попадалась на глаза никому из специалистов по охране животных, а ее GPS-ошейник перестал работать уже через месяц — то ли аккумулятор сел, то ли своенравная Василиса решила, что никому не дозволено за ней шпионить.

Зоолог обреченно посмотрел на аспирантку и медленно перевел взгляд на стену у окна, увешанную фотографиями полосатых морд его подопечных: Кузя и Борис, Сайхан и Павлик, а вот и маленькая Василиса — когда-то ее подобрали на дороге, примыкающей к заповеднику. Маму тигренка убили браконьеры, поэтому заботиться о ней стал Сергей Антипенко, переехавший ради этого из Москвы в хабаровскую тайгу.

— Как жаль, что тигры не придумали собственные социальные сети… — грустно пошутил зоолог и тяжело опустился на офисный стул. — Мы бы уже давно знали, как дела у Василисы.

— Зато мы сами можем сделать для них такую сеть, — сонные глаза Ольги вдруг заблестели. — Я кое-что придумала. Наливайте кофе, Сергей Борисович, — в Петербурге еще не спят!

Прочесать цифровой лес

— Алло, Виталик, ты меня слышишь? — Ольга зажала в одной руке мобильник, а в другой — старую записную книжку. — Это Оля Синявкина, мы вместе в 239-м лицее учились. Есть срочное дело — надо найти амурского тигра.

Разработчик «Систем компьютерного зрения» Виталий Утёсов засиделся на работе — надо было поломать голову над важным заказом для одного крупного банка, а именно системой распознавания радужной оболочки человеческого глаза. Он давно потерял Олин телефон, половину слов не понял, да и вообще сильно устал, поэтому грубо отшутился:

— Может, вам лучше в зоопарк позвонить? Или в цирк?

— Очень смешно, Утёсов, — холодно произнесла Ольга, и Утёсов сразу ее узнал. — Задача куда интереснее. Все как ты любишь. Есть огромная база фотографий с фотоловушек из нескольких заповедников Хабаровского края, нужно срочно найти в ней снимки конкретного тигра. На охраняемой территории на днях заметили браконьеров, поэтому мы должны поторопиться. Хорошо бы еще создать что-то типа социальной сети или картотеки для больших кошек, только пускай различать тигров будет компьютер — люди делают это слишком медленно.

— Я понял. Придется прочесать весь лес. Присылай базу — я знаю, как подготовить поисковую операцию, — Виталий почувствовал себя бойцом МЧС. Правда, вместо карты местности и бинокля у него были тысячи снимков лесного массива и нейронная сеть с архитектурой Mask R-CNN — почти что тепловизор, определяющий на изображениях людей, машины, животных и многое другое.

— Эта нейросеть умеет распознавать объекты разного размера и выделять их «маски» — контуры, к тому же она видит сразу несколько объектов и справляется даже тогда, когда экземпляры на фотографии перекрывают друг друга, — продолжал разработчик.

— Сначала нам нужно сузить круг поиска — взять фотографии только тигров, — Ольга уже вошла в роль сыщика.

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

Узнать по полоскам

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

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

Ольга подбирала удачные фотографии потерявшегося зверя — такое задание ей дал Виталий, чтобы правильно обучить свой «поисковый отряд» — нейросеть для распознавания тигров.

В идеале кошка должна была попасть в объектив фотоловушек в нескольких разных позах, а также запечатлеть все стороны своего тела, особенно — полосатые бока. Тогда процесс поиска будет максимально эффективным. Все же до начала поисковой операции было еще далеко: программа хоть и смогла с помощью Mask R-CNN найти всех рыжих кошек в базе, но, как и сам Виталий, была уверена, что все они — на одно лицо, то есть морду.

— Да как вы их там различаете? Все рыжие и полосатые… — разработчик сидел в офисе компании «Системы компьютерного зрения», просматривал получившуюся выборку и пытался понять, пробовал ли вообще кто-то в мире идентифицировать с помощью нейросетей не людей, а животных. И не мог вспомнить ничего подобного.

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

— Тигриные бока — это, конечно, не человеческие лица, но попробовать можно… — сказал Виталий и уже не слушал, что ему ответила одноклассница. Он открыл алгоритм FaceNet — главный сегодняшний инструмент для создания систем идентификации по человеческим лицам, и начал адаптировать его под тигров. — Логика ведь такая же: признаки лица кодируются в евклидово пространство, а нейросеть минимизирует расстояние между похожими изображениями и максимизирует — между различными. По сути, какая разница, что сравнивать, — геометрию человеческих лиц или геометрию черных полосок на тигриных спинах?

Тренировка на кошках

Идея Виталия Утёсова с алгоритмом FaceNet, возможно, была верной, но, чтобы в этом убедиться, «поисковый отряд» надо было хорошенько натренировать — показать программе много-много разных тигров. Вот только их фотографий оказалось в миллионы раз меньше, чем снимков человеческих лиц, а пригодных для тренировки — совсем мало. Быстрые тигры часто выходили на фото смазанными, их позы далеко не всегда годились для обучения нейросети, а ночные съемки редко получались высокого качества.

 — И сколько у тебя набралось удачных снимков из фотоловушек? — Утёсов, чтобы прогнать сон, налил себе еще кофе.

— Сотни четыре с половиной — не больше, — Ольга ответила однокласснику через наушники и забралась с ноутбуком на офисный диван.

— Катастрофически мало! Мои цифровые бойцы просто не поймут, что делать, когда встретят Василису, — сокрушался Виталий. — Придется прибегнуть к агрессивной аугментации датасета, то есть «раздуть» данные для обучения нейросети — кроме 450 фотографий показать ей случайные фрагменты этих же снимков, перевернутые или увеличенные их варианты. Это как написать несколько новых учебников на основе старых — принципиально новые знания «поисковики» вряд ли получат, но основной материал усвоят гораздо лучше.

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

— Девяносто семь! — заорал ноутбук голосом Утёсова. — Девяносто семь процентов — точность детектора! И примерно восемьдесят семь — распознавателя! Считай, что я почти нашел Василису!

Тайная жизнь Василисы

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

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

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

— Такой уж своенравный тигриный характер… — сказала Ольга.

— Видимо, программу еще нужно доработать, — из ноутбука снова донесся голос Утёсова. — Нейросеть видит на последнем снимке две «маски», хотя кроме Василисы там никого нет.

— Нейросеть не врет, — не отрывая взгляда от фотографий, сказал растрогавшийся Антипенко. — Приглядитесь: позади Василисы торчит крохотная лапка, а под ее шеей видна тень от головы маленького тигренка. Она стала мамой.

Картотека полосатых

— Просыпайся, Борисыч! — закричал в телефонную трубку кто-то подозрительно бодрый для четырех часов утра. — Это программист Виталик Утёсов. Я доделал вашу социальную сеть!

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

— Тут полная картотека: клички, фотографии, пол, возраст, уникальный идентификатор каждого тигра, можно даже посмотреть на карте их излюбленные тропы и фотографии оттуда, а еще — проследить все родственные связи кошачьих. Чем тебе не соцсеть «Втайге»? — засмеялся разработчик. — Пока занесли только двадцать особей, но это дело времени. Самое приятное то, что вам больше не придется вручную просматривать сотни фотографий — кроме Василисы нейросеть сможет сама быстро найти и подгрузить туда фотки Кузи, Бориса, Сайхана, Эльзы… Да кого хочешь! Это полноценная система сличения и идентификации амурских тигров.

Антипенко улыбнулся и посмотрел на фотографию Василисы с детенышем, висящую у его рабочего стола. Тигренка назвали Виталием — в честь нашедшего его программиста Утёсова из «Систем компьютерного зрения». К тому же на правом боку зверя красовалась такая же, как у мамы, причудливая буква «В».

— Теперь главное, чтобы тигры не засудили нас за вмешательство в частную жизнь… — пошутил Антипенко, повесил трубку и захрапел.

Полина Огородникова

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Раз-раз и в продакшен

Пять комиксов про худшие практики в IT