Transcript pps

Slide 1

Компютърно зрение

Откриване на
контури

гл.ас. д-р Милена Лазарова, кат.КС, ФКСУ, ТУ-София


Slide 2

Инф. структура на СКЗ


Две нива на обработване на данни в СКЗ:


Ниско ниво








представяне на изображението
филтрация на изображението
отделяне на ръбове, граници и признаци
сегментация

Високо ниво





построяване на описание на сцената
синтактична и семантична интерпретация
разпознаване
построяване на модел за околната среда


Slide 3

Ниско ниво на обработка


Ниското ниво на обработка се
състои в откриване и извличане на
значима информация от визуалните
изображения


Slide 4

Предварителна обработка


Етапи на предварителната обработка


Филтрация




Откриване на ръбове и граници




обобщено наименование на група изчислителни
методи и алгоритми за редуциране на случайни
шумове и дефекти в изображението
откриване и маркиране на пиксели, за които е
характерен значителен контрастен преход и които
се асоциират с граници между видими повърхнини
и ръбове на обекти в сцената

Формиране на линии и области


свързване и маркиране на контурните пиксели, така
че да се формират описания на линии и криви


Slide 5

Контури


Edge





Интерпретират се като






дъга, контур, ръб, граница
съществено локално изменение в стойностите на
интензитета, формирано на границата между съседни
пиксели

граници на обектите
ръбове между отделни повърхности в сцената
граница между единствена осветена повърхност и сянката й

Асоциират се със скокообразно изменение или точка на
прекъсване във функцията на интензитета на
изображението или нейната първа производна


Slide 6

Контури


Промените в стойностите на функцията на интензитета на
осветеност във визуалното изображение могат да се
дължат на няколко физически причини







геометрични свойства на обектите
коефициенти на отражение на видимите повърхнини
осветеност на сцената
позиция на наблюдение

За статични изображения



осветеността и позицията на наблюдение са постоянни
следователно




определянето на контрастните преходи носи информация за
топологията и геометрията на обектите

Определянето
на
границите
между
видимите
повърхнини и ръбовете на обектите в изображението се
свежда до откриване и локализиране на контурите


Slide 7

Видове контури


В зависимост от характера на локалното изменение на интензитета


Стъпаловидни (step)


идеална стъпаловидна промяна в стойностите на интензитета в два съседни
пиксела




Линейни (line)




Две последователни скокообразни изменения в стойностите на интензитета в
малка локална област

Наклонени (ramp)




например при промяна на пространствената ориентация на повърхнина

стъпаловидно изменение на стойностите на интензитета в малка локална
околност, а не в два съседни пиксела

Покривообразни (roof)


Линейна промяна в стойностите на интензитета в малка околност

стъпаловидна

наклонена

линейна

покривообразна


Slide 8

Откриване на контури


Детектиране на контурни пиксели





Детектиране на пиксели от линии





Edge Pixel Detectors
oпределят се пикселите, за които е вероятно да са
част от контур (дъга)

Line Pixel Detectors
oпределят се пикселите, за които е вероятно да са
част от линия (т.е. Тъмен регион ограден от светли
области или обратното)

Съществуват детектори и за други характерни
изменения в изображенията



кръгови контури
ъгли


Slide 9

Откриване на контури


Няколко етапа:


Детектиране




идентифицират пикселите, които са част от
характерна структура

Формиране


извличане на самата структурна характеристика
чрез групиране на пикселите по определен признак




Верифициране




обикновено съседство и свързаност

определяне на грешката спрямо линейна
характеристика, апроксимираща откритите пиксели

Извличане на параметри на структурата


например уравнение на линията на контура


Slide 10

Откриване на контури


Няколко етапа:


Детектиране




идентифицират пикселите, които са част от
характерна структура

Формиране


извличане на самата структурна характеристика
чрез групиране на пикселите по определен признак




Верифициране




обикновено съседство и свързаност

