Способ и система калибровки камеры
Иллюстрации
Показать всеИзобретение относится к способу калибровки камеры. Техническим результатом является обеспечение эффективной калибровки камеры. Предложен способ и система калибровки камеры, содержащая источник энергии и калибруемую камеру, при этом по меньшей мере источник энергии или камера установлены на механическом приводе с возможностью перемещения относительно друг друга. Процессор соединен с источником энергии, механическим приводом и камерой, и процессор запрограммирован на управление механическим приводом с целью перемещения по меньшей мере источника энергии или камеры относительно друг друга через множество дискретных точек целевой модели калибровки. Процессор дополнительно управляет камерой в каждой из дискретных точек с целью получения цифрового изображения и определяет параметры дисторсии объектива на каждом изображении. Определяют фокусное расстояние камеры, содержащей любой соединенный с камерой объектив, а затем определяют постороннее положение камеры для каждого изображения. 2 н. и 18 з.п. ф-лы, 2 ил.
Реферат
Предпосылки создания изобретения
Настоящее изобретение относится к способу и системе калибровки камеры.
Для этого сначала определяют параметры дисторсии объектива, затем определяют фокусное расстояние и, наконец, определяют посторонние положения камеры/камер.
На основе описанной методики в настоящем изобретении предложены усовершенствованные способ и система калибровки камеры.
Краткое изложение сущности изобретения
В одном из примеров осуществления предложена система калибровки камеры, содержащая:
источник энергии и калибруемую камеру, при этом по меньшей мере источник энергии или камера установлены на механическом приводе с возможностью перемещения относительно друг друга,
процессор, соединенный с источником энергии, механическим приводом и камерой, при этом процессор запрограммирован на:
управление механическим приводом с целью перемещения по меньшей мере источника энергии или камеры относительно друг друга через множество дискретных точек целевой модели калибровки,
управление камерой в каждой из дискретных точек с целью получения цифрового изображения,
определение параметров дисторсии объектива на каждом изображении,
определение фокусного расстояния камеры, содержащей любой соединенный с камерой объектив, путем:
выбора первоначального фокусного расстояния,
использования алгоритмов в сочетании с первоначальным фокусным расстоянием, физическими размерами пикселов, координатами источника энергии неискаженного изображения в каждой точке последовательности и точными положениями механического привода в каждой точке последовательности с целью определения положения камеры относительно каждой дискретной точки,
определения того, насколько плотно сгруппированы положения камеры, и
уточнения в числовой форме первоначального фокусного расстояния, пока определенные дискретные точки не будут наиболее плотно упакованы, и
определение постороннего (несвойственного) положения камеры для каждого изображения.
Процессор может определять параметры дисторсии объектива путем:
выбора модели коррекции дисторсии и осуществления первоначального расчета параметров этой модели с целью коррекции наблюдаемой дисторсии,
выбора показателя прямолинейности для измерения и представления в количественной форме колинеарных точек на протяжении дискретизированной линии,
использования показателя прямолинейности и уточнения в числовой форме первоначального расчета параметров, пока линии на изображении со скорректированной дисторсией не станут максимально прямыми.
Процессор может определять постороннее положение камеры путем:
создания пучка векторов на геометрической основе,
создания пучка векторов на основе обработки изображений,
выбора показателя для измерения сходства двух пучков векторов, и
уточнения расчетного положения камеры относительно источника энергии с целью доведения до максимума сходства пучков векторов.
В одном из примеров после того, как зарегистрированы цифровые изображения, процессор дополнительно выполняет следующие шаги обработки изображений:
определяет, какие области соседних пикселов на изображении имеют интенсивность, превышающую выбранное пороговое значение,
генерирует список таких областей и пикселов, относящихся к каждой области, с указанием координат и интенсивности пикселов,
удаляет из этого списка любые области, содержащие слишком малое или слишком число большое составляющих пикселов, определенное в зависимости от характеристик камеры, объектива и источника энергии,
удаляет из списка все области, не отвечающие критериям формы, и
определяет центр наибольшей остающейся области.
Процессор может определять центр путем подгонки эллипса к пикселу области и использования ее центра или путем вычисления центра тяжести пикселов в области.
Критерием формы может являться симметрия, при этом симметрия проверяется путем нахождения поперечного сечения области, образующего наиболее протяженный профиль с точки зрения расстояния от первого обнаруженного пиксела до последнего обнаруженного пиксела, и сравнения этого расстояния с расстоянием, определенным при использовании перпендикуляра к наиболее длинной оси.
В одном из примеров процессор управляет механическим приводом с целью его перемещения таким образом, чтобы последовательность точек была поделена на несколько совокупностей, каждая из которых содержит по меньшей мере 3 точки в плоскости и по меньшей мере одну точку вне плоскости, заданной остальными точками.
Процессор определяет точные относительные смещения этих точек путем использования позиционной обратной связи с механическим приводом.
Например, каждая совокупность создается путем применения отличающегося поступательного и углового сдвига с шестью степенями свободы к стандартной нетрансформированной совокупности точек с получением новой совокупности дискретных точек, которые имеют такие же относительные положения.
В другом примере осуществления предложен способ калибровки камеры, включающий:
управление механическим приводом с целью перемещения по меньшей мере источника энергии или камеры относительно друг друга через множество дискретных точек на целевой модели калибровки,
получение цифрового изображения в каждой из дискретных точек с помощью камеры,
определение параметров дисторсии объектива на каждом изображении,
определение фокусного расстояния камеры, содержащей любой соединенный с камерой объектив, и
определение постороннего положения камеры для каждого изображения.
Краткое описание чертежей
На фиг. 1 проиллюстрирован один из примеров системы калибровки цифровой камеры, и
на фиг. 2 показана блок-схема, на которой проиллюстрирован процессор системы, показанной на фиг. 1.
Описание вариантов осуществления
Изобретение относится к способу и система калибровки камеры.
В настоящем изобретении определяются характеристики камеры с любым (известным) спектром чувствительности с точки зрения ее собственных и посторонних параметров. Собственными являются параметры, которые затрагивают проекцию наблюдаемой реальной сцены на формирующее изображения электронное оборудование камеры, и включают по меньшей мере одно из следующего: параметры дисторсии объектива, фокусное расстояние объектива, размер пикселов и ортогональность формирующего изображения электронного оборудования оптической оси объектива.
Посторонние параметры включают по меньшей мере местонахождение камеры относительно точки отсчета или ее ориентацию относительно выбранного определения оси.
Как показано на сопровождающих чертежах, система 10 содержит по меньшей мере одну камеру 12 и/или по меньшей мере один источник 14 энергии.
Следует учесть, что может использоваться несколько камер 12 и несколько источников 14 энергии.
Система также содержит процессор 16, соединенный с источником энергии и/или камерой. Процессор 16 имеет несколько модулей, функциональные возможности которых будут подробнее описаны далее.
В одном из примеров осуществления описанные далее модули могут быть реализованы посредством машиночитаемой среды, в которой воплощены команды, которые при их выполнении машиной побуждают ее осуществлять любой из описанных выше способов.
В другом примере осуществления модули могут быть реализованы с использованием программно-аппаратного обеспечения, специально запрограммированного на осуществление описанных в изобретении способов.
Следует учесть, что варианты осуществления настоящего изобретения не ограничены такой архитектурой и также могут находить применение в системе с распределенной или одноранговой архитектурой. Так, проиллюстрированные модули могут размещаться в одном или нескольких серверах, управляемых одной или несколькими организациями.
Следует также учесть, что в любом из этих случаев модули образуют физическое устройство с физическими модулями специально для выполнения шагов описанного в изобретении способа.
С процессором 16 соединена память 28.
В одном из примеров осуществления для выполнения описанной калибровки используется механический привод 18 в виде роботизированной руки, перемещающей источник энергии в поле обзора камеры.
В проиллюстрированном примере осуществления механический привод 18 может перемещаться серводвигателями (не показанными) под управлением процессора 16.
Положение роботизированной руки 18 в любой заданный момент является известным, и камера регистрирует изображения источника энергии.
Каждое изображение роботизированной руки и источника энергии, регистрируется камерой и доставляется в процессор 16. Камера 12 может быть сконфигурирована таким образом, чтобы сократить время экспозиции и/или раскрыть ирисовую диафрагму объектива, в результате чего источник энергии является видимым, и при этом исключается большая часть фона. Описанные далее алгоритмы действуют независимо от того, сделано ли это, и требуют лишь одного изображения с видимым источником энергии.
Сначала процессор 16 определяет характеристики дисторсии объектива, а затем определяет фокусное расстояние и, наконец, посторонние положения камеры/камер. Эти шаги буду подробнее описаны далее.
После того как зарегистрированы цифровые изображения, модуль 20 обработки цифровых изображений выполняет следующие шаги обработки изображений с целью реализации описанных выше принципов.
1) Определяет, какие области соседних пикселов на изображении имеют интенсивность, превышающую выбранное пороговое значение. Генерирует список таких областей и пикселов, относящихся к каждой области, с указанием координат и интенсивности пикселов.
2) Удаляет из этого списка любые области, содержащие слишком малое или слишком число большое составляющих пикселов, определенное в зависимости от характеристик камеры, объектива и источника энергии.
3) Удаляет из списка все области, не отвечающие критериям формы, таким как симметрия. Симметрия проверяется путем нахождения поперечного сечения области, образующего наиболее протяженный профиль с точки зрения расстояния от первого обнаруженного пиксела до последнего обнаруженного пиксела. Это расстояние сравнивается с расстоянием, определенным при использовании перпендикуляра к наиболее длинной оси. Если соотношение двух расстояний превышает заданное допустимое отклонение от единицы, область отбрасывается.
4) Находит центр наибольшей остающейся области. Он может быть найден, например, путем подгонки эллипса к пикселу области и использования ее центра или путем вычисления центра тяжести пикселов в области.
Затем модуль 22 определения параметров дисторсии объектива процессора 16 выполняет следующие шаги определения параметров дисторсии объектива.
1) Неподвижно устанавливает камеру в положение, позволяющее без помех наблюдать перемещение роботом источника энергии.
2) Побуждает робота перемещать источник энергии по ряду прямых линий. Хотя предполагается, что линии охватывают все поле обзора камеры, это не является строго необходимым.
3) Получает в нескольких (по меньшей мере трех) точках на протяжении каждой линии, а затем обрабатывает изображение источника энергии, как описано выше.
4) Выбирает модель коррекции дисторсии и осуществляет первоначальный расчет параметров этой модели с целью коррекции наблюдаемой дисторсии. При этом используется расширенная форма модели Брауна дисторсии объектива, и используются предшествующие знания или генетический алгоритм с целью определения первоначального исходного положения.
5) Выбирает показатель прямолинейности, определяющий и представляющий в количественной форме степень колинеарности точек на протяжении каждой дискретизированной линии, использованной на шаге 2. Это делается путем подбора подогнанной методом наименьших квадратов линии с наилучшим приближением погрешности на протяжении каждой из дискретизированных точек для каждой прямой. В таком случае показателем является среднеквадратичное расстояние по вертикали от каждой дискретизированной точки до соответствующей ей линии с наилучшим приближением.
6) Использует полученный на шаге 5 показатель. Уточняет в числовой форме выполненный на шаге 4 первоначальный расчет параметров, пока линии на изображении со скорректированной дисторсией (полученном с использованием модели дисторсии и текущего набора параметров) не станут максимально прямыми. Для этого применяются методы многомерной нелинейной численной оптимизации для сведения к минимуму показателя, описанного на шаге 5. В частности, применяются методы с перешагиванием и метод Флетчера-Ривса определения сопряженных градиентов.
После этого модуль 24 определения фокусного расстояния процессора 16 следующим образом определяет фокусное расстояние.
1) Определяет характеристики дисторсии объектива камеры.
2) Неподвижно устанавливает камеру в положение, позволяющее без помех наблюдать перемещение роботом источника энергии.
3) Перемещает робота таким образом, чтобы он задерживался в последовательности дискретных точек. Эта последовательность точек поделена на несколько совокупностей. Каждая совокупность содержит по меньшей мере 3 точки в плоскости и по меньшей мере одну точку вне плоскости, заданной остальными точками. Точные относительные смещения этих точек определяются путем использования позиционной обратной связи с роботом. Каждая совокупность создается путем применения отличающегося поступательного и углового сдвига с шестью степенями свободы к стандартной нетрансформированной совокупности точек с получением новой совокупности дискретных точек, которые имеют такие же относительные положения. Например, в одном из опытных вариантов осуществления каждая совокупность состоит из четырех точек, образующих тетраэдр. В каждом из пяти положений было создано четыре тетраэдра под углом вверх влево, вверх вправо, вниз влево и вниз вправо. В результате общее число тетраэдров составило 20.
4) Обрабатывает изображение камеры в каждой из описанных на шаге 3 дискретных точек, как описано выше, с целью определения координат источника энергии.
5) Использует определенные параметры дисторсии, чтобы найти положение неискаженных пикселов для каждой зарегистрированной координаты, полученной на шаге 4.
6) Выбирает первоначальное фокусное расстояние на основании предшествующих знаний или указанного изготовителем номинального фокусного расстояния.
7) Применяет алгоритмы, описанные в документе RANSAC (Martin А. Fischler и Robert С. Bolles. 1981 г. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM 24, 6 (июнь 1981 г. ), 381-395. DOI=10.1145/358669.358692 http://doi.acm.org/10.1145/358669.358692) или документе Kieper (L. Kneip, D. Scaramuzza, R. Siegwart, "A Novel Parametrization of the Perspective-Three-Point Problem for a Direct Computation of Absolute Camera Position and Orientation", Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Колорадо-Спрингс, США, июнь 2011 г. ) в сочетании с предполагаемым фокусным расстоянием; физическими размерами пикселов; координатами источника энергии неискаженного изображения в каждой точке последовательности; и точными положениями робота в каждой точке последовательности с целью определения положения камеры относительно каждой совокупности точек.
8) Определяет, насколько плотно сгруппированы определенные положения камеры с шестью степенями свободы. Теоретически положения камеры должны быть идентичными, поскольку камера была установлена неподвижно на шаге 2. Для этого используется сумма стандартных отклонений каждого из положений с шестью степенями свободы в качестве показателя плотности. Тем самым эта чувствительность дополнительно повышается путем наблюдения последовательности точек в двух неподвижных положениях и использования суммы стандартных отклонений относительного положения камер, которые, разумеется, должны быть постоянными.
9) Уточняет в числовой форме предполагаемое фокусное расстояние объектива, пока определенные точки камеры не будут наиболее плотно упакованы в соответствии с показателем, полученным на шаге 8. При этом выполняется простой поиск методом "грубо-точного" последовательного перебора в силу прерывистой природы показателя и его одномерности.
Затем модуль 26 определения посторонних положений камеры процессора 16 следующим образом определяет посторонние положения камер.
1) Определяет параметры дисторсии объектива камеры. Требуются по меньшей мере параметры радиальной и тангенциальной дисторсии, считающиеся значимыми.
2) Определяет фокусное расстояние камеры (или добавляет его к списку неизвестных величин, как описано далее).
3) Неподвижно устанавливает камеру/камеры на механическом основании, желательном для конкретного применения, неподвижно устанавливает механическое основание таким образом, чтобы камеры без помех наблюдали перемещение роботом источника энергии.
4) Перемещает робота через последовательность дискретных точек. Регистрирует изображения в каждой дискретной точке и находит центр источника энергии на изображении камеры, как описано ранее. Также регистрирует в каждой точке точное положение источника энергии, определенное роботом.
5) Определяет первоначальное расчетное положение камеры относительно робота. Для этого используются предшествующие знания о физическом расположении или генетический алгоритм.
6) Создает пучок векторов на основе изображений. Это делается путем использования определенных параметров дисторсии в сочетании с физическими размерами пикселов и фокусным расстоянием. Это фокусное расстояние может быть известно априорно или может быть добавлено в качестве седьмой неизвестной величины, подлежащей определению.
7) Создает пучок векторов на геометрической основе. Они создаются путем использования предполагаемого положения камеры с шестью степенями свободы (шаг 5) и известного положения источника энергии в каждой точке последовательности.
8) Выбирает показатель для определения сходства двух пучков векторов. Для этого в качестве показателя используется сумма углов между соответствующими векторами.
9) Уточняет расчетное положение камеры с шестью степенями свободы относительно робота (и фокусное расстояние камеры, если оно не известно априори) с целью доведения до максимума сходства двух пучков векторов. Для этого используется алгоритм Флетчера-Ривса определения сопряженных градиентов (Fletcher, R. и Reeves, С., "Function minimization by conjugate gradients", Computer Journal 7, 140-054 (1964)) или многомерные нелинейные алгоритмы численной оптимизации с перешагиванием (Snyman, J., "An improved version of the original leap-frog dynamic method for unconstrained minimization: Lfop1(b)," Applied Mathematics and Modelling 7, 216-218 (1983)).
10) В случае калибровки множества камера и при желании выбирает одну камеру или другую известную точку качестве система отсчета для набора камер и отображает определенные положения камер относительно этой точки.
Далее более подробно описаны математические вычисления, лежащие в основе описанных шагов.
Далее используется следующая система математических обозначений: трехмерный вектор Vabc означает вектор, направленный от точки a в сторону точки b и выраженный в виде его проекций на оси системы с ортогональных координат. Vabc используется, когда величина вектора не известна или не имеет значения.
Tabc означает перемещение или смещение точки b относительно точки a. Rab означает эйлерову матрицу поворота 3×3, отображающую поворот системы a с ортогональной осью относительно системы b с ортогональной осью (и в виде ее проекций на нее). Отдельные элементы трехмерных векторов обозначаются как x, y или z, а элементы двухмерных векторов обозначаются во избежание путаницы как горизонтальные (h) и вертикальные (ν).
Соответствующие модули процессора 16 выполняют следующие функциональные шаги с данными зарегистрированных изображений.
1.1) Осуществляют маркировку связных компонент всех пикселов с более высокой яркостью, чем выбранный порог.
1.2) Отбрасывают все компоненты, не отвечающие критериям размера, зависящим от типа источника энергии и разрешения камеры.
1.3) Отбрасывают все компоненты, не отвечающие критериям симметрии формы, т.е. следующим образом для каждой связной компоненты:
a) подбирают линию с наилучшим приближением для каждого из пикселов компоненты:
при этом:
(xi, yi) = кратный i пиксел компоненты
N = число пикселов в компоненте и
= коэффициенты для линии y=mx+c.
Уравнение 1
LA=LA, max-LA, min
при этом:
iЄ(0, N-1)
N = число пикселов, и
m, c = как указано в Уравнении 1.
Уравнение 2
б) определяют ширину компоненты, перпендикулярной линии с наилучшим приближением.
LP-LP, max-LP, min
при этом:
iЄ(0, N-1)
N = число пикселов, и
m, c = как указано в Уравнении 1.
Уравнение 3
Затем процессор сравнивает соотношение длины (LA) и ширины (LP) и отбрасывает его, его оно не отвечает заданным критериям.
1.4) Определяют центр каждой компоненты соответствующим методом, такими как два метода, описанные далее в целях иллюстрации.
а) Центр тяжести
I(x, y) = интенсивность пискела в положении (x, y),
(xi, yi) = координаты кратного i пиксела компоненты
iЄ(0, N-1) и
N = число пикселов в компоненте.
Уравнение 4
б) Подгонка эллипса путем (например) сведения к минимуму следующего показателя:
metric=c0πab+с1(CS-ES)+c2(WS-2ES),
при этом
cn = энный весовой член,
CS = сумма интенсивностей по результатам вычисления центра,
I(h, ν) = интенсивность изображения с двухмерной координатой (h, v),
α=(1-(CR-ER))
W=h∈(Eh-(a+3), Eh+(a+3)),
ν∈(Eν-(a+3), Eν+(a+3))
(Eh, Eν) = центр эллипса,
а = большая ось эллипса,
b = малая ось эллипса
θ = угол большой оси к горизонтали.
Уравнение 5
Определение параметров дисторсии объектива
Для определения параметров дисторсии объектива используется тот факт, что после коррекции дисторсии прямые линии в реальном мире должны проецироваться на прямые линии в пространстве изображения. Для этого робот (и приданный ему источник энергии) перемещается по ряду прямых линий, останавливаясь в нескольких точках на протяжении каждой линии с целью регистрации изображения. В результате регистрируется N линий, каждая из которых имеет Mi, iε(0, N-1) точек. Эти точки обозначаются как P i , j d и указывают положение кратной j точки на кратной i линии первоначального необработанного (т.е. искаженного) изображения.
После этого может быть в числовом виде определено произвольное число параметров модели дисторсии объектива Брауна (Brown DC (1966). "Decentering distortion of lenses.". Photogrammetric Engineering. 7:444-462).
Может использоваться любая стандартная программа многомерной численной оптимизации, хотя некоторые из них являются менее эффективными в силу своей техники математических решений и в высокой степени коррелированного характера параметров и остаточного шума, присущего результатам измерений входных данных.
В одном из прототипов настоящего изобретения используется расширенный вариант модели Брауна, в котором к параметрам радиальной дисторсии применяется коэффициент масштабирования радиального усиления, чтобы способствовать разбросу, который мог бы быть вызван неортогональностью объектива оптической оси или другими производственными дефектами. Это не влияет на применимость этой модели, поскольку f(θ)=1 соответствует стандартному случаю, описанному в литературе. Без ущерба для применимости в целях наглядности предположим, что f(θ) имеет форму:
при этом:
(xu, yu) = точка неискаженного изображения,
(xd, yd) = точка искаженного изображения,
(хс, yc) = центр дисторсии,
Kn = энный радиальный коэффициент искажения,
Pn = энный тангенциальный коэффициент искажения,
f(θ) = радиальное усиление,
и
… = бесконечный ряд.
Уравнение 6
Для измерения того, насколько прямой является совокупность линий, используется показатель, который определяет линию с наилучшим приближением с использованием точек каждой зарегистрированной прямой линии (смотри Уравнение 1), а затем определяет среднеквадратичное расстояние от точек до их прямых линий. Процедура, используемая для определения линии с наилучшим приближением, приведена в Уравнении 1. Этим показателем является:
при этом
NL = число прямых линий в зарегистрированных данных,
Mn = число точек на протяжении энной линии,
dn = однонаправленный вектор, ортогональный среднеквадратичной прямой n,
mn, cn = коэффициент линии n с наилучшим приближением согласно Уравнению 1 и
P → n , m u = рассматриваемая неискаженная точка.
Уравнение 7
Затем выполняются следующие шаги, чтобы определить остаточную дисторсию, возникающую при заданном наборе параметров.
2.1) Масштабируются полученные параметры из десенсибилизированного пространства градиента:
x c = κ x c x c n
y c = κ y c y c n
при этом:
NK = число радиальных параметров,
NP = число тангенциальных параметров,
Nγ = число параметров асимметрии,
(κxc, κxy) = параметры масштабирования центра дисторсии,
κKi = коэффициент масштабирования кратного i радиального параметра,
κPi = коэффициент масштабирования кратного i тангенциального параметра,
κγi = коэффициент масштабирования кратного i параметра асимметрии,
( x c n , y c n ) = полученный нормализованный центр дисторсии,
K i n = полученный нормализованный радиальный параметр,
P i n = полученный нормализованный тангенциальный параметр и
γ i n = полученный нормализованный параметр асимметрии.
Уравнение 8
2.2) Используются масштабированные параметры, чтобы устранить искажение каждой точки каждой линии, зарегистрированной с целью устранения искажения, т.е.
при этом:
Findist = расширенная модель Брауна, приведенная в Уравнении 6.
Уравнение 9
2.3) Используется Уравнение 1 с целью определения линии с наилучшим приближением с использованием точек с устраненным искажением каждой линии из набора входных данных.
2.4) Используется Уравнение 7 среднеквадратичного расстояния по вертикали от точек до их линий.
Далее приведена процедура численной оптимизации характеризующих дисторсию параметров.
Затем процессор 16 следующим образом вычисляет численную оптимизацию характеризующих дисторсию параметров.
3.1) Определяет, какие параметры будут оптимизироваться. Иными словами, выбирает число параметров радиальной и тангенциальной дисторсии; выбирает, используется ли центр изображения или будет ли найден оптимальный центр дисторсии; и выбирает функцию радиального усиления.
3.2) Выбирает первоначальное значение для каждого параметра. Для этого используются три общепринятых способа:
а) установка всех параметров на 0,
б) использование предшествующих знаний для выбора приблизительных первоначальных значений,
в) определение диапазона каждого параметра и осуществление грубой глобальной оптимизации, такой как, поиск методом последовательного перебора или генетический алгоритм.
3.3) Масштабирует каждый из входных параметров с тем, чтобы градиент был в равной мере чувствительным к отклонению каждого измерения постоянного размера. Это позволяет более точно рассчитывать градиент путем локальной оптимизации, что обеспечивают лучшее определение параметров. В Уравнении 10 представлена процедура масштабирования согласно Уравнению 8.
при этом:
( x c s , y c s ) = первоначальные значения центра дисторсии,
K i s = первоначальные значения параметров радиальной коррекции,
P i s = первоначальные значения параметров тангенциальной коррекции
γ i s и
Уравнение 10
3.4) Использует процедуру локальной оптимизации с целью уточнения в числовой форме нормализованных первоначальных параметров, приведенных в Уравнении 10, при этом значение для сведения к минимуму указано в Алгоритме 2. В частности, для выполнения операции минимизации применяются методы с перешагиванием и методы Флетчера-Ривса.
3.5) Денормализует полученные значения характеризующих дисторсию параметров с использованием Уравнения 8.
Определение фокусного расстояния
Процессор 16 определяет фокусные параметры без включения посторонних параметры в группу параметров, подлежащих уточнению в числовой форме.
Далее будет описано определение фокусного расстояния одновременно с посторонними параметрами. При независимом определении фокусного расстояния уменьшается размерность определения посторонних параметров и устраняется неоднозначность, препятствующая возможности определять фокусное расстояние при ортогональном наблюдении плоскостной модели (или последовательности перемещений робота в плоскости).
А. Задача тетраэдральной перспективы
При этой калибровке используется задача трехточечной перспективы, которая в виде формул представлена в документах RANSAC и KIEPER (упомянутых выше) и в целях пояснения в словесной форме изложена в настоящем описании. Когда наблюдает три точки, расстояния между которыми известно, ориентация и перемещение камеры относительно трех точек может определяться методами анализа.
Это делается путем вычисления однонаправленных векторов от камеры до каждой из точек (смотри Уравнение 20), а затем вычисления угла между этими направляющими векторами (посредством скалярного произведения векторов).
Теорема косинусов, приведенная в Уравнении 11, является обобщением теоремы Пифагора применительно к непрямоугольным треугольникам.
а2=b2+c2-2bccos(θa)
при этом:
a, b, c = длины сторон треугольника и
θа = угол напротив стороны а.
Уравнение 11
С помощью теоремы косинусов и с учетом того, что скалярное произведение двух векторов равно косинусу угла между ними, можно создать ряд следующих совместных уравнений, выражающих три неизвестные длины векторов от камеры до каждой точки обзора в перечете на единичные векторы от камеры до точек и известные расстояния между точками треугольника:
= расстояние между точками i и j треугольника
= расстояние между камерой и точкой i треугольника
= единичный вектор, направленный от камеры к точке i треугольника согласно Уравнению 20.
при этом:
Li,j: = расстояние между точками i и j треугольника
Lc,i: = расстояние между камерой и точкой I треугольника
U → i c c : = единичный вектор, направленный от камеры к точке i треугольника согласно
Уравнение 12
Уравнение 12 имеет четыре множества решений (которые определены в документах RANSAC и KIEPER (упомянутых выше), хотя не все решения являются вполне вещественными на комплексной плоскости. Чтобы выбрать, какое решение является верным, требуется четвертая точка, которая лежит вне плоскости первых трех точек и смещение которой относительно другой точки является известным. В таком случае четыре точки образуют тетраэдр, при этом четвертая точка является вершиной. Для каждого вещественного решения вычисляется положение камеры относительно треугольника точек (т.е. основания тетраэдра), а затем вычисляется положение четвертой точки относительно камеры. Направленный в это вычисленное положение вектор четвертой точки сравнивается с вектором, вычисленным на основании координат изображения четвертой точки, и в качестве верного решения выбирается решение с наименьшим углом между этими двумя векторами.
Вся процедура обобщенно представлена далее в Уравнении 13.
при этом:
ft = процедуры, описанные раннее в данном разделе,
T → t c t = перемещение камеры относительно тетраэдра в системе