Автоматизированная калибровка стереопары в лабораторных условиях

УДК 004.94

О.С. КИРЕЕВ

АВТОМАТИЗИРОВАННАЯ КАЛИБРОВКА СТЕРЕОПАРЫ В ЛАБОРАТОРНЫХ УСЛОВИЯХ

1. Введение

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

Для возможности триангуляции необходимо провести калибровку, то есть определить значения параметров модели стереопары. Существуют много различных моделей и подходов к калибровке [1 - 5], на которых остановимся ниже более подробно. Наиболее точным и распространенным из них является калибровка по точкам с известными пространственными координатами [1]. Трудности, которые здесь возникают, связаны с измерением пространственных координат калибровочных точек, а также с нахождением их изображений на снимках. Точное измерение пространственных координат требует специального калибровочного стенда. Однако с появлением дешевых цифровых камер для персональных компьютеров задачи стереозрения и калибровки вышли далеко за пределы специализированных лабораторий, поэтому вопрос конструирования калибровочного стенда - это отдельная задача. Как правило, лаборатории, начинающие заниматься задачами машинного зрения, используют методы самокалибровки [2, 4], не требующие знания пространственных координат калибровочного объекта. Однако эти методы менее устойчивы и часто оказываются недостаточно точны. В нашей статье предлагается конструкция калибровочного стенда, простая в изготовлении и дающая высокую точность измерения пространственных координат.

Вторая проблема решается автоматизацией обработки изображений. Хотя таких систем написано немало, среди них не нашлось подходящей к данному случаю. Критерием служило полностью автоматическое устойчивое нахождение координат калибровочных точек на изображении и опорной точки, используемой для связи снимков стереопары друг с другом и пространственными координатами. Поэтому была разработана собственная система обработки изображений, отвечающая этим требованиям. При ее разработке встал вопрос о необходимой точности определения 20 координат калибровочных точек. Повышение такой точности с некоторого момента перестает влиять на общую точность калибровки, так как нивелируется погрешностями метода калибровки и измерения пространственных координат. При этом использование точных субпиксельных методов [6] значительно усложняет реализацию программы. В литературе основное внимание уделяется влиянию 20 погрешности на точность определения параметров камеры без учета ошибки измерения 30 координат [7, 8]. Поэтому была сделана самостоятельная оценка относительного вклада в общую погрешность калибровки погрешностей измерения пространственных и 20 координат калибровочных точек. На ее основе также была проведена оценка ожидаемой точности реконструкции.

В разделе 2 описаны основные подходы к калибровке, а также рассмотрены модели камер и методы триангуляции. Раздел 3 посвящен конструкции калибровочного стенда. Вопросы оценивания точности калибровки освещены в разделе 4. В разделе 5 описывается разработанная программа автоматической

обработки калибровочных снимков. Раздел 6 посвящен результатам эксперимента, раздел 7 содержит заключение и выводы.

2. Калибровка стереопары: теоретические положения

В подавляющем большинстве случаев камеры, составляющие стереопару, калибруются отдельно. Такой подход уменьшает количество неизвестных параметров калибровки и, соответственно, улучшает устойчивость работы численных методов. Далее приведем краткий обзор возможных подходов к калибровке камеры [9]. Калибровка камеры включает в себя выбор модели камеры, численных алгоритмов поиска параметров модели и объекта калибровки. Поэтому классифицировать методы калибровки можно согласно нескольким различным критериям:

- линейная [10] или нелинейная [1, 4, 5] модель камеры. Их различие в том, что нелинейная модель учитывает нелинейные искажения в оптике камеры, например, дисторсию;

- явная или неявная калибровка. Неявная калибровка моделирует камеру, не используя физические параметры камеры в явном виде [11];