определяне на грешката спрямо линейна
характеристика, апроксимираща откритите пиксели

Извличане на параметри на структурата


например уравнение на линията на контура


Slide 11

Откриване на контури


Резултат


множество от пиксели, които
отговарят на дефиницията за това да
принадлежат на контура


обикновено това е изображение с размер,
равен на размера на входното изображение,
съдържащо две стойности за пикселите



1 за пикселите от контурите
0 за всички останали пиксели


Slide 12

Характеристики на контурите


Позиция (местоположение)




целочислени координати на пиксел от
изображението, в който се локализира
контура

Посока


пространствената ориентация на
малък линеен сегмент от контура
съизмерим с размерите на пиксела


Slide 13

Методи за откриване на контури


Методи използващи интензитета




откриват скокообразни изменения в стойностите на
интензитета чрез оценка на градиента му

Методи използващи функционална
апроксимация и модел на контура


определяне на апроксимация на непрекъснатата
функция на интензитета




решава се задача, обратна на тази при дискретизация

Методи използващи трансформационни
преобразувания в честотната област


високочестотните спектрални компоненти съдържат
информация за интензитетните изменения


използват се преобразувание на Фурие, Уолш и Адамар,
Хилберт


Slide 14

Методи използващи интензитета


Откриват скокообразни изменения в стойностите
на интензитета чрез оценка на градиента


стъпаловидното изменение на интензитета в
едномерно пространство е свързано с




наличие на локален пик в първата производна на
функцията на интензитета
пресичане на нулевото ниво за втората производна на
функцията на интензитета


Slide 15

Методи използващи интензитета
F (x)



F (x)

F (x)

Откриването на контурните пиксели се свежда до




апроксимиране на първата или втората производна на
функцията на интензитета
определяне съответно на локален максимум или
пресичане на нулата


Slide 16

Конволюция


Конволюцията е


последователно транслиране на матрица на
филтър над изображението и изчисляване на
претеглена сума на пикселите, попадащи в
разглежданата апертура


Slide 17

Методи използващи интензитета


Изображението съдържа
дискретизирани стойности на
непрекъснатата функция на
интензитета за пиксели с координати в
двумерно пространство


наличието на съществени локални изменения
в стойностите на интензитета се определя с
дискретна апроксимация на градиента


Slide 18

Градиент


Векторна величина




Компонентите на вектора на градиента измерват
изменението на стойностите на интензитета на
пикселите с увеличаване на разстоянието в
направления x и y

Векторът на градиента на функцията на
интензитета f(x, y) е двумерен еквивалент на
първата производна

G x   f x 
G[f(x,y)]=    

G

f

y

 y 


Slide 19

Градиент


Векторът на градиента G има:


Посока


посоката на най-бързо увеличение на стойностите
на функцията f(x, y)

 ( x , y )  arctg G y G x 


Големина


максималното изменение на стойностите на
функцията f(x,y) на единица разстояние в посоката
на вектора на градиента:

G[f(x,y)]=

2

2

Gx  Gy


Slide 20

Методи използващи интензитета


Методите се различават по алгоритмите, които
се използват за определяне на оценка за
големината на вектора на градиента за всеки
пиксел


използват се различни числени способи за
апроксимация на частните производни в двете
ортогонални направления


Slide 21

Метод на дискретните разлики


Forwаrd difference




Gx 



използва най-проста апроксимация на
градиента
частните производни се определят като
крайни разлики:
f(x  Δx,y)  f(x,y)
Δx

,G

f(x,y)  f(x,y  Δ y)

y



y

 f(i,j)  f(i+ 1 ,j)

Δy

при x=y=1:
G x  f(i, j+ 1 )  f(i,j), G


Slide 22

Метод на дискретните разлики


Реализира се чрез конволюция на визуалното
изображение с две диференциални маски за
определяне на частните производни по
направления x и y

G x   1 1

Gy

 1
  
  1


