Ten Rengi Tabanlı Yüz Bulma Yöntemi ile Otomatik Video Dizinleme

Transkript

Ten Rengi Tabanlı Yüz Bulma Yöntemi ile Otomatik Video Dizinleme
AVIR: Ten Rengi Tabanlı Yüz Bulma Yöntemi ile Otomatik
Video Dizinleme ve Sorgulama
Taner Danışman, Adil Alpkoçak
Bilgisayar Mühendisliği Bölümü
Dokuz Eylül Üniversitesi, Đzmir
{taner,alpkocak}@cs.deu.edu.tr
Özetçe
Bu çalışmada, AVIR adı verilen ve ten rengi tabanlı yüz
bulma yöntemi ile otomatik video dizinleme ve sorgulama
sistemi sunulmuştur. Sistem video verisinden otomatik olarak
insan yüzüne ait bilgilerin bulunması, çıkarılması,
dizinlenmesi ve sorgulanmasını sağlamaktadır. Ayrıca, nesne
hareketi tabanlı yeni bir geçiş tanıma yöntemi kullanılmıştır.
Bununla birlikte AVIR’in tüm detayları ve uygulama
sonuçları ayrıntılı olarak tartışılmıştır.
1. Giriş
Günümüzde çoklu ortam veritabanlarının, özellikle de video
verilerinin, büyüklüğünde büyük artışlar yaşanmaktadır. Bu
artış beraberinde dizinleme güçlükleri ortaya çıkarmaktadır.
Kullanıcılar çoklu ortam verilerini etkin bir şekilde
sorgulamak da istemektedir. Bu nedenle video verisinin,
çoklu ortam verisi sorgulanmadan önce yapısal bir biçimde
tanımlanması ve sorgulamaya hazır hale getirilmesi
gerekmektedir.
Bu çalışmada, ten rengi tabanlı yüz bulma yöntemi
kullanılarak, insan yüzüne ait bilgilerin otomatik olarak
bulunması, çıkarılması, dizinlenmesi ve sorgulanması
amacıyla bir sistem (AVIR) geliştirilmiştir. AVIR basit
anlamda video verilerinden elde edilen sabit resim
karelerindeki insan yüzü bilgilerini çıkarır ve ayrıca,
dizinlenmiş olan veritabanının özetlenmiş metin yada
kullanıcı tanımlı yörüngeler belirtilerek sorgulanmasını
sağlar. Kullanıcı bir yörünge tanımlayarak, bu yörüngeyi
sağlayan zamansal ardışık sıralı resim listesini elde edebilir.
Sonuç alabilmek için insan yüzü bütün yörünge
kısıtlamalarını sağlamak zorundadır. Bu kısıtlamalar kullanıcı
tarafından sağlanır ve bütün ardışık yolları içerir.
Đkinci bölüm, ten rengi ile yüz bulma konusu tartışılarak
AVIR’de kullanılan yöntem açıklanmıştır. Üçüncü bölümde,
geliştirilen Nesne Hareketi Tabanlı Geçiş Bulma Yöntemini
açıklanmıştır. Dördüncü bölümde ise AVIR’de kullanılan
video dizinleme ve sorgulama yöntemi ve elde edilen sonuçlar
sunulmuştur. Beşinci bölüm ise bu çalışmadan elde edilen
sonuçlar verilmiştir ve gelecekte yapılabilecek çalışmalar
gösterilmiştir.
2. Ten Rengi ile Yüz Bulma
Bu çalışmada resimlerde bulunan insan yüzlerini bulabilmek
için ten rengi tabanlı, ön cepheden çekilmiş yüz tanıma
yöntemi kullanılmıştır. Ten rengi tabanlı yüz bulma
yönteminin avantajı, temel olarak alınan renk bilgisinin
dönme, yansıma, çevirme gibi etkenlerden bağımsız
olmasıdır. Diğer taraftan, renk bilgisi farklı ışık koşulları
altında çabuk şekilde değişime uğrayabilir.
Ten rengi ile yüz bulma, insan yüzünün ortalama renk
bilgisini kullanarak resimler içerisinde bulunan benzer
özelliğe sahip bölgeler kullanılarak tesbit etmeye çalışıldığı
bir yöntemdir. Bu yöntem dışında yaygın olarak kullanılan
diğer yöntemler Sinir Ağları (NN) ve Gizli Markov
modelleridir (HMM). Bu yöntemler daha az karmaşık yapıya
sahip olan gri ölçekli resimler kullanılarak uygulanmaktadır.
Gri ölçekli resimler insan yüzüne ait bilgileri arka planlarında
da içerdiklerinden, ten rengi tabanlı yöntemlerde kaynak
resimler renk bilgisini içermek zorundadır. Bu yüzden, gri
ölçekli resimler insan yüzü bulmak için uygun değildirler.
Renkli resimlerin hesaplanması kolay olmakla beraber,
aynı kişiye ait yüz farklı ışık koşulları altında farklı sonuçlar
verebildiği gibi, aynı ışık koşulları altında farklı ırklardan
insanlarda, farklı sonuçlar verebilirler. Bu problem, renk
görüşü açısından renk değişmezlik problemi olarak
adlandırılır.
Bu çalışmada kullanılan yüz bulma yöntemi Şekil 1’de
aşamalı olarak gösterilmiştir. Yöntem temel olarak dört ana
aşamadan oluşur ve her aşama kendine ait eleme yöntemleri
içerir.
Şekil 1 Yüz bulma
Aşama 1: Arka plan silme, bölütleme
Bu aşamada, resmi oluşturan imgeler yüz ve yüz olmayan
imgeler olarak bölütlendirilir.
Şekil 2’de sabit arka plana sahip olan bir resmin arka
planının otomatik olarak silinmesi gösterilmiştir. RGB renk
uzayında yapılan işlemde özetle her bir Pi , j pikseli yeniden
hesaplanarak;
eğğeRi , j > Gi, j > Bi, j
P
Pi , j =  i , j
 255 değeğil

 elde edilir.

