Приём заказов:
Круглосуточно
Москва
ул. Никольская, д. 10.
Ежедневно 8:00–20:00
Звонок бесплатный

Метод автоматической внешней калибровки камеры с целью расширения возможностей системы видео контроля Orwell-2k

Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url:
Логотип сайта компании Диплом777
Никольская 10
Москва, RU 109012
Содержание

1. Теоретическая часть

1.1 Введение

Общая схема зрительной системы из одной камеры(рис. 1) включает в себя:

1. прямоугольную систему координат изображения с целочисленными осями и , где координаты по и – это номера строк и столбцов пикселей на изображении.

2. прямоугольную систему координат камеры с вещественными осями , , , где в качестве единиц измерения выберем мм.

3. прямоугольную мировую систему координат с вещественными осями ,,, где в качестве единиц измерения выберем мм.

Оптический центр в системе камеры имеет координаты . Плоскость изображения , моделирующая матрицу камеры, лежит в плоскости , а ось является оптической осью камеры.

Задача калибровки камеры заключается в том, чтобы определить, как расположены пиксели на плоскости изображения данной камеры относительно точек трёхмерного пространства, изображения которых и требуется получать с помощью камеры. Эта задача решается с помощью определения модели камеры , которая позволяет сопоставить любой точки пространства , заданной в мировой системе координат, точку на изображении :

Модель камеры зависит от параметров камеры, которые характеризуют её геометрические свойства и расположение.

Параметры делятся на две группы

1. внутренние параметры

2. внешние параметры

Внутренние параметры являются характеристиками камеры, которые зависят от особенностей конкретного используемого устройства. К ним относятся следующие параметры:

· масштабные множители {} для горизонтального и вертикального размера пиксела, выраженные в мм.;

· фокусное расстояние – расстояние от оптического центра до плоскости изображения;

· множитель дисторсии объектива () : масштабный множитель, применяемый для моделирования радиальной дисторсии объектива.

· главная точка: точка пересечения оптической оси и плоскости изображения. Вместо главной точки будем использовать точку , соответствующую центру пикселя с координатами в системе изображения, которая, также, однозначно задаёт положение системы координат изображения на плоскости.

Знание внутренних параметров позволяет построить преобразование из системы координат камеры в систему координат изображения. Если перейти к однородным координатам в обеих системах, то можно представить в виде линейного преобразования для которого выполняется равенство:

,

где точка в системе камеры, а – проекция этой точки в системе изображения.

Преобразование является композицией перспективного преобразования на плоскость и преобразования из плоскости в систему координат изображения :

Перспективное преобразование зависит только от фокусного расстояния и имеет вид:

,

Преобразование необратимо.

– зависит от остальных внутренних параметров. Если пренебречь радиальной дисторсией объектива, то его можно представить в виде композиции преобразования переноса и масштабирования с инвертированием:

,

Преобразование является обратимым :

Внешние параметры описывают местоположение и ориентацию системы координат камеры в мировой системе координат. К этим параметрам относятся:

· параметры переноса

· параметры поворота:

Параметры переноса описывают местоположение камеры в мировой системе координат, а параметры поворота – её ориентацию.

Матрицу R можно представить в виде произведения трёх матриц поворота

Где – матрица поворота вокруг оси на угол :

– матрица поворота вокруг оси на угол :

– матрица поворота вокруг оси на угол :

Таким образом, на самом деле независимых параметра поворота только 3 : ,,.

Преобразование из мировой системы координат в систему камеры зависит только от внешних параметров и имеет вид:

,

Преобразование обратимо :

Композиция преобразований и является моделью камеры:

Таким образом, задача калибровки сводится к определению параметров камеры.

Процедура определения внешних параметров называется внешней калибровкой, а процедура определение внутренних параметров – внутренней калибровкой.

В процессе внешней калибровки решается задача определения трёхмерных координат и ориентации объектов в трёхмерном пространстве (назовём эти объекты опорными). Модели этих объектов как правило известны. Модель – это информация о взаимном расположении черт объекта и их размеров. В качестве черт могут использоваться определенные точки, отрезки и углы объекта. Для решения этой задачи сперва необходимо определить проекции черт объекта на изображении камеры, т.е их координаты на плоскости . Эта процедура может выполняться автоматически с помощью специальной процедуры обработки изображения, либо с помощью указаний оператора. Внешняя калибровка автоматическая, если процедура определения координат проекций черт объекта является автоматической. Проблема определения трёхмерных координат объекта по его проекции, в зависимости от используемых черт, имеет следующие название:

1. PnP проблема (Perspective n Points problem),

2. PnL проблема (Perspective n Lines problem)

3. PnA проблема (Perspective n Angles problem).

PnP проблема

