Способ калибровки подводной видеокамеры
UNDERWATER VIDEO CAMERA CALIBRATION METHOD

Изобретение относится к области информационно-измерительных систем и, в частности, к системе технического зрения, используемой в водной среде для определения трехмерных координат конкретных точек объектов, наблюдаемых с помощью видеокамеры в ее рабочей зоне.
Известен способ калибровки камер, включающий:
1. Систему калибровки камеры, содержащую: источник энергии и калибруемую камеру, при этом по меньшей мере источник энергии или камера установлены на механическом приводе с возможностью перемещения относительно друг друга; процессор, соединенный с источником энергии, механическим приводом и камерой, при этом процессор запрограммирован на: управление механическим приводом с целью перемещения по меньшей мере источника энергии или камеры относительно друг друга через множество дискретных точек целевой модели калибровки; управление камерой в каждой из дискретных точек с целью получения цифрового изображения; определение параметров дисторсии объектива на каждом изображении; определение фокусного расстояния камеры, содержащей любой соединенный с камерой объектив, путем: выбора первоначального фокусного расстояния, использования алгоритмов в сочетании с первоначальным фокусным расстоянием, физическими размерами пикселов, координатами источника энергии неискаженного изображения в каждой точке последовательности и точными положениями механического привода в каждой точке последовательности с целью определения положения камеры относительно каждой дискретной точки, определения того, насколько плотно сгруппированы положения камеры, и уточнения в числовой форме первоначального фокусного расстояния, пока определенные дискретные точки не будут наиболее плотно упакованы; и определение несвойственного положения камеры для каждого изображения.
2. Система по п. 1, в которой процессор способен определять параметры дисторсии объектива путем: выбора модели коррекции дисторсии и осуществления первоначального расчета параметров этой модели с целью коррекции наблюдаемой дисторсии, выбора показателя прямолинейности для измерения и представления в количественной форме коллинеарных точек на протяжении дискретизированной линии, использования показателя прямолинейности и уточнения в числовой форме первоначального расчета параметров, пока линии на изображении со скорректированной дисторсией не станут максимально прямыми.
3. Система по п. 1, в которой процессор способен определять несвойственное положение камеры путем: создания пучка векторов на геометрической основе исходя из предполагаемого положения камеры, создания пучка векторов на основе обработки изображений, выбора показателя для измерения сходства двух пучков векторов, и уточнения расчетного положения камеры относительно источника энергии с целью доведения до максимума сходства пучков векторов.
4. Система по п. 1, в которой после того, как зарегистрированы цифровые изображения, процессор дополнительно выполняет следующие шаги обработки изображений: определяет, какие области соседних пикселов на изображении имеют интенсивность, превышающую выбранное пороговое значение, генерирует список таких областей и пикселов, относящихся к каждой области, с указанием координат и интенсивности пикселов, удаляет из этого списка любые области, содержащие слишком малое или слишком большое число составляющих пикселов, определенное в зависимости от характеристик камеры, объектива и источника энергии, удаляет из списка все области, не отвечающие критериям формы, и определяет центр наибольшей остающейся области.
5. Система по п. 4, в которой процессор способен определять центр путем подгонки эллипса к пикселу области и использования ее центра или путем вычисления центра тяжести пикселов в области.
6. Система по п. 4, в которой критерием формы является симметрия.
7. Система по п. 6, в которой симметрия проверяется путем нахождения поперечного сечения области, образующего наиболее протяженный профиль с точки зрения расстояния от первого обнаруженного пиксела до последнего обнаруженного пиксела, и сравнения этого расстояния с расстоянием, определенным при использовании перпендикуляра к наиболее длинной оси.
8. Система по п. 1, в которой процессор способен управлять механическим приводом с целью его перемещения таким образом, чтобы последовательность точек была поделена на несколько совокупностей, каждая из которых содержит по меньшей мере 3 точки в плоскости и по меньшей мере одну точку вне плоскости, заданной остальными точками.
9. Система по п. 8, в которой процессор способен определять точные относительные смещения этих точек путем использования позиционной обратной связи с механическим приводом.
10. Система по п. 8, в которой каждая совокупность создается путем применения отличающегося поступательного и углового сдвига с шестью степенями свободы к стандартной нетрансформированной совокупности точек с получением новой совокупности дискретных точек, которые имеют такие же относительные положения.
11. Способ калибровки камеры, включающий: управление механическим приводом для перемещения по меньшей мере источника энергии или камеры относительно друг друга через множество дискретных точек на целевой модели калибровки; получение цифрового изображения в каждой из дискретных точек с помощью камеры; определение параметров дисторсии объектива на каждом изображении; определение фокусного расстояния камеры, содержащей любой соединенный с камерой объектив, путем: выбора первоначального фокусного расстояния, использования алгоритмов в сочетании с первоначальным фокусным расстоянием, физическими размерами пикселов, координатами источника энергии неискаженного изображения в каждой точке последовательности и точными положениями механического привода в каждой точке последовательности с целью определения положения камеры относительно каждой дискретной точки, определения того, насколько плотно сгруппированы положения камеры, и уточнения в числовой форме первоначального фокусного расстояния, пока определенные дискретные точки не будут наиболее плотно упакованы; и определение несвойственного положения камеры для каждого изображения.
12. Способ по п. 11, в котором определение параметров дисторсии объектива осуществляется путем: выбора модели коррекции дисторсии и осуществления первоначального расчета параметров этой модели с целью коррекции наблюдаемой дисторсии, выбора показателя прямолинейности для измерения и представления в количественной форме коллинеарных точек на протяжении дискретизированной линии, использования показателя прямолинейности и уточнения в числовой форме первоначального расчета параметров, пока линии на изображении со скорректированной дисторсией не станут максимально прямыми.
13. Способ по п. 11, в котором несвойственное положение камеры определяют путем: создания пучка векторов на геометрической основе исходя из предполагаемого положения камеры, создания пучка векторов на основе обработки изображений, выбора показателя для измерения сходства двух пучков векторов, и уточнения расчетного положения камеры относительно источника энергии с целью доведения до максимума сходства пучков векторов.
14. Способ по п. 13, в котором после того, как зарегистрированы цифровые изображения, дополнительно выполняются следующие шаги обработки изображений: определяется, какие области соседних пикселов на изображении имеют интенсивность, превышающую выбранное пороговое значение, генерируется список таких областей и пикселов, относящихся к каждой области, с указанием координат и интенсивности пикселов, удаляются из этого списка любые области, содержащие слишком малое или слишком большое число составляющих пикселов, определенное в зависимости от характеристик камеры, объектива и источника энергии, удаляются из списка все области, не отвечающие критериям формы, и определяется центр наибольшей остающейся области.
15. Способ по п. 14, в котором центр определяется путем подгонки эллипса к пикселу области и использования ее центра или путем вычисления центра тяжести пикселов в области.
16. Способ по п. 14, в котором критерием формы является симметрия.
17. Способ по п. 16, в котором симметрия проверяется путем нахождения поперечного сечения области, образующего наиболее протяженный профиль с точки зрения расстояния от первого обнаруженного пиксела до последнего обнаруженного пиксела, и сравнения этого расстояния с расстоянием, определенным при использовании перпендикуляра к наиболее длинной оси.
18. Способ по п. 11, в котором механический привод перемещается таким образом, чтобы последовательность точек была поделена на несколько совокупностей, каждая из которых содержит по меньшей мере 3 точки в плоскости и по меньшей мере одну точку вне плоскости, заданной остальными точками.
19. Способ по п. 18, в котором точные относительные перемещения этих точек определяются путем использования позиционной обратной связи с механическим приводом.
20. Способ по п. 18, в котором каждая совокупность создается путем применения одной из шести отличающихся степеней свободы поступательного и углового сдвига к стандартной нетрансформированной совокупности точек с получением новой совокупности дискретных точек, которые имеют такие же относительные положения (Патент РФ №2601421, Бюл. №31, 2016).
Недостатком этого способа является чрезвычайно большая сложность его реализации, вытекающая из огромного объема формулы изобретения, и отсутствие возможности с его помощью точно определять 3D координаты всех точек поверхности обнаруживаемых (особенно протяженных) объектов, расположенных во всем наблюдаемом камерой рабочем пространстве, т.к. точность определения указанных координат во всем этом пространстве оценивается только в среднем, исходя из внутренних параметров используемой камеры и созданных алгоритмов оценки. То есть этот предложенный способ калибровки помимо большой сложности его реализации так и не позволит в дальнейшем точно определять координаты главных (реперных) точек обнаруживаемых объектов в используемой системе координат для построения точных траекторий механической обработки этих объектов при рассмотрении всего рабочего пространства камеры.
Известен также способ калибровки цифровой видеокамеры для адаптивного процесса намотки композиционных материалов на многокоординатных намоточных станках с числовым программным управлением, предусматривающий калибровку видеокамер, где в качестве исходной информации используют координаты точек калибровочного объекта в системе координат намоточного станка и координаты образов этих точек в системе координат плоскости изображения видеокамеры, расчет параметров калибровки, отличающийся тем, что калибровочный объект устанавливают перед видеокамерой таким образом, чтобы он полностью находился в рабочей зоне кадра намотки композиционного материала, при этом калибровочный объект выполнен в виде плоскости, состоящей из N≥12 черных прямоугольников, размеры сторон черного прямоугольника калибровочного объекта равны по длине A=L/(2n+1), по ширине B=H/(2f+1), где L, H - длина и ширина рабочей области калибровочного объекта; n, f - количество прямоугольников по длине и ширине калибровочного объекта, причем расстояние между этими прямоугольниками составляет A=L/(2n+1), при этом калибровочный объект расположен в плоскости OYZ системы координат намоточного станка, а ось ОХ рабочей области намотки направлена в сторону видеокамеры, перед которой устанавливают калибровочный объект и с помощью которой делают снимок, на котором получают отображение калибровочного объекта в системе координат видеокамеры, определяют проекцию калибровочного объекта на плоскости изображения видеокамеры, а затем определяют угловые точки калибровочного объекта, по которым строят криволинейную сетку отображения калибровочного объекта на плоскости изображения видеокамеры с параметризацией по длине дуги, затем передвигают калибровочный объект в направлении видеокамеры или от нее на расстояние с шагом h=D/G, где D - где глубина рабочей области намотки композиционного материала, G - количество шагов, и повторяют предшествующие действия, полученную криволинейную сетку с угловыми точками отображают на плоскости калибровочного объекта и получают проекцию с экрана в координатах видеокамеры на плоскости калибровочного объекта в координатах намоточного станка, получают при этом первую дисторсию, затем вторую дисторсию, отодвинув калибровочный объект на шаг h=D/G, и так до десяти снимков подряд, затем все соответствующие угловые точки дисторсий десяти снимков аппроксимируют линейной функцией и получают пучок лучей, пересекающихся в бесконечности, тем самым производят калибровку видеокамеры, а в памяти компьютера сохраняют все точки десяти сеток, затем берут композиционный материал в виде композиционной ленты черного цвета в начальном положении и производят видеокамерой снимок композиционной ленты между плоскостью калибровочного объекта и видеокамерой, точно зная точку пересечения композиционной ленты с плоскостью движения раскладчика композиционной ленты, делают снимки, композиционную ленту отображают на все десять сеток калибровки, затем с этих сеток отображают на плоскость изображения на видеокамере калибровочного объекта и линейно аппроксимируя, получают по отображениям проецирующую плоскость, после чего берут две точки произвольно на одной прямой и одну точку на другой прямой и то же самое производят со второй видеокамерой, получают две проецирующие плоскости, пересекающиеся по прямой линии, а с помощью прямой линии получают положение калиброванной композиционной ленты в пространстве намоточного станка, определяя точку пересечения прямой с плоскостью движения раскладчика композиционной ленты, затем сравнивают точки пересечения композиционной ленты с плоскостью движения раскладчика композиционной ленты и прямой, полученной с помощью двух проецирующих плоскостей, которые сходятся в одной точке точной калибровки для двух видеокамер (Патент РФ №2295109. Бюл. №7, 10.03.2018).
Этот способ является наиболее близким к предлагаемому изобретению. Но его недостатком также является невозможность точного определения 3D координат конкретных точек наблюдаемого пространства без использования длительной и сложной процедуры калибровки видеокамеры, требующей перемещения специально изготовленного наблюдаемого калибровочного объекта, без ручного измерения положения маркеров с помощью лазерных дальномеров и уровней, а также без проведения многих дополнительных последующих действий.
Технический результат, получаемый при решении поставленной задачи, заключается в формировании перед началом работы видеокамеры трехмерной матрицы соответствия значений пиксельных координат произвольных точек рабочего пространства, видимых видеокамерой, и их реальных координат в используемой связанной системе координат (СК). Эта матрица учитывает реальные преломления света на границах различных по физическим свойствам сред, а также все возникающие искажения наблюдаемых объектов, исключает трудоемкое создание перспективных моделей видеокамер, а также обеспечивает точное позиционирование всех характерных точек этих объектов в используемой СК видеокамеры.
На Фиг. 1 показана обобщенная схема произвольного многостепенного манипулятора, с помощью которого реализуют предлагаемый способ калибровки любой подводной видеокамеры, а на Фиг. 2 - обобщенная схема угловой перспективы видеокамеры без учета реальных искажений и преломлений света, реально возникающих на границах различных сред, поясняющая только суть предложенного нового способа калибровки.
2
2
2
На Фиг. 1 введены следующие обозначения: 1 - манипулятор; 2 - его схват; 3 - установленный в схвате калибровочный объект; xyz - СК жестко связанной с основанием манипулятора 1.
На Фиг. 2 введены обозначения: f - фокусные расстояния видеокамеры; 4 - ее светочувствительная матрица; 5 - оптическая ось видеокамеры; 6 - точка фокуса; 7 - плоскость изображения (расположена с противоположной стороны от светочувствительной матрицы 4 относительно точки фокуса 6 и перпендикулярна оптической оси 5; на этой плоскости все видимые объекты не являются перевернутыми, как на светочувствительной матрице 1); 8 - параллельные плоскости, перпендикулярные оптической оси видеокамеры, расположенные в ее рабочем пространстве, 9 - текущее расположение калибровочного объекта; 10 - проекция калибровочного объекта на плоскость изображения; L - расстояние от плоскости 7 изображения до очередной плоскости 8 в зоне обзора видеокамеры (их общее количество ограничено глубиной резкости видеокамеры и зависит от точности калибровки).
Заявленный способ реализуется следующим образом.
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
Поставленную задачу точной калибровки подводной видеокамеры перед ее использованием предполагается решать новым способом. Для этого применяется подводный манипулятор, в схвате которого установлен калибровочный объект 3 (см. Фиг. 1). Три пространственные координаты этого объекта в СК xyz, жестко связанной с основанием манипулятора 1, определяют параметрами его звеньев (конструкцией манипулятора) и текущими значениями всех его обобщенных координат. С помощью штатной системы управления (СУ) манипулятора 1 после решения обратной задачи его кинематики калибровочный объект 3 выводят в первую исходную точку 9 рабочего пространства видеокамеры (см. Фиг. 2). При этом обеспечивают необходимые преобразования прямоугольных координат этого калибровочного объекта из СК xyz СК xyz. Оси y и z СК xyz лежат и жестко связаны с плоскостью изображения 7 видеокамеры, а ось x совпадает с ее оптической осью (см. Фиг. 2).
1
1
1
1
1
1
Координату калибровочного объекта 3 (см. Фиг. 1) по оси x запоминают первым числом в первой ячейке первой двумерной матрицы памяти, соответствующей первой плоскости 8 рабочего пространства (см. Фиг. 2). Затем с помощью видеокамеры по наблюдаемому с ее помощью изображению калибровочного объекта 3 (см. Фиг. 1) на светочувствительной матрице 4 с учетом схемы (см. Фиг. 2) определяют две другие координаты - у, z этого объекта (с учетом всех реальных оптических искажений, появляющихся в результате преломления лучей света при их переходе через водную среду и стекло защитного бокса), в связанной СК xyz уже на плоскости изображения и последовательно запоминают эти координаты вторым и третьим числом в той же ячейке двумерной матрицы памяти.
2
2
2
1
1
1
После этого определяют и заносят в эту же ячейку памяти четвертое и пятое числа, которые являются разностями между соответствующими координатами калибровочного объекта, полученными после их переноса из СК xyz в СК xyz, и видимыми самой видеокамерой в ее СК. Эти две разности определяют все реальные искажения пространства, вносимые видеокамерой и средой в точке рабочего пространства, совпадающей в текущий момент с калибровочным объектом.
1
1
1
После этого, используя оптическую схему, изображенную на фиг. 2, и зная расположение оси x, строят плоскость A, в которой в текущий момент находится калибровочный объект 3 и которая перпендикулярна оси х. Затем манипулятором переносят этот объект в другое наблюдаемое видеокамерой положение этой плоскости. Шаг переноса определяет точность калибровки и зависит от разрешающей способности светочувствительной матрицы 4 видеокамеры, а также от величины L. Для нового (второго) положения калибровочного объекта 3 определяют и последовательно запоминают во второй ячейке матрицы памяти те же пять чисел, которые описаны ранее. Эту процедуру перемещения манипулятором калибровочного объекта 3 по построенной плоскости в последующие новые наблюдаемые видеокамерой положения, а также числовую фиксацию этих положений и указанных искажений на рассматриваемой плоскости в соответствующих местах однотипных ячеек двумерной матрицы памяти повторяют для любого количества указанных положений калибровочного объекта 3, которое определяется точностью калибровки.
1
1
1
1
1
1
2
3
4
1
Все сформированные ячейки памяти систематизируют по их соответствию конкретным расположениям калибровочного объекта 3 (см. Фиг. 1) на плоскости A (см. 8 на Фиг. 2) с учетом текущих значений координат yz СК xyz и помещают в первый двумерный массив матрицы памяти. Количество строк и столбцов соответствующих ячеек памяти в первой и всех последующих двумерных матрицах памяти определяется размером и разрешающей способностью светочувствительной матрицы 4 и соответствующей ей плоскости изображения 7 (см. 8 на Фиг. 2), а также требуемой точностью калибровки. Аналогичную процедуру построения выполняют для любого выбранного количества других плоскостей А, А, А и т.д., перпендикулярных оси x.
2
3
4
Все созданные для каждой плоскости А, A, А, и т.д. двумерные массивы ячеек памяти, помещают последовательно на соответствующее место в формируемую трехмерную матрицу памяти с учетом их расстояний L от плоскости изображения видеокамеры 7. Количество этих плоскостей также определяется требуемой точностью калибровки и прозрачностью водной среды. Всю процедуру предложенного способа калибровки видеокамеры повторяют до полного заполнения указанной трехмерной матрицы памяти, которая содержит всю необходимую информацию о реальных искажениях наблюдаемых изображений в соответствующих точках рабочего пространства видеокамеры.