Slide 23

Метод на дискретните разлики




Оценките на двете частни производни
трябва да се отнасят за една и съща
точка в пространството
При метода на дискретните разлики



оценката на Gx се отнася за интерполираната
точка с координати (i, j+1/2)
оценката на Gy се отнася за точката с
координати (i+1/2, j)


Slide 24

Метод на дискретните разлики


Вариант на метода на дискретните
разлики с използване на диференциални
маски с размер 22
Gx

  1 1



1
1



Gy

 1

 1

1

 1


Slide 25

Оператор на Робъртс


За оценка на градиента крайните разлики
се формират диагонално за локална
апертура 22

G [ f ( x , y )]  f [ i , j ]  f [ i  1, j  1]  f [ i  1, j ]  f [ i , j  1]

или

G [ f [ i , j ]]  G x  G y

където
Gy

 0

 1

1

0

Gx

1

0

0

 1


Slide 26

Оператор на Робъртс

оригинално изображение

градиентно изображение

бинаризирано
изображение с праг 80


Slide 27

Оператор на Робъртс


При всички методи, работещи в апертура
с размер 22


оценките на частните производни се отнасят
за апроксимирана междинна централна
точка с координати (i+1/2, j+1/2), а не за
пиксела с координати (i, j)


Slide 28

Оператори на Собел и Превит






Използването на апертура с размер 33 решава
проблема с въвеждането на интерполирана
точка, за която се оценява стойността на
градиента
С такава апертура работят операторите на
Собел и Превит, при които се използват
нелинейни
апроксимации
на
частните
производни.
Оценката на големината на градиента се
изчислява като:

G [ f [ i , j ]] 

2

2

x  y


Slide 29

Оператори на Собел и Превит


Двата оператора се различават по
коефициентите на матриците, с които се
апроксимират стойностите на
производните в двете ортогонални
направления x u y



оператор на Собел: c=2
оператор на Превит: c=1

x

1

 c

  1

0
0
0

1
 1


c ,y 
0


  1
1 

c
0
c

1

0

 1


Slide 30

Оператор на Собел и Превит
Оператор на Превит

Оператор на Собел


Slide 31

Оператор на Собел

оригинално изображение

градиентно изображение


Slide 32

Оператор на Собел

Gx
хоризонтална
компонента на
градиента

Gy
вертикална
компонента на
градиента


Slide 33

Оператор на Робъртс, Собел, Превит

Робъртс
Собел

Превит


Slide 34

Недостатъци


Недостатъци на методите за откриване
на ръбове и граници, базирани на
апроксимация
на
стойностите
на
градиента с използване на оценки за
частните производни от първи ред





маркиране на твърде дебели ръбове и
граници при дълги константни преходи
разкъсване на контурите в изображенията
неточна работа при променлива осветеност в
различните части на изображението


Slide 35

Методи с производна от втори ред


Частично отстраняване на някои от
недостатъците на градиентно базираните
методи




използване на производни от втори ред
при наличие на скокообразно изменение на
стойностите на интензитета в малка локална
околност




за втората производна на функцията на
интензитета е характерно пресичане на нулевото
ниво
методите, базирани на този подход се наричат още
методи с търсене на “пресичания на нулата” (zero
crossing methods)


Slide 36

Лапласиан-оператор



За оценка на втората производна може да
се използва Лапласиан-оператор
Двумерният Лапласиан на функцията f(x, y)
2

2

 f ( x, y ) 

 f ( x, y )
x

2

2



 f ( x, y )
y

2


Slide 37

Лапласиан-оператор
Вторите частни производни по x и y се
апроксимират с крайни разлики:



2

 f
x

2



G x
x



 ( f [ i , j  1]  f [ i , j ])
x



 f [ i , j  1]
x



 f [i , j ]
x



 ( f [ i , j  2 ]  f [ i , j  1])  ( f [ i , j  1]  f [ i , j ])  f [ i , j  2 ]  2 f [ i , j  1]  f [ i , j ]