Впервые в современной литературе решение проблемы внешней калибровки камеры с моделью полной перспективы было рассмотрено в 1981 году Фишером и Болсом. Термин “PnP проблема” был введен авторами для задачи определения положения объекта относительно камеры. Условием для решения задачи являются n соответствий между точками изображения и точками модели объекта, а также, известное взаимное расположение точек модели объекта.

P1P и P2P проблемы имеют бесчисленное множество решений и поэтому в литературе не рассматриваются.

Наибольший интерес представляет P3P проблема, так как для решения этой задачи достаточно лишь трех соответствий между точками изображения и модели. Интерес к данной задаче связан с ее минимальными требованиями к числу найденных соответствий. Дело в том, что выделение черт на изображении и установление соответствия между ними и их проекциями отнимает значительное процессорное время. Следовательно, для приложений, ориентированных на работу в режиме реального времени, требуется использовать минимальное число черт. К сожалению, при точном решении P3P проблемы необходимо решать уравнение четвертой степени. Также, возможны такие конфигурации точек, что задача дает 4 различных решения, а выбор единственно верного решения является сложной задачей, требующей большого объема вычислений.

В связи с этим, иногда рассматриваются варианты задачи для четырех, пяти и шести точек. Шести точек достаточно для задания системы линейных уравнений, имеющей единственное решение, поэтому PnP проблемы для n больше шести не рассматриваются.

PnL проблема

PnL проблема представляет собой задачу определения положения объекта относительно камеры с условием заданных n соответствий между линиями изображения и линиями (гранями) модели объекта. Ограничения, задаваемые соответствием линий, слабее, чем аналогичные ограничения для точек, так как из первого легко получить второе, выбирая точки парами. К тому же, из произвольного соответствия линий не всегда удается получить соответствие точек, так как линии в пространстве не обязательно пересекаются.

С другой стороны, в общем случае линии легче выделить на изображении, нежели характерные точки. Это связано с тем, что для выделения характерных точек требуется поиск черт, коррелирующих с предварительно заданными шаблонами, а для выделения линий достаточно найти лишь градиент интенсивности пикселов изображения.

PnA проблема

PnA проблема – это задача определения положения объекта относительно камеры с условием заданных n соответствий углов между гранями модели объекта и их проекциями на картинную плоскость. В настоящее время имеются решения для двух упрощенных вариантов P3A проблемы. Для первого варианта необходимо, чтобы как минимум два из трех углов модели были острыми. Второй вариант требует, чтобы три угла модели образовывали трехгранный угол.

Вычислив трёхмерные координаты объектов в системе координат камеры и обладая информацией об их расположении относительно мировой системы координат, несложно определить внешние параметры.

В настоящей работе описывается новый метод автоматической внешней калибровки камеры.

Решение задачи определения внешних параметров камеры требуется в различных областях: картографии, системах распознавания объектов, в расширенной реальности, системах управления компьютером посредством определения положения рук или направления взгляда, системах управления роботами и т.д.

Новый метод разработан с целью расширения возможностей системы видео контроля Orwell-2k, предназначенной для обработки видео потока, принимаемого с системы видеонаблюдения, и последующей выдачи различной информации о снимаемой сцене (например, месторасположение и тип объектов, присутствующих на видеоизображении) .

Cистема Orwell-2k расширяется для возможности её использования в системах видеонаблюдения, установленных на кораблях. Одна из будущих задач – слежение за объектами вблизи входного терминала судна, располагающегося на пристани, во время нахождения судна в порту. Участок вблизи терминала является для системы особым и называется зоной интереса (рис. 2) . Для того, чтобы определить зону интереса, оператор указывает на видеоизображении вершины многоугольника, внутренние точки которого соответствуют проекции зоны интереса на изображении. Если камера неподвижна относительно наблюдаемой сцены (внешние параметры фиксированы), проекция зоны на изображении, указанная однажды оператором, неизменна, и система может работать корректно на протяжении всей видеосъёмки. Но так как камера установлена на корабле, её внешние параметры через некоторое время могут измениться в связи с небольшими движениями корабля, вызванными приливом, отливом или качкой. Автоматическая внешняя калибровка позволила бы избавить оператора от необходимости заново выделять проекцию зоны интереса на изображении: с помощью модели камеры возможно сохранить координаты точек, указанных оператором на изображении, в мировой системе координат, а далее вычислить их новые значения в системе изображения.

Для задач такого рода точность определения внешних параметров не является основной характеристикой процедуры калибровки, тогда как к наиболее важным характеристикам можно отнести следующие:

· Простота использования

· Устойчивость

· Производительность

В области расширенной реальности к процедуре внешней калибровки предъявляются приблизительно такие же требования, поэтому приведём описания двух наиболее популярных программных продукта, предназначенных для автоматической калибровки с целью создания расширенной реальности.

