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 комментариев
Написать комментарий...
Евгений Никольский
Автор

Спасибо за комментарий! Depth, действительно, выпал из ключевиков, вернем =)
По поводу 3D - можно сделать подписку на месяц, там будет 3 дня бесплатно, в течение которых покупку можно вернуть. Также в течение первой недели у нас действует скидка 70% на покупку вечной PRO версии, а там будет еще много классных фишек.
Если по существу - вопрос монетизации сложный, возможно, мы и добавим какую-то возможность демонстрации 3D на фотках пользователя. Ну как-то же нам надо зарабатывать на то, чтобы осуществить мечту и сделать приложение для сбора HD-карт =) Пробуем сначала такой способ. Не сработает - изменим стратегию.

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

Дайте возможность поиграть 3D эффектом, монитизируйте на этапе шеринга фотки. Так сложно платить не вкусив пользы.

Ответить
Развернуть ветку
5 комментариев
Εгор Κонстантинов

Мне одному кажется, что размытие фона и 3D это разные вещи?

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

Да, но для обеих нужно понимание глубины

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

Пишите больше про сбор карт. Интересно.

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

Спасибо! Думаю, мы скоро внедрим это в наше основное приложение и тогда обязательно напишем.

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

Супер! спасибо за приложение!!!!! Мне нравится

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

Интересный концепт! Молодцы! Как видите монетизацию сервиса?

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

Спасибо! Пока просто in-app purchases в приложении, будем постепенно развивать, повышать качество предсказания и дорисовки фона, а дальше посмотрим. Если будут компании, заинтересованные в приобретении технологии - тоже не откажемся рассмотреть предложения =) С одной уже начали общение =)

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

Добавьте возможность отдельного экспорта карты глубины либо научитесь ее сшивать с фото, как это делает DepthCam. Почему вы лишаете возможности переслать полученное 3d-фото тому, кто может его запостить?

После изменения параметра depth на экспорте видео анимация вообще перестает работать

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

Научитесь запоминать параметр вотермарка или вынесите его в глобальные настройки. Уже за пару раз надоело его выключать, а у меня про-аккаунт

Добавьте параметр длинны видео. 3-секундный луп для поста в инстаграм это прекрасно, но что если я хочу запостить результат в сторис?

Ответить
Развернуть ветку
3 комментария
Konstantin Gavrilenko

Проголосовал на Хантере))
Удачи)) свяжемся по поводу совместной интеграции с моим SelfiBlitZ® panoLite ... Должно интересно получиться )). Кстати, продай мне оптом подключения к 8 марта на подарки))

В русском сообществе разместил https://www.facebook.com/groups/russianph/

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

Супер, спасибо! Интегрироваться интересно, готовы обсуждать =) Про подарки - не понял механику. Но, наверное, можно обсудить, через промокоды что-то придумать =)

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

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

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

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

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

Блюр бэкграунда это 3д?

Ответить
Развернуть ветку
Александр Латушкин

Управляемое размытие фона, это то что было в начале.
Они с помощью нс и (судя по видео ) участия пользователя строят карту глубин изображения, на основе которой уже можно управлять глубиной резкости, генерировать стерео-пары или с помощью параллакса генерировать такие анимашки.
Конечно, это не "3д", но "2.5" то точно)

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

Наверное, у вас Android? Для Android пока 3D режим не реализован, работаем над этим очень плотно

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

Если готовить о ЦА (а я безусловно ваша ЦА) - то не очень удобно то, что нельзя отключить камеру. Было бы здорово предоставить выбор в этом случае. У меня андроид

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

Не совсем понял про отключение камеры. Можете подробнее описать проблему?

Ответить
Развернуть ветку
3 комментария
Di Yakshin

Я купил) если забросите я вам Атата!

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

Не забросим =) Сейчас увидели еще потенциал для обработки мемов, они еще смешнее в 3D становятся =)

Ответить
Развернуть ветку
5 комментариев
Mr. Burns

:)

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

Очень здорово получилось! Почти неотличимо от реального движения в 3х измерениях =) А можно мы это к себе в Instagram разместим? =)

Ответить
Развернуть ветку
8 комментариев
Roman

Не знаю куда вы попали, но технология на примере того, что получается в dpth очень сырая
Тем не менее удачи))

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

С одной стороны, там есть куда развивать ее (например, можно нейронкой догенеривать фон за пределами границ изображения), с другой, даже с двумя камерами часто получается не очень хороший результат, особенно на большом расстоянии и при недостатке текстур.
Мы решили действовать в парадигме MVP, сначала запустили что получилось, а потом будем улучшать =)
Спасибо за обратную связь!

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

Классная идея и реализация! Нужно сразу выходить на Instagram - по продаже технологии )

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