2

2

 f [ i , j  1]  2 f [ i , j ]  f [ i , j  1]

2

2

 f [ i  1, j ]  2 f [ i , j ]  f [ i  1, j ]

 f x
 f y


Slide 38

Лапласиан-оператор




2

(4) 

2

(8 ) 











0

1

1

4

0

1

0 
 
1  
 
0  

1

1

1

8

1

1

1

1

1

1

2  1

1

2

1


Slide 39

Оператор LoG



Laplacian of Gaussian
Предложен от Мар и Хилдрет





върху входното изображение се прилага Гаусов филтър
върху филтрираното изображение се прилага Лапласиан
оператор

Може да се реализира с единствена конволюция на
входното изображение
2

2

h ( x , y )   [G ( x , y )  g ( x , y ) ]  [  G ( x , y ) ] g ( x , y )
2


1
r
2

LoG   G  x , y  
 1 e
4
2

  2




r

2

2

2

2

1 

2
2  


x

2

 y

2



 2
4

2

 
e



x y
2

h(x,y) е резултантното изображение, g(x,y) е резултантното изображение,
G(x,y) е двумерна Гаусова функция

2

2


Slide 40

Оператор LoG

Двумерен LoG

оригинално
изображение

Дискретна апроксимация за σ=1.4

резултат от LoG
при σ=1


Slide 41

Оператор DoG



Difference of Gaussians
прилагат се два Гаусови филтъра с
различни стойности на σ и се формира
разликата
между
двете
филтрирани
изображения
2

r

2
 1
2 e
D oG (  e ,  i )  
e
2  e





2
r
 

2
  1
2
i
e

2  i
 
 

при σe/σi =1.6 с DoG оператора се постига
аспроксимация на LoG [Мар, Хилдрет]








Slide 42

Недостатъци


Методите, използващи производни от втори
ред са чувствителни към шумовете в
изображението и ги усилват




дори много малки локални пикове на първата
производна водят до пресичания на нулата за
втората производна

За редуциране на шумовете в
изображението, които понижават
ефективността на операторите за
откриване на ръбове и граници


преди или едновременно с операторите за
откриване на дъги се прилагат методи и
алгоритми за филтрация на визуалните
изображения


Slide 43

Метод на Кани




Предлага алгоритъм за откриване на идеални стъпаловидни
контурни преходи, които използва оптимален оператор за
определяне на градиентните изменения
Формулира три критерия за оптималния оператор:

Критерий за добра детекция (good detection)


поставя изискване за ниска вероятност за пропускане на
действителен контурен пиксел и ниска вероятност за
маркиране на несъществуващ контурен пиксел




Критерии за добра локализация (good localization)




и двете вероятности за монотонно намаляващи функции на
съотношението сигнал-шум, т.е. критерия изисква минимизиране на
това съотношение

поставя изискване контурните пиксели да са максимално
близко до истинския контур

Критерии за единична реакция (single response)


при повече от една реакция за даден контур част от пикселите
са фалшиви


Slide 44

Метод на Кани
Въвежда формално математическо представяне на
идеалния оператор и го оптимизира съгласно трите
критерия
Резултатът е оператор, чиято реакция на
стъпаловиден контурен преход е много близка до
тази на първата производна на Гаусова функция
Предложението на Кани за оператор, които
осигурява компромис между чуствителността на шум
и добрата локализация:










изглаждане на изображението с Гаусов филтър
изчисляване на градиента с числена апроксимация на
първите частни производни по двете ортогонални
направления


Slide 45

Метод на Кани
входно изображение f(x,y)
1. Изглаждане на изображението с Гаусов филтър
филтрирано изображение h(x,y)
2. Диференциране с едномерни апроксимации на градиента по x и y
градиентно изображение m(x,y)
3. Потискане на не-максималните стойности в посока
ортогонална на контура
контурно изображение c(x,y)
4. Прилагане на хистерезисна прагова операция с два прага
изходно бинаризирано изображение b(x,y)