Oluşan yeni resimde koşullarını sağlayan pikseller ten
rengi, bunlar dışındaki pikseller ise arka plan rengi
(Beyaz=255) olarak bölütlenir.
Şekil 4 Yüzsel özellikler
Şekil 2 Arka plan silme, bölütleme
Aşama 2: Yüz adaylarının bulunması, sınıflandırma
Bu aşamada yüz olması muhtemel bölgeler araştırılarak
sınıflandırmaya çalışılır. Yüz, ten rengi ile kaplanmış ve
beyaz renk veya resmin sınırları ile çevrilmiş bölgedir.
Bulunan yüz adaylarının her biri kendisini çevreleyen
diktörgensel alan ile temsil edilirler.
Resimlere her aşamada sezgisel fonksiyonlar kullanılarak
hatalı sonuç üretebilecek bölgelerin gözardı edilmesi sağlanır.
Örneğin, alan açısından belirli bir sınırın altında olan yüz
aday bölgeleri ileriki aşamalarda gözönüne alınmamıştır. Aynı
şekilde bulunan yüz adayının yüksekliği, eninin en çok 1.5
katı ile sınırlandırılmıştır. Đç içe geçmiş yüz adaylarından
sadece dışta bulunan yüz adayı seçilmeli geri kalanlar
elenmiştir.
Sezgisel fonksiyonlar kullanılmadan Şekil 3’te 80 tane
yüz adayı tespit edilirken bu fonksiyonlar yardımı ile bu sayı
gerçekteki toplam yüz sayısı olan 2’ye indirilmiştir.
Aşama 4: Sonuçların birleştirilmesi
Bir önceki aşama yüzsel özelliklerin çıkarılmasında
kullanılmıştır
Bununla
birlikte,
bulunan
özellikler
sınıflandırılmadığı takdirde hangi alanın göz, ağız ya da kaş
olduğunun anlaşılması mümkün olmayacaktır. Bu aşamada
şablon yüz resmi kullanılarak bulunan yüzsel bölgelerin
şablon üzerinde kendisine en yakın bilinen bölgeyle
eşleştirilmesi sonucunda yüzsel bölgeler sınıflandırılmış olur.
Bu eşleştirme yapılırken, öncelikle şablon resimde ve
normalleştirilmiş resimde bulunan dikdörtgensel alanların
ağırlık merkezleri hesaplanmıştır. Bu merkezler arasındaki
Öklid uzaklığı hesaplanarak, bu uzaklık değeri en az olan
bölgeler birbirleri ile eşleştirilmişlerdir.
Şekil 5’te iki resmin karşılaştırılarak sonuç resmin
oluşturulması gösterilmektedir. Şablon yüz temel alınarak
normalleştirilmiş yüz şablonu elde edilir. Normalleştirilmiş
yüz şablonu üzerinde bulunan yüzsel bölgeler ile
sınıflandırılmamış yüz üzerinde bulunan yüzsel bölgelerin
eşleştirilmesi sonucunda sınıflandırılmış yüz oluşturulur.
Şekil 5 Yüzsel özellik yerleştirmesi
Şekil 3 Sezgisel fonksiyon sonuçları
Aşama 3: Yüzsel özelliklerin bulunması
Üçüncü aşamanın girdisi ilk aşamada bölütlendirilmiş
resim ile ikinci aşamada elde edilmiş olan yüz adayları
kümesidir. Yüzsel özellikler beyaz renk ile doldurulmuş ve
etrafı ten rengi ile çevrili olan kapalı alanlardır. Şekil 4’e
bakıldığında gözler ve kaşların bu özelliğe sahip oldukları
görülmektedir.
Bu alanların her biri kendisini tamamen kapsayan
dikdörtgensel bir alan ile temsil edilir.
3. Nesne Hareketi Tabanlı Geçiş Bulma
Yöntemi
Video analiz ve uygulamalarının temeli video’yu temel
bileşenleri olan geçişlere ayırmaktır. Geçiş, ardışık olan ve
bölünmemiş video kareleridir. Geçiş bulma ise, videonun
temel bileşenlerine bölütlendirilmesini sağlar. Geçiş bulmada
kullanılan belli başlı yöntemler imge farklılıkları, istatistiksel
farklılıklar, histogramlar, sıkıştırma farklılıkları, kenar izleme
ve hareket vektörleri olarak sayılabilir. Geçişler %99 oranında
sert geçiş noktası, solma ve dağılma kategorilerine girer. Bu
sebeple kullanılan yöntemler bu tarz geçişleri bulmak için
özelleştirilmiştir.
Piksel farklılıklarına dayalı yöntemler, piksel değerlerinin
ardışık karelerde belirli bir eşik değerini aşma durumu kontrol
edilerek yapılır [2][3]
Đstatistiksel farklılıklara dayalı yöntemler, resimleri
bloklara ayırarak her bir blokta bulunan gri renk düzeylerinin
ortalama ve standart sapma değerleri elde edilerek geçiş
noktaları bulunmaya çalışılır[4]. Bu yöntem gürültüden
bağımsız olabilmesine karşın, istatistiksel hesaplamaların
karmaşıklığı sebebiyle yüksek hesaplama zamanı gerektirir.
Ayrıca bazı durumlarda mevcut olmayan geçiş noktalarının
bulunmasını sağlayabilir (false positive).
Histogram tabanlı yöntemler, en çok kullanılan geçiş
bulma yöntemlerindendir ve hız ve doğruluk açısından en
etkin çözüm olarak gösterilmektedir [2]. Genel
olarak
resmin bloklara ayrılarak renk histogramları ya da gri düzey
histogramlarının bire bir karşılaştırılması sonucunda belirli bir
eşik seviyesinin aşılmasıyla geçiş noktasının bulunması
amaçlanır [5].
Sıkıştırma farklılıkları yöntemi ise, renk histogramı da
kullanılarak JPEG formatlı ardışık resim karelerinin
sıkıştırılma oranlarını gözönüne alarak geçişlerin bulunması
esasına dayanır.
Kenar bulma yöntemlerinde ise, öncelikle ardışık resim
karelerinde bulunan, resme giren ve resimden çıkan kenar
sayıları hesaplanarak bu değişim oranının yüksek olduğu
kareler geçiş noktası olarak adlandırılır [7].
Hareket vektörleri yöntemlerinde ise, genel olarak
resimler bloklara bölünerek bu blokların hareketlerindeki
değişiklikler gözönüne alınarak geçiş noktası bulunmaya
çalışılır[3]. MPEG formatındaki videoların içerdiği blok
bilgileri sıkıştırma amaçlı olduklarından bu yöntemde
kullanılmazlar.
Bu çalışmada, video geçiş sınırlarını öncelikle nesnelerin
takip edilerek bulunmasına dayalı bir yöntem geliştirilmiştir.
Bu nesneler bu çalışmada insan yüzü olarak seçilmiştir. Eğer
nesne, yerini değiştirirse geçiş noktası bulunmuş olur.
Histogram tabanlı yöntemlerle karşılaştırıldığında, bu yöntem
ayrıntılı bilgiyi gözönüne almaz, sadece nesnelerin önceki ve
sonraki yer bilgilerini gözönüne alır. Bu bölgeler geçiş
noktaları olarak adlandırılırlar. Bu yöntem nesne tabanlı
olduğu için geçişlerin anlamsal olarak birleştirilmesiyle
oluşacak olan sahnelerin daha doğru şekilde bulunmasını
sağlar.
Eğer bir nesne bulunduğu geçiş bölgesini değiştirirse
geçiş bulunmuş olur. Daha biçimsel bir ifadeyle;
• Elimizdeki resmin M×N büyüklüğünde ve
Ib
olarak
adlandırılan w×h büyüklüğündeki alt bloklara ayrılmış
bir resim olduğunu varsayalım, 0 ≤ b ≤ i × j . Bu
durumda blokların her biri ayrı bir geçiş noktasını temsil
eder.
• Pi × Ri büyüklüğüne sahip Oi nesnesi, üst sol köşe
koordinatları Oix ve Oiy olan bir dikdörtgensel alan ile
temsil edilirler.
• Pi × Qi büyüklüğündeki
her
Oi
nesnesi,
büyüklüğündeki alt bloklara bölünerek herbir
r×s
Oi , t alt
bloğuna WOi ,t ağırlığı verilir. Geçiş noktasını bulabilmek
Oi nesnesini kapsayan I j bloğu ile kesişen tüm
için
piksellerin ağırlıklı toplamları hesaplanır ve aşağıdaki
eşitliği en büyük yapan b değeri seçilir.

 P/r × R/s

