Откуда пошла мода на фото на фоне ковров, даже персидскому царю неизвестно.
Но вполне очевидно, что этот интернетовский мем до сих пор популярен.
Мы не будем сегодня шарить по закоулкам истории в поисках истоков этой моды, а расскажем про развлекательное мобильное приложение Carpetgram, которое помогает сделать фотопортрет на фоне ковра в любом месте и за короткое время, и про то, как мы его улучшили с помощью нейронных сетей.
Первую версию этого приложения команда ЦВТ выпустила еще в 2012 году, в период, когда желание фотографировать себя и делиться своими фото в социальных сетях у людей стремительно росло.
Получить модное фото на фоне ковра с помощью Carpetgram стало возможным всего в три шага: для этого надо было сфотографироваться или добавить фото из своей галереи, вырезать себя с фотки, выбрать ковер на свой вкус и вуаля — готово! Дело за малым — нажать шеринг и поделиться своей новой фотографией.
Такова была версия 1.0. На первый взгляд, всё весело и просто.
Довольно быстро мы получили первый фидбэк и увидели, что получается у пользователей. Оказалось, что аккуратно обвести себя на экране устройства — довольно сложная задача. И не у всех это получалось.
Нужно было что-то делать. Но тогда, в 2012, с ходу мы ничего не придумали. Было некогда, рынок начал стремительно расти, и мы занялись продакшн-проектами.
С тех прошло 5 лет, пока в 2017 мы не обратили своё внимание на нейронные сети.
Сама по себе технология и не новая. Однако, лишь недавно инструменты и вычислительные мощности достигли уровня, когда нейронные сети стали применимы для решения самых прикладных задач.
Чтобы опробовать технологию, нужна была подходящая задача. Мы сразу вспомнили про проблему первой версии Carpetgram. К тому же на сегодня, учитывая высокую скорость развития и распространения технологий, необходимость вырезать себя с фотографии пальцем превратилась в неоправданно трудоемкий процесс.
И на фоне незатихающей популярности фотографий на фоне ковров, мы стали думать, как развивать тему с Carpetgram дальше.
Сделать было решено следующее: добавить современный дизайн, поддержку последних версий Android и iOS, а самое главное — добавить автоматическое распознавание людей на фотографии.
Для решения этой задачи мы использовали нейронную сеть, написанную на связке Keras и TensorFlow.
В итоге была применена FCN-8s (ссылка: https://arxiv.org/pdf/1605.06211.pdf) сеть. Для обучения использовали два датасета — PASCAL VOC 2011 и Microsoft COCO.
Результатом мы остались довольны. И теперь его могут оценить все пользователи нашего приложения.
Так что сегодня нейросети — это не модные и абстрактные слова, а прекрасный способ решать самые прикладные задачи, например, получать ковровые шедевры в пару касаний.
Хочешь также?
Скачивай мобильное приложение Carpetgram в App Store и Google Play.
Метки: carpetgram, нейронные сети, нейросети, силацвт, цвт