Transcript Document

The University of
CS 4487/9587
Görüntü analizi için algoritmalar
Lena Gorelick, substituting for Yuri Boykov
Acknowledgements: slides from Steven Seitz, Aleosha
Efros, David Forsyth, and Gonzalez & Woods
Ontario
The University of
CS 4487/9587
Görüntü işlemenin temelleri

Ontario
Görüntü işleme
• Alan dönüşümü
– Döndürme,
– yeniden boyutlandırma.
• Görüntü zenginleştirme
– Point Processing
•
•
•
gamma düzeltmesi
Pencere merkezli düzeltme
histogram eşitleme
Pixel konumu
g ( x, y)  f (t x ( x, y), t y ( x, y))
g ( x, y)  f ( x, N  y)
Pixel yoğunluğu-gri
değer
g ( x, y)  t x, y ( f ( x, y))
g ( x, y)  f ( x, y) / 2
Window = 800
Center = 1160
The University of
CS 4487/9587
Görüntü işlemenin temelleri

Ontario
Görüntü işleme
• Alan dönüşümü
– Döndürme,
– yeniden boyutlandırma.
• Görüntü zenginleştirme
– Point Processing
•
•
•
gamma düzeltmesi
Pencere merkezli düzeltme
histogram eşitleme
g ( x, y)  f (t x ( x, y), t y ( x, y))
g ( x, y)  f (2 x,2 y)
g ( x, y)  t x, y ( f ( x, y))
g ( x, y)  f ( x, y) / 2
– Komşuluk analizi(Filtreleme)
The University of
Görüntü filtreleme

Görüntülerdeki gürültüler?
Courtesy of Carlo Tomasi


Ontario
Courtesy of Neel Joshi
Nasıl yok edilebilir?
Piksellerin gri değerlerinden yararlanılabilir mi?
Readings: Forsyth & Ponce, chapters 8.1-8.2
The University of
Görüntü filtreleme

Pikseller yeniden görüntünün içine karıştırılırsa ne olur?
Mekansal bilgi var

Ontario
Gürültü
Piksellerin işlenmesi de aynı etkiyi yaratır
• Piksellerin gri değerleri input olarak alınır
• Mekansal bilgi kullanılmaz

Komşuluk analizi
• Mekansal bilgi göz önünde bulundurulur
• Görüntüler mekânsal bilgiyi barındırırlar
Readings: Forsyth & Ponce, chapters 8.1-8.2
The University of
Görüntü filtreleme
Doğrusal görüntü dönüşümleri

1D fonksiyon


f [i ]  









0
1

0

0
M 
0
0

0

0
Ontario
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 0 0 0 0

0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0
g M  f ?
g[i]   M [i, j ] f [ j ]
j
The University of
Görüntü filtreleme
Doğrusal görüntü dönüşümleri

1D fonksiyon
2
1

 
0
 

f [i ]    M  1 / 2  0
 
0
 
0
 

0

0
Ontario
0 0 0 0 0 0 0
1 0 0 0 0 0 0
1 1 0 0 0 0 0

0 1 1 0 0 0 0
0 0 1 1 0 0 0
0 0 0 1 1 0 0

0 0 0 0 1 1 0

0 0 0 0 0 1 1
g M  f ?
g[i]   M [i, j ] f [ j ]
j
The University of
Görüntü filtreleme
Doğrusal değişim bağımsız filtreler
Ontario
matrix M

Genelde bir kalıp kullanılır

Bir çekirdek ile temsil edilir
h  [ a b c]
*
a

0

0
M 
0
0

0

0
* 0 0 0 0 0 0
b c 0 0 0 0 0 
a b c 0 0 0 0

0 a b c 0 0 0
0 0 a b c 0 0
0 0 0 a b c 0

0 0 0 0 a b 0

0 0 0 0 0 * *
(i - 1) i (i + 1)

2k+1 boyutlu bir çekirdek için
gM f
g [i] 
k
 h [u]  f [i  u]
u  k
The University of
Filtreleme
2B filtreleme

Ontario
Bir 2B f [i, j ] fonksiyonu 2B bir çekirdek ile
filtrelenebilir h[u, v]
g [i, j ] 
k
k

h [u, v]  f [i  u, j  v]
u  k v  k

Buna çapraz-korelasyon adı verilir
g  h f
The University of
Filtreleme
2B filtreleme

