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
gM 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
h0
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
8x
1
0 -2
0 -1
x [u, v]
y
f
1 2 1
1
0 0 0
8y
-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