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