×

Вы используете устаревший браузер Internet Explorer. Некоторые функции сайта им не поддерживаются.

Рекомендуем установить один из следующих браузеров: Firefox, Opera или Chrome.

Контактная информация

+7-863-218-40-00 доб.200-80
ivdon3@bk.ru

Повышение точности калибровки внешних параметров видеокамеры

Аннотация

Д.С. Толкачев

Дата поступления статьи: 14.09.2013

Описана модель идеальной видеокамеры, показан вид внешних и внутренних параметров камеры. Приведены соотношения, связывающие координаты точки в мировой системе координат с координатами проекции этой точки на изображение. Поставлена задача определения внешних параметров камеры по набору соответствий точек в мировой системе координат и их проекций на изображение. С помощью моделирования оценены погрешности определения внешних параметров камеры для различных конфигураций калибровочных объектов. По результатам моделирования даны рекомендации по выбору параметров калибровочного объекта с целью увеличения точности калибровки внешних параметров видеокамеры.

Ключевые слова: калибровка видеокамеры, внешние параметры камеры, оценка положения и ориентации, калибровочный объект

05.13.18 - Математическое моделирование, численные методы и комплексы программ

Во многих задачах компьютерного зрения, например при построении систем стереовидения [1], систем видеорегистрирования, а также при визуализации моделируемых объектов на изображении [2], возникает необходимость оценки положения видеокамеры в пространстве по полученным ею изображениям известного калибровочного объекта. Стремительное развитие фото - и видеорегистрирующей аппаратуры повышает требования к точности определения калибровочных параметров и вызывает необходимость произвести исследование влияния выбора параметров калибровочного объекта на точность калибровки.
Связь между координатами точки в мировой системе координат (СК) x = (xyz) и ее проекции на изображение p = (u, v) описывается с помощью выражения
,
где K – матрица внутренних параметров камеры, позволяющая перейти от координат точки в СК камеры к координатам проекции этой точки на изображении; [R | t] – внешние параметры камеры, определяющие переход из мировой СК к СК камеры,  – однородные координаты точки на изображении.
Внутренние параметры уникальны для каждой камеры и не зависят от других камер и положения в пространстве. Их можно определить индивидуально для каждой камеры с помощью геометрической калибровки по методике, описанной в [3, 4]. При отсутствии геометрических искажений внутренние параметры камеры записываются в виде матрицы камеры:                                                  

где fx, fy – фокусные расстояния камеры, px, py – координаты точки пересечения оптической оси и плоскости изображения в системе координат изображения.
Внешние параметры камеры имеют вид

