Исследователи ВШЭ создали технологию, которая поможет нейросетям более точно и быстро идентифицировать отдельных людей на видео, определять их возраст и пол. Разработка уже стала основой для систем оффлайн-распознавания в мобильных приложениях на платформе Android.
Современные нейронные сети с вероятностью 90% определяют пол людей на видео. С возрастом все гораздо сложнее. Традиционно берется промежуток от 1 до 100 лет: нейросеть по каждому видеокадру оценивает степень уверенности в том, что человек на изображении соответствует определенному возрасту. Например, если на 30% кадров сеть считает, что человеку 21 год, а на 10% — что 60 лет, ее вывод будет таким: с 30% вероятностью возраст составляет 21 год, с вероятностью 10% — 60 лет. При этом из-за условий съемки или даже при небольшом повороте головы предсказание возраста одного и того же человека на разных кадрах колеблется в диапазоне плюс-минус 5 лет.
Команда специалистов в области компьютерного зрения из ВШЭ под руководством профессора Андрея Савченко нашли способ оптимизировать работу нейросетей. Эксперименты на нескольких наборах видеоданных показали, что технология позволяет реализовать самые точные на сегодня алгоритмы распознавания пола и возраста на видео в сравнении с известными сверточными нейросетями VGGFace, VGGFace2, Light CNN, DEX, age_net/gender_net.
Исследователями был реализован новый способ агрегации степеней уверенности, выданных нейронной сетью для каждого кадра, на основе математической статистики и теории Демпстера-Шафера. Обычно в системе анализа изображений лиц есть несколько отдельных нейронных сетей: одна идентифицирует человека, другая определяет пол и т.д. В итоге была разработана эффективная нейронная сеть с несколькими выходами, которая одновременно решает несколько задач — предсказывает возраст, пол и выдает набор из 1000 чисел (вектор признаков). Именно они уникально характеризуют каждого человека и позволяют отличить его от других людей. Кроме того, как отмечают ученые, это решение работает даже на малопроизводительных смартфонах.
На данный момент исследователи масштабировали решение на мобильные приложения на платформе Android. Нейросеть собирает информацию о круге общения пользователя, составе семьи и возрастных характеристиках ближайшего окружения. Система работает офлайн, обрабатывая фото и видео непосредственно на смартфоне конкретного пользователя. Это отличает ее от аналогичных разработок, которые анализируют профили и тексты комментариев в социальных сетях, таких как Instagram.
Разработкой уже заинтересовались крупнейшие производители смартфонов. Эти данные могут использоваться компаниями для создания различных рекомендательных систем. Например, если у пользователя много контента с годовалым ребенком, ему будет предложена реклама детского магазина. Если на фото много знакомых в определенные даты — смартфон предложит ресторан для вечеринки.
«Гаджет — спринтер на короткие дистанции, он быстро разряжается. Поэтому важно было, чтобы телефон с программой работал быстро, а разряжался медленно. Чтобы не тратить время и заряд батареи, анализ изображений проводится с помощью нашей эффективной нейросети, — объяснил Андрей Савченко. — При этом мы уделяем большое внимание приватности — вся обработка осуществляется исключительно на смартфоне, на котором работает человек. Телефон отправляет информацию на удаленный сервер, эти данные не видят и не анализируют другие люди. На сервер попадают не фотографии, а сформированный профиль — демографические и социальные данные. Например: на фото чаще всего встречаются 4 женщины, 2 мужчины, а еще вы любите ходить в Макдональдс. Это позволяет транслировать конкретному пользователю именно ту рекламу, в которой он заинтересован».