ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2025
Просмотров: 665
Скачиваний: 1
Лекция 14.
14 Определение границ объектов на изображении
14.1 Выделение контуров
Наиболее важная операция, предшествующая сегментации, идентификации и классификации объектов на изображении Интуитивно – всякая точка (пиксель) на изображении, находящаяся в области
резкого изменения интенсивности (уровня серого), может быть отнесена к контурной точке. Для двумерной непрерывной функции ее производная в точке указывает на направление в сторону максимального значения, а перпендикулярное ему направление – будет определять направление контура
f |
f x |
f y |
fx cos f y sin |
||
r |
x r |
y r |
Максимальное значение производной обеспечивается условием
f
0r
Выделение контура – формула описывает, как же направлена граница. Если хотим выделить границу, то выбираем точку, где производная имеет максимум (одномерная). Если плоскость – то нужно найти максимум производной в двумерном случае.
Это приводит к уравнению для угла направления |
||||||||||||
f y |
||||||||||||
fx |
sin g |
f y |
cos g |
0 |
g |
tan 1 |
||||||
fx |
||||||||||||
f |
||||||||||||
2 |
2 |
|||||||||||
fx |
f y |
|||||||||||
r |
max |
|||||||||||
Задача – найти эквивалентные этой формуле (дискретные) цифровые операторы.
Определяем угол, под которым эта функция имеет максимальный подъем Само максимальное значение – корень из суммы квадратов.
Градиентные операторы.
Функция оценки градиента дискретного двумерного изображения может выполняться с помощью двух масок, наложение которых на изображение позволяет определить значение производной в двух взаимно перпендикулярных направлениях
g m, n g12 m, n g22 m, n
g tan 1 g2 m, n g1 m, n
Переписывание формул не а координатах, в в m,n – мы работаем в дискрете.
Часто значение производной оценивается по формуле
g m, n g1 m, n g2 m, n
Наиболее часто применяемые операторы:
Prewitt:
1 0 |
1 |
1 1 1 |
|||||
1 |
0 |
1 |
0 |
0 |
0 |
||
1 |
0 |
1 |
1 |
1 |
1 |
||
Слева дифференцирование по х, справа дифференцирование по у. Интересует максимум производной. Формула не правильная, но мы ей пользуемся.
Sobel:
1 |
0 |
1 |
1 2 |
1 |
||||
2 |
0 |
2 |
0 |
0 |
0 |
|||
1 |
0 |
1 |
1 |
2 |
1 |
|||
Изотропный:
1 |
1 |
1 |
||||||||||||
0 |
2 |
1 |
||||||||||||
2 0 |
2 |
0 |
0 |
0 |
||||||||||
1 |
0 |
1 |
1 |
2 |
1 |
|||||||||
Сверху: С усилением центрального направления. Изотропный – по Пифагору корень из 2х.
В результате для каждого пикселя изображения будет получено значение
градиента и его направление. Пиксель будет отнесен к точке контура в том |
|
случае, когда его значение превышает некоторое пороговое значение |
|
1, |
m, n I g |
m, n |
|
0, |
иначе |
I g m, n ; |
g m, n t |
Как правило, порог составляет несколько (5…8) процентов от максимального значения градиента на всем изображении.
Много проблем с выбором порога Что такое порог?
Компас-операторы Компас-операторы определяют значения производных в нескольких
(четырех) направлениях, значение градиента приравнивается максимальной из этих производных, а его направление – направлению этой производной Варианты компас-операторов
1 0 |
1 |
1 1 0 |
1 1 1 |
0 |
1 |
1 |
|||||||||
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 0 |
1 |
|||||
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
||||
Вместо того, чтобы работать с углом тетта (указывает уровень максимального возрастания). Компасных операторов всего 4, важно зацепиться за модуль производной, а не за знак.
Варианты компас-операторов (только северного направления):
1 |
1 |
1 |
5 |
5 |
5 |
||
1 |
2 |
1 |
3 0 |
3 |
|||
1 |
1 |
1 |
3 |
3 |
3 |
||
14.2Операторы Лапласа для выделения контура
Ксожалению, градиенты 1-го порядка работают хорошо лишь тогда, когда переход от одного уровня серого к другому достаточно крутой. Однако переходная зона может быть широкой и тогда более надежными становятся градиенты 2-го порядка.
Хорош в местах, где есть переход от минуса к плюсу: преодоление нуля – максимум первой производной.
В этом случае часто используется оператор Лапласа
2 f |
2 f |
2 f |
||
x2 |
y 2 |
Три варианта дискретной реализации оператора Лапласа
0 |
1 |
0 |
1 |
1 |
1 |
1 |
2 |
1 |
||||
1 |
4 1 |
1 8 |
1 |
2 |
4 2 |
|||||||
0 |
1 |
0 |
1 |
1 |
1 |
1 |
2 |
1 |
||||
Суммы всех коэффициентов маски обязаны равняться нулю - выполняют функцию определения 2й производной.
Контурные точки – точки пересечения нуля или один из локальных экстремумов.
Но!! Производные 2-го порядка очень чувствительны к шуму. Кроме того, пороговое отсечение 2-й производной приводит к двойной линии контура.
2я производная очень чувствительна к шуму. Если сигнал зашумлен, то лучше Лаплас не применять.
Информация об угле направленности контурных линий может быть получена поиском точек пересечения нуля 2-ой производной вдоль произвольного направления.
2 fr 2
2 fx2
sin
cos |
2 |
2 |
f |
sin cos |
2 |
f |
sin |
2 |
||
x y |
y2 |
|||||||||
14.3 Операторы выделения одиночных линий
Эти операторы настроены на выделение участков границы, а также на соединение контурных точек в линию. Наиболее распространенный дискретный оператор выделения линий:
1 |
1 |
1 |
2 |
1 |
1 |
1 2 |
1 |
1 |
1 |
2 |
|||||
2 |
2 2 |
1 2 |
1 |
1 |
2 |
1 |
1 2 |
1 |
|||||||
1 |
1 |
1 |
1 |
1 |
2 |
1 |
2 |
1 |
2 |
1 |
1 |
||||
Проходят всеми 4мя масками и из 4х результатов выбирают лучший.
14.4 Отслеживание контурных точек Граница – замкнутая кривая, состоящая из контурных точек. Граница объекта
– важнейшая характеристика при анализе, необходимая для расчета различных геометрических признаков – таких как периметр, площадь и т.д.
Алгоритм описания границы для бинарного изображения:
1)Начало – любая точка, принадлежащая контуру
2)Поворот налево + шаг (один пиксел)
3)Если новая точка находится внутри объекта – повтор п.2
4)Если новая точка находится вне объекта – поворот направо + шаг
5)Вернуться к пунктам 2,3
6)Продолжать до тех пор, пока очередная точка не совпадет с начальной
14.5Алгоритмы соединения точек контура
взамкнутую линию
Результатом проведения операций по выделению контуров с помощью
градиентных операторов (1-го или 2-го порядка) возможна ситуация, при которой границы представлены лишь отдельными участками, между которыми – пропуски. Задача состоит в воссоединении контурных точек в (замкнутую) границу Результат компас-оператора выделения контурных точек – модуль градиента и угол, под которым возможно направление границы – перпендикулярное направлению возрастания градиента. Угол может принимать значение, кратное 45
Алгоритм соединения строится на оценке на каждом шаге величины целевой функции, которая в данном случае равна значению градиента в каждом из трех возможных направлений шага, то есть (+45 , 0 ,-45 ).
Более общий алгоритм для воссоединения контурных точек, удаленных друг от друга на значительное расстояние. В этом случае могут быть альтернативные варианты проведения границы.
Задача ставится как задача динамического программирования, в которой критерием выбора управляет целевая функция, оценивающая “эффект” от выбора того или иного пути соединения краевых точек Функция цели в этом случае выглядит так
N |
N |
N |
|||||||||||||||
x1...xN , N |
g xk |
xk |
xk 1 |
d xk , xk 1 |
|||||||||||||
k 1 |
k 2 |
k 2 |
|||||||||||||||
g x |
k |
- модуль градиента в точке, |
|||||||||||||||
xk - угол, под которым направлена граница в точке, d xk , xk 1 - величина шага от одной точке к другой,
Функция цели
N |
N |
N |
|||||||||
x1...xN , N |
g xk |
xk |
xk 1 |
d xk , xk 1 |
|||||||
k 1 |
k 2 |
k 2 |
|||||||||
,
-- весовые коэффициенты, имеющие смысл «платы» за изменение направления границы и изменение шага (предпочтительным является путь по прямой – причем по горизонтали или вертикали)