3d модель с использованием нескольких изображений из нескольких точек (kinect)

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

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

Спасибо, MilindaD

Ответ 1

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

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

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

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

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

Ответ 2

Откажитесь от https://bitbucket.org/tobin/kinect-point-cloud-demo/overview, который является образцом кода для Kinect for Windows SDK, который делает это конкретно. В настоящее время он использует растровые изображения, захваченные датчиком глубины, и выполняет итерацию через массив байтов для создания облака точек в формате PLY, который может читать MeshLab. Следующим этапом является применение/уточнение треугольника delanunay algoirthim для формирования сетки вместо точек, которые могут быть применены к текстуре. Третий этап должен был бы мне слияния слияния формулы для объединения нескольких caputres из Kinect, чтобы сформировать полный 3D-объект сетки.

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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