Построение 3d модели с использованием нескольких изображений из нескольких точек (kinect) - PullRequest
10 голосов
/ 04 июля 2011

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

Я хотел бы знать, есть ли уже доступные аналогичные проекты / программное обеспечение, и любые ссылки будут оценены, возможно ли это в течение 6 месяцев. Какя продолжу делать это?Такой как любой подобный алгоритм, на который вы могли бы указать мне, и такой

Спасибо, MilindaD

Ответы [ 5 ]

5 голосов
/ 04 июля 2011

Это определенно возможно, и есть много 3D-сканеров, которые работают там, с более или менее одинаковым принципом стереоскопии.

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

Существует открытый исходный кодпроект под названием Meshlab для 3D-зрения, который включает в себя 3d-реконструкцию * алгоритмы.Я не знаю деталей алгоритмов, но программное обеспечение определенно является хорошей отправной точкой, если вы хотите поиграть с 3d.

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

(* На странице Wiki нет содержимого, перенаправляет для входа в систему для редактирования)

3 голосов
/ 13 июля 2011

Проверьте https://bitbucket.org/tobin/kinect-point-cloud-demo/overview, который представляет собой пример кода для Kinect для Windows SDK, который делает именно это.В настоящее время он использует растровые изображения, полученные датчиком глубины, и перебирает массив байтов для создания облака точек в формате PLY, который может считывать MeshLab.На следующем этапе мы применяем / улучшаем алгоиртхим треугольника Делануни, чтобы сформировать сетку вместо точек, к которой можно применить текстуру.Тогда на третьем этапе я получу формулу слияния мешей, чтобы объединить несколько капот из Kinect, чтобы сформировать полную сетку трехмерных объектов.

Это основано на работе, проделанной мною в июне с использованием Kinect для захвата 3D-печати.

.NET-код в этом хранилище исходного кода, однако, поможет вам начать с того, чего вы хотите достичь.

2 голосов
/ 07 ноября 2011

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

2 голосов
/ 22 сентября 2011

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

0 голосов
/ 10 ноября 2013

Попробуйте VisualSfM (http://ccwu.me/vsfm/) от Changchang Wu (http://ccwu.me/)

)

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

Алгоритм называется «Структура из движения». Краткая идея алгоритма: он включает в себя выделение характерных точек на каждом изображении; поиск соответствий между ними по изображениям; построение характерных дорожек, оценка матриц камеры и, следовательно, трехмерных координат характерных точек.

...