Артём Кравчук
тренер,
учит красоте
Анжела Дружинина
продакт UGC
Сортировка фото по красоте
Фотографии в карточках компаний показываются по дате добавления. Из-за этого в начале галереи часто оказываются некрасивые фотографии. Не дело! Сделали новый алгоритм сортировки, чтобы вверху карточки были красивые фото.
Сейчас мы во всех карточках разово поменяли сортировку фото в галерее. Подняли вверх фотографии от владельцев и от профессиональных фотографов из некоторых сторонних источников (например, «Афиши» и RoketData), а остальные фото отсортировали по нашему новому алгоритму, который считывает привлекательные и красивые снимки.
Про хакатон и то, как это работает
Задачу начали делать на внутреннем хакатоне — наша команда набрейнштормила несколько идей, среди которых была сортировка по красоте. Выбрали эту идею по нескольким причинам:
  • это точно полезно в продукте;
  • понятно, как делать;
  • реально сделать прототип в короткие сроки.
На хакатоне у нас был план — и мы почти его придерживались
Здесь нам тоже помогли нейросети. При работе с ними секрет успеха — это большой и хорошо размеченный датасет. Для нашей задачи размеченный датасет — это очень много пар фоток, для каждой из которой должно быть сказано, какая из двух красивее.

Сбор собственного датасета — это сложная и долгая задача. Нужно много экспериментировать и анализировать, чтобы получить качественный датасет самим. Поэтому для хакатона мы воспользовались открытым (собранным не нами) датасетом. Он сэкономил нам много времени, но в ближайшем будущем мы всё равно будем собирать свой, потому что:
  • к открытому датасету много вопросов — например, фото с фильтрами из инстаграма в нём считаются ну очень красивыми;
  • мы не можем им управлять и докручивать под наши нужды — например, нам будет очень сложно исправить его так, чтобы он начал считать тараканов некрасивыми. (особенно, если это 4k-таракан с фотофильтрами).
На открытом датасете мы научили нейросеть выставлять рейтинг фотографиям. Например, вот самое красивое, по мнению нейросети, фото у оперного театра — и тут с ней сложно поспорить.
Но что если фотограф снял эту артистку десять раз с немного разных ракурсов и загрузил в 2ГИС? Тогда вверху карточки оказалось бы десять очень похожих фотографий — и это не очень интересно. Поэтому нужно скорректировать алгоритм так, чтобы вверху карточки оказывались самые красивые, но при этом разнообразные фото. Для этого мы кластеризуем все фотографии карточки по похожести и из каждого кластера достаём по самому красивому снимку.
Двигайте слайдеры, чтобы сравнить, как изменилась вкладка с фотографиями в карточках Исаакиевского собора и Новосибирского театра оперы и балета. Старые вкладки с фото — слева в каждой паре, новые — справа
Что было после хакатона
На хакатоне мы выгрузили все фотографии Новосибирска и показали на них работу алгоритма. Но одно дело PoC на небольшой офлайн-выгрузке данных, и совсем другое — сделать так, чтобы система заработала, когда к нам непрерывно поступают новые фото от пользователей. Собственно, это и было сделано.

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

Также важно улучать наш алгоритм по красоте. Главная задача — собрать свой датасет. Задача не из простых, потому что у каждого своё представление о прекрасном. Формализовать и выделить однозначные критерии «красивости» — то ещё упражнение.

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