Ontario
Eğer çapraz-korelasyon filtresi yatay ve düşey
yönde hareket ettirilirse buna convolution
(katlama) adı verilir.
g  h* f
g [i, j ] 
k
k
  h[u,v]  f [i  u, j  v]
u  k v  k

k
k

u  k v  k
h [u, v]  f [i  u, j  v]
The University of
Filtreleme
Convolution

Ontario
Eğer çekirdek simetrik ise
h(u, v)  h(u,v)
convolution = çapraz korelasyon
The University of
2B filtreleme
Gürültü

Gürültü tipleri:
• Tuz-biber etkisi
• İmpals gürültü
• Gaussian gürültü

Ontario
Orijinal
Tuz biber etkisi
Kaynakları
• Aktarma sırasında
• Algılayıcı hataları
• Mercek hataları
İmpals gürültü
Gaussian gürültü
The University of
Filtreleme
Pratik gürültü giderme
Gürültü nasıl
giderilebilir?


Ortalama filtre (Mean)
Ontario
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 100 130 110 120 110 0
0
0
0
0 110 90 100 90 100 0
0
0
0
0 130 100 104
90 130 110 0
0
0
0
0 120 100 130 110 120 0
0
0
0
0 90 110 80 120 100 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
The University of
Filtreleme
Mean filtre
Ontario
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 0 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
g [ x, y ]
The University of
Filtreleme
Mean filtre
Ontario
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 10 20 30 30 30 20 10
0
0
0 90 90 90 90 90 0
0
0 20 40 60 60 60 40 20
0
0
0 90 90 90 90 90 0
0
0 30 60 90 90 90 60 30
0
0
0 90 90 90 90 90 0
0
0 30 50 80 80 90 60 30
0
0
0 90 0 90 90 90 0
0
0 30 50 80 80 90 60 30
0
0
0 90 90 90 90 90 0
0
0 20 30 50 50 60 40 20
0
0
0
0
0
0
0
0
0
0
10 20 30 30 30 30 20 10
0
0 90 0
0
0
0
0
0
0
10 10 10 0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
0
g [ x, y ]
0
0
0
The University of
Filtreleme
Mean filtrenin etkileri
Gaussian gürültü
Tuz-biber etkisi
3x3
Ontario
5x5
7x7
The University of
Filtreleme
Mean filtre çekirdek matrisi
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 0 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
Ontario
h[u, v]
The University of
Filtreleme
Mean filtre çekirdek matrisi

Ontario
What’s the kernel for a 3x3 mean filter?
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
1/9 1/9 1/9
0
0
0 90 90 90 90 90 0
0
1/9 1/9 1/9
0
0
0 90 0 90 90 90 0
0
1/9 1/9 1/9
0
0
0 90 90 90 90 90 0
0
h[u, v]
0
0
0
0
0
0
0
0
0
0
0
0 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
The University of
Filtreleme
Mean filtre çekirdek matrisi
Ontario
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 0 90 90 90 0
0
1 1 1
0
0
0 90 90 90 90 90 0
0
h[u, v]
0
0
0
0
0
0
0
0
0
0
0
0 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
1 1 1
1/9
1 1 1
The University of
Filtreleme
Gaussian Filtre
Ontario
Gaussian çekirdekte merkezdeki pikselin
ağırlığı diğer
0 0 0 0 0 0 0 0 0 0
piksellerden fazladır.

0
0
0
0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 90 90 90 90 0
0
0
0
0 90 0 90 90 90 0
0
1 2 1
0
0
0 90 90 90 90 90 0
0
h[u, v]
0
0
0
0
0
0
0
0
0
0
Gaussian onksiyon:
0
0 90 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
f [ x, y ]
0
1 2 1
1
 2 4 2
16
The University of
Filtreleme
Mean ve Gaussian filtreler
Ontario
Input görüntü
Mean Filtre
Mean filtre, 20x20
Gaussian filtre
Gaussian filtre, 20x20, σ = 5
The University of
Filtreleme
Mean ve Gaussian filtreler
Ontario
The University of
Filtreleme
Gaussian Filtre
Ontario



Low-pass filtredir
Gri değer geçişlerini yumuşatır ve
alçak frekans korunur.
Keskin köşeler (yüksek frekans)
yok edilir.
The University of
Filtreleme
Median (ortanca) filtre

