4 Mart 2010 Perşembe

Yüz Tanıma Sistemi - 2

PCA Algoritması ve Özyüzler Metodu

PCA algoritması ve Özyüzler metodunun kısaca bir tarihçesine bakalım;

Öz yüzler yaklaşımı ilk olarak Sirovich ve Kirby (Eigenfaces, Principal Component Analysis, PCA, 1987) tarafından kullanılarak yüzü etkin bir şekilde göstermek için uygulanmıştır. Temel bileşen analizi olarak da bilinen Karhunen-Louve genişlemesine dayanmaktadır. Bu, bilgi teorisinde veriyi kodlama ve kodunu çözmede iyi bilinen bir tekniktir. Bu kişiler yüz resimleri gruplarından başlayarak bu resimlerin temel bileşenlerini hesaplamışlardır. Daha sonra da öz vektörün sadece küçük parçalarının ağırlıklı birleşimini kullanılarak yüz resmini yeniden oluşturmuşlardır. (Kirby ve Sirovich, 1990) bu metotlarını 115 yüz resmi veri tabanında test ettiler ve yaklaşık olarak %3 yanılma (hata) payıyla bir yüzü yeniden oluşturmak için sadece 40 öz vektörün yeterli olduğunu göstermişlerdir. Bundan kısa bir süre sonra yüzün simetrisini dikkate alarak (örneğin bütün yüzlerde gözler, burun v.s. aynı bölgede) orijinal metotlarını geliştirdiler. Algoritmayı 87 kişilik bir veritabanında test etmişlerdir.
(Turk ve Pentland, 1991) bu fikri daha da geliştirdi ve ilk tam otomatik sistemlerden birini üretmişlerdir. Kendi sistemlerini 16 kişinin 2500 resmi bulunan bir veri tabanında denemişlerdir. Resimler farklı bas uyumlarını, boyutları, ışıklandırma koşullarından seçilmiştir. Sistemleri, farklı ışıklandırmaya sahip resimler üzerinde %96, farklı bas uyumlarının da %85, farklı görüntü ölçeklerinde %64 doğru sınıflandırma sonuçları elde edilmiştir.

Geçmişte yapılan çalışmalar böyle.Şimdi bu metodu biraz açıklamaya çalışayım.

Görüntü tanıma uygulamalarında kullanılan klasik yöntemlerden temel bilesen analizi (PCA) yöntemini temel alan yöntemlerde yüksek dereceden özniteliklerle ilgilenilmez. PCA, veriyi düşük bir boyuta, verideki değişmeyi koruyacak şekilde eşleyen dikgen bir doğrusal dönüşümdür. İlk temel bilesen verideki en büyük değişme yönündedir ve ikinci bilesen bir sonraki en buyuk değişme yönündedir. PCA ile boyut indirme işleminde, ilk bir kaç temel bilesen kullanılarak verinin değişmesini en çok etkiyen özellikler alınır. Böylelikle daha az miktarda veri kullanılarak, taşınan bilginin büyük kısmı korunur. Sağladığı avantajlar, hızlı ve hesaplama acısından kolay olması. Fakat sınıf bilgisini kullanmadığını göz önüne alırsak, en fazla değişmenin olduğu bileşenlerin sınıflandırma problemi için doğru öznitelikleri içerdiğini garanti edemeyiz.
PCA algoritmasının 3 temel amacı vardır;
  • Verilerin boyutunu azaltmak
  • Tahminlerde bulunmak
  • Veri setini, bazı analizlerde görüntülemek
Özyüz elde ederken ise , öncelikle veritabanı içerisindeki n x m boyutundaki yüz resimleri tek boyutlu bir satır vektörüne çevrilir. n xm= N olduğunu düşünürsek, elimizde m tane n boyutlu yüz vektörü olur.Özyüzler elde etmenin matematiği ve pca algoritmasının matematiği hakkında elimde türkçeye çevirdiğim kaynak bulumaktadır. İsteyen olursa maille yollayabilirim. 