k max 
W ×Kesisim (Qi ,t , l k )  eger 0 ≤ k ≤ M / w × N / h
b=


 t =0


0 degil ise
∑
1 Qi,tx,y ∈ l x,y
b
Kesisim (Qi ,t , I b ) = 
0 deg il ise
Ardışık iki
I ≠I
i
b
i +1
b
Ii
ve I
i +1
karesinde, sadece ve sadece
ise bir geçiş noktası vardır
Yüzün bulunduğu geçiş noktasını bulmak için I b
bölgelerinin her birinin ağırlıklı kesişim değeri hesaplanır. En
yüksek değere sahip olan bölge yüzün ait olduğu bölge olarak
seçilir. Algoritmanın aşamaları Şekil 6’da gösterilmiştir.
Şekil 6 Nesne hereketi tabanlı geçiş bulma algoritması
4. Video Dizinleme ve Sorgulama
Dizinleme sırasında video karelerinde bulunan yüzlere ait her
türlü bilgi bir veritabanında saklanır. Bu bilgiler yüz, gözler,
kaşlar, burun ve ağız koordinat bilgileri ile bunlara ait
büyüklük değerlerinden oluşmaktadır. Sorgulamanın etkin
bir biçimde yapılabilmesi için ilk aşama olan yüz bulma
işlemlerinin yüksek derecede doğru sonuçlar üretmesi
gerekmektedir.
Yüz bulma çalışmasının değerlendirilmesinde recall ve
precision değerleri gözönüne alınmıştır. Recall, doğru olarak
bulunan yüzlerin gerçekte bulunan yüzlerin sayısına oranıdır.
Precision ise doğru olarak bulunan yüzlerin bulunan tüm
yüzlere oranıdır. Deneyler, Dokuz Eylül Üniversitesi Fen
Bilimleri Enstitüsü öğrencilerinin vesikalık fotoğraflardan
oluşan 250 adet veriseti üzerinde yapılmıştır. Deney
sonuçlarında, Recall=95.6 ve Precision=79.4 iken, ADVIS
2000 konferansında çekilen ve içerisinde birden fazla yüz
içeren resimlerde Recall=85.2 ve Precision=56.1 olarak
bulunmuştur[9]. Deney sonuçları Tablo 1’de detaylı olarak
gösterilmiştir.
Tablo 1 Yüz bulma sonuçları (Recall & Precision)
YBT
GNSay
(A)
TANSay
(B)
DANSay
(C)
R
=(C/A)
P
=(C/B)
Yüz
Sol kaş
Sağ kaş
Sol göz
Sağ göz
Ağız
250
250
250
250
250
250
301
107
102
183
184
129
239
95
90
159
159
107
95.6%
38%
36%
63.6%
63.6%
42.8%
79.4%
88.7%
88.2%
86.8%
86.4%
82.9%
YBT= Yüzsel Bilgi Türü
GNSay=Gerçek Nesne Sayısı
TANSay=Toplam Algılanan Nesne Sayısı
DANSay=Doğru Algılanan Nesne Sayısı
R=Recall, P=Precision
Video sorgulama bölümünde ise daha önceki aşamalarda
elde edilen bilgiler kullanılarak insan yüzünün yapmış olduğu
hareketler iki farklı yöntemle sorgulanabilmektedir.
1. Daha önceden bulunmuş yüzsel bilgiler üzerinde yer
sorgusu yapılabilmekte, ağzın açık veya kapalı
olduğu
durumlar tespit edilebilmektedir.
2. Đkinci yöntemde ise insan yüzüne ait yörüngeler
çizerek bu yörüngeleri sağlayan ardışık karelerin
sorgulanması sağlanmıştır.
Her iki yöntemin peformansı, doğrusal olarak kullanılan
nesne bulma yönteminin sonuçlarına bağlıdır. Bu nedenle,
seçilen yüz bulma yönteminin recall ve precision değerlerinin
yüksek olduğu durumlarda video geçişlerini yakalamak aynı
oranda doğruluk değeri yüksek sonuçlar vermektedir.
5. Sonuçlar
Bu çalışmada tanıtılan nesne hareketi tabanlı geçiş bulma
yöntemi, temelinde anlamsal nesnelerin hareketine bağlı
olarak geçiş bulduğu için mevcut geçiş bulma yöntemlerinden
farklı bir yapıya sahiptir, bu açıdan bu konuya yeni bir bakış
açısı getirmektedir. Mevcut yöntemler imge farklılıkları,
istatistiksel farklar, histogramlar, sıkıştırma farklılıkları, kenar
izleme ve hareket vektörleri başlıkları altında toplanabilir ve
bu yöntem daha çok hareket vektörleri konusuna yakınlık
gösterir.
Bu yöntemin dezavantajı ise birden fazla nesne içeren
video karelerinde, nesnelerden hangisinin temel alınarak
geçişin gerçekleştiğine karar vermekteki zorluktur. Bu
durumda problemin kaynağına göre fiziksel büyüklüğü veya
hareket hızı en yüksek olan nesne temel olarak seçilebileceği
gibi, nesnelerden sadece birisinin geçiş yapması da çözüm
olarak düşünülebilir.
Gelecekte, nesne hareketleri gözönüne alınarak, birbirine
içerik ve anlamsal açıdan yakınlık gösteren geçişlerin
birleşmesiyle oluşan ve sahne adı verilen video bileşenlerinin
tanımlanmasında
tanıtılan
algoritmanın
kullanılması
amaçlanmaktadır. Bu yöntemle sahnelerin tanımlanmasında
ortaya çıkanki, bilgisayar bakışı açısındandaki zorlukların
giderilmesi amaçlanmaktadır.
6. Kaynakça
[1] Ahanger, G., & Little, T.D.C., A Survey of Technologies
for Parsing and Indexing Digital Video, Journal of Visual
Communication and Image Representation, 1995.
[2] Zhang, H.J., Kankanhalli, A., and Smoliar, S.W.,
Automatic Partitioning of Full-motion Video, Multimedia
Systems, Vol. 1, No.1, 1993, pp.10-28.
[3] Shahraray, B., Scene Change Detection and ContentBased Sampling of Video Sequences, in Digital Video
Compression: Algorithms and Technologies, Arturo
Rodriguez, Robert Safranek, Edward Delp, Editors, Proc.
SPIE 2419, February, 1995, pp. 2-13.
[4] Kasturi, R. and Jain R., Dynamic Vision, in Computer
Vision: Principles, Kasturi R., Jain R., Editors, IEEE
Computer Society Press, Washington, 1991.
[5] Nagasaka, A. and Tanaka, Y., Automatic Video Indexing
and Full-Video Search for Object Appearances, in Visual
Database Systems II, Knuth, E., Wegner, L., Editors,
Elsevier Science Publishers, 1992, pp. 113-127.
[6] Arman, F., Hsu, A., and Chiu, M-Y., Image Processing
on Encoded Video Sequences, Multimedia Systems
(1994) Vol. 1, No. 5, pp.211-219.
[7] Zabih, R., Miller, J., and Mai, K., A Feature-Based
Algorithm for Detecting and Classifying Scene Breaks,
Proc. ACM Multimedia 95, San Francisco, CA,
November, 1993, pp. 189-200.
[8] Ueda, H., Miyatake, T., and Yoshizawa, S., IMPACT: An
Interactive Natural-motion-picture Dedicated Multimedia
Authoring System, in proceedings of CHI, 1991 (New
Orleans, Louisiana, Apr.-May, 1991) ACM, New York,
1991, pp. 343-350.
[9] Danışman T., Automatic Video Indexing and Retrieval
with Skin Color Based Face Detection Method, Msc
Thesis, Graduate School of Natural and Applied
Sciences, Dokuz Eylül University, Đzmir, 2002

Benzer belgeler