пятница, 5 июля 2013 г.

На заметку: Оператор Кэнни

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

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

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

Основные этапы

Сглаживание.
Размытие изображения для удаления шума. Оператор Кэнни использует фильтр который может быть хорошо приближен к первой производной гауссианы. \sigma = 1.4:

\mathbf{B} = \frac{1}{159} \begin{bmatrix} 
2 & 4 & 5 & 4 & 2 \\
4 & 9 & 12 & 9 & 4 \\
5 & 12 & 15 & 12 & 5 \\
4 & 9 & 12 & 9 & 4 \\
2 & 4 & 5 & 4 & 2
\end{bmatrix} * \mathbf{A}.
Поиск градиентов.
Границы отмечаются там, где градиент изображения приобретает максимальное значение. Они могут иметь различное направление, поэтому алгоритм Кэнни использует четыре фильтра для обнаружения горизонтальных, вертикальных и диагональных ребер в размытом изображении.
\mathbf{G} = \sqrt{ {\mathbf{G}_x}^2 + {\mathbf{G}_y}^2 }
\mathbf{\Theta} = \operatorname{arctan}\left({ \mathbf{G}_y \over \mathbf{G}_x }\right).
Угол направления вектора градиента округляется и может принимать такие значения: 0, 45, 90, 135.
Подавление немаксимумов.
Только локальные максимумы отмечаются как границы.

Двойная пороговая фильтрация.
Потенциальные границы определяются порогами.

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