Регулировка пакета

редактировать
Разреженная матрица, полученная при решении задачи настройки пакета небольшого размера. Это образец разреженности матрицы нормального уравнения 992 × 992 (то есть приближенной матрицы Гессе). Черные области соответствуют ненулевым блокам.

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

Содержание
  • 1 Использование
  • 2 Общий подход
  • 3 Математическое определение
  • 4 Программное обеспечение
  • 5 См. Также
  • 6 Ссылки
  • 7 Дополнительная литература
Использование

Пакетная настройка почти всегда используется на последнем этапе каждого алгоритма 3D-реконструкции на основе функций. Это составляет проблему оптимизации трехмерной структуры и параметров просмотра (например, положение камеры и, возможно, внутренняя калибровка и радиальное искажение), чтобы получить реконструкцию, которая является оптимальной при определенных предположениях относительно шума, относящегося к наблюдаемому Характеристики изображения: Если ошибка изображения равна нулю среднего по Гауссу, то настройка пакета - это Оценщик максимального правдоподобия. Его название относится к пучкам световых лучей, исходящих от каждого трехмерного объекта и сходящихся к оптическому центру каждой камеры , которые оптимально настроены как по структуре, так и по параметрам просмотра (сходство по значению с категориальным комплект кажется чистым совпадением). Пакетная регулировка была первоначально задумана в области фотограмметрии в 1950-х годах и все чаще используется исследователями компьютерного зрения в последние годы.

Общий подход

Настройка пакета сводится к минимизации ошибки перепроецирования между положениями изображения наблюдаемых и прогнозируемых точек изображения, которая выражается как сумма квадратов большого числа нелинейных функций с действительными значениями. Таким образом, минимизация достигается с помощью нелинейных алгоритмов наименьших квадратов. Из них Левенберг – Марквардт оказался одним из самых успешных благодаря простоте реализации и использованию эффективной стратегии демпфирования, которая дает ему возможность быстро сходиться на основе широкого диапазона начальных предположений.. Путем итерационной линеаризации функции, которая должна быть минимизирована в окрестности текущей оценки, алгоритм Левенберга – Марквардта включает решение линейных систем, называемых нормальными уравнениями. При решении задач минимизации, возникающих в рамках уравнивания связок, нормальные уравнения имеют блочную структуру разреженного из-за отсутствия взаимодействия между параметрами для разных 3D точек и камер. Это может быть использовано для получения огромных вычислительных преимуществ за счет использования разреженного варианта алгоритма Левенберга – Марквардта, который явно использует преимущества шаблона нулей нормальных уравнений, избегая хранения и работы с нулевыми элементами.

Математическое определение

Настройка пакета сводится к совместному уточнению набора исходных оценок параметров камеры и структуры для нахождения набора параметров, который наиболее точно предсказывает положения наблюдаемых точек в наборе доступных изображений. Более формально, предположим, что n {\ displaystyle n}n 3D-точки видны в m {\ displaystyle m}m представлениях, и пусть xij {\ displaystyle \ mathbf {x} _ {ij}}{\ mathbf {x}} _ {{ij}} быть проекцией i {\ displaystyle i}i й точки на изображении j {\ displaystyle j}j . Пусть vij {\ displaystyle \ displaystyle v_ {ij}}\ displaystyle v _ {{ij}} обозначает двоичные переменные, которые равны 1, если точка i {\ displaystyle i}i видна на изображении j {\ displaystyle j}j и 0 в противном случае. Предположим также, что каждая камера j {\ displaystyle j}j параметризована вектором aj {\ displaystyle \ mathbf {a} _ {j}}{\ mathbf {a}} _ {j} и каждый 3D-точка i {\ displaystyle i}i с помощью вектора bi {\ displaystyle \ mathbf {b} _ {i}}{\ mathbf {b}} _ {i} . Настройка пакета минимизирует общую ошибку перепроецирования по всем параметрам 3D-точки и камеры, в частности

min aj, bi ∑ i = 1 n ∑ j = 1 mvijd (Q (aj, bi), xij) 2, {\ displaystyle \ min _ {\ mathbf {a} _ {j}, \, \ mathbf {b} _ {i}} \ displaystyle \ sum _ {i = 1} ^ {n} \; \ displaystyle \ sum _ {j = 1} ^ {m} \; v_ {ij} \, d (\ mathbf {Q} (\ mathbf {a} _ {j}, \, \ mathbf {b} _ {i}), \; \ mathbf { x} _ {ij}) ^ {2},}\ min _ {{{\ mathbf {a}} _ {j}, \, {\ mathbf {b}} _ {i}}} \ displaystyle \ sum _ {{i = 1}} ^ {{n}} \; \ displaystyle \ sum _ {{j = 1}} ^ {{m}} \; v _ {{ij}} \, d ({\ mathbf {Q}} ({\ mathbf {a}} _ {j }, \, {\ mathbf {b}} _ {i}), \; {\ mathbf {x}} _ {{ij}}) ^ {2},

где Q (aj, bi) {\ displaystyle \ mathbf {Q} (\ mathbf {a} _ {j}, \, \ mathbf { b} _ {i})}{\ mathbf {Q}} ({\ mathbf {a}} _ {j}, \, {\ mathbf {b}} _ {i}) - это прогнозируемая проекция точки i {\ displaystyle i}i на изображение j {\ displaystyle j}j и d (x, y) {\ displaystyle d (\ mathbf {x}, \, \ mathbf {y})}d ({\ mathbf {x}}, \, { \ mathbf {y}}) обозначает евклидово расстояние между точки изображения представлены векторами x {\ displaystyle \ mathbf {x}}\ mathbf {x} и y {\ displaystyle \ mathbf {y}}\ mathbf {y} . Ясно, что настройка связки по определению терпима к отсутствию проекций изображения и сводит к минимуму физически значимый критерий.

Программное обеспечение
  • [1] : Apero / MicMac, бесплатное фотограмметрическое программное обеспечение с открытым исходным кодом. Лицензия Cecill-B.
  • sba : Универсальный пакет C / C ++ для настройки разреженных пакетов, основанный на алгоритме Левенберга – Марквардта (C, MATLAB ). GPL.
  • cvsba : оболочка OpenCV для библиотеки sba (C ++ ). GPL.
  • ssba : пакет настройки простого разреженного пакета на основе алгоритма Левенберга – Марквардта (C ++). LGPL.
  • OpenCV : библиотека компьютерного зрения в модуле сшивания изображений. Лицензия BSD.
  • mcba : настройка многоядерного пакета (CPU / GPU). GPL3.
  • libdogleg : универсальный решатель разреженных нелинейных наименьших квадратов, основанный на методе изгиба Пауэлла. LGPL.
  • ceres-solver : нелинейный минимизатор наименьших квадратов. Лицензия BSD.
  • g2o : General Graph Optimization (C ++) - фреймворк с решателями для нелинейных функций ошибок на основе разреженных графов. LGPL.
  • DGAP : Программа DGAP реализует фотограмметрический метод уравнивания связок, изобретенный Гельмутом Шмидом и Дуэйном Брауном. GPL.
  • Bundler : Система построения структуры из движения (SfM) для неупорядоченных коллекций изображений (например, изображений из Интернета), созданная Ноа Снейвли. GPL.
  • COLMAP : универсальный конвейер построения структуры из движения (SfM) и многооконного стерео (MVS) с графическим интерфейсом и интерфейсом командной строки. Лицензия BSD.
См. Также
Ссылки
Дополнительная литература
Последняя правка сделана 2021-05-13 05:20:55
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте