Polinom Filtresi ile Görüntü Stabilizasyonu
Fatma Özbek, Sarp Ertürk
Kocaeli Üniversitesi
Elektronik ve Hab. Mühendisliği Bölümü
İzmit, Kocaeli
[email protected] , [email protected]
Özetçe
Bu bildiride video görüntü dizininde istenmeyen titreşimleri yok etmek amacıyla,
hareket tahmin işlemi önceden yapılmış, iki boyutlu çerçeve konumu düzeltme
işlemi için geliştirilen Polinom Filtresiyle görüntü dizini stabilizasyonu yöntemi
sunulmuştur. Polinom filtresi ile çerçeve konumu düzeltme yöntemi, görüntü
dizininin polinom filtre ile düzgünleştirilmesi sonucu titreşimi tamamen giderirken
aynı anda istenen kamera hareketlerini de korumasıyla iyi sonuç vermektedir.
1. Giriş
Görüntü stabilizasyonu, hareket halindeki araçlardan yapılan çekimler, görüntülü cep telefonları ve
robot-kamera uygulama alanlarında olduğu gibi video görüntülerinde de istenmeyen kamera
hareketlerinden dolayı oluşan düzensiz titreşimlerin giderilmesini amaçlamaktadır. Görüntü
stabilizasyonunda, kamera hareketinden dolayı oluşan ve çerçevenin yer değişimi şeklinde gözlenen
global hareketin istenmeyen bileşeni ayrıştırılırken sadece gerekli global hareketlerin muhafaza
edilmesi amaçlanmaktadır.
Görüntü dizini stabilizasyon (GDS) sistemi hareket tahmin sistemi ve hareket düzeltme sisteminden
oluşur. Hareket tahmin sistemi, görüntü dizini içerisinde çerçevelerin ardışık olarak global
hareketlerini bularak, kameranın gösterdiği yer değişimini tespit etmektedir. Hareket düzeltme
sistemi, global hareketleri ele alarak istenmeyen hareketlerin ayrıştırılması sonucu stabilize edilmiş
bir görüntü dizininin oluşturulmasını sağlamaktadır.
Görüntü stabilizasyonu için vektör entegrasyonu, frekans uzayında çerçeve konum filtrelemesi,
zaman uzayında FIR ve IIR filtreler ile çerçeve konum filtrelemesi ve Kalman filtresi [2] ile çerçeve
konum düzeltmesi yöntemleri önerilmiştir. Bu bildiride polinom filtresi kullanarak çerçeve konum
düzeltmesi ile görüntü stabilizasyonu önerilmektedir. Global çerçeve konumlarının polinom filtresi
ile düzgünleştirilmesi sonucu görüntüler titreşimden arındırılırken aynı anda istenen kamera
hareketleri de korunmaktadır. Polinom filtresi ile global hareketin yüksek frekanslarda görülen
titreşim öğeleri atılırken, düşük frekans elemanlarına karşılık gelen kamera hareketleri
korunmaktadır. Görüntülerin gerekli pozisyona getirilmesi sonucu titreşim öğelerinden arındırılmış
video oluşturulmaktadır. Polinom filtresinin yapısından dolayı bu teknik, gerçek-zamanlı çalışma
gerektirmeyen, kaydedilmiş video dizinlerinin stabilizasyon işleminde uygun bir yöntem
sağlamaktadır.
2. Polinom Filtresi
Polinomlar, bir adet x değişkenine bağımlı ve bu değişkenin pozitif tam sayı güçlerinin ağırlıklı
toplamıyla bir çıkış değeri oluşturan basit matematiksel fonksiyonlardır [1]. Polinom filtrelerin
temelini oluşturan polinom ifadesi aşağıdaki gibidir [3].
fi =
m
∑a
j =0
j
x i j = a 0 + a1 x i + a 2 x i2 + ..... + a m x im
(1)
a j , j ∈ [0, m] için m ’nci dereceden polinomun katsayıları ve bilinmeyen gerçel sabit sayılardır.
Polinom filtresinin görüntü stabilizasyonuna uygulanmasında önceden yapılmış global hareket
tahmin işlemiyle elde edilen çerçeve konum vektör sinyaline, düşük dereceli bir polinomun
uydurulması sonucu düzgünleştirilmiş bir çerçeve konum vektörü elde edilmektedir.Yatay ve düşey
düzlemde çerçeve konum değerleri sırasıyla (xi , y i ) olan polinom filtresi aşağıdaki gibi ifade
edilmektedir.
m
fi = ∑ a j hi j
j =0
x
x
,
m
f i = ∑ b j hij
y
j =0
(2)
y
Video dizininin çerçeve sayısı n alındığında i ∈ [0, n − 1] , j ∈ [0, m] ; yatay hareket dinamiğinde h
i
x
görüntü dizinin çerçeve numarası, f ise i'nci çerçeve için a j katsayılı m'nci dereceden polinomun
i
x
filtrelenmiş çıkış değerleri; düşey hareket dinamiğinde h görüntü dizinin çerçeve numarası,
i
y
fi
y
ise i'nci çerçeve için b j katsayılı m'nci dereceden polinomun filtrelenmiş çıkış değerlerdir. Bu f i
değerleri bize stabilizasyon için çerçevelerin yatay ve düşey düzlemde bulunması gereken
konumlarını vermektedir. h ve h gözlemleme bilgileri yatay ve düşey düzlemde i’nci çerçevenin
i
x
i
y
numarasını belirttiği için bu iki giriş değerleri eşit alınmaktadır. Böylece tek bir H gözlemleme
matrisin h i j eleman değerleri aşağıdaki gibi hesaplanabilir.
hij = f j ( hi ) = hi j
i=0,1,..,n-1
j=0,1,..,m
(3)
Burada f j (hi ) , gözlemleme bilgisini uyarlamak için seçilmiş bir fonksiyon modeli olup polinom
filtresinde f j (hi ) = hi j olarak hesaplanır. Polinom filtresinde H gözlemleme matrisi aşagıdaki gibi
ifade edilmektedir[3].
1 h0
h02 LL h0m  1 0

 
h12 LL h1m  1 1
1h
H =  1
 = M