Расширенная реальность – это сочетание реальных сцен и компьютерной графики. Благодаря калибровки камеры возможно корректное позиционирование трёхмерных моделей в сцене во время движения камеры, что создаёт иллюзию их реальности.

ARToolkit

ARToolkit – наиболее популярное средство автоматической внешней калибровки для создания расширенной реальности и человеко-машинного интерфейса. Своё широкое распространение она получила во многом благодаря открытому исходному коду и простому алгоритму. В качестве опорных объектов используются двумерные шаблоны.

Шаблон – это рисунок помещённый в снимаемою сцену так, чтобы он оставался в поле зрения камеры. Рисунок должен быть черно-белым и огорожен толстой чёрной рамкой , вокруг которой белая область. Четыре угловых точки рамки являются его модельными чертами, взаимное расположение которых известно. Для определения трёхмерных координат по известным проекциям угловых точек решается проблема P4P.

Опишем основные этапы алгоритма определения проекций угловых точек:

1. Входное изображение преобразуется в полутоновое (рис. 3).

2. Полутоновое изображение преобразовывается в двоичную форму с помощью заданного порога : все пиксели с интенсивность больше получают метку 1, все остальные 0.

3. Пиксели с меткой 1 объединяются в связанные группы (рис. 4).

4. Для каждой группы определяются 4 угловых точки (рис. 5).

5. Найденные точки используется для устранение перспективных искажений содержимого и приведения его к каноническому лицевому виду.

6. Преобразованное содержимое сравнивается с эталонной картинкой.

Рис 5. Этап 1 Рис 4. Этап 3 Рис 5. Этап 4

Использование пороговой бинаризации является ненадёжным методом: не удачно выбранный порог или неравномерная освещённость шаблона приводит к потери точности или к тому, что проекция не будет обнаружена.

Устранения перспективных искажений проекции небольших размеров приводит к грубым результатом и в результате полученная картинка может быть недостаточно похожа на эталонную, что приведёт к её пропуску.

Обе описанные проблемы является причиной недостаточной устойчивости алгоритма для возможности его использования в нашей задачи видеоконтроля.

ARTag

ARTag – гораздо более эффективное и сложное программное средство по сравнению с вышеописанным. Идея остаётся прежней – используются двумерные шаблоны (рис. 6). и решается задача P4P. Но отличен алгоритм определения проекции черт.

Рисунок имеет специальный вид, что используется для более надёжного сравнения проекции с эталоном, но по прежнему ограничен чёрной рамкой, вне которой присутствует белая область (либо наоборот – белая рамка с чёрной областью) .

Рисунок 6. Шаблоны системы ARTag

Для нахождения кандидат на сравнения с эталоном вместо пороговой бинаризации используется детектирование и компоновка краёв. Детектирование краёв заключается в нахождении краевых пикселей, а компоновка – в объединении найденных пикселей в отрезки (рис. 8).

После нахождения множества отрезков на изображении отыскиваются такие, которые образуют четырёхугольники (рис. 9).

Рис.7. Исходная картинка Рис.8. Найденные отрезки Рис.9. Найденные четырёхугольники

Содержимое найденных четырёхугольников проверяются на соответствие возможным моделям.

Метод хорошо работает, если шаблон расположен на небольшом расстоянии от камеры и его контур ярко выражен. При увеличении расстояния требуется значительно увеличить размер шаблона. Также, к недостаткам можно отнести сложный алгоритм сравнения с эталоном.

Идея использования двумерных шаблонов прекрасно подходит для решения поставленной задачи, но необходимо разработать алгоритм более устойчивый к внешним условиям (неравномерное освещение, шум, дождь) и к увеличению расстояния между камерой и опорным объектом, чем другие доступные алгоритмы.

1.2 Решение задачи

Для нахождения всех 12 внешних параметров камеры:

и

достаточно знать координаты четырёх точек в мировой системе координат и в системе камеры.

Воспользуемся аффинным преобразованием из мировой системы координат в систему координат камеры, зависящем от этих параметров:

,

Применяя преобразование к данным четырём точкам, получаем линейную систему уравнений из 12 уравнений относительно 12 неизвестных:

,

где – точка заданная в мировой системе координат, – эта же самая точка, заданная в системе координат камеры,

Система уравнений может быть не совместна, если координаты и заданы не точно, поэтому решим её методом наименьших квадратов.

Назовём эти четыре точки опорными.

Координаты фиксированы и известны на протяжении всего процесса съёмки. Тогда задача определения внешних параметров камеры сводится к определению координат опорных точек в системе камеры – . Эти координаты должны быть автоматически вычислены только на основании изображения камеры.

