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