M

 
1 hn −1 hn2−1 LL hnm−1  1 (n - 1)




m
LL (n - 1) 
0 LLLL 0
1 LLLL 1
(n - 1)2
(4)
Denklem (2) kısaca Fx = HA , F y = HB yazılabilir.
Fx , Fy stabilize edilmiş çerçeve konum değerlerini elde etmek için öncelikle, en küçük chi-kare
düzlem metodu kullanılarak aşağıdaki denklemlerde tanımlanan
A, B katsayıları hesaplanır[3].
x − f
i
n −1  i
x
hx2 = ∑ 
i =0  σ i


h2
ifadesini en küçük yapan
2
m
2

j

x
−
a j hi 

∑
i

n −1
j =0
x 
 = ∑

 = H0 A − X 0
σ

i =0
i






 yi − f
i
n −1 
y
hy2 = ∑ 
σi
i =0


2
(5)
2
m
2

j

y
b
−


∑
i
h
j

i
n −1
j =0
y 
 = 
∑
 = H 0 B − Y0


σi
i =0 







(6)
2
Sisteme en iyi çözümü veren H 0 , X 0 ve Y0 matrislerin elemanları aşağıdaki gibi hesaplanır.
h0ij =
hij
σi
, x 0i =
xi
σi
, y 0i =
yi
, i = 0,1,...., n − 1 ; j = 0,1,..., m
σi
(5) ve (6) ifadelerin en küçük kare tahmini olması için
(7)
σ i standart sapmanın sabit bir sayıya
atanması yani ölçüm hataların bağımsız ve bu sapmaya göre dağılmış olması gerekir. Standart
sapma σ =1 alınmıştır.
i
h2
ifadelerini en küçük yapmak için tercih edilen bir yöntem, aşağıdaki denklemlerin en küçük
kare çözümünü bulmaktır.
H0 A = X0
, H 0 B = Y0
(8)
Böylece görüntü dizinini en iyi satabilize eden yatay ve düşey düzlemdeki konum değerlerini
oluşturan A ve B polinom katsayıları aşağıdaki gibi hesaplanır.
(
T
A = H0 H0
)
−1
T
H0 X0
,
(
T
B = H0 H0
)
−1
T
H 0 Y0
(9)
Fx = HA , F y = HB olmak üzere stabilize edilmiş çerçeve konum vektörleri elde edilir.
Stabilizasyon edilirken yatay ve düşey pozisyon hareketinde oluşan karesel hatalar