Ontario
Median Filter oseçilen filtre penceresinin
büyüklüğüne bağlı olarak piksellerin ortanca
değerini hesaplayarak merkez piksele atar.
Median filtre sonucu
The University of
Filtreleme
Median (ortanca) filtre

Ontario
median filtre doğrusal olmayan bir filtredir.
Median( f1 ( x)  f 2 ( x))  Median( f1 ( x))  Median( f 2 ( x))
1 1 1
1
1  Median( 1 3 1 )  Median( 0
1 1 1
1
1 0 1 
0
Median( 0 1 0 )  Median( 1
1 0 1
0
0 1  0 1 0 
1 0  1 2 1 ) 
0 1 0 1 0
1 0
2 1 )  1  1  2
1 0
The University of
Tuz-biber etkisi
Ontario
The University of
Gaussian
gürültü
Ontario
The University of
Filtreleme
Median (ortanca) filtre
Ontario
Tuz-biber etkisini başarılı bir şekilde giderir.
 Fakat yavaştır.

The University of
Filtreleme
Türevler ve Convolution

Ontario
Görüntü türevleri ve Gradients
• Kenar-Köşe yakalamak amacı ile kullanılırlar
• Filtrelerin sonlu farkları hesaplanır

Laplacian of Gaussians (LoG) Filtresi
• Görüntü zenginleştirme, kenar/blob yakalamak için
kullanılır.
• Gaussians farkları alınarak uygulanır.
The University of
Reading: Forsyth & Ponce, 8.1-8.2
1. Türev

Ontario
Input görüntüde, input sinyalin birinci türevindeki
tepe ve düzlüklere karşılık gelen keskin gri değer
değişimi olarak adlandırılır.
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce, 8.1-8.2
1. Türev ve convolution

x

Ontario
 f ( x  h, y)  f ( x, y) 
f  lim

h0
h


Doğrusal mıdır?
?
?
?
?
?
?
?
?
?
 x [u, v]
The University of
Reading: Forsyth & Ponce, 8.1-8.2
1. Türev ve convolution

Sonlu fark
Ontario
f ( x  a)  f ( x  b)
İleri, geri ve merkez farklar
Sadece üç form göz önünde bulundurulur: ileri, geri ve merkez farklar
İleri fark:
x
 h[ f ]
h
f ( x  h)  f ( x )

h
 f ' ( x)
0
h
x-h
x-h/2
x+h
x
x
x+h/2
Slide credit: Wikipedia
The University of
Reading: Forsyth & Ponce, 8.1-8.2
1. Türev ve convolution

Ontario
Sonlu fark– Oluşan hata Taylor serisinin 1. türevi ile
elde edilir
Aynı formül geri-fark için şu şekilde düzenlenir:
Fakat merkez-farkta daha doğru yaklaşım elde edilir:
Slide credit: Wikipedia
The University of
Reading: Forsyth & Ponce, 8.1-8.2
1. Türev ve convolution
Ontario
Piksel boyutu x  h
 Sonlu merkez-fark


x

f ( x  x, y )  f ( x  x, y )
f 
2  x
Gereksinim duyulan  x çekirdek

f  x  f
x
0 0 0
1
 1
2 x
0
0 -1
0 0
 x [u, v]
The University of
Filtreleme
Sonlu farklar ile kenarlar elde edilir
Koyu = negatif
Beyaz = positif
Gray = 0
Ontario
x  f
The University of
Filtreleme
Yumuşatma

Ontario
Fark almadan önce yumuşatma= iki convolution
 x  (H  f )

Convolution aşağıdaki eşitlikle ilişkilidir
x  ( H  f )  ( x  H )  f
( x  H )
( y  H )
The University of
Filtreleme
Yumuşatma
Ontario
( x  H )  f
1 pixel
3 pixels
Yumuşatma filtresinin ölçeği türeve bağlıdır
7 pixels
The University of
Filtreleme
Sobel

Ontario
Sobel filtresi diğer bir derivatif filtredir

x
f
1 0 -1
1
 2
8x
1
0 -2
0 -1
 x [u, v]

y
f
1 2 1
1
 0 0 0
8y
-1 -2 -1
 y [u, v]
The University of
Filtreleme
Görüntü Gradienti


