способ юстирования бинокулярной системы технического зрения и автоматизированной коррекции растровых изображений
Классы МПК: | G06K9/32 выравнивание или центрирование телевизионной передающей камеры или поля изображения |
Автор(ы): | Гданский Николай Иванович (RU), Мальцевский Владислав Васильевич (RU), Марченко Юлия Андреевна (RU), Хармац Илья Григорьевич (RU) |
Патентообладатель(и): | Московский государственный университет инженерной экологии (RU) |
Приоритеты: |
подача заявки:
2006-07-06 публикация патента:
27.11.2007 |
Изобретение относится к системам технического зрения и предназначено для повышения точности информации, получаемой от видеокамер бинокулярной системы технического зрения (БСТЗ). Способ юстирования бинокулярной системы технического зрения и автоматизированной коррекции растровых изображений за счет получения изображений калибровочного шаблона и последующей обработки их юстирующей программой, которая определяет наличие изображений юстирующего объекта на матрице изображения каждой из камер и пороговым методом анализирует получаемые изображения калибровочный шаблон содержит два идентичных изображения, включающих центральный точечный, горизонтальные и вертикальные прямолинейные, а также центрированный круговой элементы, перед получением изображений калибровочного шаблона производят распознавание дефектов, вносимых в изображения видеокамерами бинокулярной системы, после получения изображений калибровочного шаблона производят ручную юстировку камер системы и автоматизированный расчет искажений изображения, вносимых остаточными погрешностями юстировки - поступательное смещение центра изображения относительно центра матрицы, угол поворота изображения относительно осей матрицы изображения, угол, задающий направление сжатия и коэффициента сжатия изображения, получаемого на матрице, затем найденные дефекты, вносимые в изображения видеокамерами, и рассчитанные поступательное смещение центра изображения, угол поворота изображения, угол, задающий направление сжатия, и коэффициент сжатия изображения используют для коррекции получаемых изображений для исключения из них искажений, обусловленных остаточными погрешностями юстировки. Технический результат - повышение точности графической информации, получаемой от бинокулярных систем технического зрения путем учета дефектов, вносимых в изображения видеокамерами системы, а также исключения из получаемых изображений искажений, обусловленных остаточными погрешностями юстировки. 7 ил.
Формула изобретения
Способ юстирования бинокулярной системы технического зрения и автоматизированной коррекции растровых изображений за счет получения изображений калибровочного шаблона и последующей обработки их юстирующей программой, которая определяет наличие изображений юстирующего объекта на матрице изображения каждой из камер и пороговым методом анализирует получаемые изображения, отличающийся тем, что калибровочный шаблон содержит два идентичных изображения, включающих центральный точечный, горизонтальные и вертикальные прямолинейные, а также центрированный круговой элементы, перед получением изображений калибровочного шаблона производят распознавание дефектов, вносимых в изображения видеокамерами бинокулярной системы, после получения изображений калибровочного шаблона производят ручное юстирование камер системы и автоматизированный расчет искажений изображения, вносимых остаточными погрешностями юстирования - поступательное смещение центра изображения относительно центра матрицы, угол поворота изображения относительно осей матрицы изображения, угол, задающий направление сжатия и коэффициента сжатия изображения, получаемого на матрице, затем найденные дефекты, вносимые в изображения видеокамерами, и рассчитанные поступательное смещение центра изображения, угол поворота изображения, угол, задающий направление сжатия и коэффициент сжатия изображения используют для коррекции получаемых изображений для исключения из них искажений, обусловленных остаточными погрешностями юстирования.
Описание изобретения к патенту
Изобретение относится к системам технического зрения и предназначено для повышения точности информации, получаемой от видеокамер бинокулярной системы технического зрения (БСТЗ).
Типичный модуль БСТЗ (фиг.1) содержит корпус 1, в котором с возможностью поворота установлен вал 2, на горизонтальной планке которого жестко закрепляют две видеокамеры 3, снабженные ПЗС-матрицами. Вращение валу 2 сообщается от привода 4, в качестве которого обычно используют мотор-редуктор постоянного тока либо шаговый двигатель. Для получения информации о текущем угле поворота вала 2 на нем устанавливают датчик угла поворота 5.
Одно из основных назначений бинокулярных систем зрения - определение расстояний до объектов, одновременно находящихся в поле зрения обеих видеокамер. Для этого можно использовать общепринятые в проективной геометрии соотношения.
Рассмотрим проекции идеальной бинокулярной оптической системы, содержащей две камеры Л и П с одинаковыми характеристиками, в плоскости, проходящей через центры проецирования обеих камер (фиг.2).
В системах координат Олx клyклzкл и Onxкny кnzкn, жестко связанных с камерами Л и П, координаты наблюдаемой точки Р связаны следующим образом: zл=zn; x л=xn+L. Также для координат наблюдаемой точки при идеальном проективном изображении выполняются соотношения:
где л, n - координаты изображений наблюдаемой точки на матрицах изображений, получаемых от левой и правой видеокамер, измеряемые в числе пикселей, - условное фокусное расстояние, также измеряемой в пикселях.
Из соотношений (1) после обозначения z=zл =zn получают расчетную формулу для определения удаленности наблюдаемой точки Р:
Основные сложности для практического применения данной методики обусловлены тем, что:
1) идентификация одинаковых точек на изображениях, получаемых левой и правой камерами зачастую является довольно сложной задачей,
2) реальные ПЗС-матрицы имеют собственные дефекты, которые приводят к появлению на изображении пятен, которые маскируют и затрудняют выделение объектов на получаемых изображениях, поэтому необходима отбраковка дефектов изображения, создаваемых самой видеокамерой,
3) получаемые реальными камерами перспективные изображения искажаются по сравнению с идеальными перспективными проекциями в основном из-за погрешностей юстировки камер и особенностей оптической системы камер, необходим учет данных погрешностей.
Корректное решение первой задачи обеспечивается за счет применения более совершенных алгоритмов распознавания. Предметом изобретения является решение второй и третьей задач.
Искажение получаемого изображения вследствие остаточных погрешностей юстировки видеокамер обусловлено линейными и угловыми смещениями видеокамеры от ее идеального положения на горизонтальной планке (фиг.3). Вследствие этого оптическая ось видеокамеры получает линейные s x, sy, sz и угловые x, y z отклонения от идеальной оси БСТЗ, относительно которой производятся расчеты. Данные отклонения невелики, поэтому их влияние можно рассматривать независимо друг от друга. Влияние линейного смещения sz мало, поэтому его можно не учитывать. Угловое отклонение z приводит к повороту получаемого изображения относительно осей матрицы. Линейные отклонения s y, sz приводят к аналогичным смещениям центра изображения относительно центра матрицы. Угловые отклонения x, y также дают смещениям центра изображения относительно центра матрицы и дополнительное сжатие изображения в направлении отклонения оптической оси камеры. Суммируя, все искажения можно свести к 1) поступательному смещению центра изображения относительно центра матрицы, 2) повороту получаемого изображения относительно осей матрицы, 3) сжатию изображения в направлении отклонения оптической оси камеры. Предложен алгоритм, позволяющий автоматизировать определение данных искажений, обусловленных погрешностями юстировки видеокамер, и последующий их учет при исправлении получаемых изображений.
Искажение 1) задаем вектором ( _str, _stl), 2) - углом поворота , 3) - углом , задающий направление сжатия изображения, и коэффициентом сжатия KG, который определим как отношение длины изображения отрезка, ориентированного в направлении максимального сжатия под углом , к длине изображения того же отрезка, ориентированного перпендикулярно направлению максимального сжатия.
Известен способ определения оптической оси объектива относительно корпуса камеры [1], в котором используется эталонный объект в виде шестиугольника правильной формы. Данный способ прост, однако он решает довольно узкую задачу, в частности, не рассмотрена компенсация дефектов, вносимых самой ПЗС-матрицей в получаемые изображения.
Наиболее близким по совокупности признаков является способ калибровки активной стереоскопической системы технического зрения [2], обеспечивающий соответствие изображений в камерах за счет использования калибровочного шаблона - квадратной координатной сетки размером 9×9 из черных кружков, которым сопоставляются их геометрические центры. Юстирующая программа определяет наличие изображений юстирующего объекта на матрице изображения каждой из камер, пороговым методом устраняет шумы, вычисляет центр каждой окружности и определяет вектор рассогласования между координатами центров каждой из окружностей.
Данный способ также не предусматривает компенсацию дефектов, вносимых в изображения ПЗС-матрицей, не учитывается сжатие получаемого с видеокамеры изображения.
Задачей изобретения является повышение точности графической информации, получаемой от бинокулярных систем технического зрения, за счет учета дефектов, вносимых в изображения видеокамерами системы, а также исключения из получаемых изображений искажений, обусловленных остаточными погрешностями юстирования.
Поставленная задача достигается тем, что предложен способ юстирования бинокулярной системы технического зрения и автоматизированной коррекции растровых изображений за счет получения изображений калибровочного шаблона и последующей обработки их юстирующей программой, которая определяет наличие изображений юстирующего объекта на матрице изображения каждой из камер и пороговым методом анализирует получаемые изображения, в котором согласно изобретению калибровочный шаблон содержит два идентичных изображения, включающих центральный точечный, горизонтальные и вертикальные прямолинейные, а также центрированный круговой элементы, перед получением изображений калибровочного шаблона производят распознавание дефектов, вносимых в изображения видеокамерами бинокулярной системы, после получения изображений калибровочного шаблона производят ручное юстирование камер системы и автоматизированный расчет искажений изображения, вносимых остаточными погрешностями юстирования - поступательное смещение центра изображения относительно центра матрицы, угол поворота изображения относительно осей матрицы изображения, угол, задающий направление сжатия и коэффициента сжатия изображения, получаемого на матрице, затем найденные дефекты, вносимые в изображения видеокамерами, и рассчитанные поступательное смещение центра изображения, угол поворота изображения, угол, задающий направление сжатия и коэффициент сжатия изображения используют для коррекции получаемых изображений для исключения из них искажений, обусловленных остаточными погрешностями юстирования.
На фиг.1 дана конструкция типичной бинокулярной системы технического зрения.
На фиг.2 дана проекция идеальной бинокулярной оптической системы, содержащей две камеры, в плоскости, проходящей через центры проецирования обеих камер.
На фиг.3 показаны все возможные виды остаточных погрешностей юстировки видеокамер.
На фиг.4 показано изображение, на котором выделены дефекты, создаваемые самой видеокамерой.
На фиг.5 дан чертеж графического шаблона, используемого для юстирования бинокулярной системы. Шаблон содержит центральный точечный, горизонтальные и вертикальные прямолинейные, а также центрированный круговой элементы.
На фиг.6 схематически приведено изображение левой части графического шаблона, полученное с левой камеры.
На фиг.7 показаны центрированный круговой элемент шаблона, характерные точки на нем и углы, используемые для анализа сжатия изображения.
Рассмотрим применение предложенного способа на примере юстирования и расчета параметров коррекции бинокулярной системы технического зрения, содержащей две видеокамеры из четырехканального комплекта RC500A. расположенные на расстоянии L=300 мм. Использовалась матрица растровых изображений размерами 720 пикселей (строки)×576 пикселей (столбцы). Для юстировки применен шаблон, чертеж которого дан на фиг.4. Оптимальным для выбранных камер и спроектированного шаблона является расстояние между ними, равное Zр=600 мм. Для приема визуальной информации использован ТВ - тюнер PCI FlyTV Prime. При проведении эксперимента использованы 256-цветные черно-белые изображения, у которых изображение задается путем задания функции освещенности пикселей (i, j) (i - номер строки, j - номер столбца) целочисленных значений от 0 до 255.
Способ включает два этапа.
Этап I. Ручное юстирование системы, получение необходимых растровых изображений.
Шаг I.1. Получение изображений дефектов, создаваемых видеокамерой.
Вначале перед каждой видеокамерой экспонировался чистый лист белой бумаги. Изображения, получаемые, соответственно, с левой и правой видеокамеры, зафиксированы в графических файлах BMP-файлах Def_L и Def_R.
Шаг I.2. Установка базовой планки с видеокамерами относительно шаблона.
Затем горизонтальная планка с закрепленными на ней видеокамерами (с межосевым расстоянием L=300 мм) была выставлена расстоянии Zp =600 мм параллельно шаблону таким образом, чтобы ее центр находился напротив центра шаблона.
Шаг I.3. Ручная юстировка видеокамер.
Для каждой видеокамеры на монитор компьютера выводилось изображение. При этом на стандартное окно вывода накладывался прозрачная рамка с вертикальными и горизонтальными линиями, проходящими посредине рамки. За счет перемещений видеокамер относительно горизонтальной планки, было получено визуальное совмещение данных линий на прозрачной рамке с линиями изображения шаблона. После чего видеокамеры были закреплены постоянно на своих местах.
Шаг I.4. Получение изображения шаблона.
Изображения, получаемые, соответственно, с левой и правой видеокамеры, зафиксированы в графических файлах в графических файлах BMP-файлах Sh_L и Sh_R. На этом первый этап завершен.
Далее обработка BMP-файлов Def_L и Def_R, Sh_L и Sh_R производится аналогично. Рассмотрим данный общий алгоритм обработки.
Этап II. Автоматизированная обработка полученной информации. Определение параметров, необходимых для уточнения получаемых изображений.
Шаг II. 1. Выделение дефектов изображения, создаваемых видеокамерой.
BMP-файл Def с изображениями дефектов (Def_L или Def_R) передается на обработку в программу Analys Def, в которой с учетом наличия затененных и засвеченных участков изображения выделены темные объекты, которые и являются дефектами изображения, вносимыми самой камерой. На фиг.3 выделены кругами дефекты, которые вносятся в изображение левой камерой. Для дальнейшего распознавания дефектов на изображениях, получаемых с левой видеокамеры, в программе Analys_Def определено их число Ndef, а также сформированы массивы W_def, Mstr_def, Mstl_def длины Ndef, в которых занесены, соответственно, вес (число занимаемых пикселей изображения, координаты по строке и столбцу центра тяжести каждого из Ndef дефектов.
Практически число и размеры дефектов невелики, однако их неучет при текущем распознавании получаемых изображений может привести к дополнительным ошибкам.
Шаг II. 2. Выделение элементов на изображении шаблона.
BMP-файл Sh (Sh_L или Sh_R) передан на обработку в программу Analys_Sh, в которой вначале с учетом наличия затененных и засвеченных участков изображения выделены все объекты изображений шаблонов, отличные от дефектов, определенных на Шаге 5. Для данного изображения, полученного с видеокамеры, в программе Analys_Sh выделено 6 объектов, а также сформированы массивы W, Mstr, Mstl, Min_str, Max_str, Min_stl, Max_stl, Mstl длины 6, в которых занесены, соответственно, вес, координаты по строке и столбцу центра тяжести каждого из 6 выделенных объектов, а также номера минимальных и максимальных строк и столбцов, занимаемых изображением элемента.
Шаг II. 3. Распознавание выделенных элементов шаблона.
1. Из 6 объектов, выделенных на изображении шаблона, вначале распознан центральный точечный элемент как изображение с минимальным весом. Обозначим номер его через iC.
2. Из оставшихся пяти элементов распознан центрированный круговой элемент, как наиболее симметричный по числу занимаемых строк и столбцов. Для этого использовано условие
0,8 /(Max_stl-Min_stl)/(Max_str-Min_str)/ 1,2.
Номер центрированного кругового элемента обозначим через iCR.
3. Из оставшихся четырех линейных элементов распознаны вертикальные элементы шаблона. У них выполняется условие
/Мах_stl-Min_stl/</Max_str-Min_str/.
Номер вертикальной линии, лежащей выше центра (с меньшим значением величины в массиве Mstr), обозначен iV1 , номер второй вертикальной линии, лежащей ниже - i V2.
4. Оставшиеся два линейных элемента являются горизонтальными.
Номер горизонтальной линии, лежащей левее центра изображения (с меньшим значением величины в массиве Mstl) обозначен iG1, номер второй горизонтальной линии, лежащей правее центра - iG2.
После данного анализа массивы Min_str, Max_str, Min_stl, Max_stl, Mstl уже не нужны, и можно освободить память, зарезервированную под них.
Шаг II. 4. Определение поступательного смещения центра изображения относительно центра матрицы.
Сдвиги изображения по строкам и столбцам, возникающие из-за погрешностей юстирования видеокамеры, равны
_str=Nstr/2-Mstr[iC],
_stl=Nstl/2-Mstl[iC].
Шаг II. 5. Коррекция вспомогательных массивов и изображения в целом с учетом погрешности центров.
Элементы массивов Mstr, Mstr, задающие координаты по строке и столбцу центров тяжести выделенных элементов, необходимо скорректировать следующим образом:
Mstr'[k]=Mstr[k]+ _str, Mstl'[k]=Mstl[k]+ _stl, k=1,..., 6.
Данное преобразование соответствует сдвигу всего изображения на вектор ( _str, _stl), для осуществления его значения освещенности пикселей изображения необходимо было бы преобразовать по закону
'(i, j)= (i- _str, j- _stl).
При этом центр матрицы видеоизображения совмещается с изображением шаблона.
Шаг II. 6. Определение угла поворота изображения относительно матрицы и соответствующая коррекция изображения.
Поскольку данный угол близок к нулю, то его предложено определять по формуле
=arctg((Mstr[iG2]-Mstr[i G1])/(Mstl[iG2]-Mstl[i G1])).
Для того, чтобы исключить данную погрешность из информации по выделенным элементам шаблона, вспомогательные массивы преобразуем по формулам:
Mstr"[k]=Mstr'[k]cos +Mstl'[k]sin ,
Mstl"[k]=-Mstr'[k]sin +Mstl'[k]cos .
Для осуществления данной коррекции изображения функцию освещенности его пикселей необходимо было бы преобразовать по закону
"(i, j)= '(icos +jsin ,-isin +jcos ).
Шаг II. 7. Определение искажения изображения, возникающего из-за углового отклонения оптической оси.
Для определения данного вида искажения используется центрированный круговой элемент через iCR, а также центр тяжести центрального точечного элемента iC . Вначале определяем номера строки и столбца (Nstr max, Nstlmax) пикселя изображения Pmax центрированного кругового элемента, наиболее удаленного от . Затем определяем угол : по значениям его тригонометрических функций:
max=(Nstrmax -Nstr/2)2+(Nstlmax -Nstl/2)2,
sin =(Nstrmax-Nstr/2)/ max,
cos =(Nstlmax-Nstl/2)/ max.
Прямая, проведенная через точки Pmax и является осью, вдоль которой не происходит сжатия изображения. Назовем ее постоянной осью и обозначим An .
Угол , задающий направление сжатия изображения центрированного кругового элемента (которое назовем осью сжатия и обозначим A c), определяем как
= +90°.
Для определения величины коэффициента сжатия KG вначале находим номера строки и столбца (Nstrmin, Nstl min) пикселя изображения Pmin центрированного кругового элемента, расположенного на его границе под углом к . Затем вычисляем длину отрезка :
min=(Nstrmin -Mstr[iC])2+(Nstl min-Mstl[iC])2 .
Величина коэффициента сжатия
KG = min/ max<1.
Рассмотрим, какую коррекцию функции освещенности пикселей изображения необходимо задать для устранения данной погрешности юстирования. К коррекции изображения возможны два подхода: 1) сжать их вдоль постоянной оси An в KG раз и 2) растянуть вдоль оси сжатия Ac в (1/K G) раз. Недостатком первого метода является появление пикселей с неопределенным значением функция освещенности. Поэтому принят второй способ.
Пусть - номера строки и столбца пикселей нового изображения, '''(i, j) - функция освещенности пикселей нового скорректированного изображения, которое необходимо построить. Определим координаты проекции пикселя на постоянную ось An. Данные координаты, с одной стороны, удовлетворяют уравнению постоянной оси, с другой - отрезок перпендикулярен ей. Получаем систему двух уравнений:
(in-Nstr/2)cos =(jn-Nstl/2)sin ,
(in-i)sin +(jn-j)cos =0.
Отсюда получаем:
jn =0,5[2itg +2j-Nstrtg +Nstl tg2 ]/(1+tg2 ).
Если /tg /<1, то величину in рассчитываем по формуле in=Nstr/2+(j n-Nsnl/2)tg , иначе - по формуле in=i-(j n-j)_tg .
Длина перпендикуляра равна [(in-i)2+(j n-j)2]0.5.
Поскольку отрезок является результатов растяжения в (1/K G) раз, то освещенность рассматриваемого пикселя необходимо взять из пикселя Р'=(i', j'), который отстоит от точки на расстоянии KG. Координаты его равны:
i'=i n+(i-in)KG,
j'=jn+(j-jn )KG.
Таким образом, функция освещенности пикселей нового скорректированного изображения может быть представлена в виде:
'''(i, j)= ''(in+(i-i n)KG, jn+(j-j n)KG),
где j n=0.5[2itg +2j-Nstrtg +Nstltg2 ]/(1+=tg2 ), если /tg /<1, то in=Nstr/2+(j n-Nstl/2)tg , иначе - in=i(jn -j)tg .
Предложенный способ позволяет существенно повысить точность графической информации, получаемой от бинокулярных систем технического зрения, за счет учета дефектов, вносимых в изображения видеокамерами системы, а также исключения из получаемых изображений искажений, обусловленных остаточными погрешностями юстирования.
Источники информации
1. Найханов В.В., Цыдыпов Ц.Ц., Жимбуева Л.Д. Автоматизация калибровки видеокамеры. Сборник научных трудов. Серия Технические науки. Вып.5.3. ВСГТУ, 2001.
2. Izaguirre A., Pu P., Summers J. A new development in camera calibration calibrating a pair of mobile cameras. IEEE Int. Conf.Rob. and Autom., St. Louis, Mo., March 25-28, 1985.
Класс G06K9/32 выравнивание или центрирование телевизионной передающей камеры или поля изображения