Создание 3D-представления объекта с помощью веб-камеры - PullRequest
3 голосов
/ 30 марта 2012

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

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

Ответы [ 4 ]

2 голосов
/ 30 марта 2012

Как сказал Барт (но не опубликовал в качестве фактического ответа), это вполне возможно.

Тема исследования, которая вас интересует, часто называется multi view стерео или что-то подобное.

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

Из этого облака точек вы можете затем обработать его, чтобы получить результаты измерений, которые вы ищете.

Если вы совершенно новичок в этом предмете, у вас есть интересное чтение, которого вам не терпится!

Барт предложил Геометрия множественного вида Хартли и Циссермана, это действительно очень хорошая книга.

0 голосов
/ 02 апреля 2012

Как указали Барт и Кигурай, этот процесс изучался под названием "стерео" или "мульти-стерео" методы. Чтобы получить 3D-модель из набора картинок, вам необходимо сделать следующее:

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

Существуют алгоритмы для выполнения (а) и (б), которые описаны в книге Хартли и Циссермана «Геометрия множественного обзора». В качестве альтернативы, вы можете использовать программное обеспечение Noah Snavely «Bundler» http://phototour.cs.washington.edu/bundler/, чтобы сделать то же самое очень надежным способом.

Получив параметры камеры, вы, по сути, знаете, как трехмерная точка (X, Y, Z) в мире отображается в координате изображения (u, v) на фотографии. Вы также знаете, как сопоставить координаты изображения с миром. Вы можете создать плотное облако точек, выполнив поиск соответствия для каждого пикселя на одной фотографии на фотографии, снятой с другой точки обзора. Это требует двумерного поиска. Вы можете упростить эту процедуру, сделав поиск одномерным. Это называется «исправление». По сути, вы делаете две фотографии и затем трансформируетесь так, чтобы их строки соответствовали одной и той же линии в мире (упрощенное утверждение). Теперь вам нужно только искать по строкам изображения.

Алгоритм для этого также можно найти у Хартли и Циссермана.

Наконец, вам нужно выполнить сопоставление на основе некоторой меры. Существует много литературы по "стерео согласованию". Другое используемое слово - «оценка несоответствия». Это в основном поиск соответствия пикселя (u, v) на одной фотографии с его соответствием (u, v ') на другой фотографии. Как только у вас есть совпадение, разницу между ними можно использовать для отображения обратно в трехмерную точку.

Для этого вы можете использовать программное обеспечение Yasutaka Furukawa «CMVS» или «PMVS2». Или, если вы хотите поэкспериментировать самостоятельно, openCV - это набор инструментов для компьютерного зрения с открытым исходным кодом, который выполняет множество подзадач, необходимых для этого.

0 голосов
/ 30 марта 2012

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

0 голосов
/ 30 марта 2012

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

http://opencv.willowgarage.com/documentation/camera_calibration_and_3d_reconstruction.html

Доступной альтернативой для получения 3D-данных была бы система камер Kinect.

...