Тест, где нужно искать эмодзи-описания, будет после этого текста о том, как старшеклассники придумали приложение и чуть не выиграли хакатон «ВКонтакте». Можете сначала прочитать его — тут много интересного, — а можете сразу проскроллить вниз.
Александр Мамаев
Один из разработчиков приложения, занимается нейронными сетями и ботами в «Тинькофф Банке», учится в 11-м классе
Мы (Александр сотрудничает с Андреем Жевлаковым, веб-программистом из Мордовии, он учится в 10-м классе. — Прим. ред.) участвуем в хакатоне «ВКонтакте» второй год. В прошлом году темой была благотворительность. Мы сделали конструктор, который отображал статус сбора пожертвований в шапке группы в «ВКонтакте». Есть же сайты вроде Wix, где через drag-and-drop накидывают сайт, а мы делали то же самое, только для шапок. К сожалению, конструктор требовал много времени на развитие, и в итоге его закрыли.
В этом году хакатон проходил в Эрмитаже и назывался Art of Coding. Мы хотели сделать что‑то такое, чтобы оно сочетало искусство, модерновость технологий и сами технологии. Вспомнили игру, где нужно по эмодзи отгадывать названия фильмов, и игру Emoji Scavenger Hunt, где показывали какой‑то эмодзи, например, эмодзи часов, и нужно было быстро найти часы где‑то в комнате. Подумали: «Было бы круто вместо фильмов взять картины и соединить эти кейсы: сделать угадывание картин, но не в приложении, когда человек по ним просто кликает, а с геймификацией — чтобы он ходил по залам, чтобы всматривался, чтобы было интересно.
Почему картины Ван Гога легко описать в эмодзи
В Эрмитаже много картин, зачастую они очень сюжетные: ты на них смотришь и понимаешь, что много чего можно описать ограниченным числом эмодзиков. Например, у Ван Гога картины не такие уж абстрактные, они выверенные, в них четко прослеживаются заметные детали, через которые человек сразу понимает, что это за картина. Если посмотрим на картину «Утро. Отправление на работу», то увидим: ослика, женщину и мужчину — сюжет абсолютно понятен, и его можно передать в эмодзи. Все несколько сложнее с французской живописью, например, когда видим такой сюжет: все гораздо сложнее, меньше объектов, меньше действия, просто какой‑то бородатый мужик умирает.
Зачем ради игры с эмодзи ходить по залам Эрмитажа и снимать кучу картин
Хакатон проходил в Главном штабе, и мы были ограничены теми картинами, которые находились там. Из самых интересных объектов была французская живопись, в которой много просто круто выглядящих картин, и зал с русскими импрессионистами. Мы могли бы скачать фотографии в интернете, но проблема в том, что там картины, по сути, отсканированы в идеальных условиях. А в галерее есть рамка, стена, блики — куча вещей, которую со сканом не предусмотреть. Поэтому мы отсняли несколько залов, каждую картину — с нескольких ракурсов: спереди, справа, слева. Далее взяли нейронную сеть, которая была притренирована для более сложной задачи, например, классифицировать картинку в один из тысячи классов: кошка, собака и так далее. Мы сказали ей: «Поменяй задачу: теперь вместо предсказывания тысячи классов ты будешь предсказывать один из 200 классов картин». И дальше обучили ее на картинах, которые у нас были.
Почему нельзя просто так взять и обучить нейронную сеть описывать картины
Описания с эмодзи придумывали сами. Нас спрашивали: «А почему не сделали автоматически?» Проблема в следующем. Определять, что изображено на фотографии, научились давно. Мы могли бы взять сетку, которая определяет, что находится на картине, и сопоставить каждый объект с эмодзи, но тогда не факт, что человек смог бы понять, что находится на картине. Возьмем картину с мужиком, который умирает, — сетка просто поставит эмодзи человека. Ну и что? Непонятен сюжет, непонятно, что вообще происходит. Создание замысловатых ребусов, которые понятны человеку, пока может осуществить только редактор, человек, который закладывает в это какой‑то смысл.
Мы набрали картин, сели и начали брейнштормить, что каждый из нас видит и как все это описать. Самой неочевидной оказалась французская живопись. У нас было две картины: одна называется «Генрих IV со свитой на охоте», а вторая — «Наполеон на охоте в Компьенском лесу». Они практически ничем не отличаются: что там, что там — кони, что там, что там — люди. При этом картины висят рядом друг с другом. Но мы заметили, что на одной из них есть стрелок, а на другой — нет.
Как сделать классное приложение и случайно проиграть хакатон
Мы сделали все за один день. Расписали таймлайн: в пять часов пошли в Эрмитаж, до семи сортировали фотографии, а потом всю ночь обучали сетку и загружали данные. К обеду следующего дня у нас уже работало распознавание, и мы спокойно выдохнули. Был отдельный челлендж, чтобы это работало не на серверах, а на мобильном телефоне. [Мы использовали] TensorFlow, большой фреймворк Google про нейронные сети, у него недавно вышла новая версия, которая запускает нейронные сетки прямо в браузере.
Мы успели все доделать за час до конца хакатона и в какой‑то момент просто забыли прислать презентацию жюри. Но проект всем настолько сильно понравился, что нас вне конкурса позвали отпитчиться в конце выступления.
После хакатона к нам подошли ребята из FunCubator — у них есть сеть арен Winstrike, они спонсируют «Дикий Digital», который снимает сериалы на YouTube, и делают фантек, вещи, которые не очень технологичны в плане бизнеса, а просто фановые. Мы полностью попадаем под этот кейс, возможно, будем сотрудничать (приложение VinGo обещают запустить в начале следующего года. — Прим. ред.). Самое главное — правильно спланировать прогулку, чтобы человек не бегал из одного зала в другой.
«Афиша Daily» попросила Александра Мамаева придумать эмодзи-описания для десяти картин, а все неправильные описания придумала сама. К сожалению, некоторые эмодзи не будут показываться на старых версиях операционных систем.