СПОСОБ КАЛИБРОВКИ СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ ИЗ ТРЕХ ВИДЕОКАМЕР И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ
METHOD OF CALIBRATING MACHINE VISION SYSTEM CONSISTING OF THREE VIDEO CAMERAS AND DEVICE FOR REALISING SAID METHOD

Изобретение относится к вычислительной технике и может быть использовано для определения и приведения к заданным значениям параметров видеокамер, работающих в составе системы технического зрения, состоящей из трех видеокамер, две из которых получают детализированное изображение, а третья является обзорной.
Известен способ автоматической калибровки бинокулярной системы технического зрения (БСТЗ) (пат. №2250498 РФ, МПК G06К 9/32, 20.09.2004), согласно которому находят преобразование, устанавливающее соответствие между точками, лежащими на двух параллельных калибровочных плоскостях в трехмерном пространстве и плоскости изображения, проводят измерение и установление исходных значений параметров, определяют калибровочный объект путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующего выбора объекта с наибольшим значением функции принадлежности, измеряют среднюю яркость изображений, поступающих с видеокамер, определяют расхождения фокусных расстояний видеокамер, входящих в состав БСТЗ, определяют углы отклонения осей локальных декартовых систем координат видеокамер относительной декартовой системы координат БСТЗ, определяющие вектора направлений взгляда каждой видеокамеры.
Недостатками способа являются его ориентация на калибровку видеокамер с одинаковыми параметрами (в частности, фокусными расстояниями) и невозможность его применения для калибровки системы технического зрения, состоящей из нескольких видеокамер с различными фокусными расстояниями.
Известно устройство калибровки оптико-электронной системы (пат. №2199150 РФ, МПК G06К 9/32, 20.02.2001), содержащее видеокамеру, блок ввода изображения, системный контроллер, блок управления и блок ориентации.
Недостатком данного устройства является то, что устройство предназначено для калибровки внутренних параметров единственной видеокамеры без учета ее положения относительно других видеокамер и не может быть применено для калибровки систем технического зрения, содержащих несколько видеокамер.
Наиболее близким к изобретению является способ внешней калибровки бинокулярной системы технического зрения (пат. №2286598 РФ, МПК G06К 9/32, 27.10.2006), включающий в себя определение калибровочного объекта путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующий выбор объекта с наибольшим значением функции принадлежности, определение расхождения фокусных расстояний видеокамер и приведение их к нулевому значению, определение углов отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат бинокулярной системы технического зрения и приведение их к нулевым значениям, определение глубины и высоты установки видеокамер и приведение их к нулевым значениям, определение длины базы между видеокамерами и приведение ее к заданной величине.
Один из недостатков данного способа аналогичен недостатку способа-аналога - невозможность калибровки системы из камер с различными параметрами. Другой недостаток заключается в том, что данный способ не может быть применен для калибровки системы технического зрения, когда обе камеры расположены настолько близко (или имеют относительно большие фокусные расстояния) к калибровочному объекту, что он не попадает в поле зрения обеих видеокамер одновременно.
Наиболее близким к предлагаемому является устройство автоматической адаптивной трехмерной калибровки бинокулярной системы технического зрения (пат. №2250498 РФ, МПК G06К 9/32, 20.04.2005), содержащее первую видеокамеру, первый блок ввода изображения, первый блок ориентации, вторую видеокамеру, второй блок ввода изображения, второй блок ориентации, системный контроллер и блок управления.
Основным недостатком данного устройства является невозможность его применения для калибровки системы технического зрения, состоящей из более чем двух видеокамер.
Технической задачей изобретения является обеспечение калибровки системы технического зрения, содержащей три видеокамеры, которые после калибровки должны быть расположены на одной прямой и направлены перпендикулярно этой прямой, причем две крайние видеокамеры имеют узкий угол обзора и равные фокусные расстояния, а третья видеокамера, расположенная в центре между крайними видеокамерами, имеет широкий угол обзора.
Задача решается тем, что в известный способ внешней калибровки бинокулярной системы технического зрения, включающий в себя определение калибровочного объекта путем построения функций принадлежности всех возможных калибровочных объектов на изображении и последующий выбор объекта с наибольшим значением функции принадлежности, определение расхождения фокусных расстояний видеокамер и приведение их к нулевому значению, определение углов отклонения осей локальных декартовых систем координат видеокамер относительно декартовой системы координат системы технического зрения и приведение их к нулевым значениям, определение глубины и высоты установки видеокамер и приведение их к нулевым значениям, определение длины базы между видеокамерами и приведение ее к заданной величине, согласно изобретению введена калибровка видеокамер с различными фокусными расстояниями, попарная калибровка различных пар видеокамер, калибровка дисторсии оптических систем видеокамер.
Техническая задача решается тем, что в известное устройство автоматической адаптивной трехмерной калибровки бинокулярной системы технического зрения, содержащее первую видеокамеру, первый блок ввода изображения, первый блок ориентации, вторую видеокамеру, второй блок ввода изображения, второй блок ориентации, системный контроллер и блок управления, введены третья видеокамера, третий блок ввода изображения и третий блок ориентации, причем выходы первой, второй и третьей видеокамер подключены к соответствующим входам первого, второго и третьего блока ввода изображения, чьи выходы соединены с соответствующими первыми, вторыми и третьими группами входов системного контроллера, входы-выходы которого соединены с первой группой входов-выходов блока управления, вторая, третья и четвертая группы входов-выходов которого соединены с входами-выходами первого, второго и третьего блоков ориентации, а первый, второй и третий выходы блока управления соединены со входами первой, второй и третьей видеокамер.
Изобретение может быть использовано для калибровки систем технического зрения, широко используемых для контроля различных автоматизированных систем, используемых в промышленности, и соответствует критерию «промышленная применимость».
Сущность изобретения поясняется чертежами, где на фиг.1 - алгоритм калибровки, на фиг.2 - взаимное расположение трех видеокамер и возможные линейные и угловые перемещения, на фиг.3 - структурная схема устройства калибровки, фиг.4 - схематичное изображение пары видеокамер.
Устройство содержит (фиг.3) первую видеокамеру 1, первый блок ввода изображения 2, системный контроллер 3, вторую видеокамеру 4, второй блок ввода изображения 5, третью видеокамеру 6, третий блок ввода изображения 7, первый блок ориентации 8, второй блок ориентации 9, третий блок ориентации 10 и блок управления 11, причем выходы первой 1, второй 4 и третьей 6 видеокамер подключены ко входам первого 2, второго 5 и третьего 7 блока ввода изображения соответственно, выходы первого 2, второго 5 и третьего 7 блока ввода изображения соединены с первыми, вторыми и третьими группами входов системного контроллера 3 соответственно, чьи входы-выходы соединены с первой группой входов-выходов блока управления 11. Вторая, третья и четвертая группы входов-выходов соединены с входами-выходами первого 8, второго 9 и третьего 10 блоков ориентации соответственно. Первый, второй и третий выходы блока управления 11 соединены со входами первой 1, второй 4 и третьей 6 видеокамер соответственно.
Рассмотрим калибровку системы технического зрения на примере калибровки системы технического зрения для исследования зрения человека. В рассматриваемой системе технического зрения назначение видеокамер следующее: первая 1 и вторая 4 видеокамеры используются для получения детализированного изображения глаза, третья видеокамера 6 - для наблюдения за всем лицом человека.
1,6
1,4
1,6
1,4
1,6
1,4
В результате выполнения калибровки взаимное положение видеокамер должно быть следующим: главные оптические оси всех видеокамер взаимно параллельны, линейные отклонения взаимного положения камер равны нулю, третья видеокамера 6 расположена на равном расстоянии от первой 1 и второй 4 видеокамер (фиг.2, H=Н=0, D=D=0, 2·L=L).
Предлагаемый способ заключается в последовательном выполнении следующих операций:
1
1
1
6
6
6
- калибровке угловых отклонений первой 1 и третьей 6 видеокамер, приведении их к нулевым значениям α=0, β=0, γ=0, α=0, β=0, γ=0 на основе способа [пат. РФ 22509498, 2286598];
4
4
4
6
6
6
- калибровке угловых отклонений второй 4 и третьей 6 видеокамер, приведении их к нулевым значениям α=0, β=0, γ=0, α=0, β=0, γ=0 на основе способа [пат. РФ 22509498, 2286598];
- приведении к равенству фокусных расстояний первой 1 и второй 4 видеокамер - длина контура реального объекта на его изображении прямо пропорциональна фокусному расстоянию;
- калибровке дисторсии независимо первой 1, второй 4, третьей 6 видеокамер в соответствии со способами [пат. 2289111, 2321888];
1,4
1,4
1,4
- калибровке линейных отклонений первой 1 и второй 4 видеокамер - приведении расхождений высоты и глубины к нулевым значениям Н=0, D=0, расстояния по горизонтали L к априори заданному значению. Данная операция выполняется на основе способа [пат.2286598, с.7, п.30 - с.9, с.6, п.30-40];
1,6
1,4
1,6
1,6
- калибровке положения третьей видеокамеры 6 - первоначально установке третьей видеокамеры 6 на равном расстоянии по горизонтали между первой 1 и второй 4 видеокамерами (добиваются равенства 2·L=L), расположении ее на одинаковой высоте с первой 1 и второй 4 видеокамерами (добиваются равенства Н=0) и, затем, установке третьей видеокамеры 6 на одинаковой глубине (ось Z, фиг.2) с первой 1 и второй 4 видеокамерами (добиваются равенства D=0).
1,6
1,6
1,6
1,6
1,6
1,6
Устройство работает следующим образом. Изображение поступает с первой 1, третьей 6 видеокамер через первый 2, третий 7 блоки ввода изображения соответственно на системный контроллер 3, где это изображение обрабатывается и по нему определяются калибруемые параметры α, β, γ, L, Н, D.
7
j
Затем производят выделение контуров объектов с помощью алгоритма усиления края по Лапласу и проведения бинаризации [Методы компьютерной обработки изображений [Текст] / Под. ред. В.А.Сойфера. - М.: Физмалит. - 2001. - 784 с.]. Для выбора контура применяется математический аппарат нечеткой логики (пат. №2250498 РФ, МПК G06К 9/32, 20.04.2005). Поиск нужного контура основывается на определении степеней пригодности Гкаждого контура и выбора контура Г с максимальной степенью пригодности. Целью выделения контура является нахождение такого изображения, которое удалено от видеокамер на максимальное расстояние.
1,6
1,6
1,6
Далее определяют угловые отклонения α, β, γ и приводят их к заданным значениям.
1
6
1
6.
В первую очередь обеспечивают параллельность осей координат первой 1 и третьей 6 видеокамер. Вращением первой 1 и третьей 6 видеокамер вокруг своей оси изменяют углы β, β в стороны, направленные на уменьшение этих углов. Системный контроллер 3 передает в блок управления 11 значения углов β, β Блок управления 11 на второй и четвертой группах выходов формирует управляющие сигналы, поступающие на первый 8 и третий 10 блоки ориентации соответственно. Блоки ориентации 8, 10 вращают первую 1 и третью 6 видеокамеры вокруг своей оси.
1
6
1
6
Когда оси координат изображений параллельны, но объект занимает различное положение в кадрах изображения, производят поворот первой 1 и третьей 6 видеокамер в горизонтальной плоскости (углы γ, γ). Блок управления 11 на второй и четвертой группах выходов формирует управляющие сигналы, поступающие на первый 8 и третий 10 блоки ориентации соответственно. Блоки ориентации 8, 10 вращают первую 1 и третью 6 видеокамеры в горизонтальной плоскости на углы γ, γ.
1
6
1
6
Поворачивая первую 1 и третью 6 видеокамеры в вертикальной плоскости, изменяют углы α, α и получают совпадение координат множества точек объекта на двух изображениях. Блок управления 11 на второй и четвертой группах выходов формирует управляющие сигналы, поступающие на первый 8 и третий 10 блоки ориентации соответственно. Блоки ориентации 8, 10 вращают первую 1 и третью 6 видеокамеры в горизонтальной плоскости на углы α, α.
После того как угловые отклонения найдены, их значения поступают с системного контроллера 3 на блок управления 11, с которого они поступают на блоки ориентации 8, 10. По полученным значениям отклонений происходит переориентация камер.
Далее производят калибровку второй 4 и третьей 6 видеокамер. Данный процесс аналогичен вышеприведенному процессу калибровки первой 1 и третьей 6 видеокамер.
4,6
4,6
4,6
4,6
4,6
4,6
В процессе калибровки изображение поступает со второй 4, третьей 6 видеокамер через второй 5, третий 7 блоки ввода изображения соответственно и затем на системный контроллер 3, где это изображение обрабатывается и по нему определяются калибруемые параметры α, β, γ, H, D, L.
Аналогично вышеприведенной калибровке первой пары видеокамер 1, 6 производят выделение контуров объектов с помощью алгоритма усиления края по Лапласу и проведения бинаризации.
Блок управления 11 на третьей и четвертой группах выходов формирует управляющие сигналы, которые поступают на второй 9 и третий 10 блоки ориентации соответственно. Блоки ориентации 9, 10 изменяют фокусные расстояния второй 4 и третьей 6 видеокамер соответственно.
1,6
1,6
1,6
4,6
4,6
4,6
Аналогично определению угловых отклонений α, β, γ для первой пары видеокамер 1,6 находят α, β, γ для второй пары видеокамер 4,6, после чего приводят их к заданным значениям.
4
6
4
6
В первую очередь обеспечивают параллельность осей координат второй 4 и третьей 6 видеокамер. Вращением второй 4 и третьей 6 видеокамер вокруг своей оси изменяют углы β, β в стороны, направленные на уменьшение этих углов. Системный контроллер 3 передает в блок управления 11 значения углов β, β. Блок управления 11 на третьей и четвертой группах выходов формирует управляющие сигналы, поступающие на второй 9 и третий 10 блоки ориентации соответственно. Блоки ориентации 9, 10 вращают вторую 4 и третью 6 видеокамеры вокруг своей оси.
4
6
4
6
Когда оси координат изображений параллельны, но объект занимает различное положение в кадрах изображения, производят поворот второй 4 и третьей 6 видеокамер в горизонтальной плоскости (углы γ, γ). Блок управления 11 на третьей и четвертой группах выходов формирует управляющие сигналы, поступающие на второй 9 и третий 10 блоки ориентации соответственно. Блоки ориентации 9, 10 вращают вторую 4 и третью 6 видеокамеры в горизонтальной плоскости на углы γ, γ.
4
6
4
6
Поворачивая вторую 4 и третью 6 видеокамеры в вертикальной плоскости, изменяют углы α, α и получают совпадение координат множества точек объекта на двух изображениях. Блок управления 11 на третьей и четвертой группах выходов формирует управляющие сигналы, поступающие на второй 9 и третий 10 блоки ориентации соответственно. Блоки ориентации 9, 10 вращают вторую 4 и третью 6 видеокамеры в горизонтальной плоскости на углы α, α.
После того как угловые отклонения найдены, их значения поступают с системного контроллера 3 на блоки управления 11, с которого они поступают на блоки ориентации 9, 10. По полученным значениям отклонений происходит переориентация камер.
После того как последовательная попарная калибровка первой 1 и третьей 6 и второй 4 и третьей 6 видеокамер закончена, приводят к равенству фокусные расстояния первой 1 и второй 4 видеокамер.
j
Равенство фокусных расстояний создают для первой 1 и второй 4 видеокамер. Для этого на паре изображений, полученных с разных видеокамер, из множества контуров объектов выбирается контур, четко различимый на обоих изображениях. Поиск нужного контура основывается на определении степеней пригодности Г каждого контура и выбора контура Г с максимальной степенью пригодности:
j
Г
Г1
j
1
1
Г4
Г4
j
4
4
Г=µ(µ(η(p), I(p)), µ(µ(η(p),I(p))),
k
n - общее количество найденных контуров, где
Г
Г1
Г4
j
1
4
j
1
Г
Г1
Г4
µ - функция, определяющая общую степень пригодности контура, µ, µ - нечеткие функции пригодности на первом и втором изображениях соответственно, η(p) - нечеткая функция, определяющая степень различимости контура, задаваемого множеством пикселей p, p, p - множество пикселей, принадлежащих j-му контуру первого и второго изображений, I(p) - функция длины контура, µ=min{µ, µ}.
Выбранный контур используется для приведения фокусных расстояний к равенству. Т.к. длина контура реального объекта на его изображении прямо пропорциональна фокусному расстоянию, то справедлива формула определения отношения фокусных расстояний по участку изображения одного и того же объекта на двух кадрах:
k1
k4
где I, I - периметр контура на первом и втором изображениях соответственно.
Далее системный контроллер 3 передает в блок управления 11 значения фокусных расстояний. Блок управления 11 на второй и третьей группах выходов формирует управляющие сигналы, которые поступают на первый 8, второй 9 блоки ориентации соответственно. Блоки ориентации 8, 9 изменяют фокусные расстояния первой 1 и второй 4 видеокамер соответственно.
Когда калибровка угловых отклонений для первой 1, второй 4 и третьей 6 видеокамер закончена, а также приведены к равенству фокусные расстояния первой 1 и второй 4 видеокамер, происходит калибровка дисторсии для трех видеокамер 1, 4, 6.
7
В процессе калибровки дисторсии выделяют контуры и бинаризируют изображение, выбирают калибровочный объект, позиционируют видеокамеру в разных направлениях наблюдения при постоянно находящемся в кадре калибровочном объекте, определяют координаты центральной точки калибровочного объекта на изображении для n разных направлений наблюдения и определяют коэффициенты дисторсии. В результате калибровки дисторсии происходит перемещение точек на величину (Δx; Δy), рассчитываемую с учетом коэффициента дисторсии k (пат. №2289111 РФ, МПК G06К 9/32, 16.02.2004):
1
2
Δx=xkr,
1
2
Δy=ykr,
1
2
2
1/2
где k - коэффициент дисторсии, r=(x+y) - радиальное расстояние, (x, y) - координаты точки неискаженного изображения в декартовой системе координат, центр которой совпадает с центром кадра.
1
7
Определение коэффициента дисторсии k осуществляют на основе способа, представленного в патенте (РФ №2289111, МПК G06К 9/32, 16.02.2004).
1,4
1,4
1,4
Далее происходит калибровка линейных отклонений для первой 1 и второй 4 видеокамер. Для определения линейных отклонений параметров L, Н, D необходимо разместить калибровочный объект таким образом, чтобы он был на изображении обеих видеокамер. Размещение объекта может быть осуществлено автоматически манипулятором или вручную.
1,4
1,4
Сначала калибруют разность глубин установки видеокамер D и приводят ее к нулевому значению. При калибровке разности глубин установки видеокамер D итерационно производят перемещение назад для удаления от калибровочного объекта той видеокамеры, изображение калибровочного объекта с которой больше, до тех пор, пока изображения с обеих видеокамер не станут равными.
1,4
1,4
Далее калибруют разность высоты установки видеокамер Н. При калибровке разности высоты установки видеокамер Н производят подъем той камеры, до которой расстояние от калибровочного объекта меньше, до тех пор, пока эти расстояния не совпадут.
1,4
1,4
Последним калибруют величину базы L. Целью калибровки параметра L, обеспечивающего расстояние по горизонтали между двумя видеокамерами, является приведение этого параметра к заданному значению для обеспечения стереоскопического восприятия с заданными параметрами. Особенностью калибровки данной величины является обязательное известное расстояние от калибровочного объекта до устройства.
1,6
1
2
Далее происходит процесс калибровки глубины установки D третьей 6 видеокамеры. Для калибровки на некотором расстоянии от видеокамер устанавливают эталонный объект в виде шара, расположенный на расстоянии zот первой видеокамеры 1 и на расстоянии z от третьей видеокамеры 6 (фиг.4).
Получим соотношение для определения расстояния между первой 1 и третьей 6 видеокамерами:
1
2
1,6
Так как после калибровки z должно быть равно z, то получим выражение, позволяющее определить искомую величину D, происходит калибровка:
1
2
Первая 1 и третья 6 видеокамеры считаются откалиброванными при достижении единицы отношения d к d:
На заключительной стадии калибровки производят определение погрешностей после калибровки. Если она не превышает заданного значения, то калибровка закончена. Иначе происходит переход к очередной итерации.
Блок ориентации предназначен для изменения положения видеокамеры в пространстве относительно эталонного объекта путем механического воздействия на нее. Он может быть построен на базе сервомоторов постоянного тока с инкрементными оптическими шифраторами, применяемыми в манипуляторе ПУМА/VS-IOO («Техническое зрение роботов» / под ред. А.Пью; Пер. с англ. Д.Ф.Миронова; Под. ред. Г.П.Катыса. - М.: Машиностроение, 1987. - 380 с.: ил.).
В качестве блока управления может быть использовано устройство управления робота ПУМА/VS-IOO («Техническое зрение роботов» / под ред. А.Пью; Пер. с англ. Д.Ф. Миронова; Под. ред. Г.П.Катыса. - М.: Машиностроение, 1987. - 380 с.: ил), описанное на странице 285.
В качестве блока ввода изображения может быть использована видеокарта персональной ЭВМ со специальным видеовходом.
Системный контроллер может быть построен на базе ЭВМ.
Изобретение обеспечивает калибровку системы технического зрения, состоящей из трех видеокамер, в которой две из видеокамер должны иметь после калибровки равные фокусные расстояния, а также позволяет повысить точность калибровки системы технического зрения за счет последовательной попарной калибровки различных пар видеокамер.