Как собрать аудиторию по фотографиям пользователей «ВКонтакте» с помощью нейросети

В России по разным оценкам у 11-14% людей есть проблемы со зрением. Для бизнеса очкарики — масштабный и привлекательный рынок, а для рекламщиков — ад. Эту аудиторию трудно достать стандартными инструментами таргетинга. Главный таргетолог компании «Ашманов и партнёры» Артём Седов рассказал, как они с коллегами нашли 263 тысячи москвичей в очках во «ВКонтакте».

Тестируем нейросеть с коллегами из «Ашманов и партнёры»

Почему рекламодателям трудно найти очкариков

У меня с детства слабое зрение и мне ни разу не попадалась реклама очков или линз в интернете. Захотелось разобраться, почему рекламодателям трудно найти таких, как я — очкариков, и продать нам что-нибудь полезное.

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

Опрашивают пользователей

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

Парсят сообщества

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

Таргетируются на авторизованных через «ВКонтакте»

Во «ВКонтакте» есть таргетинг на пользователей, которые авторизовались на сайтах (например, клиник) через приложение соцсети.

Строят гипотезы

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

В итоге

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

Как мы нашли 263 тысячи москвичей в очках

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

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

Расскажу коротко, как он устроен.

Мы создали базу фото для нейронной сети, определяющей лица

  • Выгрузили фотографии людей из общедоступных источников: «ВКонтакте», Instagram, «Яндекс», Google — с помощью скриптов, написанных на Python.
  • Почистили выборку в ручном режиме, если в неё попало что-то кроме изображений людей.

Настроили детектор лиц

  • Можно использовать любой готовый детектор лиц. Например, обученный HOG-каскад из dlib для детекции лиц с возможностью запускать нейронную сеть на GPU (для ускорения).
  • На вход даём базу фото людей — на выходе получаем фотографии лиц, вырезанные из исходных фотографий.

Разметили лица с очками и без

  • Поделили лица на две категории: c очками помечаем 1; без очков — 0.
  • Для изображений с большим количеством деталей может потребоваться дополнительная разметка. Например, наша утилита Marker помогает размечать очки с помощью прямоугольников, и в результате сеть узнаёт очки на фото точнее. На выходе получаем набор размеченных фотографий с очками и файл с координатами разметки очков, который удобно использовать для дальнейшего обучения нейросети. В данной задаче этого не потребовалось: сеть отлично справляется с классификацией целых изображений лица с очками и без.

Настроили детектор очков

  • Основная модель — нейронная сеть Resnet-50. Архитектура сети модифицирована и портирована на нейросетевую библиотеку PuzzleLib.
  • На вход подаётся выборка лиц в очках и без. На выходе получаем вероятность от 0 до 1. 1 — человек в очках, 0 — не в очках.
  • Сопоставили людей из соцсетей с выходными данными сети — определили, носит человек очки или нет (порог от 0 до 1 можно выбирать по вкусу – у нас хорошо подошло значение 0,5).

В итоге

За 20 дней работы сервера мы сформировали выборку аудитории из Москвы, которая в очках для зрения на фото «ВКонтакте».

Москвичи в очках — кто эти люди

Во «ВКонтакте» 26,7 млн пользователей из Москвы и области (по данным рекламного кабинета «ВКонтакте»). Мы выяснили, что как минимум 1% из них носит очки для зрения.

Распределение пользователей в очках по половозрастным сегментам (мужчин — 55,89%, женщин — 44,11%)
Доля пользователей в очках среди общего количества пользователей в каждом сегменте
Появление пользователей в сети

Мы нашли самые популярные сообщества среди людей, которые носят очки, и поняли, что единственный признак, которых их объединяет — паблики, связанные с городом (в данном случае). Ещё раз убедились, что стандартный таргетинг по сообществам с этой аудиторией не работает.

Популярные сообщества среди людей со слабым зрением из Москвы

Найти людей с бородой, будущих мам и экстремалов

Поиск людей с плохим зрением — первое, что пришло в голову, чтобы протестировать нейросеть в поиске аудитории. На этой базе мы хотим отладить работу Puzzle, чтобы протестировать создание других сложных аудиторий: людей с бородой или усами, будущих мам, тусовщиков, спортсменов.

0
69 комментариев
Написать комментарий...
Артём Седов

Фото-отчет с etarget2018 из того, что было в телефоне. Нормальные фото и видео с доклада приедут позже. Всем специалиставм понравилось. Представителям ВКонтакте тоже.

Ответить
Развернуть ветку
Rodeus

Очки в руках, очки на лбу. И все. Эти люди не входят в выборку. Но они очкарики, просто очки не на глазах в момент позирования.

Ответить
Развернуть ветку
Артём Седов

Нейросеть ищет очки только на лице

Ответить
Развернуть ветку
Rodeus

Но задача же -- найти людей с плохим зрением, а очкарики могут позировать и с очками в руках, на лбу. Я об этом. Ограничения.

Ответить
Развернуть ветку
Артём Седов

Да не... Ну хорошо. Можно изучить этот вопрос, но пока такие позеры не попадают в базу.

На много выгоднее, например, анализировать больше фотографий. Усилий дополнительных не много, но прирост базы существенный.

Если все мелочи учитывать, то экономика может не сойтись.

Ответить
Развернуть ветку
Rodeus

Да, больше фотографий, если они конечно есть в профиле, помогут.

Ответить
Развернуть ветку
66 комментариев
Раскрывать всегда