Instagram это по сути Facebook =) Идея интересная, надо поискать выходы =)

Ответить
Развернуть ветку
1 комментарий
Николай Морозкин

Лайк!
Давно искал такое приложение с управлением глубиной резкости и недоумевал, почему еще сделано и уже собирался сам запилить))

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

Круто было бы иметь больше вариантов видео. Сейчас круговое движение только, а можно было бы сделать еще варианты с плавным горизонтальным и вертикальным, с фокусировкой от переднего плана к заднему и потом комбинации с движением+фокусировкой.

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

Да, спасибо за комментарий! Это в самых ближайших планах =)

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

прикольно. на улице очень круто работает, когда много предметов.

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

Супер! Спасибо =) Поделитесь фото?

Ответить
Развернуть ветку
Сергей Г

мне нравится эффект ) пилите в андройде 3d и будет ваще ок.
немного медленно реагирует при изменении точки на изображении, но я думаю поправите ещё. удачи!

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

Да, постараемся оптимизировать =) Спасибо! Отличная фотка получилась =)

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

Интересная идея... Думаю покупать про. Какие функции планируете добавлять?😄

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

Идей много =) А какие функции Вам были бы наиболее интересны?

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

Спасибо за комментарий! Будет и возможность уточнения маски, и улучшение качества =)

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

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

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

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

Про 3D - его пока, увы, нет в Android версии, но скоро добавим.
Про идею с фокусом - интересно, подумаем как сделать лучше, спасибо!

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

Смотрится интересно, жаль, что движения на 3д однообразны

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

Да, мы дадим больше контроля пользователю над этим

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

Если я на старте куплю Pro-версию, потом платить каждый месяц не придется? Еще вопрос — почему-то при импорте фото в приложение на iOS показываются не все доступные папки. Например, папок VSCO или Lightroom нет

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

Нет, у нас со старта есть и подписка, и PRO. PRO юзеры всегда будут иметь полный функцонал. Просто сейчас мы предлагаем большую скидку, и цена вечной PRO версии сопоставима с ценой 2х месячной подписки.

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

купил про версию. Загружаю фото, крутится "Высчитываем глубину" и ничего не происходит. ) Сыровато приложение. Зря потратил денежку.

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

А можете написать нам на [email protected] и прислать фото и модель устройства?

Ответить
Развернуть ветку
5 комментариев
Worldwide

Очень крутая задумка, жаль нельзя потестить, не оформив подписку.

Помню ещё несколько лет назад, от одной компании, если не ошибаюсь, которая производит профессиональные видеокамеры (но это не точно), был ролик, где они показывали съёмку с глубиной, вот там эта идея была просто в идеальном исполнении. Я возможно что-то сейчас напридумываю, но помню это как-то так. Например, на видео есть объект, условно - бильярдный шар и там было показано что-то типо редактора, в котором этот шар просто убирался одним кликом, при этом пространство сзади него было такое, словно съёмка велась вообще без этого шара. И так можно было сделать с любым объектом. Глубина вроде бы выстраивалась в виде сетки или точек. Если вдруг найду это видео, то скину вам, может будет интересно посмотреть.

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

Кажется, я помню о чем речь. Lytro?

Ответить
Развернуть ветку
1 комментарий
Artem Belov

Апстор. Попробовал найти приложение по киворду "depth" тк телефон выдает подсказку по написанию. Не нашел. ASO. Добавьте в поиск по ключу ключ "depth". Возможно оно там есть но выдает слишком много конкурентов.

Попробовал приложение, на сколько я понял основная фишка 3D, в бесплатной версии ей воспользоваться нелья.

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

FindFace лучше запилите )

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

Уже есть searchface.ru =)

Ответить
Развернуть ветку
1 комментарий
Tom DD

А как-то это всё можно монитизировать?

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

Пока пробуем через само приложение, просто в Android еще не добавлены платные фичи.

Ответить
Развернуть ветку
Макс Шпак

Не пойму, а в прошке в каком виде экспортируется? В гифе?

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

В mp4

Ответить
Развернуть ветку
Александр Гращенков

Гифки не поддерживаются в инстаграме и некоторых других соц сетях. Хорошо что mp4

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

Чет не зашло...

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

А чего не хватило? Или что не понравилось?

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

На Android будут пиратить приложение, как планируете бороться с модфицированными версиями?

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

Хороший вопрос, подумаем как с этим быть =) Защититься надежно довольно трудоемко, посмотрим как пойдут продажи и будем экспериментировать =)

Ответить
Развернуть ветку
Олег Самойлов

Интересная идея! Пока сырой результат получается
было бы круто если правильно считал или хотя бы была возможность уточнения маски

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