- объект калибровки. Наиболее распространены методы, использующие в качестве объекта калибровки набор точек с известными пространственными координатами [1]. Другие методы используют в этих целях некоторые геометрические свойства сцены, например, линии схождения [12 - 14]. В последнее время развиваются также методы самокалибровки [2, 4]. В качестве объекта калибровки в них обычно используется калибровочная сетка известных размеров, снимаемая в различных положениях. Трех снимков оказывается достаточно, чтобы определить все внутренние и внешние параметры камеры. Однако такие методы менее устойчивы и точны;

- численные методы, используемые при нахождении параметров модели. Условно их можно разделить на линейные, нелинейные и смешанные методы. В смешанных методах все или часть параметров сначала оценивается линейными алгоритмами, а затем следует нелинейная оптимизация [1, 15].

В данной работе мы более подробно остановимся на методе явной калибровки по известным 3D точкам и с нелинейной моделью камеры. Явная калибровка предпочтительна, так как позволяет легко провести триангуляцию по снимкам стереопары. Калибровочные точки с известными пространственными координатами дают высокую точность калибровки и позволяют легко получить ошибку триангуляции откалиброванной стереопары, что служит естественной мерой качества калибровки. И, наконец, использование дешевых камер заставляет нас учитывать нелинейные искажения.

Итак, рассмотрим математическую модель камеры. Цель этой модели - установить связь между трехмерными координатами точек в пространстве и координатами их двухмерных изображений. Наиболее простой является модель камеры-обскуры (pinhole camera):

і

і

и в матричном представлении:

( Л /У„

Л

уж

ж

У

ж

ж

2

ж

1

где Р - проекционная матрица 3х4; (1ХВ,1 Ув) - координаты проекции

в пикселах;

; (ж у ж у ж у )г _

; \ уж , Уж , уж ) -

3й координаты точки в мировой системе координат.

Более сложные модели представляют проектирование 3й точки на плоскость изображения камеры в виде четырех последовательных преобразований (рис. 1).

Х\Л/ ? 1 \Л/

Рис. 1. Геометрическая интерпретация проектирования Эй точки на плоскость изображения

1. Во-первых, переходят от мировой системы координат в пространстве к системе координат камеры. При этом точка Рж в мировой системе координат имеет координаты Рс в системе координат камеры. Такое преобразование моделируется при помощи вектора переноса и матрицы вращения

