Dpth — приложение для iOS делает 3D-фото без двойной камеры

Мы сделали небольшой спин-офф и попали в топ Product Hunt.

Стартовая картинка на Product Hunt

Идея

Мы в RoadAR занимаемся больше транспортной тематикой, у нас есть мобильное приложение-видеорегистратор, которое распознаёт дорожные знаки и помогает не нарушать. Им мы занимаемся уже довольно давно и развиваем в историю со сбором HD-карт для беспилотных машин.

Если коротко — идея в том, чтобы водители получали полезный сервис формата ADAS (Advanced Driver Assistance System, система продвинутой помощи водителю), при этом собирали постоянно обновляемые карты дорог высокого разрешения для беспилотных машин. Выглядит технология примерно так:

Демонстрация нашей технологии сбора HD-карт

Эта технология называется SLAM (Simultaneous Localization And Mapping, одновременное картирование и локализация). Простите за обилие терминов, но без них тут сложно объяснить. Так вот, когда мы делаем SLAM с одной камеры, алгоритму очень сложно инициализироваться, понять примерное расстояние до объектов, особенно на большой скорости на трассе.

Для решения этой проблемы мы решили использовать нейронные сети, которые в последнее время невероятно круто развиваются. В итоге (не без боли и страданий) у нас это получилось, более того, мы смогли заставить всё это работать на смартфоне. Проблема с инициализацией ушла и это позволило нам продвинуться ещё на шаг вперёд в деле создания карт силами сообщества.

Но увидев результаты работы сети на обычных фото, мы решили, что просто не можем не поделиться с миром возможностью получать 3D из единственной картинки, снятой с одной камеры. Так и появилась идея приложения D P T H (от слова depth — «глубина»).

Продукт

Мы решили начать с простого эффекта глубины резкости в зависимости от расстояния. То есть картинка должна размываться с радиусом, зависящим от расстояния от точки фокусировки. Получилось примерно так:

Пример динамического изменения фокусного расстояния

Уже неплохо! Мы проанализировали рынок и нашли несколько приложений, которые делают подобное на двухкамерных iPhone, а тут то же самое, но на обычных. Подумали и об Android-юзерах и запустили параллельную разработку под эту платформу.

Но, как говорится, аппетит приходит во время еды, и через пару недель игры с глубиной мы поняли, что это хоть и классная фишка, но можно сделать ещё интереснее. Увидели, что Facebook позволяет добавлять 3D-фото в ленту, и поняли, что мы можем расширить кратно число пользователей этой функциональности, добавив туда владельцев не самых современных устройств и армию пользователей Android.

Вот результаты первых экспериментов с 3D (мы начинаем располагать пиксели на расстоянии, которая предсказала сеть уже в реальном 3D-пространстве, и можем манипулировать ими как угодно).

За эту демку нас заблокировали алгоритмы Facebook, и теперь мы не можем давать рекламу в Instagram

В общем, и эту функцию сделали и поняли, что теперь точно должно взлететь. Правда, по пути выяснилось, что Facebook блокирует загрузку 3D-фото по устройству и разрешает это делать только двухкамерным iPhone. Нас это опечалило, но кто знает, может быть, ситуация ещё поменяется. Ну и другие сервисы, например, Telegram, возможно, не останутся в стороне :)

Product Hunt

Когда по отзывам друзей и знакомых команды стало понятно, что оживлять картинки нравится не только нам, мы стали думать о том, как лучше запустить продукт. Конечно, мы понимали что аудитория у нас международная и продвигать надо сразу везде. И самый известный способ продвинуть технологический продукт — это Product Hunt.

Раньше мы ничего там не запускали, и неизвестных было очень много. Постепенно мы вчитались в мануалы и гайды по запуску, начали понимать основы. Но, к слову, информация на просторах сети противоречивая. Отчасти это так из-за того, что PH постоянно меняется, и какие-то правила и подходы перестают работать. Вот основные особенности, которые мы выяснили (актуально на февраль 2019 года):

  • Хантить проекты можно и самостоятельно, но это, кажется, всё-таки хуже, чем через топовых хантеров. Сказать, почему именно, не могу, информации не достаточно.
  • Уже неактуальна информация о том, что всем подписчикам хантера приходит рассылка с проектом, который он захантил. То есть прямого влияния нет, возможно, есть эффект от его аватарки рядом с кнопкой Upvote.
  • Информация о том, что нельзя размещать прямые ссылки на страницу проекта, — миф. Об этом прямым текстом написано в руководстве по запуску на сайте PH.
  • Готовиться к запуску нужно сильно заранее, связываться с хантером надо за пару недель до старта, иначе у него может не остаться свободных окон для хантинга, ведь за день можно захантить только один проект.
  • Материалы к публикации (картинки) нужно готовить тоже сильно заранее, так как есть много особенностей с размерами в пикселях и в ограничениях по весу. Особенно это усложняет работу с GIF-анимацией. Нам пришлось познакомиться с множеством новых непонятных слов при попытке сжать гифки с минимальной потерей качества, но при этом в большом разрешении.

В итоге мы совершили почти все возможные ошибки с материалами и с работой с хантерами, пытаясь найти его в ночь перед запуском. Конечно, это не сработало, мы узнали, что слотов уже не осталось, а приложение на iOS было уже выпущено в открытый доступ. Дабы не упустить эффект новизны, решили рискнуть и запустить страницу самим сегодня. Была не была!

В итоге наша страница выглядит так:

Скриншот по состоянию на 22:00 по московскому времени

Как видите, мы сейчас входим в топ-3 (медалька в правом углу), но кто знает, как бы развивалась ситуация, если бы мы связались с хантером заранее :) При этом топовые хантеры нас поддержали в середине дня, и их аватарки уже, возможно, начали влиять на сообщество. Даже сейчас непонятно, как будет развиваться ситуация дальше, ведь алгоритмы PH очень хитры, и проект с меньшим числом голосов может быть выше проекта с большим.

UPD: Мы в итоге вышли на второе место на конец дня на PH =)

Итоговый результат на Product Hunt

Ну и под конец — несколько гифок с примерами работы приложения (нужно кликнуть, чтобы увидеть эффект) и ссылочки на скачивание:

Будем рады любым комментариям и предложениям по новым функциям для приложения.

P.S. Эффекты настройки глубины резкости постфактум недоступны даже для топовых iPhone с двумя камерами, так что, дорогие читатели vc.ru, обладатели топовых устройств, не проходите мимо, вас нам тоже есть чем удивить :)

Вы тоже можете рассказать о своём проекте, как автор этого материала. Соберите побольше информации — и публикуйте материал в подсайте «Трибуна».
0
99 комментариев
Написать комментарий...
Igor Karklin

ребят а что насчет глубины в видео?

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

Видео - это набор кадров, так что, да, это возможно. Но чтобы прям хорошо это сделать - надо отдельную сетку для видео тренировать, которая будет сохранять стабильность от кадра к кадру. Есть мысли это тоже сделать =)

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