где R = [rij] – матрица поворота размера 3 × 3, задающая ориентацию камеры и имеющая три степени свободы; t = (tx, ty, tz) – вектор переноса, совмещающий начала мировой СК и СК камеры.
Для определения внешних параметров камеры после калибровки внутренних параметров достаточно иметь набор как минимум из четырех соответствий между координатами точек в пространстве xi = (xi, yi, zi) и координатами точек на изображении pi = (ui, vi). Такая задача популярна в области компьютерного зрения и может решаться различными методами, в основном отличающимися вычислительной сложностью [5–7].
В библиотеке OpenCV также имеется реализация такой функции с именем cv::solvePnP или cvFindExtrinsicCameraParams2 в случае старого интерфейса [8, с. 395]. В качестве входных параметров в эту функцию поступают: массив трехмерных точек пространства, соответствующий этим точкам массив двумерных точек на изображении, внутренние параметры камеры (матрица камеры и коэффициенты дисторсии). Выходными параметры этой функции являются вектор переноса t = (tx, ty, tz) и вектор вращения w = (wx, wy, wz) . Вектор вращения является описанием поворота в пространстве на угол θ = ||w|| вокруг единичного вектора u = w / θ. Матрица вращения может быть получена из u и θ с помощью формулы Родрига [9, с. 38]:
R(u, θ) = I + sin θ [u]× + (1 – cos θ) [u2,
где I – единичная матрица 3×3, а [u]× – кососимметричная матрица, используемая для обозначения векторного произведения:

На практике вместо вектора переноса t удобно оперировать положением камеры c = (cx, cy, cz) , которое при известных R и t находится по следующей формуле (обратная матрица поворота получается транспонированием матрицы прямого поворота R−1 = RT):
с = − RT t.
Ориентацию камеры удобно задавать в виде последовательности элементарных вращений r = (λ, φ, θ) на углы азимута, высоты и крена соответственно, которые для известной матрицы поворота R = [rij] можно найти по следующим формулам [10]:
λ = arctan2(r31, r32),
φ = arcsin(r33),
θ = arctan2(–r13, –r23),
где arctan2(x, y) – двухаргументная функция арктангенса, эквивалентная функции arctan(y / x) с учетом четверти, в которой находится точка (x, y), принимающая значения в интервале (–π, π].
При помощи моделирования выполнено исследование того, как влияет выбор и погрешность измерения пространственных координат x и соответствующих двумерных координат p на точность оценки положения камеры. Моделировалась камера с углом обзора по горизонтали α = 68° и разрешением изображения w × h = 704 × 576 пикселей. Внутренние параметры камеры, таким образом, были приняты следующими:
fx = fy = w / (2 tan(α/2) ) ≈ 521,9;
px = (w – 1) / 2 = 351,5;
py = (h – 1) / 2 = 288,5;
Внешние параметры камеры задавались следующим образом: камера располагалась в начале координат c0 = (0, 0, 0), а углы ее ориентации были приняты нулевыми c0 = (0, 0, 0) (направление оси Z СК камеры совпадает с направлением оси Y мировой СК):

Точки в мировой СК определяются выбором калибровочного объекта. Исследовалось несколько конфигураций точек xi калибровочного объекта с различными расстояниями от камеры и различными угловыми размерами (таблица 1):
1. Конфигурация из четырех точек, проекции которых разнесены друг от друга и расположены в угловых областях изображения.
2. Конфигурация из четырех точек, проекции которых не сильно разнесены друг от друга.
3. Конфигурация из восьми точек, полученная объединением 1-й и 2-й конфигурации.
4. Конфигурация из четырех точек, расположенных дальше от камеры, чем во второй конфигурации, проекции которых также расположены по углам изображения.
5. Конфигурация из четырех точек, составленная из 1-й и 4-й конфигураций (из каждой взято по две точки).
Таблица №1
Конфигурации точек и их проекции


x, м

p, пикс.

x, м

p, пикс.

Конфигурация № 1

Конфигурация № 2

Конфигурация № 3

 −1

 2

 1

 90,6

 26,6

 −0,5

 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

 −0,5

 2

 −0,5

 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

Моделировалась погрешность оценки пространственных координат ±ex = 1, 5 и 10 мм и погрешность определения координат на изображении ±ep= 1 пиксель. Для этого к каждой пространственной координате x добавлялась случайная ошибка ξ с нормальным законом распределения и среднеквадратичным отклонением σx = ex/2, что соответствует доверительному интервалу 95% для заданного ex. Затем полученные зашумленные координаты xξ = x + ξ(σx) проецировались на изображение, и к найденным проекциям добавлялся гауссов шум с среднеквадратичным отклонением σp = ep/2:
.
Для полученных таким образом соответствий  и x с помощью функции solvePnP библиотеки OpenCV определялись внешние параметры камеры, а затем находились положение ci и ориентация ri камеры, где i = 0, 1, … N, N = 1000 – число, достаточное для статистически достоверной оценки погрешности.
Ошибка определения положения камеры для 95-процентного доверительного интервала находилась как два среднеквадратичных отклонения xi от x0:

аналогично определялась ошибка определения ориентации Δr = (Δλ, Δφ, Δθ). Рассчитанные таким образом погрешности приведены в таблице 2.
Таблица № 2
Значения ошибки определения положения Δx и ориентации Δr камеры в зависимости от ошибки измерения пространственных координат ex для различных конфигураций.


ex, мм

Δx, мм

Δr

Конфигурация № 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. 1330– 1334.
5. Complete Solution Classification for the Perspective-Three-Point Problem / XiaoShan Gao, Xiao-Rong Hou, Jianliang Tang, Hang-Fei Cheng // IEEE Transactionson 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 PnPProblem 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.