( с V Л уж (ж V Л уж

с У II с ж жу 1ш +ст

су V ) ж у

2. Далее производят линейное проектирование точки Рс на плоскость изображения, получая точку Ри . Пусть плоскость изображения расположена на расстоянии / от оптического центра Ос и параллельна плоскости, заданной осями Хс и Ус . Тогда проекция производится согласно следующим уравнениям:

с у с у

сХи = ; % = /-ф •

Э. Третий шаг моделирует дисторсию линз, то есть нелинейные искажения в камере. Он вносит поправку к линейной проекции Ри , чтобы получить точку реальной проекции Рв :

сХи =сХв + 8Х; % = % +8у.

Поправки 8Х и 8у моделируют аберрации физических камер и представляются в виде рядов.

Обычно рассматривают два вида дисторсии: радиальную и тангенциальную. Радиальная дисторсия отражает сдвиг между идеальной и реальной проекциями вдоль радиуса, проведенного из главной точки изображения к точке реальной проекции. Тангенциальная дисторсия моделирует сдвиг, перпендикулярный этому радиусу. Радиальная и тангенциальная дисторсии задаются уравнениями (6) и (7) соответственно.

г2 =сХ 2 +су 2-

А п Т 1 п ,

8Ж =сХ0

К = % (V2 + к2 г 4 + кзг6 + •••);

8ХТ =

8УТ = §2 сХЭ2 + §3 сХ0су0 + (§2 + §4)суд^

Общая дисторсия равна сумме радиальной и тангенциальной дисторсий:

8Х = 8ХК + 8ХТ ;

8у = 8Ш + 8уТ •

Часто в радиальной части дисторсии учитывают только первый член, а тангенциальной дисторсией полностью пренебрегают [1]. Также иногда обозначают [5, 15]:

г '2 = сХи 2 + сУи 2;

сХд = сХи +8х ;

у = сУи +8у;

8Ж =сХи {к/1 + к 2 г '4 + кз г'6 + •••);

8ук = сУи кг '2 + к 2 г '4 + кзг 'б + •••);

dXT = (g1 + 8ъ)°Хи 2 + g 4 C XU°YU + g1 % 2;

dYT = g 2 °XU 2 + g 3 C XU°YU + (g 2 + g 4)CYU ^

То есть формулы для дисторсии остаются неизменными с точностью до замены г на г , С Ха на С Хи и С уд на С Уи . Корректность такой модели дисторсии рассмотрена в [5]. Формулы (5) - (7) используют

для реконструкции пространственных координат по известным координатам на изображении. Второй способ обозначения применяют для вычисления координат проекции при известных пространственных координатах.

4. И, наконец, необходимо перейти от метрической системы координат камеры на плоскости

изображения Рв к системе координат компьютерного изображения в пикселах Р1. Фактически это сводится к

сдвигу начала координат из центра изображения в его левый верхний угол и смене масштаба:

Вкратце остановимся на численных методах калибровки. Для приведенной выше нелинейной модели камеры обычно используются смешанные двухшаговые методы. Сначала проводится линейная оценка параметров, которая затем используется в итеративной оптимизации как начальное приближение [0, 0]. В качестве минимизируемого функционала ошибки берется среднеквадратическая ошибка проектирования всех калибровочных точек на плоскость изображения. Основные различия в калибровке у различных авторов заключаются в способе вычисления начального приближения. Эти методы калибровки можно свободно получить из Интернет, например, реализации Reg Willson [16] и Bouguet [15]. Поэтому более подробно мы на них останавливаться не будем.

Реконструкция 3D координат некоторой точки в пространстве по координатам ее проекций на обоих изображениях осуществляется следующим образом. В случае камеры-обскуры из формулы (1) получаем четыре уравнения для трех неизвестных:

Индексы 1_ и Р означают соответственно левую и правую камеры. Решая уравнения (13) методом

Аналогичным образом проводится 3D реконструкция в случае более сложной модели камеры (3) - (12). Зная

псевдоинверсии [17], находим неизвестный вектор пространственных координат

координаты проекций на левом и правом снимках,

(JХ^,IY^) ) и (XD,iYD> ) , по формулам (5) - (12) мы

можем получить их координаты

cxR ,cyU ). Тогда из (3) и (4) получим следующие

уравнения для триангуляции:

ґпЯСлтЯ і / ^ у'Л /*Я пЯ\Ж л/- - / рЯ С \лЯ гЯ т\Я\Ж ^ гЯп-іЯ СуЯ^Я,

(Я31 Хи - / Яи) ХЖ + (Я32 Хи - 1 Я12 ) V + (Я33 Хи -1 Яп) ¿Ж - 1 Т1 - ХиТ3;

/рЯСтлЯ гЯ рЯ\Ж у- . / рЯ СуЯ гЯ рЯ \Ж тл і ( рЯ СтлЯ гЯрЯ\Жу _ гЯ^Я СуЯ^Я,

(Я31 Уи -1 Я21) ХЖ +(Я32 Ги -1 Я22) V + (Я33 Уи -1 Я23) ¿Ж - 1 Т2 - ГиТ3 ;

( я31 сХь

-ГЬпЬ\Ж у. /'пЬС \гЬ /'ЬТ)Ь\Ж у. /т)ЬС\гЬ -ТЬиЬ\Ж7 — -Т^Т'Ь С \гЬ гр Ь .

1 Я11) ХЖ + (Я32 хи -•/ Я12) ГЖ + (Я33 Хи -1 Я13) ¿Ж - / Т1 - Ли23 ;

Ь С\тЬ гЬт>Ь\Ж^ . ґпЬСлтЬ . ґпЬС^Ь гЬ иЬ \Ж V гЬ^Ь СлтЬгрЬ

