3D реконструкция - Как создать 3D модель из 2D изображения? - PullRequest
32 голосов
/ 09 октября 2011

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

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

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

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

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

Ответы [ 6 ]

63 голосов
/ 03 июня 2012

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

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

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

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

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

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

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

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

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

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

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

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

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

Восстановление нескольких видов

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

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

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

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

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

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

Ссылки на эпиполярную геометрию

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

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

14 голосов
/ 29 мая 2012

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

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

10 голосов
/ 04 мая 2018

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

enter image description here

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

3 голосов
/ 04 июня 2012

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

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

3 голосов
/ 22 ноября 2011

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

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

0 голосов
/ 28 декабря 2018

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

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

...