Matlab da Ten Rengi ile Tekli ve Çoklu Yüz Tanıma - RGB ve YCbCr
[ Başlıklar(Programlama Dilleri) ] > [ Matlab ] > [ Matlab da Ten Rengi ile Tekli ve Çoklu Yüz Tanıma - RGB ve YCbCr ]
Oluşturma Tarihi: 28.12.2012 17.04

ÖDEV

Renkli bir resimdeki (birden fazla yüz bulunan) yüzleri ortaya çıkaran (bulan) program yazınız.

Geliştirdiğiniz programı farklı ışık altında çekilmiş olan resimler üzerinde deneyerek test ediniz ve sonuçları yorumlayınız.


ARAŞTIRMA ve UYGULAMALAR

Yüz tanıma yapmak işlemini daha basite indirgeyerek çalışmaya başlamanın; işi parçalara bölmenin daha kolay olacağı kanaatine vararak yüz bulma yöntemleri konusunda dünya çapında yapılmış çalışmaların internette bulunan birçok dilde hazırlanmış teori ve uygulama çıktı örneklerini araştırdım.

Öncelikli amaç olarak ten rengi tespitine yoğunlaştım. Rgb renk cetvelinde ki ten rengini tanımlayan renk aralıklarını elde ettiğim sonuçlar ve grafikerlerin kullandığı ten rengi aralıklarını deneme yanılma ile en iyi sonuçları alabileceğim değerleri bulmaya çalıştım. Elde ettiğim ten rengine ait rgb değerlerini kırmızı renk için “R” 95-100 aralığı, yeşil renk için “G” 80-90 aralığı ve mavi renk için “B” 80-100 aralığını baz alarak tek kişi bulunan resimlerde sonuçları elde etmeye çalıştım.


Kod Bloğu


Ten renginin olduğu yerlerin değerlerini inceleyerek yatay ve dikey düzlemde en yüksek ve en düşük değerleri baz alarak ten renginin tespit edildiği noktaları beyaza çevirmek yerine bir piksellik dörtgen çerçeve içine aldım.


Kod Bloğu


ÖRNEK ÇIKTILAR – Beyaz Noktalı







ÖRNEK ÇIKTILAR – Dörtgen Çerçeveli







Verilen çıktı örneklerinden de görüldüğü üzere ten rengi seçiminde rgb renkleri kullanıldığında amaçlanan başarı elde edilememektedir. Bunun sebebi işe ortamda bulunan ışık kaynağının etkisidir. Bu sebeple ışıklılık değerinin ayrı bir şekilde değerlendirildiği YCbCr renk cetvelini kullanmak daha cazip olmaktadır.

YCbCr renk cetvelinde ki ten rengini tanımlayan renk aralıklarını elde ettiğim sonuçlar ve grafikerlerin kullandığı ten rengi aralıklarını deneme yanılma ile en iyi sonuçları alabileceğim değerleri bulmaya çalıştım. Elde ettiğim ten rengine ait YCbCr değerlerini Cb için 85-135 aralığı, Cr için 135-180 aralığı ve Y için 80-255 aralığını baz alarak tek kişi bulunan resimlerde sonuçları elde etmeye çalıştım.

ÖRNEK ÇIKTI – Beyaz Noktalı



ÖRNEK ÇIKTI – Dörtgen Çerçeveli



YCbCr renk cetvelinden daha başarılı sonuç alınca artık birden çok kişi bulunan resimler üzerinde denemelere başladım. Örnek elde ettiğim sonuç aşağıda görülmektedir.

Öncesi



Sonrası



Elde ettiğim sonuçlardan da görüleceği üzere ten rengi seçildiğinde sadece yüz değil diğer uzuvlarda işaretlenmektedir. Hazır fonksiyonlar ile açma ve kapama işlemleri ile bunları atmaya çalıştım. Deneme yanılma ile istediğim nitelikte çıktı değerlerini bana verecek değerleri bulmaya çalıştım. Bazı resimlerde değerler ile oynama yapmam gerekse de açma için 900 kapama için ise “disk” yöntemi ve 3 değeri en iyi sonucu elde etmemi sağladı.


Kod Bloğu


Örnek Çıktı:



İstediğim sonucu elde ettikten sonra sırada yüzleri beyaz noktalar ile kaplamak yerine çerçeve içine almak vardı. Daha öncesinde tek yüz için yaptığım çerçeve içine alma metodunu geliştirerek çoklu yüz bulunan resimlere uygulamaya çalıştım. Beyazların birbirine en yakın olan noktaları arasında bir pikselden fazla boşluk mevcut ise bu noktaları en yüksek ve en düşük alması ile döngü içine alarak çerçeve oluşumunu sağladım.


Kod Bloğu


ÖRNEK ÇIKTILAR – Dörtgen Çerçeveli



















Tanınan süre içerisinde ki yaptığım araştırma ve çalışmalar ile ten rengi baz alınarak yapılan yüz tanıma modellemesinde geldiğim nokta yukarıda bulunan örnek çıktılardan görülmektedir.

İyi Çalışmalar...

Ad Soyad
E-Posta
Kod

Henüz bu bloğa yorum yapılmadı. İlk yorum yapan sen ol...

Etiketler: matlab , yuz , tanima , face , detection , recognition , software , program , kod , ten , rengi , rgb , ycbcr , tek , cok , toplu , kisi , fotograf , temizleme , color , colour , skin , human
Sitede su anda 3 kişi bulunmaktadir. Bugune dek 446183 kisi tarafından, 733564 adet tiklama yapilmistir.
© Susbi.com
Version 1.1
Site_Map