31 и

Ь С Ь Ь Ь Ж Ь С Ь Ь Ь Ж Ь С Ь Ь Ь Ж Ь Ь С Ь Ь

(Я31 Ги -1 Я21) ХЖ + (Я32 Ги -1 Я22) ГЖ + (Я33 Ги - •/ Я23) ¿Ж - / Т2 - їи13 •

з. Экспериментальная установка

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

существенным ошибкам калибровки.

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

калибровочных точек.

Сконструированный нами

калибровочный стенд (рис. 2) представляет собой узкий длинный деревянный брус (1) с наклеенной на него калибровочной сеткой (2). Большая длина бруса (около 2 м) обеспечивает нам покрытие всей области изображения по вертикали. К тому же это уменьшает ошибку измерения

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

и, следовательно, практически вертикально. Отвес (4) служит для определения отклонения бруса от вертикали, которое компенсируется подбором длины подвесных петель. Снизу прибита деревянная планка (5) так, что ее передняя грань параллельна передней грани бруса. По этой планке отслеживается вращение бруса вокруг вертикальной оси, для чего на полу нанесены разметочные линии. Короткий отвес (6) достает почти до пола, и по нему замеряются пространственные координаты бруса. На "шахматке" в одной из клеток поставлен черный крест (7), который задает нам опорную точку при связывании левого и правого снимков друг

Рис. 2. Калибровочный стенд: 1- деревянный брус; 2 -калибровочная сетка; 3 - проволочные петли; 4 - отвес; 5 -деревянная планка; 6 - отвес; 7 - крест, задающий опорную

точку

с другом и пространственными координатами. Такая конструкция калибровочного стенда дает погрешность измерения пространственных координат около 3-5 мм.

4. Оценка погрешностей

Рассмотрим модель камеры-обскуры. В системе координат камеры проекция 30 точки на плоскость изображения задается формулой (4). Напомним, что Z в системе координат камеры обозначает расстояние от точки до камеры, так называемую глубину. Мы пренебрегаем дисторсией, так как в работе использовались близкие к линейным камеры. Пусть также известны внешние параметры камеры - матрица поворота Р и вектор сдвига Т при переходе от мировой системы координат к системе координат камеры (при калибровке

они, как правило, определяются достаточно точно). Обозначим через Хк , Ук и ¿к пространственные

координаты к-той калибровочной точки, а через хк и ук - ее координаты на изображении. Тогда формула (4) приобретает вид

Единственный параметр, который необходимо определить при калибровке - это фокусное расстояние камеры / . Для этого введем функционал ошибки проектирования точек на плоскость изображения

симметрии проектирования и так как сенсор камеры практически квадратный, а калибровочные точки

заполняют всю область изображения для каждого значения глубины Z, то далее мы не будем делать

различия между X и У, X и у. Составной индекс Ы обозначим через к, суммирование по которому

будет проводиться от 1 до 2п.

Чтобы найти значение фокуса, минимизирующее ошибку, ищем производную функционала ошибки и приравниваем ее к нулю:

Однако в измерении координат присутствует погрешность 8Хк и 8хк. Обозначая реальные координаты как

обозначает оператор проектирования, индекс I - компоненту 20 вектора. В силу радиальной

8Хк и дхк, мы имеем

При этом, в силу методики проведения измерений, погрешностью нахождения Z можно пренебречь по сравнению с X и У (калибровочный стенд не всегда удавалось выставить абсолютно ровно в плоскости Оху). Значение фокуса, которое получилось бы при идеально точном измерении координат, равно

X

А=2 ()/2

к ¿к к

Подставляя (18) в (19), раскладывая знаменатель в ряд и отбрасывая величины высокого порядка малости, получим

2

