Способ и система определения параметров калибровки PTZ камеры
METHOD AND SYSTEM FOR DETERMINING CALIBRATION PARAMETERS OF A PTZ CAMERA

ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к области фотосъемки, видеосъемки и видеонаблюдения, в частности к видеонаблюдению с использованием поворотных видеокамер, оснащенных PTZ-механизмом, т.е. механизмом, позволяющим камере менять наблюдаемую позицию, характеризуемую углом склонения и азимутальным углом, а также текущее увеличение вариообъектива, т.н. zoom-фактор (зум-фактор).
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В настоящее время для решения задач фото-, видеосъемки и видеонаблюдения широко используются так называемые PTZ-камеры. Камеры такого типа оснащаются поворотным механизмом, который позволяет пользователю изменять текущее направление наблюдения камеры, а также объективом с изменяемыми параметрами (т.н. вариообъективом). Основным изменяемым параметром вариообъектива является его зум-фактор или степень его увеличения.
Во множестве современных приложений таких камер требуется строить сложные математические модели, сопоставляющие части снимаемого камерой изображения с объектами реального мира. В качестве примера можно привести задачу определения положения объекта в пространстве по его изображению в кадре. Очевидно, что характер сопоставления зависит от камеры, с помощью которой было снято изображение. Математический модель для сопоставления, априори, должна иметь информацию о так называемых калибровочных характеристиках (параметрах) камеры, влияющих на этот процесс. В то же время, в силу исторических причин основным применением камер и, в частности, поворотных камер, считается охранное видеонаблюдение, где указанные схемы сопоставления, как правило, применяются достаточно редко. Кроме этого, определение калибровочных характеристик – технически сложная задача. Эти два фактора обусловливают то, что в большинстве случаев производители камер не определяют калибровочные характеристики (параметры калибровки) и не указывают их в сопроводительной документации к камерам. Такое положение вещей заставляет создателей упомянутых приложений искать способы определения калибровочных характеристик производимых камер. При этом требуемые состав, способ и точность определения характеристик зависит от конкретного приложения. Кроме того, самим производителям видеокамер наличие такого механизма было бы полезно для разработки встраиваемого в камеры программного обеспечения и предоставления характеристик камер в документации при поставке
Из уровня техники известен способ определения калибровочных характеристик [19]. Данное изобретение предполагает существенно иной состав определяемых калибровочных характеристик, т.е. предлагаемый способ калибровки не включает в себя существенный перечень этапов включенных в указанный аналог и дополнительно включает этапы отсутствующие в аналоге. Предлагаемый способ калибровки относительно существующего обладает большей точностью определения калибровочных характеристик и как следствие большей точностью сопоставления изображения и местоположения объекта.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данное изобретение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.
Техническим результатом является определение более точных калибровочных характеристик камеры, обеспечивающих пересчет пикселя изображения в угол прихода оптического луча при данном направлении обзора и приближении PTZ камеры.
Данный технический результат достигается путем проведения серии специально подобранных экспериментов, которые представляют собой позиционирование камеры в ряд обусловленных позиций и съемку изображений с последующим их автоматическим анализом, ставящим целью по характеру отснятых изображений определить калибровочные характеристики камеры. По сравнению с упомянутыми техническими средствами  определения [19], предлагаемый способ предназначен для определения существенно иного перечня калибровочных характеристик, в частности:
1) Предлагаемое нами изобретение не предполагает определения следующих параметров:
Различных задержек
Скоростей и скоростных профилей камеры
2) Отсутствующие в [19] параметры калибровки которые определяются в указанном изобретении (которые являются ключевыми для повышения точности калибровки):
a. Соотношение сторон пикселя матрицы
b. Точка пересечения оптической оси объектива с матрицей
c. Установочные углы наклона оптической системы относительно поворотного механизма PTZ камеры
Указанный технический результат достигается благодаря осуществлению способа определения калибровочных характеристик, который включает следующие шаги:
Определяют зависящую от калибровочных характеристик камеры математическую модель, сопоставляющую части снимаемого камерой изображения с объектами реального мира;
Определяют набор интересующих калибровочных характеристик камеры;
Определяют требуемую точность нахождения калибровочных характеристик;
Проводят съёмку некоторого количества доступных для камеры маршрутов съёмки;
На полученных во время съёмки изображениях определяют особые точки;
Определяют новый маршрут съёмки или их набор такой, что при его съёмке каждая или некоторые из найденных ранее особых точек окажутся более чем на одном изображении;
Производят съёмку изображений по определённым на шаге 6 маршрутам. На полученных изображениях отслеживают перемещение особых точек;
Решают задачу или набор задач оптимизации, отыскивающих такой набор калибровочных характеристик, при котором достигается минимальная невязка предсказанных моделью перемещений особых точек с реальными перемещениями;
С учётом известной погрешности позиционирования камеры оцениваются погрешности найденных калибровочных характеристик;
Если погрешность превышает определённую на шаге 3, то алгоритм итеративно повторяется с шага 4, причём сведения о перемещении особых точек, полученные на текущей и предыдущих итерациях, сохраняются, и будут использованы на шаге 8 совместно с информацией о перемещении вновь найденных особых точек. Циклическое выполнение алгоритма прекращаются либо когда достигнута требуемая точность определения калибровочных характеристик, либо когда достигнуто некое наперёд заданное максимальное количество итераций, либо когда достигнуто некое наперёд заданное максимальное время работы алгоритма, либо когда его останавливает пользователь;
Принимают набор калибровочных характеристик, соответствующий минимальной невязке целевой функции (шаг 8), рассчитанной на последней итерации, за набор калибровочных характеристик камеры. Найденная на шаге 9 последней итерации погрешность принимается за погрешность калибровочных характеристик камеры.
Калибровочными характеристиками камеры достаточными для точного описания модели калибровки являются:
- фокусное расстояние для каждого зума
- коэффициенты дисторсии для каждого зума
- углы наклона оптической системы относительно поворотного механизма камеры
- точку пересечения оптической оси камеры с матрицей
- соотношение сторон пикселя (расположение пикселей)
В некоторых вариантах реализации для анализа изображений могут применяться алгоритмы поиска особых точек (features). В некоторых вариантах реализации в качестве алгоритмов поиска особых точек могут применяться детекторы углов.
В некоторых вариантах реализации вычисление калибровочных характеристик может осуществляться путем решения оптимизационной задачи подбора характеристик, обеспечивающих наилучшее соответствие поведения математической модели камеры результатам, полученным в ходе осуществления шагов 1−11 выше.
Строго говоря, описываемые калибровочные характеристики являются параметрами математической модели, описывающей поведение конкретной камеры в том или ином ее приложении. Поэтому способ определения параметров основан на том, что с камерой производят ряд действий (шаги 1−11) с контролируемыми параметрами. При этом поведение камеры (в частности, характер отснятого изображения), зависит от известных контролируемых параметров и калибровочных характеристик, которые требуется определить.
Используя известные контролируемые параметры и предполагая конкретные значения неизвестных калибровочных характеристик, на основе математической модели камеры можно строить предсказания того, как будет вести себя камера (в частности, какими параметрами будет обладать снятое ею изображение) в конкретных экспериментах. Далее, сопоставляя поведение камеры в реальных экспериментах и поведение ее математической модели в аналогичных условиях, можно сделать вывод о корректности предполагаемых калибровочных параметров. Если камера и её математическая модель показывают существенное расхождение в поведении, то исходное предположение о параметрах калибровки было неверным. При этом предлагается математический аппарат, осуществляющий выбор калибровочных параметров таким образом, чтобы расхождение в поведении было минимальным. Калибровочные характеристики математической модели, обеспечивающие минимальное расхождение в поведении, принимаются за соответствующие характеристики физической камеры.
В некоторых вариантах реализации в качестве меры расхождения поведения принимается суммарное, либо среднее расхождение в позициях особых точек на реальном изображении и позициях, предсказанных математической моделью.
В некоторых вариантах реализации для минимизации расхождения используется алгоритм глобальной оптимизации в пространстве калибровочных характеристик.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1: Камера, объект наблюдения и его проекция
Фиг. 2: Модель камеры-обскуры
Фиг. 3: Модель камеры-обскуры с мнимой плоскостью
Фиг. 4: Модель перспективной точечной проекции на фокальную плоскость
Фиг. 5: Вращение камеры при изменении панорамного угла Pan (вид сверху)
Фиг. 6: Вращение камеры при изменение угла наклона Tilt (вид сбоку)
Фиг. 7: Оптическое увеличение: показаны углы обзора и полученное изображение при двух различных фокусных расстояниях f и f'
Фиг. 8: Цифровое увеличение: применяем масштабирование части полученного изображения без изменения фокусного расстояния
Фиг. 9: Модель поворотной камеры: положение фокальной плоскости F при установке панорамного угла θ и угла наклона φ
Фиг. 10: Иллюстрация различных положений фокальной плоскости
Фиг. 11: Точка на фокальной плоскости (Xp, Yp) в системе координат матрицы камеры
Фиг. 12: Иллюстрация пересчета точек, сопоставленных изображению объектов из одного положения камеры в другое
Фиг. 13: Модель PTZ-камеры: камера наклонена относительно поворотного механизма
Фиг. 14: Модель PTZ-камеры: центр поворотного механизма не совпадает с оптическим центром
Фиг. 15: Модель PTZ-камеры: оптическая ось не проходит через центр поворотного механизма
Фиг. 16: Смещение оптического центра относительно центра матрицы, поворот матрицы относительно направления панорамирования камеры
Фиг. 17: Модель дисторсии: проекция точки в идеальной модели и реальная проекция
Фиг. 18: Слева: бочкообразное искажение (barrel distortion); справа: подушкообразное искажение (pincushion distortion)
Фиг. 19: Изображения на фокальной плоскости одной и той же точки X при разных положения  камеры
Фиг. 20: Пример некорректного трека точки при повороте камеры (в верхней части рисунка)
Фиг. 21: Зависимость фокусного расстояния от значения параметра Zoom в реальной камере
Фиг. 22: Зависимость фокусного расстояния от значения параметра Zoom в реальной камере (увеличенный фрагмент графика)
Фиг. 23: Треки точек при движении камеры по углу Pan при Tilt = 0º
Фиг. 24: Треки точек при движении камеры по Pan при Tilt = −90º
Фиг. 25: Треки точек при движении камеры по Pan при Tilt = −15º
Фиг. 26: Трекинг точек при изменении угла Tilt при постоянном панорамном угле
Фиг. 27: Система калибровки камеры
Фиг. 28: Модель камеры: углы α и β поворота камеры относительно направлений вращений Pan и Tilt поворотной системы
ПОДРОБНОЕ РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Данное техническое решение в различных своих вариантах осуществления может быть выполнено в виде способа, в виде системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа. Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
1. Расчет позиций объектов по их изображениям и обратная задача
Одна из основных фундаментальных задач, возникающая практически во всех системах видеонаблюдения — определение положений реальных объектов по их изображениям, полученным камерой. В зависимости от назначения системы и свойств камер, эта задача может решаться по-разному. Для стационарной охранной камеры, которая обозревает помещение, положение наблюдаемых объектов может быть установлено с невысокой точностью: наблюдателю достаточно видеть, например, наличие людей в комнате и их приблизительное местоположение. В этом случае требования к системе невысокие: камера может быть установлена в заданном направлении относительно произвольно, достаточно просто различать объекты с приемлемой чёткостью. При использовании камеры на управляемой поворотной конструкции, для эффективного наблюдения возникает необходимость оперативно получать информацию о положении камеры и исходя из неё интерпретировать изображение.
Видеонаблюдение на открытых пространствах большой протяжённости налагает особые требования на систему. Они обусловлены тем, что, во-первых, видеонаблюдение может производиться на значительных расстояниях, вплоть до нескольких десятков километров, и ошибка в определении координат объекта может быть значительной; во-вторых, в условиях сельской местности или лесных массивов трудно или невозможно, в отличие от помещения, найти ориентиры с известными положениями.
Pan - Tilt - Zoom (PTZ)-камера представляет собой камеру, установленную на поворотной конструкции с возможностью управления, которая позволяет устанавливать заданное направление съемки и выставлять коэффициент приближения. См. Фиг. 1
Поворотная конструкция камеры представляет собой механизм, который может поворачиваться в горизонтальной и вертикальной плоскости, текущее положение описывается двумя углами:
1. Параметр Pan (панорамирование) Отвечает за угол поворота в горизонтальной плоскости. Панорамный угол поворота обозначают греческой буквой θ. Движение камеры при изменении панорамного угла схематически изображено на Фиг 5.
2. Параметр Tilt (наклон) Отвечает за угол поворота в вертикальной плоскости (вокруг горизонтальной оси). Угол наклона обычно обозначают греческой буквой ϕ. Движение по углу Tilt изображено на Фиг. 6.
Примеры положения камеры представлены схематично на Фиг. 9, 10
Углы поворота оптической оси камеры относительно поворотной конструкции. Камера расположена на поворотном механизме и поворачивается вместе с ним. Направление оптической оси камеры в координатах поворотного механизма также описывается двумя углами: α – панорамный угол, β – угол наклона. Мы считаем, что эти углы определяются только конструкцией PTZ- камеры и не зависят от текущих значений Pan, Tilt поворотного механизма и параметра Zoom оптической системы. Отличие углов α и β от нуля является мешающим фактором и производители камер стараются сделать эти углы небольшими. Однако, как показала практика, в реальных камерах величинами этих углов нельзя пренебрегать.
Параметр Zoom - масштаб изображения. Отвечает за угол обзора, который охватывает изображение, полученное с камеры (Фиг. 7). В случае оптического приближения, установка этого параметра вызывает изменение фокусного расстояния оптической системы камеры за счет взаимного движения линз объектива. Интерфейс управления камерой, как правило, принимает параметр Zoom в неких формальных единицах камеры, диапазон которых может принимать значения, например, от 1 до 10000. При этом без дополнительных сведений невозможно напрямую интерпретировать этот параметр. Даже в том случае, когда параметр Zoom по документации имеет прямой физический смысл, такой как фокусное расстояние оптической системы, нельзя быть уверенным, что этот параметр соответствует эффективному фокусному расстоянию, которое может быть использовано в расчетах. Кроме оптического увеличения существует цифровое (Фиг. 8), однако его использование не улучшает качества изображения.
Способ управления PTZ камерой
PTZ-камера имеет интерфейс, который позволяет передавать камере требуемые значения параметров и получать значения, установленные на камере в данный момент. Процесс управления PTZ-камерой обычно состоит из следующих этапов:
1. Передаются значения Pan, Tilt и, при необходимости, Zoom.
2. Осуществляется временная задержка для того, чтобы камера осуществила поворот в новое положение, изменила масштаб и сфокусировалась при новом масштабе (в случае автоматической фокусировки).
3. У камеры опрашиваются установленные значения параметров, сравниваются с требуемыми.
4. Если значения параметров далеки от запрошенных, возможно увеличение времени ожидания с последующим повторным опросом или рапорт об ошибке камеры.
5. В том случае, если разница между установленными и затребованными значениям параметров находится в допустимых пределах, считается что камера закончила перенастройку и в качестве новых рабочих значений принимаются те, которые вернула камера.
Математическая модель камеры -
математическая модель (ММ), сопоставляющая части снимаемого камерой изображения с объектами реального мира. Как и любая ММ, она описывает математическое представление реальности. ММ камеры опирается на представление о наличии у камеры некоторых физических параметров, влияющих на формирование изображения. ММ даёт математическую связь (например, в виде системы уравнений) между точками изображения и направлениями прихода лучей света (в системе координат, связанной с камерой), несущих информацию об объекте съемки.
Среди физических параметров камеры, отражённых в виде параметров в ММ, как наиболее часто встречающиеся на практике можно выделить координаты оптического центра системы, фокусное расстояние системы в зависимости от установленного приближения, коэффициент, описывающий соотношение сторон пикселя, углы поворота матрицы относительно оптической оси и плоскости вращения камеры, коэффициенты дисторсии оптической системы. В частных случаях, некоторые их параметров могут отсутствовать. Могут присутствовать и иные параметры, однако основанием для их включения в модель должны служить априорные сведения об устройстве и работе камеры, почерпнутые, например, из технической документации. В любом случае, набор значимых параметров камеры определяется до начала процедуры автоматической калибровки. По умолчанию, он такой, как указано выше.
При этом математическая связь между точками изображения и направлениями прихода лучей света, по умолчанию, соответствует камере-обскуре, а также учитывает дисторсию. Связь может быть и иной, но только в том случае, если это априорно известно.
Способа определения калибровочных характеристик камеры
Таким образом, определение ММ, которое производится на первом шаге при реализации , подразумевает заимствование ММ из технического описания камеры, или использование ММ, описанной в этом тексте, как наиболее универсальной, в случае недостаточности данных в технической документации.
1.1 Задача определения позиции объекта по его изображению
В общем случае, задача расчёта позиций объектов состоит в определении угловых координат наблюдаемой на изображении точки в абсолютной системе координат, привязанной, например, к вышке на которой установлена камера. При расчете позиции объекта в абсолютной системе координат, связанной с вышкой, и решении обратной задачи, мы рассматриваем модель камеры на базе модели камеры-обскуры [2,4] (Фиг. 2,3,4) с учетом следующих параметров:
1. Внутренняя калибровка камеры: фокусное расстояние, зависящее от текущего значения параметра Zoom, размер матрицы, наклон и соотношение сторон пикселей, положение центра матрицы, наклон матрицы (Фиг. 13б, 16) параметры аберрации оптической системы (Фиг. 18). Дисторсия может быть введена и описана как в [9]
2. Расположение камеры в системе координат поворотного механизма (то есть углы поворота камеры относительно поворотной конструкции) Фиг. 28
3. Текущие значения pan и tilt установленные на поворотном механизме камеры
4. Расположение поворотного механизма камеры в глобальной системе координат
Приведем математическое описание модели.
p
p
Пусть (x,y) - координаты пикселя на изображении (Фиг. 11). Для получения абсолютных угловых координат объекта, соответствующего этой точке, выполним следующие этапы:
1. Нормализация на основании модели камеры-обскуры с учетом внутренней калибровки, где Undistort – процедура устранения дисторсии, описанная в [9]. cx, cy – координаты центра матрицы, Rг – поворот точки на угол γ в двухмерном пространстве:
f
pan
tilt
2. Получение положения - угловых координат в системе, связанной с поворотным механизмом, исходя из модели поворота камеры-обскуры и модели поворотного механизма с учетом текущего фокусного расстояния , значений углов поворота камеры относительно механизма α, β и текущих значений ,  поворотного механизма, где Rp – матрица поворота по Pan, Rt – матрица поворота по Tilt. Исходя из геометрических соображений, точка на матрице с координатами Xn, Yn при заданных выше параметрах имеет координаты Xs, Ys, Zs в глобальной системе соординат
3. Перевод в глобальную систему координат, связанную, например, с вышкой на которой установлена камера, где G – преобразование поворота, описываемое кватернионом [20]
1.2 Задача определения координат объекта на изображении по его позиции в глобальной системе координат
Важным является и решение обратной проблемы — вычисление координат изображения объектов по их абсолютному местоположению. Эта задача возникает, например, при поиске известных объектов, отмеченных на изображении в одном положении камеры при повороте её в другое положение. В этом случае по координатам точки определяются угловые координаты объекта, а затем находятся его координаты на изображении в новом положении камеры (см. Фиг. 12).
По координатам объекта в глобальной системе координат,
-1
1. Получаем координаты в системе, связанной с поворотным механизмом, где G – обратное преобразование поворота:
n
n
pan
tilt
f
2. Исходя из геометрических соображений, вычисляем координаты x, y соответствующей точки на плоскости матрицы с учетом текущих значений ,  поворотного механизма, углов α, β и текущего фокусного расстояния
p
p
3. Проводим “денормализацию”, на основании модели камеры-обскуры с учетом внутренней калибровки, получаем координаты соответствующего пикселя (x,y)
1.3 Интересующие калибровочные характеристики
Под калибровочными характеристиками конкретной камеры подразумеваются такие её параметры (и зависимости параметров друг от друга), которые входят в математическую модель, связывающую координаты пикселей на матрице с угловыми координатами соответствующих им точек.
Требуемая конкретной практической задачей точность осуществления пересчёта одних координат в другие определяет требования к точности знания калибровочных характеристик. Часть характеристик может быть известна с требуемой точностью априори.
интересующими калибровочными характеристиками
Остальные характеристики необходимо измерять. Будем называть их .
1.4 Калибровочные характеристики неповоротной камеры
У камеры, которая не может поворачиваться, но позволяет изменять приближение (zoom) с помощью предлагаемого способа также можно определить некоторые калибровочные характеристики, например, такие как координаты оптического центра системы и коэффициенты дисторсии оптической системы.
2.Методы калибровки PTZ-камеры
Методы автоматического получения параметров калибровки, изложенные в данной работе, имеют в своей основе идею сопоставления точек изображения, полученных в одном положении камеры с теми же точками в другом положении. Суть методов — произвести известное перемещение камеры, такое как поворот из положения (θ1,ϕ1) в положение (θ2,ϕ2) и/или изменить приближение (zoom) и найти параметры калибровки так, чтобы расчетное положение ключевых точек на изображении совпало с их реальным положением. На Фиг. 19 изображены проекции точки X в двух положениях камеры – X′ и X′′. Точка объекта X в положении камеры P′ проецируется в точку X′. При перемещении камеры в положение P′′, проекция точки X оказывается в положении X′′. Мы должны подобрать набор калибровочных коэффициентов так, чтобы для каждой из анализируемых точек изображения расчетное положение конечной точки X′′ по известным координатам начальной точки X′ и параметрам поворота камеры совпало с реальным местонахождением точки X′′.
Маршрут
Последовательность точек съёмки (θ, ϕ), в каждой из которых с камеры получаются изображения, информация с которых обрабатывается совместно и используется для определения заданного набора калибровочных характеристик, называется маршрутом съёмки, или, просто, маршрутом. Маршруты могут отличаться количеством точек съёмки, их взаимным расположением, приближением.
н
н
к
к
н
к
н
н
к
н
Последовательность точек съёмки, в принципе, может быть любой, ограничиваясь лишь доступными для камеры положениями. В частности, можно задать крайние точки маршрута (θ, ϕ) и (θ, ϕ) и, указав, сколько промежуточных положений (N) должна занять камера, пополнить маршрут промежуточными точками вида (θ+(θ-θ)*i/N, ϕ+(ϕ-ϕ)*i/N). i=0..N. Здесь также нужно помнить о тождественности координат ϕ и ϕ+2*π. Максимальное число промежуточных положений камеры определяется  интуитивно понятным условием, что шаг перемещения не должен быть меньше, чем точность позиционирования.
Другой частный случай – случайная последовательность точек съёмки.
2.1 Трекинг точек на изображении при повороте PTZ-камеры
При решении проблемы автоматической калибровки PTZ-камеры необходимо иметь инструмент, который позволял бы сопоставить точки на одном изображении с теми же точками на изображении, полученном в другом положении камеры. Важным фактором является то, что поиск и сопоставление точек необходимо производить в автоматическом режиме.
особой точкой
Общий подход заключается в поиске особенностей (features) изображения, которые могут быть идентифицированы для разных изображений как соответствующие одному прообразу. Каждой особенности можно приписать координаты по некоторому правилу, зависящему от вида особенности (координаты угла, центра масс и т.п.). Эти координаты будем считать координатами особой точки, а саму точку с этими координатами – .
1
1
2
2
После того как на изображении выделены особые точки, соответствующие определенному критерию, мы поворачиваем камеру на небольшой угол и/или изменяем приближение и проводим анализ, куда смещаются особые точки, выделенные на исходном изображении. Новые положения точек берутся за основу следующего небольшого перемещения камеры. Таким образом, пошагово поворачивая камеру на небольшие углы, мы переводим её из одного положения (θ, ϕ) – в другое (θ, ϕ).
Важно, чтобы при изучении перемещения особых точек имелось хотя бы по два изображения с каждой особой точкой, перемещение которых изучается. Для этого камеру нужно поворачивать так, чтобы каждая интересующая особая точка оказалась в поле зрения камеры хотя бы в двух маршрутных точках. Это всегда возможно. Примеры см. в разделе 6.
В экспериментах, описанных в данной работе, мы использовали поиск особых точек изображения и их трекинг, реализованный в библиотеке OpenCV. В частности, для поиска особых точек изображения, использовалась функция goodFeaturesToTrack, выделяющая точки, которые потенциально пригодны для трекинга (см. описание функции в [5], подробное описание метода в [15]); для нахождения новых позиций точек, при изменении положения камеры, использовалась функция поиска оптического потока, основанная на алгоритме Лукаса-Канаде calcOpticalFlowPyrLK (описание функции в [6], алгоритм – в [12]). Трекинг точек изображен, например, на Фиг. 23-25.
0
1
n−1
n
В процессе трекинга точек при повороте камеры, на каждом шаге некоторые точки (и соответственно треки) могут быть отброшены. Часть точек может быть исключена в соответствии с внутренними критериями алгоритма поиска оптического потока. Оставшиеся точки анализируются исходя из следующих эвристических соображений. При заданном движении камеры, точки изображения описывают траектории известного вида. Например, в случае идеальной камеры, при повороте по углу Pan, это кривые второго порядка. Таким образом, на (n + 1)-ом шаге, на основании точек p,p,…,p мы строим кривую и проверяем точку p на соответствие этой кривой с заданным порогом погрешности. В случае, если новая точка лежит вне кривой (с учетом порога), мы считаем данный трек не пригодным для дальнейшего отслеживания и отбрасываем его.
Пример такой ситуации изображен на иллюстрации 20: в процессе трекинга точки на очередном шаге алгоритм неверно определил новое положение точки. Такой трек может быть отброшен в результате применения изложенного выше метода. Подобные ситуации чаще всего возникают, если на изображении присутствует структура с похожими повторяющимися элементами, такая как поверхность земли, лесной массив или кирпичная кладка зданий.
При решении конкретных частных задач могут быть использованы другие эвристики, например, при расчете фокусного расстояния системы без учета дисторсии, можно отбрасывать точки, расположенные слишком близко к краям изображения (на краях дисторсия, как правило, вносит наибольший вклад).
i
Для исключения некорректных треков, которые появляются в результате погрешности работы алгоритма трекинга точек, можно воспользоваться следующей процедурой: отсортируем значения фокусных расстояний f и отбросим заданную долю значений сверху и снизу (например, по 10%), таким образом исключим “выбросы” значений фокусных расстояний, которые соответствуют некорректным трекам.
Определение маршрута съёмки
Маршрут, позволяющий определять калибровочные характеристики, должен содержать минимум две точки съёмки, такие чтобы на изображениях содержался прообраз одной и той же особой точки. При этом влияние ошибок позиционирования на точность определения интересующих калибровочных характеристик будет значительным. Увеличивая количество точек маршрута и/или выбирая другие точки маршрута, можно повышать точность определения калибровочных характеристик (см. раздел 3). Выбор маршрута, содержащего минимальное количество точек съёмки или проходимого за минимальное время, и обеспечивающего определение калибровочных характеристик с достаточной точностью, может производиться методами оптимизации. Однако, даже выбирая точки маршрута случайным образом и методично увеличивая их количество, можно достигнуть требуемой точности определения интересующих калибровочных характеристик.
Способа определения калибровочных характеристик камеры
Таким образом, маршрут съёмки, съёмка которого производится на четвёртом шаге при реализации , в простейшем случае, является случайным маршрутом.
2.2 Вычисление параметров модели как решение задачи оптимизации
Задача поиска калибровочных коэффициентов в соответствии с моделью камеры может быть поставлена как оптимизационная задача поиска набора коэффициентов модели, обеспечивающих минимальную невязку предсказываемых положений особых точек с их реальными положениями.
Сформулируем проблему определения параметров как задачу многомерной оптимизации. Как было описано ранее, мы исходим из того, что имеется набор экспериментов, в которых выделены специальные точки изображения и определены треки перемещения этих точек при известном повороте PTZ-камеры.
s
s
e
e
s
s
e
e
s
s
s
s
s
e
e
e
e
s
s
s
Пусть c – набор параметров, описывающий калибровку камеры из множества допустимых значений C. Ω – набор треков, представляющих собой тройку объектов 〈(x,y),(x,y),r〉 — начальную (x,y), конечную (x,y) точку каждого трека и r – параметр, определяющий поворот камеры для которого снимался трек. R(x,y,r,c) – функция пересчета положения точки на изображении из начальной позиции p = (x,y) при осуществлении поворота r с учетом набора параметров калибровки c в соответствии с моделью камеры. S – функция, зависящая от c и набора треков Ω, полученных в результатах экспериментов, описывающая среднее значение отклонения реальных конечных точек треков p = (x,y) от вычисленных значений p′ = R(p,r,c) = R(x,y,r,c).
(1)
Для данного фиксированного набора экспериментов Ω требуется найти такое значение параметра c ∈ C, при котором функция S(Ω,c) достигает минимального значения:
Для модели камеры требуется решить задачу оптимизации по следующим параметрам:
c
c
1. Координаты оптического центра системы x, y
2. Фокусное расстояние системы f
3. Коэффициент, описывающий соотношение сторон пикселя s
4. Углы поворота матрицы камеры относительно поворотного механизма системы α, β, γ
i
5. Коэффициенты дисторсии оптической системы k
1
2
3
c
c
c
c
Для реализации способа треки могут быть выбраны таким образом, чтобы среди них присутствовали такие, поведение которых сильно зависит от конкретных параметров. Поясним это утверждение на примере: при параметре Tilt = 0º, изменяется панорамный угол Pan, см. Фиг. 23. В таких экспериментах влияние параметров f, α, коэффициентов дисторсии k, k, k является значительным, а параметры x, y, s являются несущественными. Напротив, в эксперименте, изображенном на Фиг. 24, в котором параметр Tilt = −90º (камера “смотрит” вертикально вниз), значения x, y, s являются очень существенными (определяют центр и коэффициент сжатия эллиптических треков точек), а значение фокусного расстояния f в таком положении камеры никак не влияет на расчетные положения точек. Таким образом, для оценки параметров системы в наборе треков необходимо по возможности иметь треки точек, которые существенно влияют на все параметры модели.
Исходя из этих соображений можно получить серию треков:
1. Изменение угла Pan при Tilt = −90º (Фиг. 24)
2. Изменение угла Pan при Tilt = 0º(Фиг. 23)
3. Изменение угла Tilt при постоянном значении Pan (Фиг. 26)
4. Движение камеры по Pan при произвольном значении Tilt (Фиг. 25)
2.3 Подходы к решению задачи оптимизации
Решение поставленной задачи классическими методами многомерной оптимизации, эксплуатирующими жадный подход, например, основанными на градиентном спуске, в общем случае не дает удовлетворительного результата, по причине того, что целевая функция имеет множество локальных экстремумов и поиск глобального минимума функции такими методами затруднен.
Метод глобальной условной оптимизации
В [7] изложен метод, который может быть адаптирован для поиска глобального минимума поставленной задачи оптимизации.
Другой подход для получения приближенного решения задачи основан на интерпретации задачи в терминах предметной области и заключается в пошаговом уточнении значений отдельных параметров при фиксированных значениях остальных. Метод основан на изложенном выше соображении, что при определенной постановке эксперимента, некоторые из параметров не вносят значительный вклад в результат. Это позволяет разбить задачу оптимизации на несколько отдельных подзадач с меньшей размерностью, которые могут быть легко решены классическими методами оптимизации.
Таким образом, способ определения калибровочных характеристик поворотной камеры состоит из следующих шагов:
Определяют зависящую от калибровочных характеристик камеры математическую модель, сопоставляющую части снимаемого камерой изображения с объектами реального мира;
Определяют набор интересующих калибровочных характеристик камеры;
Определяют требуемую точность нахождения калибровочных характеристик;
Проводят съёмку некоторого количества доступных для камеры маршрутов съёмки;
На полученных во время съёмки изображениях определяют особые точки;
Определяют новый маршрут съёмки или их набор такой, что при его съёмке каждая или некоторые из найденных ранее особых точек окажутся более чем на одном изображении;
Производят съёмку изображений по определённым на шаге 6 маршрутам. На полученных изображениях отслеживают перемещение особых точек;
Решают задачу или набор задач оптимизации, отыскивающих такой набор калибровочных характеристик, при котором достигается минимальная невязка предсказанных моделью перемещений особых точек с реальными перемещениями;
С учётом известной погрешности позиционирования камеры оцениваются погрешности найденных калибровочных характеристик;
Если погрешность превышает определённую на шаге 3, то алгоритм итеративно повторяется с шага 4, причём сведения о перемещении особых точек, полученные на текущей и предыдущих итерациях, сохраняются, и будут использованы на шаге 8 совместно с информацией о перемещении вновь найденных особых точек. Циклическое выполнение алгоритма прекращаются либо когда достигнута требуемая точность определения калибровочных характеристик, либо когда достигнуто некое наперёд заданное максимальное количество итераций, либо когда достигнуто некое наперёд заданное максимальное время работы алгоритма, либо когда его останавливает пользователь;
Принимают набор калибровочных характеристик, соответствующий минимальной невязке целевой функции, рассчитанной на последней итерации, за набор калибровочных характеристик камеры. Найденная на шаге 9 последней итерации погрешность принимается за погрешность калибровочных характеристик камеры.
3.Точность найденных калибровочных характеристик
M
M
Позиционирование камеры осуществляется с конечной точностью, поэтому найденные посредством оптимизации значения калибровочных характеристик могут отличаться от истинных. Ошибки позиционирования приводят к ошибкам при определении координат особых точек, что в свою очередь приводит к добавлению случайных слагаемых к функции невязки (1). Оценить величину воздействия ошибки позиционирования на разброс функции невязки можно посредством численного эксперимента, моделируя движение особых точек и добавляя к их координатам случайную величину с заданным разбросом, а затем вычисляя функцию невязки. Пусть разброс функции невязки = Δ. Тогда возможные значения калибровочных характеристик лежат не только в точке, где невязка достигла минимума , но и в области, где невязка меньше +Δ. Ширина этой области определяет погрешность определения калибровочных характеристик.
Погрешность определения калибровочных характеристик влечёт, в свою очередь, погрешность пересчёта координаты пикселей на матрице в угловые координаты соответствующих им точек в глобальной системе координат. Соответственно, задавшись максимально допустимой погрешностью в глобальной системе координат и используя математическую модель камеры, можно оценить максимально допустимую погрешность определения калибровочных характеристик.
Если погрешность позиционирования носит случайный характер, то увеличивая количество позиций камеры при съёмке особых точек, за счёт усреднения, можно уменьшить воздействие погрешности позиционирования. То есть, задавшись максимально допустимой погрешностью определения калибровочных характеристик, можно оценить минимальное количество кадров, на котором необходимо найти заданные особые точки.
Конкретная последовательность точек съёмки (маршрут) влияет на точность не только количеством кадров. Как было указано в предыдущих разделах, для определения разных калибровочных характеристик целесообразно осуществлять перемещения камеры по разным маршрутам. Это объясняется тем, что «ширина минимума» функции невязки зависит от взаимного расположения точек съёмки. Поэтому следует, по возможности, выбирать такую последовательность, когда ширина функции невязки, и как следствие, ошибка определения калибровочных характеристик, минимальны.
4.Примеры определения отдельных параметров
Приведем результаты экспериментов с камерами по вычислению эффективного фокусного расстояния системы по методике, изложенной в разделе 3.2. Для камеры с заданным диапазоном значений приближения, мы с шагом ΔZ устанавливаем параметр Zoom, проводим эксперимент по вычислению значения f и строим зависимость фокусного расстояния f от формального параметра Zoom.
На Фиг. 21 изображен результат эксперимента по вычислению фокусных расстояний системы в зависимости от параметра Zoom, переданного PTZ-камере. Данные эксперимент проводился для камеры AXIS Q6032-E. Допустимые значения параметра Zoom, которые можно передать камере лежат в диапазоне от 1 до 9999, расчет проводился с шагом ΔZ = 50 единиц. По оси абсцисс отложены значения Zoom, по оси ординат – полученные по математической модели фокусные расстояния. Например, для значения Zoom = 1 фокусное расстояния f = 646 (в пикселях), для значения Zoom = 9851, f = 19971. Можно проследить нелинейное поведение данной зависимости, для этого на графике для сравнения изображена прямая. Характерное нелинейное поведение зависимости можно наблюдать и на локальных участках: на Фиг. 22 изображен участок графика для значений Zoom от 1 до 2000.
Общие результаты эксперимента сохраняются в виде таблицы
Zoom
f
1
645.9px
50
724.5px
100
811.0px
…
…
9851
19735.1px
Такую таблицу можно использовать в практических расчетах — по заданному значению Zoom в качестве эффективного значения фокусного расстояния системы принимается линейная аппроксимация между двумя заранее рассчитанными точками. Например, для значения Zoom = 40, фокусное расстояние равно 645.9 + 724.5 = 708.5.
Результаты решения задачи оптимизации
Результаты оптимизации по методу глобального поиска минимума, описанному в [7] для набора экспериментов с камерой AXIS-Q6035 приведены в таблице 1. В вычислении участвовало 2046 треков из 4-х разных экспериментов (см. иллюстрации 23-26).
x<sub>c</sub>, y<sub>c</sub>
1061.3, 539.1
f
1933
s
1.000708
α, β, γ
0.01534º, -0.0044º, 0.3397º
k<sub>1</sub>, k<sub>2</sub>, k<sub>3</sub>
−0.2677, 0.4635, −0.5831
Таблица 1: Результаты, полученные методом глобальной оптимизации
5.Пример реализации изобретения в виде системы
Согласно Фиг. 27, примерная система для реализации изобретения включает в себя устройство обработки данных 600. Устройство обработки данных 600 может быть сконфигурировано как клиент, сервер, мобильное устройство или любое другое вычислительное устройство, которое взаимодействует с данными в системе совместной работы, основанной на сети. В самой базовой конфигурации устройство обработки данных 600, как правило, включает в себя, по меньшей мере, один процессор 601 и устройство хранения данных 602. В зависимости от точной конфигурации и типа вычислительного устройства системная память 602 может быть энергозависимой (например, оперативное запоминающее устройство (ОЗУ, RAM)), энергонезависимой (например, постоянное запоминающее устройство (ПЗУ, ROM)) или некоторой их комбинацией. Устройство хранения данных 602, как правило, включает в себя одну или более прикладных программ 603 и может включать в себя данные 604 программ. Настоящее изобретение как способ, описанное в деталях выше, реализовано в прикладных программах 603.
Устройство обработки данных 600 может иметь дополнительные особенности или функциональные возможности. Например, устройство обработки данных 600 может также включать в себя дополнительные устройства хранения данных (съемные и несъемные), такие как, например, магнитные диски, оптические диски или лента. Такие дополнительные хранилища проиллюстрированы на Фиг. 27 посредством съемного хранилища 607 и несъемного хранилища 608. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или при помощи любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Устройство хранения данных 602, съемное хранилище 607 и несъемное хранилище 608 являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя, но не в ограничительном смысле, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память, выполненную по другой технологии, ПЗУ на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, хранилища на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения желаемой информации и к которой может получить доступ устройство обработки данных 600. Любой такой компьютерный носитель данных может быть частью устройства 600. Устройство обработки данных 600 может также включать в себя устройство(а) 605 ввода, такие как клавиатура, мышь, перо, устройство с речевым вводом, устройство сенсорного ввода, и так далее. Устройство(а) 606 вывода, такие как дисплей, динамики, принтер и тому подобное, также могут быть включены в состав устройства. Устройство может включать в себя сенсор 609 для обеспечения возможности съемки изображения и устройство визуализации 610 для обеспечения возможности отображения исходного, либо обработанного изображений.
Устройство обработки данных 600 содержит коммуникационные соединения, которые позволяют устройству связываться с другими вычислительными устройствами, например, по сети. Сети включают в себя локальные сети и глобальные сети наряду с другими большими масштабируемыми сетями, включая, но не в ограничительном смысле, корпоративные сети и экстрасети. Коммуникационное соединение является примером коммуникационной среды. Как правило, коммуникационная среда может быть реализована при помощи машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном информационном сигнале, таком как несущая волна, или в другом транспортном механизме, и включает в себя любую среду доставки информации. Термин «модулированный информационный сигнал» означает сигнал, одна или более из его характеристик изменены или установлены таким образом, чтобы закодировать информацию в этом сигнале. Для примера, но без ограничения, коммуникационные среды включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Термин «машиночитаемый носитель», как употребляется в этом документе, включает в себя как носители данных, так и коммуникационные среды.
Настоящее подробное описание составлено с приведением различных не имеющих ограничительного и исчерпывающего характера вариантов осуществления. В то же время, специалистам, имеющим средний уровень компетентности в рассматриваемой области техники, очевидно, что различные замены, модификации или сочетания любых раскрытых здесь вариантов осуществления (в том числе частично) могут быть воспроизведены в пределах объема настоящего изобретения. Таким образом, подразумевается и понимается, что настоящее описание изобретения включает дополнительные варианты осуществления, суть которых не изложена здесь в явно выраженной форме. Такие варианты осуществления могут быть получены путем, например, сочетания, модификации или преобразования каких-либо действий, компонентов, элементов, свойств, аспектов, характеристик, ограничений и пр., относящихся к приведенным здесь и не имеющим ограничительного характера вариантам осуществления.
6.Пример работы системы
Устройство обработки данных 600 (Фиг. 27) направляет запрос для определения модели камеры. Упомянутый запрос может быть направлен на камеру, в ответ на который камера направляет на устройство обработки данных 600 информацию о модели камеры, либо устройство обработки данных 600 может быть выполнено с возможностью передачи запроса на устройства вывода 606 и приема информации о модели камеры посредством устройства ввода 605 от пользователя. На основе информации о модели камеры устройство обработки данных 600 осуществляет извлечение из соответствующей базы данных данных о технических возможностях камеры и зависящую от калибровочных характеристик камеры математическую модель камеры, сопоставляющую части снимаемого камерой изображения с объектами реального мира. Сопоставление частей снимаемого камерой изображения с объектами реального мира в математической модели может быть реализовано посредством привязки координат пикселей на матрице с угловыми координатами камеры соответствующих им объектов в реальном мире.
Полученная математическая модель камеры анализируется упомянутым устройством 600 на наличие в ней параметров и зависимостей параметров друг от друга, связывающих координаты пикселей на матрице с угловыми координатами соответствующих им объектов в реальном мире. Полученные параметры и зависимости параметров друг от друга определяются устройством обработки данных 600 как набор интересующих калибровочных характеристик камеры.
Далее устройство 600 извлекает из базы данных информацию о требуемой точности определения калибровочных характеристик. Эта информация может храниться в виде численного значения допустимой ширины доверительного интервала при некотором уровне доверительной вероятности (например, 95%) для оценки каждого числового параметра математической модели камеры.
Далее, исходя из модели камеры, устройство 600 определяет по меньшей мере один маршрут съёмки, например:
-изменение tilt от -90º до +20º при фиксированном pan=0º,
-изменение pan от 0º до 360º при фиксированном tilt= - 10º,
-изменение pan от 0º до 360º при фиксированном tilt= - 90º,
-упорядоченная последовательность случайного количества точек съёмки, каждая из которых представляет пару случайно выбранных в допустимом для камеры диапазоне координат (pan, tilt). Количество точек съёмки не менее одной. Максимальное количество ограничено лишь соображениями производительности системы и к сущности изобретения отношения не имеет,
-все вышеперечисленные маршруты реализуются при разных значениях параметра zoom от минимального до максимального.
Таким образом, определяются доступные для съёмки камерой изображения реального мира. Привязанные к конкретной модели маршруты съемки хранятся в базе данных, причем маршруты съемки могут отличаться диапазонами изменения pan, tilt, zoom в соответствии с возможностями конкретной модели. Для конкретной камеры маршрут может быть предварительно скорректирован пользователем, если, например, типовой для модели маршрут оказывается перекрыт близкорасположенными загораживающими конструкциями, на которых камера не может сфокусироваться (например, элементами конструкции вышки, на которой расположена камера). Или, например, пользователю известен маршрут с более высокой концентрацией особых точек. Корректировка пользователем не является обязательной, однако может повысить как скорость, так и точность определения калибровочных характеристик.
(Для конкретной камеры заранее может быть выбран оптимальный по времени или количеству точек съёмки маршрут. Либо маршрут вообще может быть случайной последовательностью точек съёмки.)
На определённых маршрутах устройство 600 на основе значений pan и tilt выбирает начальное количество точек съёмки таким образом, чтобы изображения, полученные при съёмке маршрута, перекрывали весь маршрут. Перекрытие изображений, полученных в разных точках съёмки, не требуется. Алгоритмы определения количества точек съёмки на основе значений pan и tilt могут быть заранее заданы в устройстве 600. Например, если угол обзора камеры по вертикали при выбранном zoom равен 10º, то при съёмке маршрута с фиксированным pan=0º и изменением tilt от −90º до +20º следует выбрать точки съёмки с pan=0º и значениями tilt: -85º, -75º, -65º, -55º, -45º, -35º, -25º, -15º, -5º, 5º, 15º.
Далее устройство 600 генерирует команды на управление камерой по заданному маршруту для получения изображений и устройство 609 осуществляет съемку в соответствии с позициями точек съёмки и передает данную информацию в устройство 600.
Далее устройство 600 осуществляет поиск особых точек на полученных изображениях и сохраняет их координаты. Поиск особых точек может, например, осуществляться по алгоритму, реализованному в функции goodFeaturesToTrack библиотеки OpenCV [5, 15].
Далее устройство 600 определяет новый маршрут съемки посредством уточнения набора точек съёмки на выбранных маршрутах таким образом, чтобы осуществить съёмку перемещений всех найденных особых точек, причем каждая или некоторые из найденных ранее особых точек могут оказаться более чем на одном изображении. Уточнение набора точек съёмки на выбранных маршрутах осуществляется на основе значений pan и tilt, а алгоритмы уточнения могут быть заранее заданы в устройстве 600. Например, пусть на маршруте с pan=0º и изменением tilt от -90º до +20º и углом обзора камеры по вертикали 10º были найдены две особые точки с tilt=−67º и −20º (и любым значением pan в пределах угла обзора по pan). Пусть минимальный шаг изменения tilt для камеры равен 0.1º. Тогда для съёмки перемещения первой точки следует осуществить съёмку позиций с tilt от −72º до −67º, а для второй - с tilt от −25º до −15º, с шагом по tilt 0.1º. То есть по 101 точке съёмки для каждой особой точки. Включать в уточнённый набор точек съёмки точки с другим tilt не имеет смысла, поскольку на изображения не попадут найденные особые точки. Если расстояние по tilt между особыми точками меньше вертикального угла обзора, то из некоторых точек съёмки будут видны несколько (N) особых точек и суммарное количество точек съёмки для них будет меньше, чем N*101.
Впрочем, количество точек съёмки на каждом маршруте может определяться исходя из требуемой точности определения калибровочных характеристик путём предварительного математического моделирования вида целевой функции в зависимости от количества точек съёмки, координат найденных ранее особых точек и погрешности позиционирования камеры. Количество точек съёмки, полученное таким методом, может оказаться меньше, чем при использовании метода максимально подробной съёмки, описанного в предыдущем абзаце.
Далее устройство 600 генерирует команды на управление камерой для получения изображений по заданному маршруту и устройство 609 осуществляет съемку в соответствии с позициями уточненного набора точек съёмки и передает данную информацию в устройство 600. На полученных изображениях устройство 600 определяет перемещение найденных ранее особых точек.
Далее устройство 600 в соответствии с заложенным в него программным алгоритмом решает задачу или набор задач оптимизации (см. разделы 2.2, 2.3), отыскивающих такой набор калибровочных характеристик, при котором достигается минимальная невязка предсказанных моделью перемещений особых точек с реальными перемещениями. При этом устройство 600 подставляет значения калибровочных характеристик в математическую модель камеры для прогнозирования перемещения особых точек, определяет значения перемещений и сравнивает их с допустимыми значениями перемещений точек. Если рассчитанные значения больше пороговых, то уточняют калибровочные характеристики.
Далее устройство 600 оценивает погрешность найденных калибровочных характеристик (см. раздел 3). Если эта погрешность приемлемая, то работа по определению калибровочных характеристик прекращается, а найденный набор калибровочных характеристик принимается устройством 600 за искомый и сохраняется в базу данных. В противном случае работа алгоритма повторяется, начиная с шага съёмки по начальному количеству точек съёмки и последующего поиска особых точек. Причём данные о перемещениях особых точек, полученные на предыдущих итерациях, не отбрасываются. То есть количество данных при каждом повторе алгоритма  может только возрастать.
Итеративное применение алгоритма имеет смысл, если на каждой следующей итерации вероятно появление новых особых точек. Это с высокой вероятностью будет иметь место при изменении освещения снимаемой сцены. Изображение, получаемое камерой при съёмке природных объектов, существенно зависит от освещения снимаемой местности (изменяется угол освещения из-за перемещения солнца, а также сдвигаются тени от облаков), поэтому если между итерациями алгоритма выждать время порядка часа, то обновление списка особых точек практически гарантировано. Рано или поздно, согласно закону больших чисел, будет накоплено достаточное количество данных о перемещении особых точек, чтобы оценить интересующие калибровочные характеристики с требуемой точностью.
На практике, поскольку при съёмке маршрута перемещение каждой особой точки отслеживается при десятках или сотнях положений камеры, почти всегда достаточно одной итерации.
Если итеративное применение алгоритма невозможно или нецелесообразно, т.е. не даёт повышения точности, то итерации можно прервать в любой момент и ограничиться достигнутой точностью. При этом в базу данных должна быть сохранена информация о достигнутой точности.
Используемые источники
[1]   Кобельков Г.М. Бахвалов Н.С., Жидков Н.П. Численные методы. Лаборатория Базовых Знаний, 2001.
[2]   Дэвид Форсайт и Жан Понс. Компьютерное зрение. Современный подход. Вильямс, 2004.
[3]   Bundle Adjustment. http://en.wikipedia.org/wiki/Bundle_adjustment.
[4]   Camera obscura. http://en.wikipedia.org/wiki/Camera_obscura.
[5]   OpenCV. Feature Detection. OpenCV Documentation. http://docs.opencv.org/modules/imgproc/doc/feature_detection.html.
[6]   OpenCV. Motion Analysis and Object Tracking. http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html.
[7]   К.А. Баркалов. Разработка и исследование методов ускорения сходимости алгоритмов глобальной условной оптимизации. PhD thesis, 2009.
[8]   Стрельников К.Н. Исследование и разработка алгоритмов для решения задачи устойчивого видеослежения в больших помещениях. PhD thesis, Институт прикладной математики имени М.В.Келдыша РАН 2009.
[9]   Duane C. Brown. Decentering distortion of lenses. Photogrammetric Engineering, 32(3):444–462, 1966.
[10]   Richard I. Hartley. Self-Calibration from Multiple Views with a Rotating Camera.
[11]   YangQuan Chen Lili Ma and Kevin L. Moore. A New Analytical Radial Distortion Model for Camera Calibration.
[12]   B. D. Lucas and T. Kanade. An iterative image registration technique with an application to stereo vision. Proceedings of Imaging Understanding Workshop, pages 121–130, 1981.
[13]   Karthik Sankaranarayananan and James W. Davis. An Effcient Active Camera Model for Video Surveillance.
[14]   Karthik Sankaranarayananan and James W. Davis. PTZ Camera Modeling and Panoramic View Generation via Focal Plane Mapping. http://www.cse.ohio-state.edu/~jwdavis/Publications/accv10.pdf.
[15]   J. Shi and C. Tomasi. Good Features to Track. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 59–600, 1994.
[16]   Sudipta N. Sinha and Marc Pollefeys. Pan-Tilt-Zoom Camera Calibration and High-Resolution Mosaic Generation. 2006.
[17]   Zhengyou Zhang. On the Epipolar Geometry Between Two Images With Lens Distortion. 1996.
[18]   Zhengyou Zhang. Flexible Camera Calibration By Viewing a Plane From Unknown Orientations. IEEE International Conference on Computer Vision, pages 666––673, 1999.
[19] Automatic calibration of PTZ camera system (https://www.google.com/patents/US8405720)
[20] https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
[21] Гонсалес Р., Вудс Р., Цифровая обработка изображений. — М.: Техносфера, 2012. — 1104 с.