1 n −1 
mse x = ∑  fi − xi 
n i =0  x

2
,

1 n −1 
mse y = ∑  fi − yi 

n i =0  y


2
(10)
kriterine göre çerçevelerin orjinal (stabilize edilmemiş) konumları

( xi , y i ) ,
ile polinom çıkışı

(çerçevelerin stabilize edilmiş konumları)  f , f  arasında minimum karesel hata olacak şekilde
 i i
 x
y 
polinom katsayıları hesaplanmaktadır.
3. Polinom Filtresi İle Stabilizasyon
İki-boyutlu görüntü dizini stabilizasyon sisteminde sadece kayma titreşimlerinin stabilizasyonu için
daha verimli çalışan çerçeve konum düzeltmesi uygulanmıştır. Görüntü dizini içerisindeki
çerçevelerin düzeltme vektörü, çerçevelerin orijinal konum değerleri ile düzgünleştirilmiş konum
değerleri arasındaki fark, V = ( X , Y ) − ( Fx , F y ) olarak bulunur.
Polinom filtresi, gerçek zamanlı çalışmayan yapısı nedeniyle stabilizeyi etkileyen gürültü
parametreleri olmadığından sadece filtresinin derecesi önemlidir. Polinom filtresinin derecesi,
stabilize edilmiş dizinde izin verilen konum değişimi miktarını belirlemektedir. Düşük dereceli bir
polinom sadece yavaş değişimler göstereceği için stabilize edilmiş çerçeve konumları ani
değişimler göstermeyecektir, bununla beraber bilinçli kamera hareketlerinin takip edilebilmesi için
polinom derecesinin aşırı küçük olmaması gerekir. Yüksek dereceli polinomda global hareketin
yüksek frekanslarda görülen titreşimle birlikte istenilen kamera hareketleri de atıldığından
stabilizasyon performansı azalabilmektedir.
4. Deneysel Sonuçlar
Hareket halindeki bir motorsiklete bağlanmış kamera ile yapılan çekimle elde edilmiş örnek görüntü
dizini stabilize edilmiştir. Şekil 1’ de bu görüntü dizini için işlenmemiş çerçeve konum bileşenleri
ve 3’ncü dereceden polinom filtresiyle düzgünleştirilmiş konum bileşenleri , Şekil 2’de ise 8‘nci
dereceden polinom filtresiyle düzgünleştirilmiş konum bileşenleri gösterilmiştir.
o rjin a lç e rç e v e k o n u m la ri
o rjin a lç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
25
15
20
10
5
15
0
10
-5
5
-1 0
0
-1 5
-5
-2 0
0
20
40
60
Ç e rç e v e N u m a ra si
80
100
0
20
40
60
80
100
Ç e rç e v e N u m a ra si
Şekil 1. Motor dizini için orijinal ve 3üncü dereceden polinom filtre ile düzgünleştirilmiş çerçeve
konum bileşenleri
o rjin a lç e rç e v e k o n u m la ri
o rjin a lç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
25
15
20
10
5
15
0
10
-5
5
-1 0
0
-1 5
-5
-2 0
0
20
40
60
Ç e rç e v e N u m a ra si
80
100
0
20
40
60
80
100
Ç e rç e v e N u m a ra si
Şekil 2. Motor dizini için orijinal ve 8inci dereceden polinom filtre ile düzgünleştirilmiş çerçeve
konum bileşenleri
Videoda geniş bir virajı dönen motorsikletin hareketinden dolayı oluşan yataysal ve düşeysel
kamera yer değişimine ek olarak, istenmeyen dikey sallantılar da gözlenmektedir.Şekillerden
görüldüğü gibi 3. dereceden polinom hareketteki değişiklikleri yakından takip edememektedir.
Derece arttıkça kısmen hesap yükü fazla olan işlemler gerekse de kamera hareketleri tam olarak
takip edilmektedir. 8. dereceden polinomda yatay ve düşey harekette en düşük karesel hatayı elde
etmekle birlikte global hareketteki ani değişimler yeterli yakınlıkta izlenip titreme hareketleri
alınmamıştır.
Farklı görüntü dizinlerinde yapılan incelemelerde, sekizinci dereceli polinomlar kullanıldığında iyi
bir stabilizasyonun sağlandığı ve bununla birlikte hareket dinamiğindeki değişimlerin tam olarak
takip edildiği gözlenmiştir. Şekil 3 ve Şekil 4’de, eğimli bir arazide ilerleyen araçtan paralel yolda
ilerleyen aracının görüntülendiği bir örnek dizin için çekimin yapıldığı aracın hareketinden dolayı
oluşan kamera yer değişimleri ve filtreyle düzgünleştirilmiş yer değişimler gösterilmiştir. Bu
görüntü dizininin stabilizasyonu neticesinde görüldüğü gibi polinomun derecesi belli bir dereceye
kadar arttıkça genel kamera hareketleri yakından takip edilirken titreşimler de bastırılmaktadır.
Özellikle 8’nci derceden polinom filtresinde, dikeyde arazinin engebeli olmasından kaynaklanan
sallantıların uygun bir şekilde düzgünleştirildiği görülmektedir. 8’nci derceden polinom filtresinde
çok fazla hesap yükü olmayan, yoğunluğu yüksek bir stabilizasyon elde edilmiştir.
o rjin a lç e rç e v e k o n u m la ri
o rjin a lç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
250
15
200
10
150
5
100
0
50
-5
0
-5 0
-1 0
0
20
40
60
Ç e rç e v e N u m a ra si
80
100
0
20
40
60
80
100
Ç e rç e v e N u m a ra si
Şekil 3. 3üncü dereceden polinom filtre ile stabilize edilen araba dizini için konum bileşenleri
o rjin a lç e rç e v e k o n u m la ri
o rjin a lç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
sta b ilize ç e rç e v e k o n u m la ri
250
15
200
10
150
5
100
0
50
-5
0
-5 0
-1 0
0
20
40
60
Ç e rç e v e N u m a ra si
80
100
0
20
40
60
80
100
Ç e rç e v e N u m a ra si
Şekil 4. 8inci dereceden polinom filtre ile stabilize edilen araba dizini için konum bileşenleri
Deneysel sonuçlara genel olarak bakıldığında kasıtlı kamera hareketlerinin yatay ve düşey konumda
tam olarak takibi 8’nci dereceden polinom filtre stabilizasyonu ile sağlanmıştır. Bu derecede
istenmeyen titreşimler en iyi bastırılmakla birlikte en küçük karesel hata elde edilmektedir. Fakat
derece çok küçük alındığında polinom sadece yavaş değişimler göstereceği için satabilize edilmiş
harekette ani değişimler takip edilememektedir. Ayrıca polinom filtresinde düzgünleştirilmiş
çerçeve konum değerlerini hesaplarken matris tersi ve vektör işlemleri nedeniyle hesaplama
açısından karmaşıklık polinom derecesi büyüdükçe artmaktadır. Fakat kullanılan polinom filtresi
gerçek zamanlı olmadığı için bu hesapsal yük filtrenin performansını etkilememektedir.
5. Sonuç
Bu bildiride, polinom filtresi kullanarak çerçeve konum pozisyonlarının düzgünleştirilmesi sonucu
oluşturulmuş yeni bir stabilizasyon sistemi gösterilmiştir. Gerçek-zamanlı çalışmamakla beraber,
önceden kaydedilmiş video dizinleri için etkin bir stabilizasyon elde edilmektedir. Gelecekte
polinom filtresine adaptiflik getirerek gerçek-zamanlı bir stabilizasyon sisteminin geliştirilmesi
amaçlanmaktadır.
Kaynakça
[1]. S. Valiviita, S. J. Ovaska, ve O. Vainio, “Polynomial predictive filtering in control
instrumentation: a review”, IEEE Trans. on Ind. Electronics, Vol. 46, No: 5, pp. 876-888, 1999.
[2]. E. Yaman, F. Tekin, S. Ertürk, “Kalman filtresi ile görüntü stabilizasyonu”, Elektrik
Elektronik-Bilgisayar Mühendisliği 9. Ulusal Kongresi, Kocaeli, 2001, pp. 557-560.
[3].
National InstrumentsTM, LabVIEWTM, User Manuel
Download

Polinom Filtresi ile Görüntü Stabilizasyonu