(

а=а+-

\

У ¿к У

2

(

х, ¿X,

\

2

+ -

У ¿к У

7

У 7к У

2

- 22

¿

У ¿к У

х^к

7

У ¿к У

2

г XJMA ^

7 2

У 7к У

2

' X'2

7

У 7к У

Дк

Если взять в первом приближении хк = А--------, то можно показать, что третье слагаемое равно удвоенному

7к

второму. Тогда модуль разности полученного и реального фокусов можно оценить как

2

А - А

<

X

г.

2

2

А, +-

X,,

7

2

7

У к У

где А, и Аж - максимальные значения погрешностей 20 и 30 координат, соответственно

хк- ~к <А /;

IX, -Xk\<АШ.

Оценим теперь численные значения. При этом будем считать, что калибровочные точки равномерно и достаточно плотно заполняют как пространство, так и область изображения каждой из камер. Для численных оценок нам также понадобятся некоторые характеристики камер и знание особенностей проведения эксперимента. Так, для камер легко определяются угловое поле зрения (около 30°), размер сенсора (примерно 3х3 мм). Из ТТХ камеры известен линейный размер одного пиксела на сенсоре (около 8 микрон). Из характеристик эксперимента для нас будут важны только диапазон изменения глубины (примерно от 0,5 м до 2 м) и максимальная погрешность измерения пространственных координат (около 5 мм). Обозначим

к = 2

X,.

7

м = 2

х,

к 7к

к

к

к

2

к

к

к

к

к

к

к

к

к

Заметим, что отношение —— равно тангенсу угла между оптической осью и прямой, проходящей через

^7

оптический центр и точку X, (рис. 3). Тогда получим оценку для К:

2 п

К = 2

к=1

X,

2 п _____ 1 12

= 2\Шф\» 2п^р\» 2п • — I tgjdj» 0.26 • п.

к=1 р к

К

/6 -Ь

Рис. 3. Геометрическая интерпретация отношения

X*

2„

Аналогично оценим

2п Ґ X Л2 2п 2 _______________ 1 12

Ь = 2 X' = 2(%Ч>) »2п'(tgj)2 » 2п— _[(^)2<^»4.6 10-2 • п

к=1 У 7к У к=1 р К

У 7к У

6 -р 12

Для оценки М разобьем слагаемые по группам с равным 7к . Будем считать, что количество таких групп т, и в каждой из них одинаковое число пт значений хк . Тогда

2п

м=2

к=1

х

7,

2п- — [ 1.5 і

0.5

= 2

і=1

1 dZ•

пт

2кі

к=1

т

2

і=1

1 1 • х = 2п- 1

» т • пт •

7 т 7 7

X

1

1.5- 10"

310

-3

-1.5- 10-

Запишем условие, когда первое слагаемое (21) равно второму, то есть ошибка, вносимая погрешностью измерения координат на изображении, равна ошибке, следующей из погрешности измерения 30 координат

7 М.

А Т =—Аи/.

1 К ]¥

птх

Подставляя сюда DW » 5-10 3, а также полученные значения K и M, получаем

~I » 26.5-10 6м » 3.3pix.

То есть при погрешности измерения 20 координат около одного пиксела, эта ошибка вносит лишь четверть общей ошибки нахождения фокуса. Поэтому нет смысла применять методы поиска координат на изображении с субпиксельной точностью [6] - на суммарную погрешность это не окажет существенного влияния.

Считая АТ = 1 ріх = 8-10 6 м , получим оценку погрешности нахождения фокусного расстояния

к

L

Теперь можно оценить ожидаемую погрешность триангуляции. Для этого нам нужно оценить фокусное расстояние камеры. Зная, что половина сенсора составляет 1.5-10"3 м и из точки фокуса видна под углом около 15° получим

f

1.5-10

tg15o

-3

5.6-10 3м.

Тогда из подобия треугольников ABC и ADE, а также AFC и AGE (рис. 4), получаем

Df _ BC _ AB _ BF _ f » f DZ ~ DE ~ AD ~ DG ~ Z + f ~ Z ’

где пренебрегаем f по сравнению с Z . Тогда

3.6 10

-2

Рис. 4. Оценка погрешности определения глубины

Максимальная ошибка будет на расстоянии 7=2м:

А7тах » 7.2-10"2 М.

Таким образом, мы получили оценку сверху для погрешности нахождения расстояния от стереопары до заданной точки, равную 3,6% (32). Также мы сделали вывод о нецелесообразности использования субпиксельных методов для нахождения 20 координат.

5. Автоматизация обработки изображений

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

- плохая освещенность и контрастность изображения, особенно на больших расстояниях от калибровочной сетки до камер;

- небольшие (до 5°) отклонения калибровочного бруса от вертикали на изображениях, обусловленные поворотом камер вокруг оптической оси;

- небольшая расфокусировка правой камеры;

- боковые ложные углы, образованные крайними частями решетки и фоном. На многих изображениях их нельзя было убрать подбором порога, не откинув при этом правильные углы решетки;

- отсветы от скотча, которым калибровочная решетка была прикреплена к брусу;

- ложные углы в том месте решетки, где нарисован крест. Крест служил для задания опорной точки при связывании 20 и 30 координат;

- помехи, вносимые фоном. Снимки делались в рабочей комнате, поэтому фон неоднороден: на заднем плане видны шкаф, стулья, стол с пачкой бумаги и т.п.

Рис. 5. Пример работы программы: а) оригинальное изображение; б) грубо определено положение калибровочной сетки; в) результат сглаживания по интенсивности; г) повернутое изображение; д) точное положение калибровочной сетки; е) маска, использованная при поиске узлов решетки; ж) положение калибровочных точек

