Regard3D — это программа создания конструкции из движения. Это означает, что он может создавать 3D-модели из объектов, используя
серия фотографий этого объекта с разных точек зрения.
Для получения 3D-модели выполняются следующие шаги:
* Для каждого изображения обнаруживаются функции (иногда также называемые ключевыми точками). Особенности - это точки в объекте
которые с высокой вероятностью можно найти на разных изображениях одного и того же объекта, например, углы, края
и т.д. Regard3D использует для этой цели A-KAZE.
* Для каждого признака рассчитывается математический дескриптор. Этот дескриптор имеет свойство
дескрипторы одной и той же точки объекта на разных изображениях (увиденных с разных точек зрения) подобны.
Для этой цели Regard3D использует LIOP (шаблон порядка локальной интенсивности).
* Дескрипторы из разных изображений сопоставляются и геометрически фильтруются. Результатом этого шага является
коллекция совпадений между каждой парой изображений.
* Теперь рассчитываются "дорожки". Для каждого признака, который является частью совпадения в паре изображений, он также ищется в
другие изображения. Трек формируется из объектов, если эти объекты удовлетворяют некоторым условиям, например
трек виден как минимум на 3-х изображениях.
* Следующий шаг – фаза триангуляции. Все совпадения всех пар изображений используются для расчета:
* Трехмерное положение и характеристика «камеры», т. е. где было снято каждое изображение, и визуальное
характеристики камеры
* Рассчитывается 3D-позиция каждой "дорожки"
* Результатом этапа триангуляции является разреженное облако точек. Для получения более плотного облака точек
(«уплотнение») можно использовать несколько алгоритмов.
* Последний шаг называется "Генерация поверхности". Облака точек используются для создания поверхности либо с
цветные вершины или с текстурой.
Полезная ссылка:
https://en.wikipedia.org/wiki/Фотограмметрия
https://en.wikipedia.org/wiki/Структура_из_движения