Содержание к диссертации
Введение
ГЛАВА 1. Обзор и анализ систем панорамного наблюдения и принципов получения панорам 8
1.1. Классификация панорамных изображений 8
1.2. Классификация систем панорамного наблюдения 10
1.3 Системы панорамного наблюдения. Функциональные схемы 13
1.4. Детекторы признаков изображения 22
1.4.1. Классификация детекторов признаков изображения 22
1.4.2. Детекторы контуров 26
1.4.3. Детекторы углов 31
1.4.4. Детекторы пятен 39
1.4.5. Детекторы хребтов/долин
1.5. Дескрипторы признаков изображения 42
1.6. Выводы 45
1.7. Постановка задачи исследования 46
ГЛАВА 2. Математическое описание процесса сшивания изображений 47
2.1. Повышение производительности СПН с программной компенсацией поворота 47
2.2. Получение кадров СПН с программной компенсацией поворота изображения 50
2.3. Методы сшивания кадров по реперным точкам 53
2.4. Ошибки, возникающие в СПН 57
2.5. Выравнивание экспозиции кадров панорамы 65
2.6. Бинаризация кадров панорамы и выбор окон на зоне перекрытия 70
2.7. Поиск признаков изображения на смежных кадрах панорамы 73
2.8. Математическая модель системы панорамирования 80
2.9. Выводы по главе 85
ГЛАВА 3. Оценка быстродействия спн с программной компенсацией поворота изображения 86
3.1. Анализ пригодности особых точек/углов для использования в качестве реперных точек для получения панорамы 86
3.1.1. Исходные данные 86
3.1.2. Анализ особых точек, полученных с помощью метода SIFT 87
3.1.3. Анализ особых точек, полученных с помощью метода SURF
3.2. Выбор участков изображения для поиска признаков изображения 94
3.3. Анализ быстродействия методов получения и описания особых точек
3.3.1. Быстродействие методов SURF и SIFT 98
3.3.2. Анализ вычислительной сложности методов
3.4. Влияние импульсного шума на поиск реперных точек 105
3.5. Выводы 109
ГЛАВА 4. Практическая реализация спн с программной компенсацией поворота изображения 110
4.1. Описание механической части СПН с программной компенсацией поворота изображения 110
4.2. Описание электронной и программной части СПН с программной компенсацией поворота изображения
4.2.1. Блок управления СПН 113
4.2.2. Программное обеспечение блока управления СПН
4.3. Результаты работы СПН с программной компенсацией поворота изображения 118
4.4. Недостатки СПН с программной компенсацией поворота изображения 123
4.5. СПН с вращающейся фотоматрицей 125
4.6. Выводы 127
Заключение 129
Список использованной литературы
- Детекторы признаков изображения
- Методы сшивания кадров по реперным точкам
- Анализ особых точек, полученных с помощью метода SIFT
- Результаты работы СПН с программной компенсацией поворота изображения
Детекторы признаков изображения
В «цифровой» СПН панорамное изображение получают с помощью сшивания нескольких кадров программными средствами на блоке управления, в «оптической» - специализированный объектив сразу проецирует изображение на фотоэлектронный преобразователь без дальнейших преобразований с другими кадрами.
Широкоугольные объективы обычно не позволяют делать снимки с углами обзора по горизонтали больше 180 (за исключением объектива «рыбий глаз»), поэтому при необходимости создания круговой панорамы приходится в соединять друг с другом последовательность кадров. Изображения, полученные с помощью «рыбьего глаза», подвержены сильным искажениям, от которых, при необходимости, приходится избавляться программными средствами [79]. Из чего можно сделать вывод: при необходимости кругового обзора, высоким требованиям к качеству изображений и ограничениям на стоимость системы, предпочтительнее получать кадры для панорамы с помощью стандартных объективов, чтобы затем соединять их.
Необходимо заметить, что сшивание кадров встык на практике применяется крайне редко из-за очень низкого качества итоговых изображений [84], поэтому для применения в СПН такой способ получения панорамных изображений не рассматривался.
Такие системы представляют собой, как правило, жестко закрепленный на штативе широкоугольный или сверхширокоугольный объектив (то есть объективы, фокусное расстояние которых меньше меньшей стороны диагонали матрицы; угол поля зрения для широкоугольных объективов составляет от 52 до 82, для сверхширокоугольных – от 83) с установленным на нем фотоэлектронным преобразователем. Объектив собирает световые лучи и с помощью призмы отправляет их на многоэлементное фотоэлектронное устройство, где происходит формирование изображения [22], [46]. Окончательно сформированное изображение передается на блок управления и ЭВМ оператора. Структурная схема такой системы изображена на рисунке 1.4.
Широкоугольный объектив, как правило, представляет собой симметричную линзовую систему с установленной телескопической насадкой и установленным набором отражающих поверхностей. Отражающие поверхности выполняются в форме конуса [17].
Схема СПН с неподвижным объективом не требует очувствления системы, установки сервоприводов для управления объективом. Для работы оператора на ЭВМ достаточно самого простого программного обеспечения, которое будет выводить на экран изображение с камеры. Таким образом, СПН с неподвижным объективом является наиболее простой, технологичной, а следовательно и самой дешевой. Оснащение данной схемы СПН поворотным двигателем для вращения объективом связано с определенными техническими сложностями, такими как: перекручивание и износ силовых и управляющих кабелей, что существенно скажется на сроках эксплуатации и надежности системы.
Вместо широкоугольных и сверхширокоугольных объективов возможно использовать объективы типа «рыбий глаз», что позволит сохранить главное преимущество подобной системы – низкую стоимость, одновременно повысив объем информации, т.к. получаемая панорама в данном случае будет сферической с углами обзора по вертикали 180 и 360 по горизонтали. Недостатки данного объектива: ярко выраженная бочкообразная дисторсия, падение разрешения на изображении по мере удаления от его центра. Для компенсации данных недостатков также необходима разработка специального программного обеспечения.
б) СПН с оптической компенсацией поворота изображения.
Существуют дисперсионные призмы постоянного отклонения (призма Аббе, призма Пеллина- Брока и др.), в которых световой луч, проходя через призму, отклоняется только под определенным углом [6], [15], [16], [79]. Так в призме Аббе, сечение которой представляет собой прямоугольный треугольник ABC с углами АСВ = 90, СВА = 60, САВ = 30, отклонение светового луча, попавшего на любое из оснований призмы, составляет 60 (рисунок 1.5). В действительности призмы Аббе нередко изготавливают из системы призм: двух тридцатиградусных прямоугольных призм и одной равнобедренной прямоугольной призмы. Все призмы изготавливаются из одного материала. Тридцатиградусные призмы приклеиваются к катетным граням равнобедренной таким образом, чтобы свет, пройдя через первую тридцатиградусную призму, попал в равнобедренную, отразился её от гипотенузы и вышел через вторую
Используя призму постоянного отклонения (или систему призм), становится возможным неподвижно закрепить фотоэлектронное устройство в системе панорамного наблюдения при вращающемся объективе, так что световые лучи при любом положении объектива всегда будут попадать на фотоэлектронное устройство [37], [56]. Структурная схема такой системы панорамного наблюдения представлена на рисунке 1.6.
В подобной системе для формирования отдельных кадров панорамного изображения будет использоваться вся поверхность фотоматрицы, что обеспечит высокую точность и надежность работы системы панорамного наблюдения. Из существующих призм постоянного отклонения наиболее предпочтительной является призма Аббе, как обеспечивающая наименьший размер системы панорамного наблюдения. В СПН с оптической компенсацией поворота изображения световые лучи снимаемой сцены поступают на объектив, где собираются и передаются на призму постоянного отклонения, а затем на фотоэлектронное устройство. Возможность осмотра сцены объективом обеспечивает привод через систему передач, передающий вращающий момент на корпус. Сформированное изображение передается по каналу связи в блок управления, а затем на ЭВМ операторского поста. С помощью встроенных датчиков и сервопривода вращения оптической части СПН с оптическим поворотом оператор обладает возможностью выбора интересующей сцены, прокрутки кадров и т.д. и т.п. Помимо этого блок управления осуществляет контроль положения объектива и корректировку формируемой панорамы в режиме реального времени в случае проскальзывания шагов сервоприводом и/или иных причин.
СПН с оптическим поворотом объектива работает в старт-стопном режиме: поворот объектива, съемка сцены, поворот объектива, съемка нового кадра, следующий поворот объектива с одновременных сшиванием полученных кадров в единое изображение.
Методы сшивания кадров по реперным точкам
Полученные зависимости и выводы справедливы и для бинирования изображения с некоторой поправкой: при бинировании изображения теряется большое количество информации. Так при уменьшении в 4 раза изображения разрешением 204768 пикселей было найдено всего три десятка характерных точек, в то время как оригинальные изображения такого же разрешения давали 300400 характерных точек.
После преобразований изображений было подсчитано, сколько характерных точек в интерполированном/бинированном изображении соответствуют характерным точкам в исходном кадре. Полученные гистограммы представлены на рисунках 3.2 и 3.3.
На гистограммах по оси Х показывается расстояние (в пикселях) от исходной характерной точки до ближайшей характерной точки, полученной после интерполяции/бинирования изображения. По оси Y показано количество характерных точек, расположенных на таком расстоянии. Совпавшими (и подходящими для дальнейшей обработки) характерными точками будем считать не только точки с расстоянием в 0 пикселей от исходной характерной точки, но и точки непосредственно с ними граничащие, т. е. с расстоянием в 1 пиксель. При интерполировании изображения количество совпавших точек составило 8,3% (45 точек из 539). При бинировании изображения количество совпавших точек составило 18,8% (10 точек из 53).
Для общей полосы шириной в 10 % от исходного изображения количество особых точек составляет 10100 шт, а при 20 % перекрытии– 50250 шт. Время поиска точек для 10 % и 20 % полос составляет 0,51,5 с и 12,5 с соответственно.
На изображениях с разрешением 6464 пикселей обычно находится от одной до десяти особых точек с затратами времени 0,050,4 с. Для окон с разрешением 128128 пикселей количество особых точек составило 1570 штук, а время обработки заняло 0,40,8 с. Отсюда следует, что при малом количестве особых точек (до сотни) увеличение их числа незначительно сказывается на времени работы и остается в пределах секунды (количество характерных точек выросло в 2,8 раза, а время работы – в 1,5 раза).
Разрешение изображения увеличивали в 1,5/2/2,5 раза тремя методами интерполяции: методом ближайшей точки (также называемый методом ближайшего соседа), билинейной интерполяцией и бикубической интерполяцией. Полученное количество характерных точек для каждого метода интерполяции приведено в таблице, а на рисунке 3.2 предоставлена типичная зависимость времени работы программы от изменения разрешения [70].
1) возрастание числа характерных точек линейно зависит от изменения разрешения и не обязательно будет пропорционально увеличению площади картинки. Например, при увеличении в 2 раза окна с разрешением 6464 пикселей количество характерных точек возросло приблизительно в 4 раза, при увеличении этого же окна в 3 раза количество характерных точек возросло в 15-20 раз;
2) Практически во всех случаях наибольшее количество характерных точек получалось при применении интерполяции по ближайшей точке. При билинейной интерполяции изображения SURF находит наименьшее количество характерных точек. Как видно из рисунка 3.2б) при увеличении разрешения в 2,5 раза билинейная интерполяция дала на 100 характерных точек меньше, что позволило выиграть 1,5 секунды.
При уменьшении в 4 раза изображения разрешением 204768 пикселей был найден всего десяток характерных точек, в то время как оригинальные изображения такого же разрешения давали 50-70 характерных точек.
Гистограммы с результатами экспериментов представлены на рисунках 3.4 и 3.5.
Совпадение точек составило около 40% (78 точек из 193 для интерполированного изображения, 46 точек из 113 для бинированного изображения). В связи с тем, что чем меньше изображение, тем меньше время поиска характерных точек, то для минимизации времени поиска характерных точек выгоднее работать с бинированным изображением, чем с интерполированным.
Анализ особых точек, полученных с помощью метода SIFT
Программное обеспечение блока управления СПН включает в себя программные модули, предназначенные для выполнения различных функций получения кадров сканируемой сцены, их обработки, выделения признаков изображений и сшивания кадров в единую панораму [24], [25, [26]. Также программное обеспечение выполняет управление сервоприводами для управления сканированием сцены. Структурная схема программного обеспечения представлена на рисунке 4.4.
Модуль формирования изображений выполняет функцию получения изображений непосредственно с фотоматрицы USB3000 3MPtx [68]. Затем изображение передается в модуль хранения, откуда передается в основной модуль программы. В основном модуле программы выполняются функции управления сканированием сцены, сопоставления признаков изображений, а также сшивания кадров в единую панораму.
Для выполнения последних двух функций изображение необходимо предварительно передать в модули детектора и дескриптора для соответственно получения признаков изображения и их описания. В модуле детектора выполняются все необходимые расчеты для выделения особых точек: от построения кратномасштабной пирамиды изображений до поиска локальных максимумом яркости. Итоговое изображение передается в модуль отображения для представления в виде графической информации и отображается с помощью модуля GUI (graphic user interface) графического интерфейса. Также с помощью графического интерфейса оператор может выполнять настройку каждого этапа работы программного обеспечения: задание угла поворота объектива и числа кадров в панорамном изображении, угол сканирования местности, выбор отображаемой информации (входящие кадры сцены, пирамида изображений, входящие кадры сцены с выделенными особыми точками, соединенные кадры сцены с линией шва, итоговая панорама).
Поскольку формируемые на выходе фотоматрицы USB3000 3MPtx изображения являются файлами с расширением .bmp, то в первую очередь программное обеспечение должно обеспечивать работу именно с ним, однако в комплексе была сохранена возможность работы и с другими распространенными форматами изображения ( .jpg, .png, .raw, .tiff и другими).
Программное обеспечение СПН с программной коррекцией поворота изображения было написано на с/c++ подобном языке w iring для осуществления управления микроконтроллером Аrduino Uno R3, а также с# - для управления с ЭВМ. При работе использовались среды разработки Arduino IDE [52], [103], а также Microsoft Visual Studio 2012 [33], [55], [76]. При разработке также использовалась библиотека компьютерного зрения с открытым исходным кодом OpenCV [87]. Данная библиотека алгоритмов использовалась для ускорения обработки входящих изображений и связанных с этим решения задач. Объем кода программного обеспечения СПН с программной компенсацией поворота изображения в сумме по всем модулям составляет около 15000 строк. - переключение между режимом сканирования местности и тестовым режимом; - выбор отображаемых изображений (входные изображения, пирамида размытых изображений, пирамида разностей изображений, пирамида бинаризированных изобржаений, изображения с найденными особыми точками, итоговое изображение). Результаты выполнения программного обеспечения, как и входящие изображения, отображаются на дочерних окнах; - настройка экспозиции. время работы основных программных модулей: время построения пирамиды изображений, вычисления особых точек, их идентификации, время сопоставления особых точках на смежных кадрах.
Программа позволяет сшивать не только серию кадров, полученных от системы панорамного наблюдения, но и сшивать произвольные изображения, для этого необходимо на панели настроек перевести программу в «тестовый режим», поставив в соответствующем поле флажок. Выбранные пользователем произвольные изображения загружаются в память через окно загрузки пользовательского интерфейса.
При нажатии на кнопку «Сшить изображения» начинается выполенение программы. При запуске программы в тестовом режиме, появится диалоговое окно и программа предложит пользователю загрузить набор изображений.
Для демонстрации работоспособности программного комплекса с помощью СПН с программной компенсацией поворота изображения были сделаны два тестовых кадра сцены (рисунок 4.7).
Результат сшивания смежных кадров с швом изображен на рисунке 4.12. Окна с вышеуказанными изображениями не являются обязательными при выполнении программы, их появление можно отключить/включить в настройках. Итогом выполнения программы является готовая панорама сцены (рисунок 4.13).
Итоговое время работы программного комплекса для выбранных изображений предоставлено на рисунке 4.14. На диаграмме по оси абсцисс отложены несколько столбоцов: «пирамида», «детектор», «дескрип.» и «сравнение точек». Каждый столбец отражает время работы отдельных этапов выполнения программы: построение пирамид изображений и их разности (пирамида), поиск особых точек (детектор) кадров, описание особых точек (дескрип.) и сопоставление особых точек на смежных кадрах. На диаграмме ось ординат – время выполения программы в секундах. Итого время соединения двух кадров составило около 0,5 секунд.
Результаты работы СПН с программной компенсацией поворота изображения
Исследования «окон» показали, что на изображениях с разрешением 64x64 пикселей обычно находится от одного до пяти десятков характерных точек с затратами времени 0,25-0,5 с. Для окон с разрешением 128x128 пикселей количество особых точек составило 50-350 штук, а время работы 1,0-2,5 с.
В качестве окон на общей полосе двух кадров размером (0, N; 0, М) предлагается использовать N/M квадратов размером (0, N; 0, Л0- Поскольку краевые области изображения подвержены абберациям, не желательно совмещать начала координат общей полосы и окна. Образовавшимися участками у верхней и нижней границ изображения (составляющими остаток от деления N/M) пренебрегаем. Как показали предыдущие исследования [74], на окне разрешением 128x128 может быть найдено от нескольких десятков до сотен особых точек, что является достаточным для построения линии «шва».
Необходимое количество информации может содержаться не в каждом окне и наоборот - избыточное количество особых точек может замедлить сшивание панорамы. В связи с этим возникает необходимость предварительной оценки обрабатываемых окон, главным критерием которой будет ожидаемое количество особых точек.
Поскольку в качестве особых точек обычно выступают точки, полученные как значение первой или второй производной функции яркости, т.е. точки на границах объектов, то их наличие можно оценить по количеству объектов, присутствующих на сцене. В качестве объектов могут выступать связанные области на бинаризованном изображении.
Для проверки взаимосвязи количества связанных областей пикселей с количеством особых точек была проведена серия компьютерных экспериментов. Сравнения производились на серии тестовых изображений с разрешением 128x480 средствами программного пакета Scilab. Данный размер тестируемых изображений был выбран исходя из того, что для сшивания будут использоваться изображения с разрешением 640x480 с общей полосой в 20%. Очевидно, что нельзя провести однозначную связь между количеством связанных областей и особых точек (например, в силу меняющегося во времени уровня освещенности некоторые объекты могут пройти (или наоборот – не пройти) через порог яркости t). И действительно, при большом количестве особых точек полученное количество связанных областей не всегда находятся в прямой зависимости (рис. 3.6). На рис. 3.6а) показано полутоновое исходное изображение с отмеченными белыми звездами особыми точками, на рис. 3.6б) изображено соответствующее ему бинарное изображение, разделенное для удобства анализа на три окна; на рис. 3.6 в) диаграмма, показывающая соотношение числа особых точек и связанных областей пикселей. Для удобства оценивания исходное изображение разбивалось на три участка.
Но для изображений с малым количеством особых точек на изображении эксперименты показали более однозначные зависимости, достаточные для предварительной оценки наличия особых точек на кадре (рисунок 3.7).
При этом время бинаризации общей полосы двух кадров и подсчет связанных областей пикселей составили: для первого изображения 0,04 с, для второго – 0,03 с. С учетом того, что время поиска особых точек на общей полосе и отдельном окне составили, соответственно, для первого изображения 2,26 с и 0,63 с; для второго – 0,98 с и 0,53 с, работа с выбранным окном позволяет ускорить выполнение программы в 3,27 раза для первого изображения, и 1,71 раза – для второго [73].
Исходя из вышесказанного, можно сделать следующие выводы. Оценка количества объектов на бинарном изображении позволяет отсечь области кадра с малым количеством особых точек. Такой метод можно использовать для предварительной оценки подходящего окна для поиска особых точек. Но в рамках поставленной задачи метод может использоваться в качестве основного, поскольку на любом окне с относительно большим количеством особых точек (больше 30) вероятность найти подходящую пару для «шва» стремится к единице. Кроме того, работа не с общей полосой, а с предварительно выбранным окном позволяет сократить работу программы в несколько раз, что является необходимым при сшивании панорамы в режиме реального времени. 3.3. Анализ быстродействия методов получения и описания особых точек 3.3.1. Быстродействие методов SURF и SIFT
Сравнение двух смежных изображений приводит к большим затратам времени и дает избыточную информацию: на изображении с разрешением 1024768 пикселей может быть найдено несколько тысяч характерных точек, которые будут обрабатываться от 20-30 до 50-60 с и выше. Поэтому целесообразно сравнивать кадры не целиком, а только общую для них зону перекрытия. Размер общей части кадров может варьироваться.
Исследования проводились на пяти изображениях разной сложности с разрешением 640480 пикселей. Исходя из требований минимальных затрат времени, были выбраны области перекрытия в 10 и 20 %.
Проведенные исследования [65] показали, что метод SURF работает быстрее SIFT: при повороте изображения - 180 совпадений особых точек в секунду против 400; при изменении масштаба изображения - 95 совпадений в секунду против 230; при вращении самого объекта – 10…15 совпадений в секунду против 1...3 (рисунок 3.8). Для построения панорамных изображений в сложных динамических условиях в режиме реального времени рекомендуется при нахождении характерных точек использовать методы SURF и SIFT, обладающие хорошей повторяемостью результатов и высокой точностью. Области практического использования методов определяются конкретной задачей. Для большинства приложений более предпочтительным является метод SURF, который при несколько меньшей точности нахождения особых точек на изображении обладает вдвое большим быстродействием.