Приведем пошаговое описание алгоритма, проиллюстрированное на рис. 5:

1. Сначала грубо выделяем область изображения с калибровочной сеткой. Для этого просто суммируем интенсивность пикселов по вертикали и выделяем область с максимальной суммой. Здесь используются те факты, что наша калибровочная сетка практически вертикальна, занимает по высоте все изображение и включает большое количество ярко-белых квадратов (рис. 5б).

2. Затем производим сглаживание по интенсивности, которое позволяет убрать блики на калибровочной сетке. Для этого берем те пикселы изображения, интенсивность которых выше средней интенсивности изображения. Вычисляем среднее значение интенсивности для этих пикселов и заменяем им их оригинальную интенсивность. Таким образом, получаем «среднее белое» значение интенсивности в этих пикселах и убираем блики, оставляя при этом «темную» часть изображения без изменений (рис. 5в).

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

4. Вычисляем размер квадрата сетки на изображении. Для этого находим горизонтальные линии на изображении и берем среднее расстояние между ними. При этом слишком малые значения расстояния отбрасываются, чтобы исключить влияние креста в одном из квадратов. После этого можно точно выделить положение калибровочной сетки (рис. 5д).

5. Теперь находим координаты углов решетки. Зная размер клеток и приблизительные координаты узлов решетки можно легко отфильтровать ложные углы по бокам сетки. Берем маску одного угла «шахматки» (рис. 5е), размер которой определяется по найденному размеру клеток на изображении, и ищем максимум модуля корреляции в небольших окнах в районах предполагаемого нахождения узлов решетки. Результат представлен на рис. 5ж. Крестиками показаны найденные узлы решетки.

6. Теперь находим положение креста, задающего опорную точку. Это легко сделать, зная положение узлов решетки. Проходим по всем клеткам решетки и ищем ту, в которой примерно пополам белых и черных пикселей. На рис. 5з левый верхний угол клетки с крестом показан кружком.

Теперь остается только вернуться к исходным координатам и еще раз уточнить положение узлов решетки (опять корреляция с маской на рис. 5е). Окончательный результат представлен на рис. 5и.

6. Результаты эксперимента