В качестве опорного объекта возьмём шаблон – рисунок со специальным узором, ограниченным по краям прямоугольной чёрной рамкой, а в качестве опорных точек, его угловые точки, обозначенные на рисунке 1.

Рисунок 8. Шаблон и его угловые точки

Описываемый метод может работать с любым узором, но он должен быть выбран перед этапом настройки алгоритма.

Модель шаблона известна и представляет из себя информацию о расстояниях между опорными точками и о наличии прямых углов, построенных по любым трём опорными точкам:

Поместим шаблон в снимаемую сцену, так чтобы его рисунок, вместе с опорными точками, всегда находился в поле зрения камеры (рис. 2). Далее зададим координаты и тем самым определим положение опорного объекта в мировой системе координат. После получения очередного изображения с камеры для определения координат опорных точек , решаются следующие задачи:

1. Задача локализации проекции шаблона на изображении

2. Задача определения проекций опорных точек в области локализации.

3. Задача P4P: определение трёхмерных координат опорных точек в системе камеры, по известным проекциям.

После нахождения координат вычисляем внешние параметры камеры, решая систему уравнения, и строим модель камеры.

Рисунок 2. Дополненная модель зрительной системы из одной камеры: в снимаемую сцену поместили шаблон – рисунок со специальным узором.

1.2.1 Задача P4P: определение трёхмерных координат опорных точек в системе камеры по известным проекциям

Предположим, что нам удалось определить проекции опорных точек, т.е. нам известны приближённые координаты проекций опорных точек на плоскости в системе камеры.

Построим проективные лучи для точек . Пусть – точка лежащая на -ом луче. Координаты этой точки можно представить в параметрической форме:

где – параметр, который может принимать значения от до. Перебирая этот параметр, мы перебираем точки на -ом луче,

Необходимо найти точки на этих лучах, которые будут наиболее близки к искомым , т.е. .

Для этого воспользуемся моделью шаблона:

Запишем условия для точек , налагаемые моделью, в векторной форме:

,

где -расстояние между -ой и -ой опорной точкой.

,

где ,, разные .

Подставим в эти выражения вместо точки и запишем выражения в координатной форме:

,

Далее, представляя координаты в параметрической форме, получаем нелинейную систему уравнений относительно :

,

где ,

Систему решаем методом Ньютона.

Пусть известно некоторое приближение к наилучшему решению системы (наилучшее решение минимизирует невязку, тогда как точного решения может не существовать). Запишем исходную систему в виде:

Разлагая уравнения в ряды и ограничиваясь первыми дифференциалами, т.е линеаризуя функцию, получим переопределенную линейную систему уравнений относительно :

Запишем систему в матричном виде:

Решение данной системы находим методом наименьших квадратов: формируем линейную систему из 4 уравнений с 4 неизвестными:

и решаем её методом Гаусса.

Далее полагаем и повторяем процедуру нахождения с новым приближением . Итерации повторяются до тех пор, пока , где – заданное число пользователем, или не будет выполнено максимальное число итераций, также задаваемое пользователем.

В результате получаем наилучшее решение , которое минимизирует невязку системы и даёт нам приближённые координаты опорных точек в системе камеры.

1.2.2 Задача локализации проекции шаблона на изображении

Для решения этой задачи используется детектор объектов на изображении на основе классификатора обученного по алгоритму AdaBoost.

Задача детектора состоит в том, чтобы на входном изображении определить присутствие и местоположение объектов определенного типа, со схожими визуальными признаками. Местоположение задается прямоугольной рамкой, описывающей объект.

В нашем случае объект один – шаблон, но возможность различной ориентации относительно камеры, образует множество его возможных представлений на изображении, обладающих схожими визуальными признаками. Для того чтобы перевести визуальные признаки в количественную форму, используются признаки Хаара, имеющие вид:

Рисунок 9. Признаки Хаара

Каждый признак Хаара определяется фигурой, размером и положением на изображении. Размер определяется растяжением исходной фигуры вдоль X и вдоль Y.

Рисунок 10. Изображение и его некоторые признаки Хаара

Значение признака вычисляется так:

,

– это область изображения, лежащая под темным или светлым прямоугольником фигуры, – вес области с положительным знаком, если область находится под светлым прямоугольником, и с отрицательным в противном случае.

Классификатор обучается на выборке изображений фиксированного размера , при этом абсолютные значения весов равны 1. После обучения классификатор может обрабатывать изображения с размером , где – произвольный масштабный множитель. Но перед этим необходимо преобразовать положение, размер и веса признаков: умножить координаты и размеры на , а веса на .

После того как классификатор обучен, процесс поиска объектов на изображении заключается в простом переборе различных позиции и размеров окна, содержимое которого передаётся классификатору для проверки наличия искомого объекта внутри окна.

