DAM узнает его из тысячи: как в систему управления цифровыми активами внедрили распознавание лиц

Меня зовут Сергей Фомин, я CEO IT-компании Picvario. По совместительству — основатель фотоагентства «Русский Взгляд», среди клиентов которого крупные российские компании и ведущие СМИ (RT, «Аргументы и факты», ВГТРК, «Известия»). На серверах агентства хранится 20 млн изображений. И каждый день добавляется 20 тысяч новых. Около 3 500 наших снимков в день публикуют СМИ.

Что такое DAM-системы

По мере увеличения архивов операции по поиску фото и видеоматериалов становятся всё более трудозатратными. Пользователям недостаточно стандартного функционала сервисов для хранения данных. За границей уже много лет для работы с архивами медиафайлов используют DAM-системы (Digital asset management — «управление цифровыми активами»).

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

Продвижение медцентров и клиник: три кейса о SEO, TikTok и Instagram*

Как получить измеримые результаты в фарммаркетинге.

Показываем на примерах →

Спецпроект

Почему мы начали разрабатывать собственную DAM-систему

Зарубежные DAM-системы развиваются более 15 лет и имеют много преимуществ. Но у них есть недостатки: неудобный интерфейс, сложность в освоении, высокая цена, языковой барьер, хранение данных на зарубежных серверах.

В 2019 году мы приступили к разработке DAM-платформы Picvario. И уже к середине года получили первых российских клиентов.

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

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

Поскольку для клиентов было важно хранение данных на российских серверах, нам требовался отечественный продукт для распознавания лиц. Мы обратились к рейтингу Национального института стандартов и технологий при министерстве торговли США, который с начала 2000-х годов публикует отчёт о мировом рынке таких решений.

В рейтинге оказались три российских компании: NtechLab, Vision labs и 3DiVi. Однако ни у одной из них на тот момент не оказалось облачного продукта, а нам это было важно для скорейшего внедрения функционала.

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

Дальнейший поиск привёл нас к Vision от Mail.Ru — технологии распознавания лиц и объектов на базе машинного обучения и искусственных нейронных сетей.

Читайте также  Как автостратегии с оплатой за конверсии помогли пиццерии «Папа Джонс» сохранить показатели в условиях самоизоляции и повысить доход на 31%

Первый этап: внедрение технологии

В Mail.ru существует справочник лиц NameSpace, представляющий собой обученную нейросеть. После добавления в систему нейросеть присваивает лицу номер Xid. После этого достаточно искать по ID персоны.

Отображение персон в Picvario

Для связи и управления справочником лиц между нейросетью NameSpace и платформой Picvario мы создали наш собственный сервис Vision, который обрабатывает API-запрос от Picvario, передает его в NameSpace и получает ответ от Mail.ru. Кроме того, Vision выполняет функции пользовательского кабинета для управления справочником лиц и позволяет присвоить персоне имя.

Добавление ФИО в справочнике лиц Vision

Поиск по ФИО в Picvario теперь доступен

Николай Дроздов — публичная личность, поэтому мы добавили его лицо в общий справочник Picvario, указав, что он «селебрити». При поиске в любой инсталляции система узнает его в лицо. Например, при загрузке изображения со спортивной трибуны или со светского мероприятия.

Разумеется, есть возможность и скрыть ФИО распознаваемых лиц, сделав их доступными только для конкретной инсталляции, например в случае с лицами сотрудников завода или ребят с детского турнира.

Что мы поняли после первого этапа

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

Кроме того, возникли проблемы с масштабированием. Распознавание работало идеально, пока в архиве фотографий было 100 персон. Когда количество персон возросло до 150 000, обработка запросов замедлилась.

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

В итоге были выделены три задачи для доработки справочника лиц:

  • объединение нескольких персон в одну, так как иногда одного и того же человека нейросеть распознавала как двух разных;

  • разделение персон в случаях, когда два похожих человека идентифицировались как одна персона;

  • удаление персон из справочника лиц.

Второй этап: доработка сервиса

На втором этапе мы занялись доработкой нашего кабинета пользователя Vision, связывающего DAM-систему со справочником NameSpace.

1. Объединение персон

Исходные данные: фотографии Дрю Бэрримор.

Распознавание лица Дрю Берримор в разном возрасте

Нейросеть идентифицировала актрису в детстве (person13328) и в зрелом возрасте (person49074) как двух разных персон. Задача по объединению персон решается с помощью объединения параметров в Vision — уникального Xid персоны.

Пользователь должен указать, что person13328 и person49074 — один и тот же человек. При новых запросах, связанных с этими персонами, Picvario выдаст нам все изображения, касающиеся обеих персон. В справочнике Mail.ru эти лица по-прежнему принадлежат разным людям.

Объединение лиц в Vision

2. Противоположная задача: разделение персон

Мила Йовович и Линда Евангелиста очень похожи. Система воспринимала их как одну персону.

Похожие лица нужно «разбивать» в Vision

Читайте также  7 правил хорошего кейса. Личный топ Кирилла Кириллова, AIR Production

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

3. Удаление персон, которых не планируется искать: зрители в концертном зале, болельщики на трибунах

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

Кроме того, на первом этапе внедрения поиск нужной персоны для управления в Vision отнимал много времени и был доступен только по его имени. Впоследствии для удобства клиентов мы реализовали ещё несколько алгоритмов, например, поиск по идентификатору персоны и номеру изображения в Picvario.

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

Источник фото на тизере: Alex Iby on Unsplash

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.

Источник: cossa.ru

Строй Сам