Изобретение относится к вычислительной технике и может быть использовано для позиционирования видеокамер и коррекции параметров видеокамер, работающих в составе бинокулярной системы технического зрения (БСТЗ), и повышения точности БСТЗ.
Известен способ калибровки активной стереоскопической системы технического зрения [УДК 681.3.06:007.52. Калибровка активной стереоскопической системы технического зрения. Робототехника. Научные редакторы: акад. С.В.Емельянов, к.т.н. Е.Б.Дудин, к.т.н. А.А.Петров. Москва 1993. Перевод с «A new development in camera calibration calibrating a pair of mobile cameras. Izaguirre A., Pu P., Summers J. "IEEE Int. Conf. Rob. and Autom., St. Louis, Mo., March 25-28, 1985." Silver Spring, Md, 1984, 74-79»], обеспечивающий соответствие между изображениями в камерах. Согласно способу для этого добиваются горизонтальности линий сканирования вдоль изображений в обеих камерах, т.е. их параллельности, что облегчает поиск соответствующих точек на изображениях. Для калибровки используется калибровочный объект - квадратная координатная сетка размера 9×9 из черных кружков, которым сопоставляются их геометрические центры. Юстирующие программы определяют наличие картинок одних и тех же объектов в обеих камерах, устраняют шумы посредством выбора соответствующего порога, вычисляют центры для каждой окружности в обеих картинках и определяют вектор рассогласования между вертикальными координатами центров, соответствующих каждой паре кружков на обоих изображениях. Задача калибровки камер решается путем установления соответствия между трехмерным пространством, соответствующим абсолютной системе координат, и двумерной плоскостью, соответствующей плоскости изображения, на основе метода двух калибровочных плоскостей.
Недостатком этого способа является низкая точность калибровки вследствие необходимости применения специального эталонного объекта (калибровочной сетки), в геометрические параметры которого могут быть внесены ошибки на этапе его изготовления, ведущие к снижению точности.
Наиболее близким к предлагаемому является способ автоматической калибровки БСТЗ [B.C.Титов, М.И.Труфанов. Метод автоматической калибровки бинокулярной оптико-электронной системы / Датчики и системы. 2003. - №8. - С.10-12], согласно которому находят преобразование, которое устанавливает соответствие между точками, лежащими на двух параллельных калибровочных плоскостях в трехмерном пространстве и плоскости изображения, проводят измерение и установление исходных значений параметров, определяют калибровочный объект путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующего выбора объекта с наибольшим значением функции принадлежности, измеряют среднюю яркость изображений, поступающих с видеокамер, определяют расхождения фокусных расстояний видеокамер, входящих в состав БСТЗ, определяют углы отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат БСТЗ, определяющие вектора направлений взгляда каждой видеокамеры.
Недостатком данного способа является низкая точность определения взаимного расположения видеокамер БСТЗ, обусловленная отсутствием определения взаимного расположения видеокамер и устранения отклонений линейных параметров, определяющих пространственное положение видеокамер.
Технической задачей изобретения является повышение точности БСТЗ путем внешней калибровки БСТЗ за счет определения и коррекции не только угловых отклонений главных оптических осей видеокамер, но и взаимного расположения видеокамер в составе БСТЗ.
Под внешней калибровкой понимается идентификация установочного положения видеокамер [Extrinsic calibration of a vision sensor mounted on a robot. Ch.-Ch. "IEEE Trans. Rob. and Auttom.", 1992, 8, №2, 161-175].
Задача решается тем, что в известный способ автоматической адаптивной трехмерной калибровки бинокулярной системы технического зрения, включающий определение калибровочного объекта путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующий выбор объекта с наибольшим значением функции принадлежности, определение расхождения фокусных расстояний видеокамер, входящих в состав бинокулярной системы технического зрения, и приведение его к нулевому значению, определение углов отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат бинокулярной системы технического зрения, определяющих вектора направлений взгляда каждой видеокамеры, и приведение их к нулевым значениям, согласно изобретению введены определение расхождения глубины и высоты установки видеокамер и приведение этих расхождений к нулевым значениям, определение величины базы между видеокамерами с приведением ее к заданному значению.
Изобретение может быть использовано для повышения точности БСТЗ, применяемых для контроля и управления различными автоматизированными процессами промышленности (например, роботов, оснащенных БСТЗ), БСТЗ, обеспечивающих автоматизированное слежение за дорожным движением, и соответствует критерию «промышленная применимость».
Сущность изобретения поясняется чертежами, где на фиг.1 приведен алгоритм калибровки, на фиг.2. показано взаимное расположение двух видеокамер и их возможные угловые и линейные перемещения, фиг.3-6 поясняют процесс калибровки угловых параметров, фиг.7-11 поясняют процесс калибровки линейных параметров.
Предлагаемый способ позволяет калибровать следующие параметры бинокулярной системы технического зрения:
- углы отклонения αi, βi, γi, i=1,2, (фиг.2), определяющие взаимосвязь главных оптических осей видеокамер, входящих в состав СТЗ;
- отношение Δf фокусных расстояний объективов первой и второй видеокамер;
- разность глубин D установки видеокамер (фиг.2);
- разность высот Н установки видеокамер (фиг.2);
- расстояние по горизонтали (величина базы) L между видеокамерами (фиг.2).
Алгоритм калибровки (фиг.1) включает решение трех основных задач: калибровку фокусных расстояний видеокамер - приведение значения параметра Δf к единичному, калибровку угловых отклонений видеокамер - приведение значений параметров αi, βi, γi к нулевым значениям и калибровку линейных отклонений видеокамер - приведение значений параметров D, Н к нулевым значениям, L к заданному ненулевому значению L'.
Вспомогательными операциями при калибровке являются предварительная обработка изображения, выбор калибровочного объекта для калибровки угловых отклонений и фокусных расстояний и выбор калибровочного объекта для калибровки линейных отклонений.
Предварительная обработка изображений (блок 1, фиг.1) заключается в фильтрации изображений при необходимости (например, методом медианной фильтрации) и выделении контуров.
Выделение контуров производится градиентным методом, согласно которому оператор В(х, у) определения контура в точке с координатами (х, у) равен
где Lp - порог выделения контура, равный среднему значению между максимальной и минимальной яркостью пикселов изображения;
G(x, y)=|I(х+1, у)+I(х-1, у)+I(х, у+1)+I(х, у-1)-4·I(х, у)|,
где I(х, у) - яркость точки с координатами (х, у).
В блоке 2 (фиг.1) производится выбор калибровочного объекта. Для выбора калибровочного объекта, представляющего собой один или несколько контуров, из множества выделенных контуров объектов на паре изображений с разных видеокамер находится контур, четко различимый на обоих изображениях, имеющий достаточную длину, расположенный в центре кадра и неизменный во времени. Выбор калибровочного объекта производится на основе расчета значений функций принадлежности μf лингвистической переменной «калибровочный объект» по максимальному значению μf
где μg - функция принадлежности терма «четкий», μр - функция принадлежности терма «длинный периметр», μc - функция принадлежности терма «центр кадра», μt - функция принадлежности терма «неизменный».
Функция принадлежности μg терма «четкий контур» определяется на основе расчета первой производной изображения объекта и равна
где - среднее значение перепадов яркости по всем точкам контура, Nkl - количество составляющих контур точек.
Функция принадлежности μр терма «длинный периметр» позволяет выбирать контуры по длине периметра
μр=(1+(а·(b-P)c)-1, при а=0,03, b=100, с=3,
где Р - длина контура в пикселах.
Функция принадлежности μс терма «центр кадра» позволяет выбрать объекты, расположенные близко к центру кадра
μc=(1+(0,5·(5-dc)c)-1, при а=0,5, b=5, с=4,
где dc - удаление центра контура от центра кадра.
Функция принадлежности μt терма «неизменный» позволяет отделить контуры неподвижных объектов от контуров изменяющихся во времени объектов, например движущегося манипулятора робота
μt=(1+(a·(ΔK-b)c)-1, при а=0,5, b=1, с=2,5,
где ΔК - количество несовпадающих точек контура через фиксированный промежуток времени.
Следующим шагом калибровки является достижение равенства фокусных расстояний первой и второй видеокамер (блок 3, фиг.1).
Для этого измеряется периметр калибровочного объекта на обоих изображениях. Длина контура реального объекта на его изображении прямо пропорциональна фокусному расстоянию, следовательно, справедлива формула определения отношения фокусных расстояний по участку изображения одного и того же объекта на двух кадрах:
где P1, P2 - периметр контура на первом и втором изображениях соответственно.
Происходит итерационный процесс изменения фокусных расстояний первой и второй видеокамер до тех пор, пока отношение фокусных расстояний не станет равным единице с некоторой заданной точностью δf.
Для калибровки угловых отклонений главных оптических осей видеокамер вновь необходимо произвести выбор калибровочного объекта на изображениях.
Калибровочный объект должен обладать следующими свойствами - достаточным удалением от БСТЗ (требуется для ослабления эффекта влияния бинокулярного зрения), четкостью, центральным положением в кадре, оптимальным размером.
Выбор калибровочного объекта (блок 4, фиг.1) производится на основе расчета значений функций принадлежности μko объектов, находящихся в кадре, и выбора объекта с максимальным значением μko
где μδ - функция принадлежности, определяющая удаление объекта по отношению площадей объектов δS на изображениях с разных видеокамер и равная
μδ=(1+(5·(1,0-δS)2)-1.
После выбора калибровочного объекта производится калибровка угловых отклонений αi, βi, γi, i=1,2.
В первую очередь добиваемся параллельности осей координат первой и второй видеокамер, отвечающих за высоту (блок 5, фиг.1). Вращением первой и второй видеокамерами вокруг своей оси изменяем углы β1, β2 в стороны, направленные на уменьшение этих углов.
На фиг.3 показаны два кадра изображения с первой и второй видеокамер. На фиг.4а - совмещенный кадр, на котором видно несовпадение координат точек калибровочного объекта (калибровочный объект показан прямоугольником) на изображениях с разных видеокамер. Как видно из чертежа, первую видеокамеру необходимо повернуть по часовой стрелке, вторую видеокамеру - против часовой, тем самым добиться параллельности вертикальных осей координат, отвечающих за высоту и равенства углов β1, β2 (фиг.4б).
Калибровка углов α1 и α2 производится аналогично (блок 6, фиг.1): на основе анализа двух кадров, когда вертикальные оси координат изображений параллельны, но объект занимает разные положения на кадрах изображения, производим поворот (углы α1 и α2 (фиг.2)) первой и второй видеокамер в плоскости П (фиг.2), добиваясь совпадения соответствующих координат xi, множества точек, составляющих калибровочный объект (фиг.5).
В блоке 7 (фиг.1) поворачивая первую и вторую видеокамеры в плоскостях Ω1, Ω2 соответственно, изменяем углы γ1, γ2 и получаем совпадение координат соответствующих точек объекта на обоих изображениях (фиг.6).
Проведена калибровка угловых параметров αi, βi, γi, i=1, 2, определяющих направления главных оптических осей видеокамер, в результате которой главные оптические оси видеокамер БСТЗ параллельны.
Для определения линейных параметров Н, D, L необходимо разместить калибровочный объект так, чтобы он был на изображении обоих видеокамер (калибровочный объект новый и не совпадает с калибровочным объектом для калибровки угловых отклонений). Размещение калибровочного объекта может производиться автоматически манипулятором робота или вручную. Калибровочный объект на изображении выбирается оператором или автоматически при известных геометрических особенностях калибровочного объекта (блок 8, фиг.1). В качестве калибровочного объекта может использоваться шар, например, от шарикового подшипника.
Первым этапом калибровки является определение разности глубин установки видеокамер D и приведение ее к нулевому значению (блок 9, фиг.1).
Данный этап калибровки основан на том, что разность глубин установки видеокамер равна нулю при выполнении двух условий:
1) размер изображения калибровочного объекта по горизонтали одинаковый на обоих изображениях (фиг.7, r01=r02);
2) центры изображений калибровочного объекта расположены на равном расстоянии от смежных краев кадров (фиг.7, x01=x02).
Первое условие основано на том, что при одинаковых фокусных расстояниях видеокамер (фокусные расстояния откалиброваны ранее) размеры изображений объекта на разных изображениях будут одинаковыми при равных расстояниях до объекта.
Для доказательства первого условия рассмотрим треугольники OFx1 и OFx2 (фиг.8а) и положим, что точки р11, p1, р22 и p21, p2, p12 соответственно совпадают (данное допущение существенно облегчает доказательство, но при этом не влияет на его суть):
tgν1=x1/f=p1/(d1+f),
tgν2=x2/f=p2/(d1+f).
Выразим x1, x2 и определим взаимосвязь длины изображения |x1-x2| и расстояния d:
Обозначим
Δx=|x1-x2|, Δx2=|x21-x22|, Δр=|p1-р2|.
Из формулы 4 выразим d1, d2 (фиг.10а)
Определим разность глубин установки видеокамер D=d1-d2
Так как фокусное расстояние и размер объекта не равны нулю, то
D=d1-d2=0 при Δх=Δх2.
Как видно из фиг.8б, существует бесконечное множество положений точек P, F, F2, при которых расстояния от калибровочного объекта до каждой из видеокамер будут равны (фиг.8а, r1=r2, r' 1=r' 2, r'' 1=r'' 2) и для которых Δх=Δх2, но при этом разность глубин установки видеокамер не равна нулю, в связи с чем и было введено второе условие равенства разности глубин установки видеокамер нулю.
Второе условие выполняется в случае, если углы ν01=ν02. Равенство ν01=ν02 проверяется по равенству расстояний от центров изображений калибровочного объекта до краев кадров x01=x02 (фиг.7, 8б)
x01=(x1+x2)/2;
x02=(x21+x22)/2.
Таким образом, при калибровке разности глубин установки видеокамер D итерационно производится перемещение той видеокамеры назад для ее удаления от калибровочного объекта, изображение калибровочного объекта с которой больше, до тех пор, пока изображения объекта с обеих видеокамер не станут равными, после чего изменяется положение калибровочного объекта для достижения равенства x01=x02 и вновь производится расчет разности глубин установки видеокамер D и перемещение соответствующей видеокамеры. Критерием остановки итерационного процесса является достижение равенств x01=x02 и Δх=Δх2 с заданными точностями.
Следующим из линейных параметров калибруется разность высот установки видеокамер Н (блок 10, фиг.1).
На фигуре 8а показана геометрическая модель видеокамер с передней плоскостью изображения, поясняющая процесс калибровки разности высот установки видеокамер Н.
Обозначим у1, у2 - высоты калибровочного объекта в пикселах на изображении с первой и второй видеокамер. Из прямоугольных треугольников F1O1y1, F2O2y2 (фиг.9а), получим
Из формулы 6 следует, что высота уi пропорциональна углу μi.
В свою очередь высота расположения видеокамеры hi над центром О калибровочного объекта также пропорциональна углу μi:
Путем несложных преобразований из формул 6, 7 получим
yi˜hi.
Совместим локальные декартовые системы координат видеокамер (фиг.9б) с откалиброванными фокусными расстояниями f1=f2=f. Высота точки О относительно второй видеокамеры (верхней) меньше высоты точки О относительно первой видеокамеры с учетом знака (h2<01, h1>0)
h2<h1,
с учетом пропорциональности yi˜hi и одинаковом коэффициенте пропорциональности
получаем
y2<y1.
Таким образом, высота калибровочного объекта на изображении верхней видеокамеры будет меньше высоты калибровочного объекта на изображении нижней видеокамеры. Высоты изображений объекта будут совпадать при Н=0, для чего производится подъем той видеокамеры, высота калибровочного объекта на изображении которой меньше, до тех пор, пока высоты h'1, h'2 изображений объекта не совпадут (фиг.10). Высоты h'i (i=1,2) определяем по средним значениям ординат точек, составляющих изображение калибровочного объекта.
Последним из линейных параметров калибруется величина базы L.
Целью калибровки параметра L, определяющего расстояние по горизонтали между видеокамерами, является приведение этого параметра к заданному значению для обеспечения стереоскопического восприятия с заданными параметрами.
В отличие от других ранее откалиброванных параметров калибровка базового расстояния может проводиться только при известном расстоянии d (фиг.11) от калибровочного объекта до бинокулярной СТЗ.
Получим формулу для определения величины базы L в зависимости от координат x1, x2 калибровочного объекта на изображениях и расстояния d до него (фиг.11):
где Хпзс1, Хпзс2 - половины длин приемных матриц видеокамер в метрах, определяемых по паспорту видеокамер, f1, f2 - фокусные расстояния видеокамер в метрах, xmax1, Xmax2 - половины размеров приемных матриц видеокамер в пикселах.
Так как фокусные расстояния видеокамер откалиброваны, и, как правило, в бинокулярной СТЗ используются видеокамеры с одинаковыми приемными матрицами, то
Xпзс1=Xпзс2=Xпзс
xmax1=xmax2=xmax
Тогда формула (8) преобразуется
Калибровка величины базы (блок 11, фиг.1) проводится путем расчета значения L по формуле (8) и смещения второй видеокамеры относительно первой видеокамеры вправо на величину ΔL
ΔL=L'-L,
где L' - заданное значение величины базы.
Изобретение позволяет повысить точность БСТЗ путем внешней калибровки БСТЗ, обеспечивающей определение и коррекцию всех необходимых параметров - трех угловых и трех линейных параметров, определяющих расположение видеокамер БСТЗ и фокусного расстояния.
Изобретение может быть использовано для позиционирования видеокамер и коррекции параметров видеокамер, работающих в составе бинокулярной системы технического зрения (БСТЗ). Технический результат заключается в повышении точности БСТЗ путем внешней калибровки БСТЗ, обеспечивающей определение и коррекцию всех необходимых параметров. Сущность изобретения состоит в том, что в известный способ, включающий определение калибровочного объекта путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующий выбор объекта с наибольшим значением функции принадлежности, определение расхождения фокусных расстояний видеокамер и приведение его к нулевому значению, определение углов отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат БСТЗ и приведение их к нулевым значениям, введены определение расхождения глубины и высоты установки видеокамер и приведение этих расхождений к нулевым значениям, определение величины базы между видеокамерами с приведением ее к заданному значению. 11 ил.
Способ внешней калибровки бинокулярной системы технического зрения, включающий определение калибровочного объекта путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующий выбор объекта с наибольшим значением функции принадлежности, определение расхождения фокусных расстояний видеокамер, входящих в состав бинокулярной системы технического зрения, и приведение его к нулевому значению, определение углов отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат бинокулярной системы технического зрения, определяющих вектора направлений взгляда каждой видеокамеры, и приведение их к нулевым значениям, отличающийся тем, что дополнительно определяют расхождение глубины и высоты установки видеокамер и приводят эти расхождения к нулевым значениям, определяют величину базы между видеокамерами с приведением ее к заданному значению.
ТИТОВ B.C | |||
и др | |||
Метод автоматической калибровки бинокулярной оптико-электронной системы ″Датчики и системы″ | |||
- М., 2003, №8, с.10-12 | |||
US 5768443, 16.06.1998 | |||
US 5978521, 02.11.1999 | |||
US 2003142883, 31.07.2003 | |||
УСТРОЙСТВО КАЛИБРОВКИ ОПТИКОЭЛЕКТРОННОЙ СИСТЕМЫ | 2001 |
|
RU2199150C2 |
US 4945493, 31.07.1990 | |||
US 5083073, 21.01.1992. |
Авторы
Даты
2006-10-27—Публикация
2005-03-01—Подача