Повышение точности калибровки внешних параметров видеокамеры
Д.С. Толкачев
Во многих задачах компьютерного зрения, например при построении систем стереовидения [1], систем видеорегистрирования, а также при визуализации моделируемых объектов на изображении [2], возникает необходимость оценки положения видеокамеры в пространстве по полученным ею изображениям известного калибровочного объекта. Стремительное развитие фото - и видеорегистрирующей аппаратуры повышает требования к точности определения калибровочных параметров и вызывает необходимость произвести исследование влияния выбора параметров калибровочного объекта на точность калибровки.
Связь между координатами точки в мировой системе координат (СК) х = (х, у, 2) и ее проекции на изображение р = (и, V) описывается с помощью выражения
р = К [К 11]х,
где К - матрица внутренних параметров камеры, позволяющая перейти от координат точки в СК камеры к координатам проекции этой точки на изображении; [и I А - внешние параметры камеры, определяющие переход из мировой СК к СК камеры, р = (Ли, Ху, Л) - однородные координаты точки на изображении.
Внутренние параметры уникальны для каждой камеры и не зависят от других камер и положения в пространстве. Их можно определить индивидуально для каждой камеры с помощью геометрической калибровки по методике, описанной в [3, 4]. При отсутствии геометрических искажений внутренние параметры камеры записываются в виде матрицы камеры:
/ 0 р
^ х ± х
К
0 /У Ру
0 0 1
где/х, /у - фокусные расстояния камеры, рх, ру - координаты точки пересечения оп-
тической оси и плоскости изображения в системе координат изображения. Внешние параметры камеры имеют вид
гіі ri2 ri3 tx
[R|t ] = r2l r22 r23 ty
_Гзі r32 r33 t z _
где R = Щ - матрица поворота размера 3 х 3, задающая ориентацию камеры и имеющая три степени свободы; t = (tx, ty, tz) - вектор переноса, совмещающий начала мировой СК и СК камеры.
Для определения внешних параметров камеры после калибровки внутренних параметров достаточно иметь набор как минимум из четырех соответствий между координатами точек в пространстве xi = (xi, y, zi) и координатами точек на изображении pi = (ui, vi). Такая задача популярна в области компьютерного зрения и может решаться различными методами, в основном отличающимися вычислительной сложностью [5-7].
В библиотеке OpenCV также имеется реализация такой функции с именем cv::solvePnP или cvFindExtrinsicCameraParams2 в случае старого интерфейса [8, с. 395]. В качестве входных параметров в эту функцию поступают: массив трехмерных точек пространства, соответствующий этим точкам массив двумерных точек на изображении, внутренние параметры камеры (матрица камеры и коэффициенты дисторсии). Выходными параметры этой функции являются вектор переноса t = (tx, ty, tz) и вектор вращения w = (wx, wy, wz) . Вектор вращения является описанием поворота в пространстве на угол 0 = ||w|| вокруг единичного вектора u = w / 0. Матрица вращения может быть получена из u и 0 с помощью формулы Родрига [9, с. 38]:
R(u, 0) = I + sin 0 [u]x + (1 - cos 0) [u]x2, где I - единичная матрица 3x3, а [u]x - кососимметричная матрица, используемая для обозначения векторного произведения:
[и],
0 - Щ иу
и 0 - и
2 X
иу их 0
На практике вместо вектора переноса 1 удобно оперировать положением камеры с = (сх, су, с2) , которое при известных И и 1 находится по следующей формуле (обратная матрица поворота получается транспонированием матрицы прямо_______________1 гр
го поворота И = И ):
с = - Ит 1
Ориентацию камеры удобно задавать в виде последовательности элементарных вращений г = (X, ф, 0) на углы азимута, высоты и крена соответственно, которые для известной матрицы поворота И = [ггу] можно найти по следующим формулам [10]:
X = аг^ап2(гзЬ Г32),
ф = а1^т(гзз),
0 = аге1аи2(-Г1з, -Г23), где аге1ап2(х, у) - двухаргументная функция арктангенса, эквивалентная функции аге1ап(у / х) с учетом четверти, в которой находится точка (х, у), принимающая значения в интервале (-п, п].
При помощи моделирования выполнено исследование того, как влияет выбор и погрешность измерения пространственных координат х и соответствующих двумерных координат р на точность оценки положения камеры. Моделировалась камера с углом обзора по горизонтали а = 68° и разрешением изображения х И = 704 х 576 пикселей. Внутренние параметры камеры, таким образом, были приняты следующими:
/х = /у = п / (2 1ап(а/2) ) ~ 521,9;
Рх = (п - 1) / 2 = 351,5;
Ру = (И - 1) / 2 = 288,5;
Внешние параметры камеры задавались следующим образом: камера распо-
лагалась в начале координат с0 = (0, 0, 0), а углы ее ориентации были приняты нулевыми со = (0, 0, 0) (направление оси Z СК камеры совпадает с направлением оси У мировой СК):
[^]
1 0 0 0' 0 10 0
0 0 10
Точки в мировой СК определяются выбором калибровочного объекта. Исследовалось несколько конфигураций точек хг- калибровочного объекта с различными расстояниями от камеры и различными угловыми размерами (таблица 1):
1. Конфигурация из четырех точек, проекции которых разнесены друг от друга и расположены в угловых областях изображения.
2. Конфигурация из четырех точек, проекции которых не сильно разнесены друг от друга.
3. Конфигурация из восьми точек, полученная объединением 1-й и 2-й конфигурации.
4. Конфигурация из четырех точек, расположенных дальше от камеры, чем во второй конфигурации, проекции которых также расположены по углам изображения.
5. Конфигурация из четырех точек, составленная из 1-й и 4-й конфигураций (из каждой взято по две точки).
Таблица №1
Конфигурации точек и их проекции
х, м р, пикс. х, м р, пикс.
Конфигурация № 1 Конфигурация № 2
Конфигурация № 3
-1 2 1 90,6 26,6 ,5 0, 1 2 0,5 221,0 157,0
1 2 1 612,4 26,6 0,5 2 0,5 482,0 157,0
-1 2 -1 90,6 548,4 ,5 0, - 2 ,5 0, - 221,0 418,0
1 2 -1 612,4 548,4 0,5 2 -0,5 482,0 418,0
Конфигурация № 4 Конфигурация № 5
-2 4 2 90,6 26,6 -2 4 2 90,6 26,6
2 4 2 612,4 26,6 2 4 2 612,4 26,6
-2 4 -2 90,6 548,4 -1 2 -1 90,6 548,4
2 4 -2 612,4 548,4 1 2 -1 612,4 548,4
Моделировалась погрешность оценки пространственных координат ±ех = 1, 5 и 10 мм и погрешность определения координат на изображении ±ер= 1 пиксель. Для этого к каждой пространственной координате х добавлялась случайная ошибка £ с нормальным законом распределения и среднеквадратичным отклонением ох = ех/2, что соответствует доверительному интервалу 95% для заданного ех. Затем полученные зашумленные координаты х^ = х + £(ох) проецировались на изображение, и к найденным проекциям добавлялся гауссов шум с среднеквадратичным отклонением ор = ер/2:
Р* = к |к\*К+£Ор ).
Для полученных таким образом соответствий и х с помощью функции
Бо^еРпР библиотеки ОрепСУ определялись внешние параметры камеры, а затем находились положение сг- и ориентация г камеры, где I = 0, 1, ... Ы, N = 1000 -число, достаточное для статистически достоверной оценки погрешности.
Ошибка определения положения камеры для 95-процентного доверительного интервала находилась как два среднеквадратичных отклонения хг- от х0:
I 1 N
Ас = (Ах, А,, Аг) = X (Х - х0)2 >
аналогично определялась ошибка определения ориентации Дг = (Д^, Дф, Де). Рассчитанные таким образом погрешности приведены в таблице 2.
Таблица № 2
Значения ошибки определения положения Дх и ориентации Дг камеры в зависимости от ошибки измерения пространственных координат ех для различных конфигураций.
ех, мм Дх, мм Дг
Конфигурация № 1
1 5,6 5,6 1,6 0,13° 0,13° 0,04°
5 14,6 14,4 4,5 0,34° 0,33° 0,11°
10 26,9 27,9 8,8 0,62° 0,65° 0,21°
Конф игурация № 2
1 18,8 18,3 3,1 0,50° 0,49° 0,09°
5 47,8 45,2 8,2 1,28° 1,22° 0,21°
10 91,6 88,6 15,3 2,48° 2,40° 0,43°
Конфигурация № 3
1 4,4 4,5 1,5 0,11° 0,11° 0,04°
5 12,0 12,0 4,0 0,30° 0,30° 0,10°
10 23,8 23,1 7,8 0,59° 0,58° 0,18°
Конфигурация № 4
1 10,3 10,2 2,8 0,12° 0,12° 0,04°
5 16,5 16,0 5,3 0,19° 0,18° 0,06°
10 29,2 28,1 9,5 0,34° 0,33° 0,11°
Конфигурация № 5
1 4,4 4,1 2,3 0,08° 0,07° 0,05°
5 9,2 10,4 6,1 0,14° 0,16° 0,09°
10 16,8 19,4 11,9 0,26° 0,29° 0,17°
По результатам моделирования можно сделать следующие рекомендации:
1. Для уменьшения погрешностей необходимо увеличивать угловое расстояние между проекциями точек (конфигурации №1 и №2)
2. Добавление дополнительных точек позволяет уменьшить погрешность (конфигурации №1 и №3)
3. Отдаление точек в пространстве без изменения их угловых расстояний уменьшает погрешность определения ориентации камеры, но увеличивает погрешность определения положения камеры (конфигурации №1 и №4)
4. Предпочтительно располагать точки в пространстве так, чтобы они имели различные дальностные координаты. В этом случае погрешности распределяются более равномерно для различных координат или осей поворота, и их суммарное значение в этом случае наименьшее (конфигурации №1 и №5).
5. Предполагается достаточно точным определение положения и ориентации камер с точностью измерения пространственных координат 10 мм, для конфигу-
рации из четырех разноудаленных от камеры точек (конфигурация №5).
Литература:
1. Лахов, А.Я. Программное обеспечение для стереовизуализации результатов конечно-элементного моделирования [Электронный ресурс] // «Инженерный вестник Дона», 2013, №1. - Режим доступа:
http ://ivdon.ru/magazine/archive/n1y2013/1501 (доступ свободный) - Загл. с экрана. - Яз. рус.
2. Рачковская Г.С. Математическое моделирование и компьютерная визуализации сложных геометрических форм // «Инженерный вестник Дона», 2013, №1. -Режим доступа: http://ivdon.ru/magazine/archive/n1y2013/1498 (доступ свободный) - Загл. с экрана. - Яз. рус.
3. Sturm Peter F, Maybank Stephen J. On plane-based camera calibration: A general algorithm, singularities, applications // Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on. / IEEE. -Vol. 1. - 1999.
4. Zhang Zh. A Flexible New Technique for Camera Calibration // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 2000. - Vol. 22(11). - P. 13301334.
5. Complete Solution Classification for the Perspective-Three-Point Problem / XiaoShan Gao, Xiao-Rong Hou, Jianliang Tang, Hang-Fei Cheng // IEEE Transaction-son Pattern Analysis and Machine Intelligence. - 2003. - Vol. 25, no. 8. - P. 930-943.
6. Moreno-Noguer F., Lepetit V., Fua P. Accurate Non-Iterative O(n) Solution to the PnP Problem // Computer Vision, 2007. ICCV 2007. IEEE 11th International Conference on. - 2007. - P. 1-8.
7. Schweighofer Gerald, Pinz Axel. Globally Optimal O(n) Solution to the PnP-Problem for General Camera Models. // BMVC. - 2008. - P. 1-10.
8. Bradski Gary, Kaehler Adrian. Learning OpenCV. - Sebastopol: O’Reilly, 2008. - 555 p.
9. Szeliski R. Computer Vision. Algorithms and Applications / Ed. by D. Gries, F. B. Schneider. - Springer, 2011. - 812 p.
10. Толкачев Д.С. Преобразования координат, связанные с вращением камеры, при формировании панорамы. - Материалы Всероссийской научной конференции «Инновационные процессе в гуманитарных, естественных и технических системах» - часть 3 - Таганрог: Изд-во ТТИ ЮФУ, 2012 г, с. 68-72.