Обучение классификатора

Данный классификатор основан на модели регрессии, которая подбирается по специальному алгоритму, называемому Gentle AdaBoost.

Предикторами являются признаки Хаара, а зависимая величина – это вероятность того, что изображение, с данными признаками, содержит искомый объект.

Алгоритм Gentle AdaBoost позволяет включить в нашу модель лишь небольшое кол-во предикторов, которые наиболее коррелированны с зависимой величиной.

Для подбора модели регрессии необходима выборка данных, описывающая распределение зависимой величины в зависимости от предикторов.

Сформируем выборку из изображений небольшого одинакового размера (например 20×20) , состоящую из двух подмножеств:

подмножества положительных изображений – изображений с шаблоном.

подмножества отрицательных изображений – фоновых изображений без шаблона.

Преобразуем выборку:

где – вектор всех признаков Хаара – ого изображения или вектор предикторов,

а – метка класса – ого изображения, принимающая значение +1, если изображение положительное и -1, если отрицательное.

Теоретически с одинаковым вектором предикторов может быть несколько элементов выборки. Предположим, что они попали в выборку случайным образом, независимо друг от друга. Тогда метку класса этих элементов можно принять за реализацию случайной величины, распределённой по закону Бернулли, при этом означает успех, а – неудачу. В связи с этим, кол-во элементов с меткой +1, внутри набора элементов с одинаковым вектором , можно считать реализацией случайной величины, распределённой по биномиальному закону: , где означает кол-во независимых испытаний Бернулли(в нашем случае – кол-во элементов в наборе), вероятность успеха в которых равна.

Введём дополнительную случайную величину:

По свойству биномиального распределения имеем:

Таким образом, случайная величина является зависимой величиной для нашей модели, а подбирая модель, мы стремимся построить функциональную зависимость математического ожидания от предикторов .

В общем случае регрессионная зависимость математического ожидания зависимой величины от предикторов имеет вид:

,

где – монотонная дифференцируемая функция связи, а

– некоторая функция от предикторов.

Так как зависимая величина имеет биномиальное распределение, то следует использовать функцию связи, имеющую вид:

Такое преобразование гарантирует, что вероятность, вычисляемая с помощью модели (1) , имеет значения от 0 до 1, в независимости от значения .

может иметь различную форму. Мы будем использовать аддитивную модель, которая подразумевает следующую форму :

,

где некоторая функция от одного предиктора, зависящая от набора параметров . В нашем случае – это пороговый классификатор по – ему признаку зависящий от трёх параметров :

Применяя предложенную модель к нашей выборке, получим:

или:

(2)

Подбор модели – это подбор параметров, при которых минимизируется значение некоторой ошибки модели, определяемой методом подбора.

Подберем модель с помощью метода максимального правдоподобия.

Преобразуем метку класса : , т.е принимает значение +1 , если изображение положительное и 0 , если отрицательное. Тогда логарифмическое биномиальное правдоподобие примет вид:

Требуется максимизировать , т.е. среднее значение правдоподобия по выборке данных .

Задача максимизации эквивалентна задаче минимизации . Вместо того, чтобы минимизировать напрямую , достаточно построить процедуру минимизации более простого выражения.

Для данного метода выражение характеризует ошибку модели.

Подобранная модель используется для классификации:

,

где означает, что изображение с вектором признаков Хаара, вероятно, содержит объект, а напротив. – это порог установленный таким образом, чтобы выполнялись требования налагаемые на классификатор: доля положительных изображений для которых больше заданной , а доля отрицательных изображений для которых меньше заданной .

В связи с тем, что кол-во предикторов велико, подбор всех параметров одновременно не возможен. Поэтому мы поступаем следующим образом:

модифицируем путём добавления к ней новой функции :

находим параметры , которые минимизируют

повторяем 1 и 2 для всех и выбираем функцию, которая даёт наименьшее значение :

повторяем всю процедуру, пока не будет построена модель, для которой можно выбрать порог , удовлетворяющий заданным требованиям.

Нахождение параметров , основано на минимизации методом Ньютона:

Следовательно, требуется аппроксимировать функцией:

,

где – выбирается таким образом, чтобы среднеквадратичное отклонение от было минимальным.

В процессе поиска объектов лишь на одном изображении классификатор вызывается многократно. Поэтому сложная модель, составленная из большого числа пороговых классификаторов, может сделать этот процесс не позволительно долгим.

Для того, чтобы повысить эффективность детектора, конечный классификатор строят в виде каскада из нескольких классификаторов на основе простых моделей.

Упростить модель возможно, если уменьшить обучающую выборку или понизить требования: увеличить, уменьшить.

