3D реконструкция - Как создать 3D модель из 2D изображения?

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

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

На каком языке вы объясняете, не имеет значения, так как я ищу лучший подход.

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

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

5 ответов

Решение

Исследования достигли значительных успехов, и в наши дни стало возможным получать красивые трехмерные фигуры из 2D-изображений. Например, в нашей недавней исследовательской работе под названием " Синтезирование 3D-форм с помощью моделирования многоплановых карт глубины и силуэтов с глубокими порождающими сетями" был сделан большой шаг в решении проблемы получения 3D-форм из 2D-изображений. В нашей работе мы показываем, что вы можете не только перейти непосредственно от 2D к 3D и получить хорошую приближенную 3D-реконструкцию, но также вы можете эффективно изучить распределение 3D-фигур и генерировать / синтезировать 3D-формы. Ниже приведено изображение нашей работы, показывающее, что мы можем выполнить 3D-реконструкцию даже по одному силуэту или карте глубины (слева). Правдоподобные трехмерные фигуры показаны справа.

введите описание изображения здесь

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

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

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

Эпиполярная геометрия

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

Если у вас есть:

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

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

Проблема соответствия

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

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

В настоящее время все еще не существует идеального метода для решения проблемы соответствия, но возможные подходы могут попасть в следующие категории:

  • Ручной выбор: попросите человека выбрать точки совпадения.
  • Пользовательские маркеры: размещайте маркеры или используйте определенные шаблоны / цвета, которые вы можете легко идентифицировать.
  • Сумма квадратов разностей: возьмите область вокруг точки и найдите ближайшую целую совпадающую область на другом изображении.
  • Обрезка графов: метод глобальной оптимизации, основанный на оптимизации с использованием теории графов.

Для конкретных реализаций вы можете использовать Google Scholar для поиска в текущей литературе. Вот одна цитируемая статья, в которой сравниваются различные методы: Таксономия и оценка плотных алгоритмов двухкадрового стерео соответствия.

Многоцелевая реконструкция

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

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

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

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

альтернативы

Если это в пределах того, что вы хотите сделать, я бы порекомендовал рассмотреть выделенные аппаратные датчики (такие как Kinect XBox) вместо того, чтобы использовать только обычные камеры. Эти датчики используют структурированный свет, время прохождения или какую-либо другую технику визуализации дальности, чтобы генерировать глубинное изображение, которое они также могут комбинировать с цветными данными со своих собственных камер. Они практически решают проблему реконструкции с одним видом и часто включают библиотеки и инструменты для сшивания / объединения нескольких видов.

Эпиполярная геометрия

Мои знания на самом деле довольно слабые по большей части теории, поэтому лучшее, что я могу сделать, - это предоставить вам некоторые полезные ссылки (в порядке актуальности):

Я не уверен, насколько все это полезно, но, надеюсь, оно содержит достаточно полезную терминологию и ссылки для поиска дополнительных ресурсов.

Эта проблема известна как фотограмметрия.

Google предоставит вам бесконечные ссылки, но имейте в виду, что если вы хотите создать свою собственную, это очень сложная проблема.

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

Я смотрел лекцию одного из главных исследователей проекта (Роджера Хабболда), и результаты изображения были просто потрясающими! Althought это сложная и длительная проблема. Он имеет много хитрых деталей, которые необходимо учитывать, чтобы получить аппроксимацию трехмерных данных, например взять трехмерную информацию с поверхностей стен, для которой работает эвристика: Сфотографируйте с нормальной освещенностью сцены, а затем повторно сделать снимок в том же положении с активной вспышкой, затем вычесть оба изображения и разделить результат на предварительно снятое изображение калибровки вспышки, применить к этому новому результату блочный фильтр, а затем выполнить последующую обработку для оценки значений глубины, всего Процесс подробно описан в этом документе (который также размещен / ссылка на веб-сайте проекта)

В Google Sketchup (бесплатно) есть инструмент для сопоставления фотографий, который позволяет делать фотографии и сопоставлять их перспективы для удобного моделирования.

РЕДАКТИРОВАТЬ: Кажется, что вы заинтересованы в разработке собственного решения. Я думал, что вы пытаетесь получить 3D-модель изображения в одном экземпляре. Если этот ответ не поможет, прошу прощения.

Надеюсь, это поможет, если вы пытаетесь построить трехмерный том из 2-го стека изображений! Вы можете использовать инструмент с открытым исходным кодом, например ImageJ Fiji, который поставляется с плагином для 3D-просмотра.

https://quppler.com/creating-a-classifier-using-image-j-fiji-for-3d-volume-data-preparation-from-stack-of-images/

Другие вопросы по тегам