Чья это мордочка? Мы создали систему идентификации животных — вот как она работает

Рассказываем про нейросеть, обученную на самом милом датасете.

Чья это мордочка? Мы создали систему идентификации животных — вот как она работает

Каждый владелец кошки или собаки уверен, что его питомец уникален. Они абсолютно правы! Все животные имеют свои неповторимые особенности. Это позволило нам разработать программу по идентификации кошек и собак на основе искусственного интеллекта. Разработку мы внедрили в страховой продукт «Питомец под защитой» от СберСтрахования. Сейчас нейросети могут распознать кота или собаку по мордочке. Рассказываем о том, как работает система идентификации, и почему мы обучали её на фотографиях плюшевых игрушек.

Нейросеть умеет отличать даже очень похожих друг на друга животных. Сейчас качество сравнения двух мордочек питомцев составляет 94% для собак и 84% — для кошек. У разработки большой потенциал: при определенной модификации в будущем ее можно будет использовать не только в страховых продуктах, но и в социальных проектах. Например, в поиске потерявшихся животных.

Как работает наша система распознавания животных

Изначально казалось, что надёжно (в смысле требований страховых продуктов) идентифицировать собак или кошек проблематично. Гипотезу проверяла совместная команда разработчиков из Управления благосостояния, Лаборатории робототехники и Управления исследований и инноваций Сбера.

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

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

На первом этапе последовательно работают три алгоритма. Вот они:

Модель №1 — распознает на изображении мордочку питомца и ее положение в пространстве.

Модель №2 — определяет вид животного (кошка это или собака);

Модель №3 — находит ключевые точки: глаза и нос питомца.

Третья модель имеет уникальную, разработанную нами архитектуру, которая превзошла все прочие решения по скорости и качеству в процессе тестирования.

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

Чья это мордочка? Мы создали систему идентификации животных — вот как она работает

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

На втором этапе модель получает два изображения мордочек. Он сравнивает фото и выдает степень уверенности в их схожести от 0% до 100 %.

Чья это мордочка? Мы создали систему идентификации животных — вот как она работает

Система анализирует особенности строения мордочек, которые нельзя изменить, например расстояние между глазами. База для обучения этой модели составляла 3 500 изображений для кошек и 5 000 для собак и продолжает расти. Если животное незначительно изменится, например немного подрастёт или наберёт вес, то модель всё равно его узнает.

В приложении Сбербанк Онлайн в связке с другими процессами скорость обработки одной фотографии составляет от 1 до 3 секунд. Найти сервис можно в приложении, просто вбив в поисковой строке «Питомец под защитой».

Точность распознавания и тонкости, связанные с волками

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

Во-первых, это может затруднить распознавание домашних животных, похожих на волков и диких кошек. Это актуально для владельцев хаски и маламутов — эти собаки по фенотипу очень похожи на волков. Если научить систему исключать все объекты, похожие на волков, владельцы хаски и маламутов могут получить ложные отрицательные ответы по верификации фото их питомцев. То же самое может произойти и с домашними кошками экзотических пород. Бенгалы, например, похожи на своих диких сородичей. А во-вторых, среди домашних питомцев в России крайне мало одомашненных диких хищников. Большой необходимости в их распознавании нет.

Где сейчас используется ИИ-распознавание питомцев

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

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

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

Инструкция: как сделать идеальное фото питомца

Чтобы фото подошло для загрузки в систему, нужно следовать несложным правилам.

Фотографируйте прямо. Представьте, что фотографируете питомца на паспорт. Сделайте кадр, где он смотрит прямо в камеру и мордочка хорошо видна.

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

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

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

1313
23 комментария

У меня балкон на 8 метров и кот который норовит запрыгнуть на заграждение и свалится с 5 этажа. 1 раз ему уже это удалось. Реабилитация встала в 200тр. и окончилась проблемами, которые не исправить. Поэтому я интересуюсь видео системой раннего оповещения о подготовке кота к прыжку и выдачи контрольного звукового предупреждения типа Нельзя. Можете такую фичу допилить ?

2
Ответить

Лучше поинтересуйтесь психологическим климатом в семье... Кот-самоубийца - наводит на размышления.

3
Ответить

И при этом экономите на чипе?

Ответить

Интересная штука! Попробовать надо бы

Ответить

Вот же вруны-выдумщики, а :)

Ответить

Гугл ленз давно породу определяет, зачем нужен ваш велосипед?

Ответить