Отрицательных изображений обычно бывает гораздо больше, чем положительных, поэтому при построении каскада поступаем так:

В выборку добавляем все положительные изображения и часть отрицательных изображений (приблизительно столько же сколько положительных).

Обучаем классификатор с “нежёсткими” требованиями, например f = 0.5, t = 0.99.

Те отрицательные изображения, которые классифицируются правильно построенным классификатором, удаляем из выборки, а вместо них добавляем новые.

Строим новый классификатор с такими же требованиями, но при обновлённой выборке.

Обучаем заданное кол-во классификаторов и объединяем их в каскад.

Изображение обрабатывается классификаторами последовательно, в порядке их создания. Изображение классифицируется положительным только, если все классификаторы признали его положительным.

Такая конфигурация работает эффективно по следующей причине: чаще приходится обрабатывать простые отрицательные изображения (низкоконтрастные фоновые изображения), которые классифицируются правильно уже одним из первых классификаторов в каскаде.

1.2.3 Задача определения проекций опорных точек в области локализации

Назовём точку, находящеюся на стыке любых четырёх пикселей, узловой точкой изображения (рис. 1). Пиксельные координаты такой точки равны координатам ближайшего нижнего правого пикселя. Координаты, заданные на плоскости , несложно получить, используя преобразование и учитывая известное смещение относительно центра пикселя:

Назовём узловую точку левой, верхней угловой точкой, если выполняются неравенства:

, ,

Назовём узловую точку правой, верхней угловой точкой, если выполняются неравенства:

, ,

Назовём узловую точку правой, нижней угловой точкой, если выполняются неравенства:

, ,

Назовём узловую точку левой, нижней угловой точкой, если выполняются неравенства:

, ,

Исходное множество возможных решений состоит из всевозможных комбинаций четырёх узловых точек в области локализации , таких, что – левая, верхняя угловая точка, – правая, верхняя угловая точка, – правая, нижняя угловая точка и – левая, нижняя угловая точка.

Комбинация , в которой угловые точки наиболее близки к проекциям опорных точек, является искомым решение.

Алгоритм поиска решения состоит из пяти этапов:

· Понижение разрешения и дифференцирование локализованного изображения.

· Наложения необходимых условий на приближённое решение.

· Поиск наиболее вероятных приближённых решений.

· Сравнение с эталоном наиболее вероятных приближённых решений, с помощью проектирования его на картинную плоскость.

· Уточнение решения

1.2.3.1 Понижение разрешения и дифференцирование локализованного изображения

Локализованное изображение размером преобразуется в последовательность изображений , в которой – это изображение, полученное из исходного путём усреднения непересекающихся блоков пикселей размером . Изображение совпадает с исходным. выбирается из соображений описанных ниже.

С помощью дифференцирования (маской ) по столбцам и по строкам каждого изображения , получаем соответственно горизонтальную энергию и вертикальную .

Опишем свойства и цель такого преобразования.

1. Понижение разрешения в два раза, путём усреднения непересекающихся блоков размером , эквивалентно низкочастотной фильтрации с помощью двумерного вейвлет преобразования Хаара. Таким образом, мы избавляемся от шумовых и других не ярко выраженных угловых точек.

2. Понижение разрешения в раз, путём усреднения непересекающихся блоков размером , эквивалентно моделированию съёмки изображения камерой с разрешением в раз меньше действительного. Этот факт используется при искусственном проектировании эталона на картинную плоскость, с целью сравнить проекцию с некоторой областью изображения.

3. С помощью дифференцирования строк мы выделяем вертикальные линии, а с помощью дифференцирования столбцов – горизонтальные. Результаты дифференцирования используются для поиска проекции рамки шаблона, состоящей из двух горизонтальных и двух вертикальных линий.

Исходя из выше описанных свойств, следует выбрать таким, чтобы сохранить на изображении угловые точки, являющиеся приближением к , и проекцию рамки шаблона.

Множество возможных приближённых решений состоит из всевозможных комбинаций четырёх узловых точек на изображении , таких, что – левая верхняя угловая точка, правая, верхняя угловая точка, – правая, нижняя угловая точка и – левая, нижняя угловая точка, причём вероятнее всего , что и являлось целью преобразования.

1.2.3.2 Наложения необходимых условий на приближённое решение

Не смотря на то, что после понижения разрешения область поиска была сужена, количество возможных приближённых решений может ещё оставаться достаточно большим, поэтому наложим необходимые условия на приближённое решение:

1. Изображение разделим на четыре четверти ,,,. Т.к область локализации почти всегда центрирована относительно шаблона, потребуем, чтобы , , , , .

2. Построим по четырём узловым точкам четырёхугольник со сторонами , ,,, который предположительно является проекцией шаблона.