В результате эксперимента было получено около 2000 калибровочных точек. Около 80% из них использовано для калибровки, по остальным проводилось тестирование точности калибровки. В качестве меры точности калибровки была взята ошибка 3D реконструкции. Реконструкция проводилась согласно формулам (13) для линейной камеры и (14) для остальных случаев. Калибровка же осуществлялась следующими методами:

- линейная. Использованы модель камеры-обскуры (1) и алгоритм псевдоинверсии для нахождения ее параметров;

- без учета дисторсии. Использована модель камеры Bouguet [15], совпадающая (с точностью до обозначений) с приведенной в разделе 2: (3) - (8), (12). При этом все коэффициенты дисторсии считались равными нулю и в калибровке не участвовали. Использовался метод калибровки Bouguet, доступный в Интернет в виде модулей Matlab [15]. Его суть заключается в нахождении начального приближения с помощью прямого линейного преобразования (Direct Linear Transformation, DLT) с последующим градиентным спуском;

- с учетом первого коэффициента дисторсии. Использованы модель камеры Bouguet и калибровка Bouguet. При этом в калибровке участвовал только первый коэффициент радиальной дисторсии (k1 в формуле (6)). Такая калибровка сходна с калибровкой по Tsai [1];

- с учетом дисторсии. Здесь также использована модель камеры Bouguet, но с учетом всех пяти коэффициентов дисторсии. Метод калибровки тот же, что и в предыдущем пункте.

Кроме этого, проводилась калибровка методом Tsai, модель камеры которого учитывает только первый коэффициент радиальной дисторсии. Однако на данном наборе точек метод не смог найти хорошее начальное приближение, поэтому калибровка не удалась. При калибровке использовалась как реализация метода Tsai Регом Виллсоном [16], так и реализация автора статьи. Оба они приводили к ошибке.

В табл. 1 показан результат 3D реконструкции при калибровке каждым из этих методов. В ней приведены значения средней ошибки, стандартного отклонения и максимальной ошибки по множеству точек, участвовавших в калибровке (Train), и множеству тестовых точек (Test).

Таблица 1. Ошибка 3D реконструкции

Метод Ошибка 3D реконструкции, мм

Train Test

Mean STD Max Mean STD Max

Линейный 7.7 5.6 38.0 7.0 5.0 24.4

Bouguet без дисторсии 7.8 6.3 42.9 6.8 5.1 27.0

Bouguet только с k1 7.7 6.8 41.3 7.2 4.8 25.1

Bouguet с дисторсией 7.2 5.9 37.7 6.4 4.6 22.5

Как видно из таблицы, лучший результат показала калибровка по Воиді^ с учетом всех пяти коэффициентов дисторсии. Однако он не намного лучше результата, полученного при калибровке линейным

методом с моделью камеры-обскуры. Этого следовало ожидать, так как в эксперименте использовались камеры с малой дисторсией.

Полученный результат вполне соответствует приведенной в разделе 4 оценке погрешности. Для подтверждения сделанных оценок по экспериментальным данным были подсчитаны используемые в разделе 4 статистики, а по ним - относительная и максимальная ошибки реконструкции. Как видно из сравнительной таблицы 2, результаты близки к ожидаемым (через п обозначено количество калибровочных точек, оценка Л2тах пересчитана для экспериментального 2тэх=1.78 м, экспериментальное значение фокусного расстояния / взято из результатов калибровки по Воид1^ без дисторсии).

Таблица 2. Сравнительна таблица результатов эксперимента и их оценок

Название характеристики Оценка Эксперимент

K 2.6-10'1n 2.2-10'1п

L 4.6-10'2п 3.2-10'2п

M 1.4-10'3n 9.9-10'4п

M/K 5.4-10'3п 4.5-10'3п

X cp 3.3 2.8

f, мм 5.6 4.8

Df, мм 2.0-10'1 1.5-10'1

AZ/Z, % 3.6 3.2

AZmax (при Z=1.78 м), мм 64.1 56.4

7. Заключение

