Как указали Барт и Кигурай, этот процесс изучался под названием "стерео" или "мульти-стерео" методы. Чтобы получить 3D-модель из набора картинок, вам необходимо сделать следующее:
а) Вам необходимо знать «внутренние» параметры камеры. Это включает в себя фокусное расстояние камеры, главную точку изображения и учет радиальных искажений в изображении.
б) Вам также необходимо знать положение и ориентацию каждой камеры относительно друг друга или «мировой» системы координат. Это называется «позой» камеры.
Существуют алгоритмы для выполнения (а) и (б), которые описаны в книге Хартли и Циссермана «Геометрия множественного обзора». В качестве альтернативы, вы можете использовать программное обеспечение Noah Snavely «Bundler» http://phototour.cs.washington.edu/bundler/, чтобы сделать то же самое очень надежным способом.
Получив параметры камеры, вы, по сути, знаете, как трехмерная точка (X, Y, Z) в мире отображается в координате изображения (u, v) на фотографии. Вы также знаете, как сопоставить координаты изображения с миром. Вы можете создать плотное облако точек, выполнив поиск соответствия для каждого пикселя на одной фотографии на фотографии, снятой с другой точки обзора. Это требует двумерного поиска. Вы можете упростить эту процедуру, сделав поиск одномерным. Это называется «исправление». По сути, вы делаете две фотографии и затем трансформируетесь так, чтобы их строки соответствовали одной и той же линии в мире (упрощенное утверждение). Теперь вам нужно только искать по строкам изображения.
Алгоритм для этого также можно найти у Хартли и Циссермана.
Наконец, вам нужно выполнить сопоставление на основе некоторой меры. Существует много литературы по "стерео согласованию". Другое используемое слово - «оценка несоответствия». Это в основном поиск соответствия пикселя (u, v) на одной фотографии с его соответствием (u, v ') на другой фотографии. Как только у вас есть совпадение, разницу между ними можно использовать для отображения обратно в трехмерную точку.
Для этого вы можете использовать программное обеспечение Yasutaka Furukawa «CMVS» или «PMVS2». Или, если вы хотите поэкспериментировать самостоятельно, openCV - это набор инструментов для компьютерного зрения с открытым исходным кодом, который выполняет множество подзадач, необходимых для этого.