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

В России по разным оценкам у 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 комментариев
Написать комментарий...
Наталья Миловидова

А чем вы лучше Memedia Vision?

Они уже давно используют компьютерное зрение для поиска целевой аудитори во ВКонтакте.

Сегодня у них в группе кейс вышел как искать гитаристов для музыкального проекта.

Приложение бесплатное кстати. Отлично работает в паре с другими парсерами.

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

Мимедиа круче, я владельцев животных им искал!

Ответить
Развернуть ветку
Агнец невинный

Ну к мамедиа не припишешь же "ашманов нейросеть" и не продашь в три дорого

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

Подходы разные: мы находим всех пользователей из Вк по требуемому параметру (в простом кейсе в данной статье – только из Москвы, более 20 млн), а Мемедия анализирует загруженный пользователем список аккаунтов.
К слову, пару дней назад, когда они написали в Вк про детектор очков, я пытался воспользоваться их приложением Вк – ничего не работало. Пойду посмотрю, может, починили.

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

Едва ли давно.

Puzzle анонсировал собранную базу 14 марта.

Что касается нашего подхода: мы один раз прогнали всех и больше этого делать не нужно. За счет этого пользовательская база имеет внушительный объем.

Получить базу для серьезной кампании иным способом не рационально.

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

Ну что же, кто-то должен был начать:
Статья 9. Согласие субъекта персональных данных на обработку своих персональных данных
Статья 10. Специальные категории персональных данных
Статья 11. Биометрические персональные данные

Ответить
Развернуть ветку
Игорь Ашманов

А как, кстати, очки на лице относятся к "биометрическим данным"?

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

Комментарий недоступен

Ответить
Развернуть ветку
14 комментариев
Роза Петянова

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

Ответить
Развернуть ветку
Игорь Ашманов

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

Закона об общедоступных данных в РФ пока нет, он сейчас пишется. Вряд ли он позволит ВК считать эти данные своими, приватизировать их.

Ответить
Развернуть ветку
Игорь Ашманов

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

Что там с соглашением с НБКИ, например?

Ответить
Развернуть ветку
Егор Жохов

Ребята - красавцы, рынок нужно встряхнуть новыми технологиями.

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

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

Спасибо за интересную статью! Скажите пожалуйста, как вы отличаете солнезащитные очки от медицинских очков? В обоих случаях очки есть, значит это "1 - человек в очках". Не увидел этого в тексте.

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

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

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

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

Большую смуту вносят пользователи, у которых на аватарке есть этот самый пользователь и друг в очках. Как защититься от такого мы придумали.

Ответить
Развернуть ветку
2 комментария
Иван Колыхалов

Спасибо за метод и статью, работа действительно представляет очень большой интерес! Скажите а как таргетировать эту базу? Спарсили вы аккаунты, окей, а что дальше? ВК не дает таргетить аккаунты, куки на ВК для показов где-то еще вы так же не разметите, поскольку у вас нет доступа к кодам на ВК. Разметить их вы можете только в каких-то приложениях (что долго и не надежно) или кликджеккингом, что вообще дно. Как вы выделите этих юзеров для показов если у вас к их кукам нет доступа? Вне ВК это будет пустая кука. Хм, или я что-то проспал в таргетах вк?

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

Немножко проспали. Но это вопрос содержания статьи. Мы связываем изображение с конкретным аккаунтом. У каждого аккаунта есть идентификатор в URL. В ВК есть специальный раздел ретаргетинга, в который можно загрузить список идентификаторов пользователей. Это весь трюк.

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

Ответить
Развернуть ветку
1 комментарий
Игорь Ашманов

Насколько я понимаю в таргетированной рекламе (это Арём специалист), ВК позволяет загрузить в рекламную кампанию список конкретных аккаунтов, кому показать рекламу.

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

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

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

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

Ответить
Развернуть ветку
4 комментария
Тимур Скериникнейм

https://vk.com/terms

5.8. Обработка персональных данных Пользователя осуществляется в соответствии с законодательством Российской Федерации. Администрация Сайта обрабатывает персональные данные Пользователя в целях предоставления Пользователю доступа к использованию функционала Сайта, в том числе в целях получения Пользователем персонализированной (таргетированной) рекламы; проверки, исследования и анализа таких данных, позволяющих поддерживать и улучшать функционал и разделы Сайта, а также разрабатывать новый функционал и разделы Сайта. Администрация Сайта принимает все необходимые меры для защиты персональных данных Пользователя от неправомерного доступа, изменения, раскрытия или уничтожения. Администрация предоставляет доступ к персональным данным Пользователя только тем работникам, подрядчикам и агентам Администрации, которым эта информация необходима для обеспечения функционирования Сайта и предоставления Пользователю доступа к его использованию. Администрация Сайта вправе использовать предоставленную Пользователем информацию, в том числе персональные данные, а также передавать ее третьим лицам, в целях обеспечения соблюдения требований действующего законодательства Российской Федерации, защиты прав и интересов Пользователей, Администрации Сайта, третьих лиц (в том числе в целях выявления, проверки/расследования и/или пресечения противоправных действий). Раскрытие предоставленной Пользователем информации может быть произведено лишь в соответствии с действующим законодательством Российской Федерации по требованию суда, правоохранительных органов, а равно в иных предусмотренных законодательством Российской Федерации случаях. Поскольку Администрация Сайта осуществляет обработку персональных данных Пользователя в целях исполнения настоящих Правил, в силу положений законодательства о персональных данных согласие Пользователя на обработку его персональных данных не требуется.

Ответить
Развернуть ветку
Игорь Ашманов

Вообще, кстати, стоит внимательнее вчитаться в то, что цитируете. А именно в этот кусок соглашения ВК:

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

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

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

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

Означает то же, что написано в пользовательских соглашениях ФБ, Твиттера, Гугла и прочих:
***Можем и будем использовать ваши данные для рекламы, а также продавать ваши данные своим партнёрам и другим третьим лицам по своему усмотрению. А вы согласились с этим.***

Ответить
Развернуть ветку
Роза Петянова

Что мешает тебе не выкладывать в публичный доступ свои ФИО и фотографии?

Ответить
Развернуть ветку
2 комментария
Марк Рябов

import tensorflow as puzzlelib :)

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

В этом году планируем PuzzleLib в Open Source выложить, сможете сравнить коды библиотек =)

Ответить
Развернуть ветку
Алексей Тарасов

Статья прямо к месту, как раз разработчикам напомнили, что 25-го мая вступает в полную силу GDPR. Вот по ссылке интересный разбор примеров, в том числе там и про определение людей с плохим зрением.
https://medium.com/droidsonroids/what-does-gdpr-mean-for-mobile-app-owners-12-use-cases-e047500772e3

О таких инструментах теперь надо молчать.

Ответить
Развернуть ветку
Игорь Ашманов

Там как раз про проблемы со зрением довольно прикольный ответ. Похоже, они вообще имеют особое мнение про ПРОИЗВОДНЫЕ, вычисляемые данные.

Ответить
Развернуть ветку
1 комментарий
Алексей Иванов

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

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

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

Ответить
Развернуть ветку
Ашманов и партнеры
Автор

Алексей, мы нашли 263 тысячи профилей "в очках" в Москве и области. И эта выборка легко масштабируется за счёт других регионов, если нужен федеральный охват. Очки не единственное, что можно найти на фотографии. Фото содержат массу информации, которая была недоступна для таргетинга, и мы это исправили с помощью машинного обучения. Нам кажется, это важно для маркетологов. Успехов Вам и спасибо за комментарий.

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

Комментарий удален модератором

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