Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Luciv / Практическое занятие №3

.doc
Скачиваний:
37
Добавлен:
21.03.2016
Размер:
704 Кб
Скачать

Практическое занятие №3

«Выделение контуров на изображении»

Цель работы – ознакомиться с методами выделения контуров на изображении на примере алгоритма Кэнни (Canny).

Задание по работе:

  • Изучить теоретическую часть работы.

  • Выбрать тестовые изображения.

  • Реализовать алгоритм выделения контуров Кэнни (Canny)..

  • Оценить результаты выделения контуров в зависимости от параметров применяемого алгоритма.

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

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

Рисунок 1. Пример выделения контуров на изображении.

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

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

, (1)

. (2)

Направление задается через угол θ, равный арктангенсу отношения частных производных по вертикальной и горизонтальной оси изображения

. (3)

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

. (4)

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

Рисунок 2. Пример полученной карты силы краев.

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

Для выполнения этих операций в области компьютерного зрения существует такой метод обнаружения границ как детектор Кэнни. Данный метод был разработан в 1986 году Джоном Кэнни (англ. John F. Canny) [1] и использует многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях. Целью работы [1] было разработать оптимальный алгоритм обнаружения границ, удовлетворяющий трём критериям:

- хорошее обнаружение (в [1] это свойство трактуется как повышение отношения сигнал/шум);

- хорошая локализация (правильное определение положения границы);

- единственный отклик на одну границу.

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

Алгоритм детектора границ не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также «допустимой» границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением большим верхнего порога, то он удаляется. Такой гистерезис позволяет снизить число разрывов в выходных границах. Включение в алгоритм Кэнни шумоподавления с одной стороны повышает устойчивость результатов, а с другой – увеличивает вычислительные затраты и приводит к искажению и даже потере подробностей границ. Так, например, таким алгоритмом могут скругляться углы объектов и разрушаться границы в точках соединений.

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

  1. Размытие изображения НЧ фильтром для устранения возможных шумов и лишних мелких деталей на изображении.

  2. Расчет частных производных функции яркости изображения, например, через свертку с оператором (4).

  3. Вычисление модуля градиента и ориентации вектора градиента для каждого пиксела изображения согласно (2, 3).

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

  5. Выполнить поиск локальных максимумов вдоль направления градиента. Для этого:

а) Выбрать еще необработанную точку локального максимума р в которой сила края

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

в) Проверить выполняется ли условие . Если да, то p = q, переход на начало шага 5. Если нет, то переход на шаг 1.

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

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

2. Порядок выполнения работы

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

2) Реализовать алгоритм выделения краев Кэнни согласно теоретической части.

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

Литература:

1) Canny J. A computational approach to edge detection // IEEE Transactions on pattern analysis and machine intelligence. – 1986.– vol. 8. – № 6.– рр. 679-698.

2) Шапиро Л. Компьютерное зрение/ Шапиро Л., Стокман Дж.: Пер. с англ. М.: БИНОМ. Лаборатория знаний, 2006. 752 с.