В работе описана конструкция простого в изготовлении калибровочного стенда, обеспечивающего высокую точность измерения пространственных координат. Приведен обзор существующих подходов к задаче калибровки и детально разобрана математическая модель стереопары. Сделанная автором оценка погрешности калибровки и относительного вклада в нее погрешностей измерения 2D и 3D координат подтверждается результатами эксперимента. Реализована и описана программа автоматической устойчивой обработки калибровочных снимков, которая определяет координаты калибровочных точек на изображении и положение опорной точки для связывания левого и правого снимков друг с другом и пространственными координатами. При использовании дешевых WEB-камер данная система калибровки показала среднюю точность реконструкции 7,2 мм (на расстояниях до двух метров от камер). Описанный в статье подход может быть успешно применен в лабораторных и домашних условиях.

Дальнейшая работа направлена на усовершенствование калибровочного стенда и адаптацию алгоритма автоматической обработки изображений к случаю изображений с существенной дисторсией.

СПИСОК ЛИТЕРАТУРЫ

1. Tsai R.Y. A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses // IEEE Int. Journal on Robotics and Automation. - 1987. - Vol. 3. - P. 323-344.

2. Faugeras O.D., Luong Q.-T., Maybank S.J. Camera Self-Calibration: Theory and Experiments // ECCV92. - 1992. - P. 321-334.

3. Sturm P.F., Maybank S.J. On Plane-Based Camera Calibration: A General Algorithm, Singularities, Applications // CVPR99. -

1999. - P. 432-437.

4. Zhang Z. A Flexible New Technique for Camera Calibration // IEEE Transactions on Pattern Analysis and Machine Intelligence. -

2000. - Vol. 22 (11). - P. 1330-1334.

5. Heikkila J., Silven O. A Four-step Camera Calibration Procedure with Implicit Image Correction // CVPR97. - 1997. - P. 11061112.

6. Harris C. J., Stephens M. A combined corner and edge detector // Proc. 4th Alvey Vision Conf. - Manchester. - 1988. - P. 147151.

7. Dornaika F., Garcia C. Robust camera calibration using 2D to 3D feature correspondences // Proc. of the International Symposium SPIE, Optical Science Engineering and Instrumentation. - Videometrics V. - 1997. - Vol. 3174. - P. 123-133.

8. Shih S., Hung Y., Lin W. Accuracy Analysis On The Estimation Of Camera Parameters For Active Vision Systems // ICPR. - 1996. - Vol. A. - P. 930-935.

9. Armangue X., Salvi J., Battle J. A comparative review of camera calibrating methods with accuracy evaluation // Pattern Recognition. - 2002. - Vol. 35 (7). - P. 1617-1635.

10. Measuring curved surfaces for robot vision / E.L. Hall, J.B.K. Tio, C.A. McPherson, F.A. Sadjadi // Computer Journal. - 1982. -December. - P. 42-54.

11. Wei G.-Q., De Ma S. Implicit and explicit camera calibration: Theory and experiments // IEEE Transactions on Pattern Analysis and Machine Intelligence. - 1994. - Vol. 16. - P. 469-480.

12. Cipolla R., Drummond T., Robertson D. Camera calibration from vanishing points in images of architectural scenes // BMVC. -1999. - September.

13. Caprile B., Torre V. Using Vanishing Points for Camera Calibration // IJCV(4). - 1990. - N 2, March. - P. 127-140.

14. Wang L.L., Tsai W.H. Camera Calibration by Vanishing Lines for 3-D Computer Vision // PAMI(13). - 1991. - N 4, April. - P. 370-376.

15. Bouguet J.-Y. Camera Calibration Toolbox for Matlab // http://www.vision.caltech.edu/bougueti/calib doc.

16. Willson R. Tsai Camera Calibration Software // http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/rgw/www/TsaiCode.html.

17. Алберт А. Регрессия, псевдоинверсия и рекуррентное оценивание. - М.: Наука, 1977. - 224 с.