Slide 46

Изглаждане на изображението



Image smoothing
Използва се двумерна Гаусова функция
G(x,y) със стандартно отклонение σ
h ( x , y )  G ( x , y)  f ( x , y)



За ускоряване на изчисленията конволюцията с двумерна
Гаусова функция Може да се замени с конволюция с две
едномерни Гаусови функции ориентирани в направление x и y

h x ( x , y)  G ( x )  f ( x , y)

h y ( x , y)  G ( y)  f ( x , y)


Slide 47

Диференциране



Differentiation
Прилага се конволюция с градиентни
оператори за определяне на апроксимация
на градиента за всеки пиксел
h1 x ( x , y)  G ( x )  h ( x , y)



За ускоряване на изчисленията при използване на едномерни
Гаусови филтри на предния етап може да се използва
диференциране в едномерни матрици апроксимиращи
първата производна на Гаусовата функция

h1 x ( x , y)  G ( y)  h x ( x , y)


h 1 y ( x , y)  G ( y)  h ( x , y)

h1 y ( x , y)  G ( x )  h y ( x , y)

резултатът е еквивалентен тъй като

G ( x, y)  G  y G  x  G  y G  x


Slide 48

Диференциране




Резултатът от този етап на алгоритъма е
градиентно изображение с апроксимация
на стойността на градиента: m(x,y)
Освен това за всеки пиксел се определя и
посоката на градиента: o(x,y)
m ( x , y) 

2

2

h 1 x ( x , y )  h 1 y ( x , y)

o( x , y)  arctg( h1 x ( x , y) / h1 y ( x , y) )


Slide 49

Потискане на немаксимуми
Non-maximum supresion
Контурните пиксели са тези, закоито
градиента има локлаен максимум
Немаксималните стойности на градиента в
посока ортогонална на посоката на контура
се отстраняват съгласно условията:











големината на градиента на разглеждания пиксел е
по-голяма от тези на двата му съседа в посока
ортогонална на контура в този пиксел
посоките на контура в двата съседни пиксела не се
различават значително от тази на разглеждания
пиксел
големината на градиента на разглеждания пиксел
надвишава предварително зададена прагова
стойност


Slide 50

Потискане на немаксимуми
Условие (iii) e самостоятелен етап на
алгоритъма
Ако са изпълнени условия (i) и (ii) то двата
съседни пиксела на разглеждания пиксел се
маркират със стойността на фона и повече не
се разглеждат









използва се апертура 3х3
разглеждат се двата съседни пиксела
в посока на градиента
(за примера това са а и с)
посоката на контура съвпада
с нормалата на градиента norm(x,y)

o(x,y)
a

b

c

d

(x,y)

e

f

g

h

norm(x,y)


Slide 51

Прагова операция



Edge tresholding
Използва се предварително дефинирана прагова
стойност за бинаризиране на изображението

1, ако c[x, y]  T
b[x, y]  
 0, ако c[x, y]  T


При използване на единствен праг може да се
получат разкъсвания на контурите поради
нефилтрирани шумове и дефекти и грешки от
апроксимацията на големината на градиента


Slide 52

Прагова операция
При метода на Кани се използват две прагови
стойности – ниска Тlow и висока Тhigh



ако големината на градиента надвишава високия праг,
то пиксела принадлежи на контур
ако c[x,y]>Thigh то b[x,y]=1
ако големината на градиента е по-малка от ниския праг,
то пиксела не принадлежи на контур
ако c[x,y]ако големината на градиента е между двата прага,
то пиксела принадлежи на контур само ако някой от
съседните му пиксели в апертура 3х3 има стойността на
градиента над високия праг










използва се алгоритъм за проследяване на контурите при
прилагане на прагова операция с два прага
осигурява се формирането на свързани контури


Slide 53