Энергия отрезков , вычисляется как сумма значений вертикальной энергии вдоль отрезка. Энергия сторон и вычисляется аналогично, но с использованием горизонтальной энергии. Потребуем, чтобы ,,,, что характеризует присутствие тёмного контура похожего на проекцию черной рамки шаблона.

1.2.3.3 Поиск наиболее вероятных приближённых решений

Каждое решение характеризуется:

1. Энергией:

2. Степенью перспективных искажений:

3. Смещением четырёхугольника, определяемое как отклонение точки пересечения его диагоналей от центра локализованной области :

Чем больше энергия четвёрки , тем более отчётлив контур четырёхугольника и вероятнее, что четырёхугольник – это проекция шаблона. На основании этого утверждения, определим условную вероятность так:

Наличие больших перспективных искажений маловероятно, т. к размеры шаблона гораздо меньше расстояния между ним и камерой. Искажения усиливаются лишь при уменьшении расстоянии или увеличения угла поворота шаблона относительно камеры. На основании этого, будем считать, что наиболее вероятно небольшое искажение и поэтому условную вероятность определим так:

Классификатор, применяемый для локализации положения проекции шаблона, обучен на изображениях, в которых центр шаблона совпадает с центром изображения, поэтому следует ожидать, что центр локализованной области не сильно удалён от центра проекции шаблона и поэтому:

Так как используемые характеристики не зависимы друг от друга, можно считать, что введённые искусственным образом условные вероятности, также не зависимы. Тогда апостериорная вероятность будет равна произведению условных вероятностей:

Вероятность вычисляется для каждой четвёрки из .

В множестве оставляем только первые наиболее вероятных решений. определяется пользователем, в зависимости от производительности системы, так как дальнейшая обработка оставшихся решений ресурсоемкая (по умолчанию ).

1.2.3.4 Сравнение с эталоном наиболее вероятных приближённых решений с помощью проектирования его на картинную плоскость

Процедура сравнения с эталоном повторяется для каждой четвёрки . В результате сравнения получаем значение некоторой меры сходство с эталоном. Наилучшим приближением считаем четвёрку с наибольшим значением.

Опишем процедуру сравнения произвольной четвёрки с эталоном.

1. Вычислим пиксельные координаты точки на исходном изображении :

2. Пиксельные координаты узловых точек преобразуем в координаты системы камеры , заданные в плоскости .

3. Для точек решаем задачу P4P, т. е получаем их трёхмерные координаты .

4. Четыре точки в пространстве задают четыре прямых, которые предположительно являются границами рисунка шаблона (внутренние стороны рамки, ограничивающей рисунок). Прямые не обязательно лежат в одной плоскости и образуют прямоугольник, так как полученные точки в пространстве являются лишь приближёнными. В связи с этим, однозначное положение шаблона этими координатами не задаётся и непонятно откуда и как спроецировать эталон на картинную плоскость. Поэтому отобразим не эталон на изображение, а пиксельную сетку на эталон.

Для этого найдём точки пересечения пиксельной сетки со сторонами четырёхугольника, построенного по угловым точкам на изображении . Далее найдём пересечение проекционных лучей, проведённых через эти точки, с отрезками в пространстве. Эти же точки отображаем на стороны эталона по правилу пропорций. Далее по точкам, полученным на эталоне, строится исходная пиксельная сетка. Для того, чтобы вычислить значение пикселя на изображении, необходимо вычислить среднее значение в его образе на эталоне, положение которого определяется отображенной пиксельной сеткой.

Далее, выравниваем гистограмму яркости для пикселей изображения , содержащихся в построенном по угловым точкам четырёхугольнике, по формуле:

Где – настоящее значение пикселя, – получаемое значение пикселя, – гистограмма яркости, построенная по внутренним точкам четырёхугольника, N – кол-во внутренних точек.

И в завершении находим среднеквадратичное отклонение значений пикселей после выравнивания гистограммы от соответствующих значений, полученных по эталону. Полученное значение характеризует близость четвёрки к решению .

1.2.3.5 Уточнение решения

Переходим к изображению, у которого разрешение в два раза выше. Формируем новое множество возможных приближённых решений, учитывая только угловые точки, находящиеся в окрестностях, найденных на предыдущем шаге. Окрестность состоит из найденной угловой точки и из 8 соседних узловых точек. Для нового множества повторяем процедуру выделения наиболее похожего решения. И так до тех пор, пока не будет найдено решение на исходном изображении.

1.3 Алгоритм

2. Практическая часть

Для тестирования алгоритма и определения его эффективности в задаче видеоконтроля был проведён эксперимент.

