
- •«Обработка изображений и распознавание образов» Визильтер Юрий Валентинович Методическое пособие-2010
- •Раздел 2. Распознавание образов. 165
- •1.1. Задачи и приложения машинного зрения. Примеры практических приложений.
- •Уровни и методы машинного зрения
- •Растровое изображение Изображение как двумерный массив данных
- •Алгебраические операции над изображениями
- •Физическая природа изображений
- •Изображения различных диапазонов длин волн
- •Изображения различной физической природы
- •Тип пикселя
- •Возможности и особенности системыPisoft
- •Базовые средства просмотра и анализа изображений и видеопоследовательностей
- •Алгебра изображений
- •Геометрические преобразования изображений
- •Устройства оцифровки и ввода изображений
- •Линейки и матрицы, сканеры и камеры
- •Геометрия изображения
- •Цифровые и аналоговые устройства
- •Пространственное разрешение
- •Программное обеспечение
- •Обработка цветных изображений
- •Цветовая модельRgb
- •Цветовая модель hsv
- •Цветовая модель yuv
- •Цветовая сегментация изображения
- •Гистограмма и гистограммная обработка изображений
- •Профиль вдоль линии и анализ профиля
- •Проекция и анализ проекции
- •Бинаризация полутоновых изображений
- •Сегментация многомодальных изображений
- •Выделение и описание областей
- •Выделение связных областей на бинарных изображениях
- •1. Отслеживающие алгоритмы на примере алгоритма обхода контура.
- •2. Сканируюющие алгоритмы.
- •1.3. Фильтрация. Выделение объектов при помощи фильтров
- •Оконная фильтрация изображений в пространственной области
- •Фильтрация бинарных изображений Модель шума «соль и перец»
- •Структура оконного фильтра
- •Логическая фильтрация помех
- •Бинарная медианная фильтрация
- •Бинарная ранговая фильтрация
- •Взвешенные ранговые фильтры
- •Анизотропная фильтрация
- •Расширение-сжатие (простая морфология)
- •Стирание бахромы
- •Нелинейная фильтрация полутоновых изображений
- •Ранговая оконная фильтрация
- •Минимаксная фильтрация
- •Задача выделения объектов интереса
- •Бинарные фильтры для выделения объектов
- •Метод нормализации фона
- •Скользящее среднее в окне
- •Гауссовская фильтрация
- •Преобразование Фурье. Линейная фильтрация в частотной области
- •Преобразование Фурье
- •Комплексное представление преобразования Фурье
- •Быстрое преобразование Фурье
- •Двумерное преобразование Фурье
- •Свертка с использованием преобразования Фурье
- •Фильтрация изображений в частотной области
- •Вейвлет-анализ
- •Пирамида изображений
- •Вейвлет-преобразование
- •Операторы вычисления производных
- •Операторы вычисления векторов градиентов
- •Операторы Марра и Лапласа
- •Постобработка контурного изображения Локализация края
- •Утончение контура
- •Сегментация полутоновых изображений
- •Пороговая и мультипороговая сегментация
- •Методы слияния, разбиения и слияния/разбиения областей
- •Способы описания выделенных областей
- •Текстурные признаки
- •1.6.Морфологические методы анализа сцен (по ю.П. Пытьеву) Методы обнаружения объектов, заданных эталонами
- •Согласованная фильтрация.
- •Корреляционное обнаружение.
- •Морфологический подход ю.П. Пытьева.
- •Форма изображения как инвариант преобразований изображений, отвечающих вариациям условий регистрации
- •Сравнение изображений по форме
- •Выделение отличий изображений по форме
- •Обнаружение объекта по его изображению и оценка его координат
- •*Морфология на базе кусочно-линейной интерполяции
- •Преобразование Хафа для поиска прямых
- •*Различные способы параметризации прямых
- •Преобразование Хафа для поиска окружностей
- •Анализ аккумулятора при поиске геометрических примитивов
- •Обобщенное преобразование Хафа
- •*Специализированная процедура голосования для поиска эллипсов
- •*Рекуррентное преобразование Хафа в скользящем окне
- •1.8.Математическая морфология (по ж. Серра)
- •Морфологические операции на бинарных изображениях
- •Морфологические операции на полутоновых изображениях
- •Морфологическое выделение «черт» и объектов
- •Морфологический спектр
- •Морфологические скелеты. Непрерывная бинарная морфология Непрерывная бинарная морфология
- •Непрерывное гранично-скелетное представление изображения
- •Обработка и использование скелета
- •*Обобщенные скелетные представления бинарных фигур
- •Алгоритмы утончения дискретного бинарного изображения
- •*Регуляризация скелетов
- •Типы нерегулярностей скелета
- •Устранение нерегулярностей
- •Регуляризация скелета по Тихонову
- •*Селективные морфологии
- •1.9. Анализ движения. Выделение движущихся объектов. Разность кадров. Вычитание фона. Анализ оптических потоков. Слежение за движущимися объектами. Корреляционное слежение.
- •Обучение с учителем. Детерминированные методы, основанные на «близости». Линейные решающие правила. Метод построения эталонов. Метод ближайшего соседа. Методkближайших соседей.
- •Линейные решающие правила
- •Метод построения эталонов
- •Методы ближайших соседей
- •Параметрические и непараметрические методы
- •Дискриминантные и моделирующие методы обучения
- •Способность распознавателя к обобщению. Регуляризация.
- •Байесовская теория решений. Случай двух классов. Классификаторы, разделяющие функции и поверхности решений. Вероятности ошибок. Разделяющие функции для случая нормальной плотности.
- •Дискриминантный анализ. Линейный дискриминант Фишера. Персептронная функция критерия. Линейный дискриминантный анализ (lda,дискриминант Фишера)
- •Персептрон Розенблатта
- •Анализ свидетельств
- •Байесовское объединение свидетельств
- •Структурное распознавание
- •Автоматизированное конструирование алгоритмов обнаружения объектов на основе преобразований модельных описаний объектов.
- •Нейросетевое распознавание
- •Нейронные сети ассоциативной памяти. Сети Хопфилда.
- •Многослойные персептроны. Оптимизационное обучение. Метод обратного распространения ошибки.
- •Многослойные персептроны. Правило Хебба.
- •*Связь с байесовским распознаванием
- •Сети встречного распространения. Самоорганизующиеся сети.
*Рекуррентное преобразование Хафа в скользящем окне
При решении многих практических задач полезно иметь в каждой точке изображения информацию о том, проходят ли через нее какие-либо прямолинейные отрезки, и, если да, то каковы их параметры. Для этой цели служит предложенное в [287] рекуррентное преобразование Хафа в скользящем окне (RHT).
Определим окно размерами NxN, движущееся по изображению таким образом, что его центральная точка последовательно проходит все точки изображения, например, слева направо по каждой строке и снизу-вверх по строкам. Пусть для каждого положения окна заполняется соответствующий аккумулятор преобразования Хафа, после чего результаты переносятся в общий аккумуляторный массив для всего изображения. Таким образом, в результате преобразования формируется двумерный массив аккумулятора, размеры которого совпадают с размерами исходного изображения, а каждая точка характеризуется параметрами наиболее достоверного отрезка прямой, проходящего через него.
Для корректного переноса результата голосования в каждом отдельном окне в финальный единый аккумулятор, необходимо изменить параметризацию пространства Хафа. Будем описывать прямую в окне параметрами (x,Q). Здесь x – координата пересечения оси X окна, а Q – угол наклона этой прямой к оси X. После голосования всех точек окна, получим аккумулятор в котором в точке (x,Q) будет содержаться количество точек, лежащих на прямой, проходящей в этом окне через точку (x,0) под углом Q. Теперь для переноса в конечный массив необходимо определить для каждой точки на оси Ox окна прямую, за которую проголосовало наибольшее количество точек, после чего эти результаты можно перенести в конечный массив в соответствующие ячейки. Однако, очевидно, что при параметризации (x,Q) мы можем захватить далеко не все прямые, так как часть из них будут пересекать ось Ox далеко за пределами окна или не пересекать вообще. Для решения этой проблемы введем дополнительную параметризацию (y,Q). Проход с параметризацией (x,Q) назовём проходом по строкам. При проходе по строкам будем идти окном от самого нижнего левого положения и полностью проходить по строке исходного изображения до крайне правого положения, а затем подниматься на строку вверх. При проходе по столбцам будем идти окном от самого нижнего левого положения и полностью проходить по столбцу исходного изображения до самого верхнего положения, а затем смещаться на столбец влево. После окончания обоих проходов, их результаты объединяются при помощи операции "максимум", в результате чего в финальном аккумуляторе оказываются записанными те отрезки, за которые бвло подано максимальное количество голосов. Кроме этого, учитывая то, что мы используем два прохода и можем иметь угол наклона как по отношению к оси Ox так и к оси Oy, массив аккумулятора также должен содержать некоторый флаг, определяющий какой тип значения угла содержится в данной ячейке.
Заполненный таким образом массив аккумулятора содержит все возможные для данного изображения варианты расположения элементов прямых линий – линеаментов. После этого необходимо выделить наиболее достоверные отрезки. Возможны следующие варианты такой обработки: пороговое отсечение и выделение локальных максимумов. Параметрами здесь являются некоторое пороговое значение и размеры прямоугольной области в которой ведется поиск максимума.
Описанное преобразование Хафа в скользящем окне действительно позволяет получить необходимое локально-параметрическое описание изображения. Однако соответствующая его реализация требует неоправданно большого количества вычислений. В связи с этим была предложена следующая алгоритмическая реализация, позволяющая добиться тех же результатов при существенно меньших вычислительных затратах. Суть изменений заключается в том, чтобы перейти к рекуррентному заполнению аккумулятора скользящего окна по аналогии с тем, как это делается для ранговых фильтров [47]. Для этого необходимо внести следующие модификации:
Переход к натуральной параметризации прямых. Целесообразно использовать параметризацию (x,dx) для прохода по строкам и (y,dy) для прохода по столбцам. Здесь x – также точка пересечения прямой оси Ox, y – соответственно оси O y; параметр dx – смещение координаты х при изменении координаты y на половину высоты окна, dy определяется аналогично.
Оптимизация процедуры голосования одной точки. В случае, когда используется параметризация (x,dx)/(y,dy), функция отклика каждой точки исходного пространства в точности представляет собой дискретную прямую в аккумуляторе, формируемую при помощи операций целочисленного сложения.
Переход к рекуррентной реализации преобразования. Рассмотрим результат обработки двух, следующих друг за другом позиций окна Xi и Xi+1 строки Yj. Обработка позиции Xi заполняет конечный массив в диапазоне (Xi-W/2;Yj)–(Xi+W/2;Yj), обработка позиции Xi+1 заполняет конечный массив в диапазоне (Xi+1-W/2;Yj)–(Xi+1+W/2;Yj). Как видно, результаты двух соседних преобразований пересекается в диапазоне (Xi+1-W/2;Yj)–(Xi+W/2;Yj) и при пересечении выбираются ячейки с максимальным количеством голосов. Это позволяет создать единый аккумулятор для всей строки и обрабатывать всю строку целиком, после чего для каждой координаты x производится операция max по столбцу аккумулятора, и определяется наилучший вариант смещения dx. Полученный результат заносится в соответствующую строку финального аккумулятора для всего изображения. Проход по столбцам аналогичен, изменяются только базовые оси.
Рисунок 5.2.9. демонстрирует последовательные стадии применения RHT к авиационному изображению городской сцены. Выделены локальные прямолинейные структуры. На рисунке 5.2.10 показаны примеры применения RHT с различными параметрами размера окна.
|
|
|
(a) |
(b) |
(c) |
@Рис. 5.2.9. Пример применения RHT: a – исходное полутоновое изображение; b – исходный бинарный контурный препарат; c – результат обнаружения линеаментов. На исходном контурном препарате выделены локальные прямолинейные структуры.
|
|
|
(a) |
(b) |
(c) |
@Рис. 5.2.10. Пример обнаружения линеаментов с использованием RHT с различными параметрами размера окна: a – маленький размер окна фильтрации; b – средний размер окна; c - большой размер окна. Выделены линеаменты различных размеров.
В работах [140], [143], [144], [145], [146], [147], [148], [150], [154], [155], [173], [197], [198], [203], [208], [210], [213], [244], [245], [248], [250], [255], [258] содержится еще целый ряд интересных идей относительно использования различных модификаций и обобщений преобразования Хафа.