Метод на Кани

оригинално
изображение

резултат от
метод на Кани


Slide 54

Метод на Кани

оригинално
изображение

градиентно
изображение

потискане на
немаксимумите


Slide 55

Метод на Кани

оригинално изображение

σ=1, Тhigh=255, Tlow=1

σ=1, Тhigh=128, Tlow=1

σ=1, Тhigh=255, Tlow=220

σ=2, Тhigh=128, Tlow=1


Slide 56

Методи използващи интензитета


Заради използването на апроксимация за
стойността на градиента получените резултати
съдържат грешки





Резултантните изображения
характерни смущения







могат да бъдат маркирани фалшиви или да бъдат
пропуснати реални контурни пиксели
могат да бъдат направени грешки в локализацията и
ориентацията на контурите

често

съдържат

разкъсвания на контурите
изолирани контурни пиксел
контури с дебелина повече от един пиксел

За отстраняването на тези дефекти се прилага
допълнителна филтрация и изтъняване на
контурните изображения


Slide 57

Бинарна филтрация


Изтъняване (бинарна филтрация)




Нарича се още скелетонизация




методи и алгоритми за редуциране на формата и
дебелината на контурите в бинаризираните
изображения получени в резултат на определянето на
контурните пиксели
целта е да се запази само “скелета” на контура

Резултатът от бинарната филтрация



контури с единична дебелина
без фалшиви контурни пиксели и шумове




например изолирани точки

без разкъсвания на контурите


Slide 58

Бинарна филтрация


Методите за изтъняване на контурите
използват два основни подхода




итеративно прилагане на множество маски за
определяне на излишни контурни пиксели,
които се филтрират
аритметични и логически операции и правила
за проследяване на контурите и
отстраняване на излишни или добавяне на
нови пискели


Slide 59

Бинарна филтрация




За всеки пиксел в бинаризираното изображение се
разглежда апертура 3х3 и в зависимост от
конфигурацията и броя на контурните пиксели в
локалната околност се взема решение за
филтрирането на пиксела
Използваните правила за изтъняване са няколко
групи





правила за изтриване на излишни контурни пиксели
правила за добавяне на нови контурни пиксели
правила за изместване на позицията на контурен пиксел


Slide 60

Бинарна филтрация


Показател на свързаност r(x,y)




При r(x,y)=0




брой съседни контурни пиксели (такива със стойност 1)
пикселът е изолиран единичен пиксел и се филтрира
(стойността му се нулира)

При r(x,y)=1



пикселът се явява край на линия
ако има съседен пиксел с достатъчно висока стойност на
градиента, той става контурен





запълва се празнина между разкъсани контури






 










 


Slide 61

Бинарна филтрация


При r(x,y)=2


проверява се дали пикселът може да формира
праволинеен контур


големината на градиента му се сравнява с тази на
липсващия пиксел и ако съотношението надвищава
зададен праг (напр. 0.7) се формира праволинеен контур
  





 



  


 


ако пиксела е присъединен към диагонален контур се
отстранява

o  o
o  
o o o

o o o 
o  
o  o

o  o
o  
o o o 

o o o
o  
o  o



o  o
  o
o o o

 o o o
  o
o  o

o  o
  o
 o o o

o o o
  o
o  o



Slide 62

Бинарна филтрация


При r(x,y)≥3


ако пиксела не свързва няколко контура то той се
филтрира

o  o
o  
o  o

o  o
  o
o  o

o  o
  
o o o

o o o
  
o  o

  
o  o
o o o

  o
  o
o o o

o  
o  
o o o

o o o
o  
o  

o o o
  o
  o

o  o
  
o  o

o o 
o  
o o 

o o o
o  o
  

 o o
  o
 o o


Slide 63

Бинарна филтрация
обработван пиксел
r=1
r=1

r=2

r=2

r=3

преди изтъняването
след изтъняването


Slide 64

Благодаря за вниманието!