İki değişkenli bir fonksiyon tanımlansın f ( x, y)
(x,y) noktasındaki gradient aşağıdaki şekildedir
 fx   x  f 
f   f   



f
 y   y 

Ontario
Gradient büyüklüğü
|| f || ( fx ) 2  ( fy ) 2 
x
f
x
y
f
y
( x  f ) 2  ( y  f ) 2
small image
gradients in low
textured areas
The University of
Filtreleme
Kenar yakalama için görüntü gradyenti

Ontario
Görüntü gradyentlerinin tipik kullanım alanı kenar
yakalamadır
Canny köşe yakalayıcı ekstrem
olmayan Gradientler bastırılır
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution

Ontario
Girdi sinyaldeki tepe ve düz alanlar 2. türevde
“zero-crossings” e karşılık gelir.
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution
Ontario
Taylor serisi açılımı
Merkez fark 2. türeve yaklaşır
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution


Ontario
İyi lokalize edilmiş
köşeler
Fakat gürültüye duyarlı
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution
Ontario
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution

Ontario
Laplace operator  f    f   f
2
 f  f
 f  2  2  [ x
x
y
2
2


x 

y ]      f    f
 y 
“divergence
of gradient”
0 0 0
-1 2 -1
0 0 0

0 -1 0
0 2 0
0 -1 0

0 -1 0
-1 4 -1
0 -1 0
The University of
Reading: Forsyth & Ponce, 8.1-8.2
2.Türev ve convolution
Ontario
 f  f
 Laplacian Zero Crossing  f 
 2
2
x y
2
2
Kenar yakalayıcı filtre
(Gradiyentin maksimumunun hesaplanmasına
Gri değerf
Alternetif bir hesaplama)

Gradient
büyüklüğü
http://homepages.inf.ed.ac.uk/rbf/HIPR2/zeros.htm
Laplacian
(görüntünün
2nd türevi
||  f ||
f
The University of
Filtreleme
Laplacian Filtre
Ontario
-Değişen bölgelerde sıfır
-Kenarın bir tarafında pozitif
-Diğer tarafında negatif
- band-pass filter (yüksek ve alçak frekansları bastırır)
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Filtreleme
Laplacian of a Gaussian (LoG)

Fark almadan önce yumuşatma
1 
x y 
LoG( x, y )  
1
 e
4 
2
 
2 
2
2
Ontario
 G  LoG
x2  y 2

2 2
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Filtreleme
Laplacian of a Gaussian (LoG)
Ontario
LoG filtresi
sonucu
Orijinal
Yüksek ve alçak frekanslar bastırılır
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Filtreleme
Laplacian of a Gaussian (LoG)
Ontario
Kontrast eşik değeri olmaksızın ham zero-crossing
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Filtreleme
Laplacian of a Gaussian (LoG)
Ontario
Kontrast eşik değeri olmaksızın ham zero-crossing
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Filtreleme
Laplacian of a Gaussian (LoG)

Ontario
İki Gaussians (DoG) farkı uygulanır
http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
The University of
Reading: Forsyth & Ponce ch.7.5
Filtreler ve şablonlar

Ontario
filtereleme = cross-correlation
f(x,y)
(x,y)
h* f
g(x,y)
Correlation
Filter Mask
Input Image
(x,y)
f w  f w ( x, y )
h  fw
|| h |||| f w ||
  arccos
Output Image
g ( x, y )  cos( )


İki vektör arasındaki açı hesaplanır: filtre ve görüntü
penceresi 
Benzerlikler ölçülür
The University of
Filtreleme
Şablon eşleme
Ontario
f w  f w ( x, y )
Normalize edilmiş
cross-correlation


h  fw
|| h |||| f w ||
  arccos
Kaynak ve şablon arasındaki korelasyon hesaplanır
h ( x, y )
f ( x, y)
http://scien.stanford.edu/pages/labsite/2008/psych221/projects/08/MariaJabon/index.htm
The University of
Filtreleme
Şablon eşleme

Ontario
f w  f w ( x, y )
Normalize edilmiş cross-correlation
h  fw
|| h |||| f w ||
  arccos

Çok yavaş çalışır
f
g  cos( )
| g | 1
h
Slide credit: Matlab manual
The University of
Filtreleme
Şablon eşleme
h
Ontario
g  cos( )
f
Slide credit: OpenCV manual