Наши инновации

3D-реконструкция

Разработанный сервис позволяет построить 3D-реконструкцию помещения или объекта на основании представленного видеоряда.

Для получения 3D-реконструкции необходим отснятый видеоряд, в котором будет отснято помещение (или объект) с разных сторон и в разных перспективах. В результате обработки видео на выходе мы получаем 3D-модель, состоящую из облака точек, которую можно посмотреть в любом 3D-просмотрщике (Blender, MeshLab и пр.).

Пример распознавания

Пример распознавания по снятому с телефона видео. Для получения конечного результата исходный видеоряд разбивается на последовательное множество изображений, другими словами, получаем отдельные кад...

Функционал

Для реализации потребностей, например для инженеров строй-контроля в системе реализован следующий функционал:

Модуль реконструкции - микросервис преобразующий видео 360 в облако точек и проводящий сравнение с историей фиксации для просмотра изменений.

Модуль включает в себя

  • Сервис реконструкции
  • Использование нейронных сетей для нормализации результата
  • Построение OCTree
  • Viewer для просмотра большого облака точек

Принципы работы сервиса

Далее на каждом кадре извлекаются ключевые точки, на которые мы можем ориентироваться и отличать их от кадра к кадру. Набор полученных ключевых точек позволяет определить физическое расположение камер на каждом извлеченном кадре, а также уточнить набор внутренних параметров камер, таких как фокальное расстояние и координаты оптического центра. Метод, который используется для этой операции чаще всего называется Structure From Motion (или SFM).

Полученное физическое расположение камер, по сути, представляет собой массив координат камер в некотором 3D-пространстве. Здесь имеется в виду локальная система координат, которая представляет собой масштабированную версию реальных мировых координат, масштаб которой нам подлинно неизвестен, но в результате работы метода, мы можем знать как именно располагаются контрольные точки и камеры относительно друг друга.

Знание о физическом расположении камер позволяет нам дальше использовать извлеченные кадры в методе Multi View Stereo (или MVS), который построен на обработке этой информации нейронной сетью.
Нейронная сеть принимает в себя массив координат камер и матрицы их внешних и внутренних параметров, включая матрицу поворота. Кроме этого, нейронная сеть принимает в себя кадры, извлеченные из видеоряда. Каждому кадру подбирается от 4 до 10 других кадров из общего набора, имеющие большее число совпадений ключевых точек. Также при подборе подходящих кадров учитывается и близость физического расположения их камер. Т.е. каждому изображению соответствуют некоторые камеры и мы знаем это физическое расположение

Затем нейронная сеть обрабатывает полученную информацию и строит карту глубин относительно каждого изображения. Карта глубин - это, по сути, тепловая карта, где можно отследить размерность исходного изображения, где каждый пиксель - это расстояние между точкой наблюдения (оптический центр камеры) до конкретной точки в пространстве.
Также помимо этого нейронная сеть выдает карту вероятности, то есть, насколько сеть уверена в том, что именно этот пиксель имеет такое расстояние. По этой карте вероятности мы фильтруем полученные карты глубин.

.Также стоит упомянуть, что карты глубин являются полными, а не разряженными, другими словами, мы знаем больше пикселей, чем не знаем. Расстояний, которые нам известны, достаточно для того, воссоздать полную 3D-модель. Дальше происходит слияние этих карт глубин, которое осуществляется относительно расположения камер, поэтому мы можем дедуцировать координаты точек в пространстве, получив облако точек в 3D-пространств, которое можно представить в 3D-модели.

После получения плотного облака точек, после слияния карт глубин, мы делаем фильтрацию видимых точек, которые камеры действительно видят, т.е. если у нас, например, 16 кадров, то у нас есть 16 камер в пространстве - мы можем отфильтровать точки, которые видят четыре или больше камер.
Таким образом после этой фильтрации мы получаем более четкое, более чистое облако точек, которые уже можно отобразить пользователю.

Дополнительные возможности сервиса

В качестве интерфейса для этого метода был написан Telegram-бот, который принимает видео и может прислать в ходе работы пайплайна, после его окончания, PLY-файл с 3D-моделью помещения или объекта.

Время обработки видео Telegram-ботом составляет около 15 минут, также пользователь может отслеживать статусы обработки видео.

В какой сфере на данный момент применим наш сервис

На данный момент сервис апробировался только на строительстве жилых помещений

В планах реализовать:

Просмотр состояния объекта как в облаке точек так и путем 360 панорамы
Сделать замер линейкой интересующих объектов
Сравнить состояние объектов с предыдущими фиксациями
Построить план (вид сверху) фиксируемых объектов
Выделить проблемные области и оставить в них замечания
Посмотреть тепловую карту проблемных областей

Сотрудничество с YKSOFT - это:

Качество и надежность

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

Универсальность

Наша компания объединила специалистов всех направлений web и мобильной разработки, что значительно упрощает процесс достижения желаемого результата и позволяет реализовать проекты в единой концепции 

Гарантия качества

Мы гарантируем эффективность, надежность и ответственность по отношению к Вашему сайту и всем аспектам работы с ним. 

Гибкая ценовая политика

Исходя из Вашего бюджета, мы подберем оптимальный вариант реализации Вашего сайта 

Персональный менеджер

Мы предоставим Вам персонального менеджера для координации работы по Вашим проектам и оперативного проведения согласований и консультаций 

Прозрачное управления проектом

У Вас будет возможность контролировать проведение работ, а также вносить свои предложения и замечания по проекту через личный кабинет на нашем сайте