Это 27-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления"
1 Этапы калибровки камеры
Основываясь на методе калибровки двумерной плоскости на основе цели, процесс калибровки делится на следующие три этапа: 1. Вычислить матрицу сопоставления между плоскостью цели и плоскостью изображения. 2. Решить матрицу параметров камеры. 3. Решить взаимосвязь относительного положения. между левой и правой камерами, то есть решить матрицу поворота и матрицу перевода
2 Метод реализации каждого шага калибровки
Рассчитать матрицу отображения между плоскостью цели и плоскостью изображения.При расчете матрицы отображения модель изображения камеры не учитывается.Она рассчитывается только методом наименьших квадратов по данным точек координат плоскости цели и соответствующие координатные точки изображения.
2.1 Решение матрицы параметров камеры
Соотношение основного уравнения, относящееся к внутренним параметрам камеры, получается из вычисленной матрицы отображения плоскости цели и плоскости изображения, а внутренние параметры камеры получаются путем решения уравнения.Учитывая модель искажения объектива, получено приведенное выше уравнение решения.
Полученные внутренние параметры используются в качестве начальных значений, и выполняется нелинейный оптимизационный поиск для вычисления точных значений всех параметров.
2.3 Решите отношение относительного положения между левой и правой камерами
Пусть внешние параметры левой и правой камер системы бинокулярного зрения равны Rl, Tl и Rr, Tr соответственно, то есть Rl, Tl представляют взаимное положение левой камеры и мировой системы координат, Rr, Tr представлять относительное положение правой камеры и мировой системы координат. Следовательно, для любой точки пространства, если координаты в мировой системе координат, системе координат левой камеры и системе координат правой камеры равны Xw, Xl, Xr соответственно, то имеют место: Xl=RlXw+Tl; Xr=RrXw +Tr Таким образом, относительная геометрическая взаимосвязь между двумя камерами может быть выражена следующей формулой: R=RrRl-1;T=Tr-RrRl-1Tl
В процессе фактической калибровки две камеры одновременно калибруются по калибровочному объекту для получения внутренних и внешних параметров двух камер соответственно, так что можно откалибровать не только внутренние параметры камер, но и систему бинокулярного зрения. калиброваться одновременно Структурные параметры. Из процесса калибровки одиночной камеры известно, что набор внешних параметров камеры можно получить каждый раз, когда калибровочная цель меняет положение: Rr, Tr и Rl, Tl, следовательно, по формуле R=RrRl-1;T =Tr-RrRl-1Tl, можно получить набор структурных параметров R и T
3 Внутренний процесс функции cvCalibrateCamera2
1 Найдите матрицу внутренних параметров:
(1) Используйте функцию cvFindHomography для вычисления матрицы гомографии, полученной для каждого изображения; возьмите координаты центрального пикселя изображения в качестве начальных u0 и v0 и используйте M-TM-1=B, чтобы найти вектор b, содержащий fx и fy .
(2) Для каждой матрицы гомографии H сначала выполните обработку нормализации, а затем используйте два условия и для составления списка уравнений и, наконец, перечислите 2 N (N — количество изображений) уравнений.
(3) Используя принцип наименьшего умножения, метод разложения по сингулярным числам SVD и псевдообратной матрицы (функция cvSVD и cvSVB kSb) используются для решения параметров .fx и .fy и, наконец, матрицы внутренних параметров камеры. Получается M, содержащий 4 параметра.
2 Найдите матрицу внешних параметров для каждого изображения
(1) Сначала по полученной матрице внутренних параметров и известным координатам точки изображения (в пиксельной системе координат) по формулам (2) и (3) получить изображение в физической системе координат с учетом коэффициента искажения точки. координаты xp и yp,
(2) Через соотношение , поскольку все они известны, метод нахождения матрицы гомографии используется для
Найдите начальные значения вектора вращения и вектора переноса и используйте свойство ортогональности для вывода).
(3) Вектор вращения и вектор переноса уточняются методом итераций Гаусса-Ньютона с 20 итерациями). На каждой итерации сначала через проекционную функцию cvProjectPoints2 перепроецируются все координаты физического мира с учетом искажения, внутренних параметров и внешних параметров, а заодно и производные Якоби вектора вращения и вектора переноса на изображении Получена матрица, а затем вычислить значение отклонения с помощью SVD-разложения и решения псевдообратной матрицы и добавить его к начальному значению в качестве начального значения следующей итерации.
3 Глобальная оптимизация всех параметров
Все параметры глобально оптимизируются, также используется итерационный метод для уточнения всех параметров и количество генераций равно 30) В каждой итерации сначала передается проекционная функция cvProjectPoints2, все координаты физического мира считаются искажением, внутреннее перепроецирование выполняется в случае параметров и внешних параметров, а вместе с тем получается производная матрица Якоби вектора вращения, вектора переноса, , , , и всех коэффициентов искажения k1, k2, p1, p, на изображении, а затем через SVD декомпозиция и псевдо. Решение обратной матрицы вычисляет значение отклонения, которое добавляется к начальному значению в качестве начального значения для следующей итерации.