В качестве устройства видео съёмки была использована поворотная камера, фиксированная в мировой системе координат, с переменным фокусным расстоянием для возможности масштабирования изображения. В поле зрения камеры, на расстоянии 12 метров от неё, поместили шаблон. Возле шаблона, на поверхности пола, в мировой системе координат была определена квадратная зона, сторона которой равна одному метру. Программа должна была определить модель камеры с помощью описываемого алгоритма и на её основании вычислить текущие координаты проекции зоны в системе изображения. По полученным координатам на изображении рисовались границы проекции зоны. В процессе съёмки угол поворота камеры и коэффициент масштабирования подвергались изменению. Работа алгоритма была оценена с помощью визуального оценивания положения проекции зоны на изображении.

Сначала видеосъёмка велась с небольшим увеличением масштаба, а шаблон был повернут приблизительно на 45 градусов относительно оптической оси камеры. При неподвижной камере зона оставалась неподвижна (рис. 1). В процессе поворота камеры положение проекции зоны не сильно отклонялось от действительного (рис. 2).

Рисунок 14. Камера неподвижна Рисунок 15. В процессе изменения поворота камеры

Небольшие отклонения явились следствием размазывания изображения, вызванного движением камеры (рис. 3).

Рисунок 16. Смазывание изображения, в процессе поворота камеры

Далее масштаб изображения был увеличен (рис. 17). При этом увеличилось количество итераций, необходимых для определения координат проекций опорных точек. Верные координаты были найдены, а положение проекции зоны визуально не отличалось от действительного.

Рисунок 4. Масштаб изображения был увеличен

После был установлен самый маленький масштаб (рис. 5). При неподвижной камере проекция зоны определялась без видимых отклонений, но при повороте камеры иногда не удавалось найти проекцию шаблона из-за сильного смазывания.

Рисунок 5.Установлен самый маленький масштаб

Далее шаблон установили перпендикулярно относительно оптической оси камеры (рис. 6). При таком положении небольшая погрешность в найденных координатах проекций опорных точек ведёт к резкому увеличению погрешности в модели камеры (рис. 7). При движении погрешность усиливается и вызывает заметные отклонения положения проекции зоны от действительного. Сейчас эта проблема решается, а пока решение не найдено, для устранения этого эффекта достаточно немного повернуть шаблон.

Рисунок 6. Шаблон установили перпендикулярно относительно оптической оси камеры.

Рисунок 7. При таком положении шаблона небольшая погрешность в найденных координатах проекций опорных точек ведёт к увеличению погрешности в модели камеры.

В эксперименте использовался компьютер со следующими характеристиками:

Intel Corel 2 Duo 2.66Ghz, 1,00 Гб ОЗУ

Производительность тестируемой реализации алгоритма на данной системе в среднем составила 30 fps, что позволяет использовать её в системах реального времени.

Выводы

изображение внешняя калибровка камера

Рассмотренный метод автоматической внешней калибровки по сравнению с другими доступными алгоритмами эффективен в широком диапазоне расстояний между камерой и опорным объектом и обладает высокой устойчивостью к помехам на изображении. Это позволяет использовать его в задаче видеоконтроля за терминалом корабля или в других подобных задач, в которых видеонаблюдение осуществляется нестационарной камерой. Достаточным условием функционирования является наличие шаблона в поле зрения камеры, установленного, например, на терминале.

Также к достоинствам следует отнести возможность использования шаблона с любым рисунком ограниченным чёрной рамкой, что позволяет помещать в сцену несколько разных шаблонов и, таким образом, повышать точность вычисления модели камеры.

Список литературы

1. Компьютерное зрение, Л.Шапиро,Дж.Стокман

2. Прикладной регрессионный анализ, Норман Р.Дрейпер, Гарри Смит.

3. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky, Microprocessor Research Lab, Intel Labs,Intel Corporation, Santa Clara, CA 95052, USA

4. Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola Michael Jones

5. Additive Logistic Regression: a statistical view of boosting By Jerome Friedman, Trevor Hastie and Robert Tibshirani Stanford University

Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.
Поделиться дипломной работой:
Поделиться в telegram
Поделиться в whatsapp
Поделиться в skype
Поделиться в vk
Поделиться в odnoklassniki
Поделиться в facebook
Поделиться в twitter
Похожие статьи
Раздаточный материал для дипломной работы образец

Когда студент выходит на защиту перед экзаменационной комиссией, ему требуется подготовить все необходимые материалы, которые могут повысить шансы на получение высокого балла. Один из таких

Читать полностью ➜
Задание на дипломную работу образец заполнения

Дипломная — это своеобразная заключительная работа, которая демонстрирует все приобретенные студентом знания во время обучения в определенном вузе. В зависимости от специализации к исследовательским работам

Читать полностью ➜