İşin algoritması ise şöyle ; 
Yüz tanımada özyüz yönteminin kullanım algoritması Şekil-1’de gösterilmiştir. İlk olarak orijinal resim eğitilecek resimler arasına eklenir ve bu E dizisi içinde tanımlanır. Daha sonra eğitim setindeki her resim için ağırlık hesabı yapılır ve W dizisine eklenir. X bilinmeyen resmi gözlemlenir, belirlenen görüntü için ağırlık hesabı yapılır ve Wx vektörü bulunur. Daha sonra Wx vektörü ağırlıkları bilinen diğer görüntülerle karşılaştırılır. Son olarak da doğru yüz görüntüsü olup olmadığının cevabının verilmesiyle algoritma sonlanır.


 
Şekil 1. PCA ve Özyüzler Yönteminin Algoritması

  Daha önce de söylediğim gibi PCA ve özyüzler metodunun matematiği ile ilgili elimde daha geniş türkçe kaynak bulunmaktadır. Formülleri yazmak biraz işkenceli olduğu için buraya yazamadım fakat isteyen olursa yollayabilirim...

55 yorum:

  1. qlimax_x_21@hotmail.com selam ben visual basic 6 da yüz tanıma programı yazabilir miyim? Şimdiden Teşekkürler

    YanıtlaSil
  2. Visual basic hakkında çok bir bilgim yok fakat neden olmasın.Ama herhangi bir mecburiyetiniz yoksa dil konusunda kütüphane desteği yüksek olan dilleri seçmeniz daha mantıklı olacaktır.

    YanıtlaSil
  3. Merhaba hocam ben hazırladığım tezde sizin siteniz dende bazı bilgiler aldım.müsait olursanız bana pca metodlarıyla ilgili elinizde
    olan dökümanları gönderebilir misiniz
    şimdiden teşekkürler
    hamza çoban
    coban.hamza@gmail.com

    YanıtlaSil
  4. Yanıtlar
    1. Hocam merhaba eğer dökümanlar halen mevcut ise rica etsem bana yollayabilir misiniz.
      Teşekkürler.
      yunusemresahan27@gmail.com

      Sil
  5. merhaba türkçe kaynak sıkıntısı çeken biz öğrencilere çok büyük bir yardımda bulunmuşsunuz böyle bir blog hazırlayarak. çok teşekkürler. benim de tezle ilgili çalışmalarımda pca hakkında daha geniş bilgiye ihtiyacım oldu. mümkünse bana da yollayabilir misiniz?
    iyi çalışmalar dilerim
    canatar.o@gmail.com

    YanıtlaSil
  6. Bilgisayarıma yenilerde format attım fakat arşiv cdlerime bir bakayım bulursam mutlaka yollayacağım. Ayrıca takip ettiklerim kısmında birkaç site var oraya bakarsanız da bu konuda çok yardımcı olacaktır size.
    İyi Çalışmalar...

    YanıtlaSil
  7. iyi günler,

    Eigenface ile ilgili elinizde Türkçe'ye çevirdiğiniz kaynak olduğunu söylemişsiniz. Benim tez konum bu olduğundan bana bu konuda yardımcı olursanız çok sevinirim. goksuuslu@hotmail.com

    mailinizi bekliyorum.

    İyi günler

    YanıtlaSil
  8. Merhaba,

    PCA ve yüz tanıma ile ilgi elinizdeki türkçe kaynaklarını banada gönderebilir misiniz? Okulumda hazırladığım bir proje için.

    Malinizi bekliyorum.
    a_balkan@hotmail.com

    YanıtlaSil
  9. Herkese maille yolladım dökümanı.

    İyi çalışmalar...

    YanıtlaSil
  10. dostum eline yureğine sağlık. dediğin özyuzler metodunun matematiği ile ilgili turkçe kaynakları atarsan bana e mailmolarak minnettar kalırım. şimdiden tesekkur derım.
    e-mail:orkundakci@hotmail.com

    YanıtlaSil
  11. Dökümanı mail olarak attım.

    İyi Çalışmalar...

    YanıtlaSil
    Yanıtlar
    1. kardeşim zahmet olmazsa eğer dökümanlar halen duruyorsa rica etsem banada bi mail atabilir misin türkçe kaynak bulmak çok sıkıntılı

      Sil
  12. görüntü işleme ile ilgili elinizdeki dökümanları yollama imkanınız varsa bende alabilir miyim?
    Eğer o mümkün değilse Yüz tanıma hakkında olan dökümanlarınızı yollarsanız çok memnun olurum. tşk iyi bayramlar
    mutevazi_1@hotmail.com

    YanıtlaSil
  13. "PCA ve özyüzler metodunun matematiği ile ilgili elimde daha geniş türkçe kaynak bulunmaktadır."
    dediniz acaba bunları mail atabilirmisiniz ...
    tesekkurler
    mail : yavuzbugra@hotmail.com

    YanıtlaSil
  14. Şuan işyerindeyim fakat akşam yollarım.

    İyi çalışmalar..

    YanıtlaSil
  15. hocam günlerdir bekliyorum fakat unuttunuz galiba yollamayı , şimdiden teşekkurler....
    mail : yavuzbugra@hotmail.com

    YanıtlaSil
  16. Çok özür dilerim evet unutmuşum hatırlatmanız güzel oldu.Şimdi sadece PCA değil tüm proje dökümanlarımı upload ediyorum rapid linkini size de yollayacağım ayrıca proje kodlarım da var içerisinde...

    İyi çalışmalar.

    YanıtlaSil
  17. Merhabalar,
    Yazdığınız yazı çok güzel, eğer zahmet olmazsa bende alabilir miyim rapid linkini?
    Türkçe kaynak sıkıntısı çok fazla olduğu için çok yardımcı olacaktır.
    Şimdiden teşekkürler.
    selinberkcan@gmail.com

    YanıtlaSil
  18. hocam size zahmet banada mail atabilir misiniz linki?
    tşk mutevazi_1@hotmail.com
    tşk

    YanıtlaSil
  19. Teşekkürler iltifatlarınız için..Tüm dökümanlar linktedir.

    http://rapidshare.com/files/437958751/Face_Recognition_System.rar

    YanıtlaSil
  20. tşkler sağolun.

    YanıtlaSil
  21. Bir süredir bu konuyla ilgili araştırma yapıyordum. Kaynaklar için çok ama çok teşekkürler.

    YanıtlaSil
  22. Rica ederim ve yorumlarınız için ben teşekkür ederim, işinize yaradıysa ne mutlu bana...

    YanıtlaSil
  23. Merhaba Kubilay Bey. Çalışmalarınız çok güzel.
    http://rapidshare.com/files/437958751/Face_Recognition_System.rar
    linkinde problem var. Kaynaklara erişemiyorum. Acaba aşağıdaki mail adresine yüz tanıma ile ilgili döküman ve kodları göndermeniz mümkün mü? Görüşmek dileğiyle.
    pekermusa@gmail.com

    YanıtlaSil
  24. ilgili sayfadaki linki bu akşam yenileyeceğim.ayrıca mail olarak da yollarım.ilginiz için teşekkürler.

    iyi çalışmalar...

    YanıtlaSil
  25. Öncelikle yazınız için teşekkürler. Çok faydalı bir başlangıç oldu. Sizden rica etsem yenilediğiniz Türkçe kaynak linkini burada paylaşabilir misiniz acaba?

    YanıtlaSil
  26. Yüz tanıuma sistemi başlığındaki dökümanları indirebilirsiniz içlerinde bu konunun dökümanları da var.

    İyi çalışmalar...

    YanıtlaSil
  27. Merhaba ben kodlara ulaşamadım bana acilen gönderebilir misin teşekürler zaferbingol@hotmail.com

    YanıtlaSil
  28. Merhaba kubilay öncelikle paylaşımın için teşekkür ederim cok güzel olmus bende tezim için bu konuda calısıyorum ama yüksek lisans tezlernden baska birşey bulamamıstm.su kaynaklarla kodları rica etsem banada göndermem mumkun mu acaba eline saglık

    hsn_0589@hotmail.com

    YanıtlaSil
  29. Merhaba kubilay öncelikle paylaşımın için teşekkür ederim cok güzel olmus bende tezim için bu konuda calısıyorum ama yüksek lisans tezlernden baska birşey bulamamıstm.su kaynaklarla kodları rica etsem banada göndermem mumkun mu acaba eline saglık

    hsn_0589@hotmail.com

    YanıtlaSil
  30. Merhabalar,
    Benim de lisans bitirme projem db de binary olarak saklanan insan yüzlerinin tanınması ile ilgili.Yukarıdaki linke erişemedim yardımcı olabilir misiniz?
    fcelikdelen@mynet.com
    Çok tşkler

    YanıtlaSil
  31. Benim de tezle ilgili çalışmalarımda pca, eigenfaces ve diğer face recognition algoritmaları hakkında daha geniş bilgiye ihtiyacım var.

    Mümkünse bana da yollayabilir misiniz?

    cetin.surucu@yahoo.com.tr
    iyi çalışmalar

    YanıtlaSil
  32. Harici harddiskim bozulduğundan elimde bunlardan fazla döküman kalmadı önceden almış olanlar buradan paylaşırsa sevinirim...

    YanıtlaSil
  33. Öncelikle çok teşekkürler Kubilay Hocam, benim mastır tezim de benzer bir çalışma. sizin kodlarınızı ve dökümanlarınızı da incelemek isterim. Elinde gönderdiğiniz kod yada döküman bulunan arkadaşlar buradan paylaşırsa yada mailime atabilirse çok sevinirim.
    Şimdiden teşekkürler, çalışmalarınızda başarılar.
    f-t-m_@hotmail.com

    YanıtlaSil
  34. Merhabalar. Tezimde ben de bahsetmiş olduğunuz konuyla ilgili olarak çalışmalar yapacağım. Program olarak Matlab kullanacağım. Bu konuda yardımcı olabilecek kodlar ve dediğiniz gibi elinizdeki kaynaklar hala mevcutsa ve gönderebilirseniz çok teşekkür ederim.
    scinal26@yahoo.com
    İyi çalışmalar...

    mail adresim

    YanıtlaSil
  35. Harici diskim bozulduğundan elimde şuan kaynak yok fakat daha önceden alan arkadaşlar paylaşırsa sevinirim...

    YanıtlaSil
  36. arkadaşalar proje ödev konum yüz tamara sistemi
    bu konu ile ilgili elinizdeki kaynakları gönderebilirmisiniz hilmihan_007@hotmail.com şimdiden teşekkür ederim

    YanıtlaSil
  37. bende projemde kullanmak istiyorum. banada gönderirmisin sel61im@gmail.com

    YanıtlaSil
  38. ben kucuk bir yuz tanimyla ilgili proje yapmak istiyorum eger mumkunse sizin codlardan yararlana bilirmiyim zsabina8@gmail.com

    YanıtlaSil
  39. ben proje yapmayi dusunuyorum da yuz tanimayla ilgili codlarinizi inceleyebilirmiyim

    YanıtlaSil
  40. bu arada mail adresim zsabina8@gmail.com

    YanıtlaSil
  41. pca ile ilgili türkçe kaynağı ve kodları banada göndrebilir misinz? sedakzl92@gmail.com

    YanıtlaSil
  42. yüz tanıma ile ilgilenen baya bir kişi var bi sorum olacak umarım cevap alabilrim. Bitirme projem c# ile yüz tanma. yüz tanımada pca algoritmasını kullancağım özyüzleri nasıl çıkaracağımı bilmiyorum internette bir sürü araştırma yaptım önce eiğitim setindeki resimlerin ortalaması alınıp daha sonra kovaryans matrisini falan oluşturmam gerekiyormuş fakat ben bunları bi türlü koda dökemedim nerden başlayacağımı da bilmiyorum. bilen varsa bana yardımcı olabilir mi acaba cevabunız için şimdiden teşekkürler...

    YanıtlaSil
  43. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  44. Hocam elinizdeki PCA ve özyüzlerle alakalı kaynakları bana da gönderebilir misiniz..Şimdiden teşekkürler.. tugbasahinn34@gmail.com

    YanıtlaSil
  45. Vermiş olduğunuz bilgiler için çok teşekkür ediyorum ..

    YanıtlaSil
  46. hocam bende bu konu ıle ugrasıyorum , elınızde kaynagı banada yollayabılırmısınız ?

    aksoyhakn@gmail.com

    YanıtlaSil
  47. hocam bende bu konu ıleılgılenıyorum
    elınızdekı kaynagı bana gonderebılırmısınız ?
    nurayeserdem@gmail.com

    YanıtlaSil
  48. rica etsem kaynakları benimlede paylaşabilir misiniz?
    yunusemresahan27@gmail.com

    YanıtlaSil
  49. Merhaba, elinizdeki kaynakları banada yollarsanız sevinirim. İyi çalışmalar.

    yunusemregul35@gmail.com

    YanıtlaSil
  50. merhaba, ben bitirme projemi bu konu üzerine yapmak istiyorum .Elinizdeki kaynakları banada gönderebilir misiniz? Teşekkürler
    actt7795@gmail.com

    YanıtlaSil
  51. Hala kaynağı yolluyor iseniz bende rica edebilir miyim?
    ardabilgic@msn.com

    YanıtlaSil
  52. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  53. Merhaba hocam PCA ve MAtlab'ta yüz tanıma sistemi ile ilgili kaynak ve örnek kodlar varsa yollayabilir misiniz? Şimdiden teşekkürler.. coklarpelin94@gmail.com

    YanıtlaSil