• Sonuç bulunamadı

Gerçek zamanlı insan yüzü belirleme

N/A
N/A
Protected

Academic year: 2021

Share "Gerçek zamanlı insan yüzü belirleme"

Copied!
80
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ. Gerçek Zamanlı İnsan Yüzü Belirleme Nadir SUBAŞI Yüksek Lisans Tezi Bilgisayar Mühendisliği Anabilim Dalı Danışman: Yrd. Doç Dr. Rembiye Kandemir Edirne 2011.

(2) T.C. TRAKYA ÜNİVERSİTESİ İ İTESİ FEN BİLİMLERİ İ İ İ ENSTİTÜSÜ İTÜSÜ Gerçek Zamanlı İnsan Yüzü Belirleme Nadir SUBAŞI Yüksek Lisans Tezi Bilgisayar Mühendisliği Mühendisliğği Anabilim Dalı. /01/2011 tarihinde aşağıdaki ıdaki jüri tarafından kabul edilmiştir. edilmi Bu tez 18/01/2011. Yrd.Doç.Dr Rembiye KANDEMİR KANDEM. Yrd.Doç.Dr Hilmi KUŞCU. Danışman. Üye. Yrd.Doç.Dr Deniz TAŞKIN Üye.

(3) iii. Yüksek Lisans Tezi, T.C. Trakya Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı.. ÖZET. Son yıllardaki askeri, ticari ve yasal uygulamaların artması nedeniyle yüzlerin gerçek zamanlı olarak tanınması sıklıkla üzerine çalışmalar veren bir konu başlığıdır. Yüz bulma bu konu başlığının en zorlu ve karmaşık alt başlığı olarak literatürde yer almaktadır. Doğru, güvenilir ve gerçek zamanlılıktan ödün vermeden hazırlanması gereken yüz bulma işleminin zorluğu, yüzün çok boyutlu karmaşık ve anlamlı görsel objelere sahip olmasında yatmaktadır. Bu çalışmada gerçek zamanlı akan video görüntüsü üzerinde insan yüzü aday bölgelerinin yerinin saptanması üzerine çalışmalar yapılmıştır. Görünüm tabanlı ve Özellik tabanlı yüz bulma uygulaması olarak iki uygulama tasarlanarak bu iki uygulamanın performansı karşılaştırılmıştır. Özellik tabanlı yüz bulma uygulamasında MATLAB Simulink ortamında hazırlanmış olup ten rengine göre bir yüz aday seçimi gerçekleştirilmiştir. Görünüm tabanlı yüz bulma uygulamasında ise yüzün boyut ve pozuna bağımlı olmayan değişimlerine karşı güçlü olan Haar özniteliklerini kullanan Haar Peşpeşe Sınıflayıcılar (Haar Cascade Classifier, HPS) kullanılmıştır. Uygulama da MATLAB programlama dili Image Acquisition ve Image Processing toolları, Intel OpenCV kütüphanesi kullanılmış ve grafiksel kullanıcı ara yüzü ile görselleştirilmiştir. Bu tez, Trakya Üniversitesi 2008/84 nolu proje kapsamında TÜBAP tarafından desteklenmiştir. Bu tez 2010 yılında yapılmıştır ve 70 sayfadan oluşmaktadır. Anahtar Kelimeler: ”Gerçek zaman, Yüz Belirleme, Haar Cascade, Adaboost, Özellik Tabanlı, Görünüm Tabanlı, Simulink, MATLAB”.

(4) iv. Master Thesis Trakya University Graduate School Of Natural And Applied Sciences Department Of Computer Engineering.. ABSTRACT. Recent years, military, commercial and legal practices due to the increase in real-time face recognition are a major subject that often works on. Face detection the most challenging and complex sub-heading as the title of this topic is described in the literature. The Face detection system needs be accurate,reliable and without compromissing of real-time.The Difficulty of face detection system is faces have got multi-dimensional and meaingfull visual objects. In this study, real-time streaming video images of human faces on the detection of the location of candidate regions studied on. Appearance-based and Feature-based face detection application is designed and these two applications are compared. In feature-based face detection application, From the MATLAB Simulink environment has been prepared and carried out by the color of a face candidate selection. In appearancebased face detection application, Haar Cascade Classifier (HPS) which use Haar Features, are used. In this study, MATLAB Programming Language, Image Acquisition, Image Processing Tools and OpenCV Library are used. And it is visualized with the graphical user interface This thesis has been supported by the Trakya University TÜBAP project No. 2008/84. This thesis is made in 2010 and consists of 70 pages.. Keywords: ”Real Time, Face Detection, Haar Cascade, Adaboost, Feature Based, Appearance Based, Simulink, MATLAB”.

(5) v. TEŞEKKÜR. Çalışmalarım sırasında bilimsel katkıları ile beni yönlendiren tez danışman hocam Sayın Yrd. Doç Dr. Rembiye KANDEMİR’e çok teşekkür ederim. Tezime katkıda bulunan ve tez konusunda yapıcı düşüncelerini paylaşan Yrd.Doç.Dr Hilmi KUŞCU ve Yrd.Doç.Dr Deniz TAŞKIN hocalarıma teşekkür ederim. Yüksek lisans, tez sürecinde benden maddi manevi desteğini esirgemeyen aileme ve eşime en içten teşekkürlerimi sunarım..

(6) vi. İÇİNDEKİLER. ÖZET................................................................................................................................iii ABSTRACT ..................................................................................................................... iv TEŞEKKÜR ...................................................................................................................... v İÇİNDEKİLER ................................................................................................................ vi ŞEKİL LİSTESİ .............................................................................................................viii ÇİZELGELER LİSTESİ ................................................................................................... x KISALTMA LİSTESİ...................................................................................................... xi 1.. GİRİŞ ........................................................................................................................ 1. 2.. YÜZ TESPİTİNE YÖNELİK ARAŞTIRMALAR .................................................. 4 2.1.. Yüz Bulmada Kullanılan Yöntemler .................................................................. 4. 2.1.1.. Bilgi tabanlı yüz bulma ............................................................................... 5. 2.1.2.. Özellik tabanlı yüz bulma ........................................................................... 6. 2.1.3.. Şablon eşleme yöntemi ile yüz bulma......................................................... 7. 2.1.4.. Görünüm tabanlı yüz bulma ........................................................................ 8. 2.1.5.. Doku tabanlı yüz bulma yöntemi ................................................................ 9. 2.2.. Yüz Bulma İşleminde Karşılaşılan Problemler .................................................. 9. 2.2.1.. Pozlar......................................................................................................... 10. 2.2.2.. Yüz boyutu ................................................................................................ 10. 2.2.3.. Ten rengi ve farklı ırklar ........................................................................... 11. 2.2.4.. Yüz ifadeleri .............................................................................................. 11. 2.2.5.. Engeller ..................................................................................................... 12. 2.2.6.. Yüz özellikleri ........................................................................................... 12.

(7) vii. 2.2.7. 3.. MATERYAL VE METHOD .................................................................................. 14 3.1.. Sayısal İmge İşleme .......................................................................................... 14. 3.1.1. 3.2.. 4.. 5.. Işık durumu ............................................................................................... 13. Sayısal imge işleme nedir? ........................................................................ 14. Renk Uzayları ................................................................................................... 15. 3.2.1.. RGB modelleri .......................................................................................... 18. 3.2.2.. Renk doygunluk modelleri ........................................................................ 20. 3.2.3.. Renk uzaylarında dönüşümler ................................................................... 23. 3.3.. Mahalanobis uzaklığı........................................................................................ 26. 3.4.. MATLAB Hakkında Genel Bilgi ..................................................................... 27. 3.4.1.. MATLAB ile yazılım geliştirmek ............................................................. 28. 3.4.2.. Sabit görüntünün elde edilmesi ................................................................. 36. 3.4.3.. Görüntü işleme de kullanılan MATLAB komutları .................................. 37. 3.4.4.. Hareketli görüntünün elde edilmesi .......................................................... 39. 3.4.5.. Simulink .................................................................................................... 42. 3.5.. OpenCV Kütüphanesi....................................................................................... 48. 3.6.. Haar Peşpeşe Sınıflayıcılar (HPS) .................................................................... 50. GELİŞTİRİLEN UYGULAMA VE SONUÇLARI ............................................... 53 4.1.. Özellik Tabanlı Yüz Bulma Uygulaması ......................................................... 53. 4.2.. Görünüm Tabanlı Yüz Bulma Uygulaması ...................................................... 56. SONUÇ, DEĞERLENDİRME VE ÖNERİLER .................................................... 62. KAYNAKÇA .................................................................................................................. 64 EK-A GÖRÜNÜM TABANLI YÜZ BULMA UYGULAMASI ARAYÜZ KODU .... 66 ÖZGEÇMİŞ .................................................................................................................... 69.

(8) viii. ŞEKİL LİSTESİ. Şekil 2.1. Farklı Açı/Pozlardaki İnsan Yüzü ................................................................... 10 Şekil 2.2. Farklı Boyutlardaki Yüzler ............................................................................. 10 Şekil 2.3. Farklı Irk ve Renkteki İnsan Yüzleri .............................................................. 11 Şekil 2.4. Farklı Yüz İfadelerindeki Yüzler .................................................................... 11 Şekil 2.5. Engellemeler ................................................................................................... 12 Şekil 2.6. Aynı Kişiye Ait Farklı Yüz Özellikleri ........................................................... 12 Şekil 2.7. Aydınlatma Farklılığı ...................................................................................... 13 Şekil 3.1. Newton Prizması ............................................................................................. 16 Şekil 3.2. Temel Renk Sistemleri ve Aralarındaki İlişkiler ............................................ 18 Şekil 3.3. RGB Renk Uzayı Köşegen Noktalarındaki Renk Karşılıkları ........................ 19 Şekil 3.4. RGB Uzayında Renk Oluşumu ....................................................................... 20 Şekil 3.5. HSV Renk Uzayının Konik ve Silindirik Görünümleri .................................. 22 Şekil 3.6. H-S-V Değerlerinde Değişimler ve Etkileri.................................................... 22 Şekil 3.7. RGB uzayından HSV uzayına dönüşüm ......................................................... 25 Şekil 3.8. MATLAB Çalışma Ortamı ............................................................................. 27 Şekil 3.9. Görüntünün Sayısallaştırılması ....................................................................... 36 Şekil 3.10. Resmin okunup filtre edilip görüntülenmesi................................................. 38 Şekil 3.11. Simulink Blok Diyagramları ......................................................................... 44 Şekil 3.12. İntegral Blok Diyagramı ............................................................................... 45 Şekil 3.13 Kazanç Blok Diyagramı ................................................................................. 45 Şekil 3.14. İntegral Bloğunun parametre ekranı ............................................................. 46 Şekil 3.15. OpenCV İle Hazırlanan Bir Uygulama ......................................................... 49 Şekil 3.16. HPS’ de kullanılan Haar öznitelikleri. .......................................................... 50 Şekil 3.17. HPS Basit Yapılı Sınıflandırıcılar................................................................. 51 Şekil 4.1. Özellik Tabanlı Yüz Bulma Uygulamasının Akış Diyagramı ........................ 54 Şekil 4.2. Simulink Model Tasarımı ............................................................................... 54 Şekil 4.3. Özellik tabanlı yüz bulma uygulamasının tek kişilik çalışma ekranı.............. 55 Şekil 4.4. Özellik tabanlı yüz bulma uygulamasının çoklu kişi için çalışma ekranı ....... 55 Şekil 4.5. Görünüm tabanlı yüz bulma uygulamasının akış diyagramı .......................... 57.

(9) ix. Şekil 4.6. HPS'nin alt sistemi .......................................................................................... 57 Şekil 4.7. Geliştirilen görünüm tabanlı yüz bulma uygulamasının aydınlık ortamdaki çalışma şekli .................................................................................................................... 58 Şekil 4.8. Geliştirilen görünüm tabanlı yüz bulma uygulamasının aydınlık olmayan ortamdaki çalışma şekli ................................................................................................... 58 Şekil 4.9. Geliştirilen görünüm tabanlı yüz bulma uygulamasının çalışma şekli ........... 59 Şekil 4.10. Deney Grubundan Yanlış Yüz Adaylarına Örnek ........................................ 59 Şekil 4.11. Deney grubundan Engellemeler olsa dahi Yüz adayı olarak Bulunanlar ..... 60 Şekil 4.12. Deney Grubu içerisinden Bulunan Başarılı Yüzler ...................................... 60.

(10) x. ÇİZELGELER LİSTESİ. Çizelge 3.1. Elektromanyetik Spektrumda Renk Dalga Boyları ve Frekansları ............. 16 Çizelge 3.2. RGB Uzayında Köşegen Noktaların Oluşturduğu Renk Karşılıkları ......... 19 Çizelge 3.3. HSV 0.75 Değerinde köşegen noktaların oluşturduğu renk karşılıkları ..... 23 Çizelge 3.4. Temel MATLAB Operatörleri .................................................................... 31 Çizelge 3.5. Bazı Temel MATLAB Fonksiyon ve Komutları ........................................ 35 Çizelge 4.1. Özellik Tabanlı Yüz Bulma Uygulaması için deney grubu başarısı ........... 56 Çizelge 4.2. Görünüm Tabanlı Yüz Bulma Uygulaması için deney grubu başarısı ....... 61.

(11) xi. KISALTMA LİSTESİ. BSD. :Berkeley yazılım dağıtım lisansı(Berkeley Software Distribution). CMYK. :(Cyan Magenta Yellow Dark). GUI. :Grafik Kullanıcı Arayüzü (Grafic User Interface). HPS. :Haar Peşpeşe Sınıflayıcılar (Haar Cascade Classifier). HSI. :(Hue Saturation Intensity),. HSV. :(Hue Saturation Value). MATLAB. :MATrix LABoratory. OpenCV. : Açık kaynak Bilgisayarlı Görü (Open Source Computer Vision). RGB. :Kırmızı Yeşil Mavi (Red, Green, Blue). YCbCr. :(Luminance Chorama Blue Chorama Red).

(12) 1. 1. GİRİŞ. Yüz tanıma problemi görüntü işleme, bilgisayarla görü ve örüntü tanıma konularında çalışan araştırmacıların yoğun olarak üzerinde çalıştıkları güncel, önemli ve zor problemlerden biridir. Bu konuda uzun zamandır çok sayıda bilim adamı çalışıyor olmasına karşın, problemin zorluğu nedeniyle gerçek yaşamda karşılaşılan sorunları çözmeye yetecek başarıma sahip yüz tanıma sistemleri hala geliştirilememiştir. Özellikle yakın geçmişte ve günümüzde ortaya çıkan saldırılar sonucu giderek artan güvenlik gereksinimleri diğer biyometrik yöntemlere olduğu gibi yüz tanımaya olan gereksinimi ve ilgiyi artırmıştır. Bilgisayarlı görü ve her türlü görüntü işleme uygulamaları, savunma sanayinden (robotik), güvenlik sistemlerine (akıllı kamera sistemleri), robot endüstrisinden (yapay zekâ), tıp bilimlerine (optik), ticari amaçlardan (sinyal işleme), web sayfalarındaki filtrelemeye (makine öğrenmesi) kadar çok geniş bir yelpazede kendisine yer bulur. Görüntünün dış dünyadan yakalanması ve sayısal dönüşümün sağlanıp işlenebilir hale getirilmesi kameralar ve yazılımdaki kamera sürücüleri vasıtasıyla yapılır. Hareket algılama; ardışık iki çerçeve arasında aynı olmayan piksellerin bulunarak bu çerçeveler arasında mantıksal ilişki kurmayı temel alır. Böylece önceki çerçevede tespit edilen pikseller, sonraki çerçevedeki yeni konumuna göre belirli bir yönde hareket ettiği düşünülür. Temel olarak öbek,. bölge veya piksel düzeyinde. taramalar yapılabilir. Öbek (Blok) düzeyinde taramalar da imge basit küçük öbeklerine ayrılmakta ve seçilen bu öbeğe en iyi karşılık gelen sonraki çerçevedeki öbek aranmaktadır (Telatar, 2009). Bölge bazlı yöntemler de birbirini takip eden her çerçevede meydana gelen değişim aranır. Değişim gösteren bölgenin hareket ettiği düşünülür. Piksel bazlı yöntemler de ise işlenmiş piksel grubunun taraması yapılarak değişim oranı ölçülmektedir. Günümüzde yüz tespiti ve analizi farklı alanlar da kullanılmaktadır. Örneğin, bir futbol maçında ortalama seyirci sayının çıkartılması, açık alanlarda (miting, toplantı).

(13) 2. kişilerin sayılması, belirlenen yüzlerde bir şüphelinin aranması, kişilerin ruhsal durumu ve ön görülebilir hareketinin tespiti ve takibi yapılabilmektedir. Örneğin, yüz tespit sistemine yakalanan bir şüphelin mimik ve jestlerinden o andaki hareket planı çıkartılabilir. Bir video konferansında hareket halinde kişilerin sistemler tarafından sürekli taranması ve görüş çerçevesinin merkezinde tutulmaları sağlanabilir. Bir araç sürücüsünün dikiz aynasına konulan standart bir kameradan yüz tespiti yapılarak uykusuzluk durumu takip edilebilir olumsuz durumlar da araç güvenlik sistemi çalıştırılıp aracın sürücüyü sarsıp uyandırması sağlanabilir. Askeri ve güvenlik uygulamaların da kameranın etkin görüş sahasındaki yasa dışı birimlere ait yüzlerin tespiti ve bunların ateşli unsur tarafından takibi ve imhası sağlanabilir. Bilgisayarlı görü, görüntü algılama, hareket takibi, insan yüzünün tespiti konusunda çok sayıda akademik ve ticari çalışmalar mevcuttur. Bu çalışmada, günlük yaşamımızda farklı amaçlarla kullanılabilecek gerçek çalışma koşullarında yüz bulma sisteminin geliştirilmesi amaçlanmaktadır. Bu amaçla iki farklı yüz bulma tekniği ile hazırlanan MATLAB ortamında geliştirilen iki farklı uygulama karşılaştırılmıştır. Birinci uygulama içerisinde Simulink ortamında geliştirilen temeli ten rengi seçimine dayanan bir özellik tabanlı yüz bulma uygulaması geliştirilmiştir. Ten rengi seçiminde ise Mahalanobis Uzaklığı algoritması ve MATLAB’ın görüntü işleme araç kutusu kullanılmıştır. İkinci uygulama içerisinde ise Intel’in OpenCV Kütüphanesi, HPS ve MATLAB’ın görüntü işleme araç kutusu kullanılmıştır. HPS eğitilmesi ise Adaboost algoritması ile gerçekleştirilmiştir. Birinci Bölümde, çalışmada kullanılan temel yaklaşımlar hakkında literatür araştırması hakkında bilgi verilmiştir. İkinci Bölümde, çalışmada kullanılan yöntemler ve araçlar açıklanmıştır. Bu kapsamda Sayısal imge işleme hakkında bilgi verilmiş, sıklıkla kullanılan renk uzayları ve dönüşümlerinden bahsedilmiştir..

(14) 3. Üçüncü Bölümde, geliştirilen uygulamalar için yapılan çalışmalar açıklanmıştır. Geliştirilen. yüz. bulma. sistemlerinde. kullanılan. ve. geliştirilen. yöntemler. açıklanmaktadır. Dördüncü Bölümde, geliştirilen uygulamaların deneysel sonuçları belirtilmiştir. Son Bölümde ise uygulamaların değerlendirilmesi yapılmış ve gelecekte yapılabilecek çalışmalardan bahsedilmiştir..

(15) 4. 2. YÜZ TESPİTİNE YÖNELİK ARAŞTIRMALAR. Yüz tespitine yönelik çalışmalar akademik, ticari, güvenlik ve askeri ve benzeri farklı alanlarda kullanımı yaygınlaşmaktadır. Bu konuda ilk çalışmalar Yang G. ve S.H Thomas tarafından 1992 yılında ivme kazanması sağlanmıştır (Yang G. ve S.H Thomas, 1992). Yüksek ivmeli devam eden gelişmeler ile şuan ki karmaşık yapıya ulaşılmıştır. Yüz bulma işlemlerinde sıklıkla kullanılan yöntemler ve karşılaşılan zorluklar aşağıda belirtilmiştir.. 2.1.Yüz Bulmada Kullanılan Yöntemler. Son yıllarda askeri, ticari ve yasal uygulama alanlarının artması nedeniyle yüzlerin otomatik olarak tanınması çok popüler bir konu haline gelmiştir. Yüz tanıma, en kabul edilebilir biyometriklerden birini karşılar. Genellikle yüz tanıma 3 parçadan oluşur. Bunlar; yüz tespiti, özellik çıkarımı ve tanımadır. Yüz bulma problemi için bir bilgisayar modeli kurmak oldukça zordur. Bu yüzden doğru, güvenilir, gerçek zamanlı yüz tanıma sistemi için yüz bulma işleminin doğru olması gereklidir. Bu zorluk yüzlerin çok. boyutlu,. karmaşık. ve. anlamlı. görsel. objeler. olmalarından. kaynaklanmaktadır(Yılmaz, 2001). Oysa insan beyni, bir an gördüğü bir yüzü yıllar sonra bile yaşlanma, saç uzaması gibi değişikliklere rağmen birkaç saniye içerisinde hatırlayabilmektedir. Yüz bulma, insan gözüne göre basit bir olay olmasına rağmen, bir bilgisayara süreci otomatikleştirmek için çeşitli görüntü işleme tekniklerinin kullanımını gerektirir..

(16) 5. Yüz bulma verilen bir resimdeki veya resim dizisindeki, ayrı sahnelerdeki yüz veya yüzlerin yerini bulma işlemidir. Yüz bulma tekniklerinden öne çıkan metotlar aşağıdaki gibidir. •. Bilgi Tabanlı Metot. •. Özellik Tabanlı Metot. •. Şablon Eşleme Metodu. •. Görünüm Tabanlı Metot. •. Doku Tabanlı Metot. 2.1.1. Bilgi tabanlı yüz bulma. 1994 yılında Yang ve Huang tarafından ilk bilgi tabanlı yüz bulma uygulaması gerçekleştirilmiştir. Bu metotta daha önce tanımlanan kişinin yüz bilgisi, ilgili kurallar ile yüzün özellikleri arasındaki ilişkiyi karşılaştırır(Sütçüler, 2006). Çeşitli kurallar tanımlanıp elde edilen bilgiler kullanılarak sonuca yaklaşılır. Bu kurallar yüzün karakteristiğinin özeti ile yüzün özellikleri arasındaki ilişkilerdir. Bu kurallara en basit örnek, kişinin yüzünde her zaman iki göz, bir burun ve bir ağız bulunmasıdır. Ancak biz yüz ile ilgili daha yeterli ve karmaşık kurallara ihtiyaç duyulur. Bu kuralları tanımlama bu yöntemin en büyük zorluğudur. Örneğin, kişi bilgilerinin iyi bir koda dönüştürülerek ifade edilmesi oldukça zordur. Eğer kurallar basit olarak tanımlanırsa, genellikle yüzün yanında diğer objelerde tespit edilir. Eğer kuralları daha kesin ve özel tanımlarsak büyük olasılıkla sadece bir tane doğru yüz bulunabilir. Genellikle kullanılan iki yöntem bulunmaktadır: •. Farklı çözünürlüklerde odaklanma. •. Yukarıdan Aşağıya yaklaşımı.

(17) 6. Farklı çözünürlüklerde odaklanma, çözüm olarak kullanılan resimde düşük çözünürlükte yüzün merkez ve çevresini renk yoğunluklarını ayarlar ve belirgin hale getirir. Yukarıdan aşağı yaklaşımda kurallar yüksek bilgili olanlardan düşüklere doğru sıralanarak belirlenir. Bu yüzden yöntemin adı Yukarıdan Aşağıya yöntem olarak kabul edilmiştir. Bilgi tabanlı yüz bulma metodunun diğer yöntemlere göre avantajları şunlardır: •. Yüze ait kuralları belirlemek oldukça kolaydır.. •. Kodlanarak elde edilen test verisinden özellikler çıkarılarak aday yüzlerin tanımlanması oldukça kolaydır.. •. Karmaşık olmayan arka plan resimlerde başarılı sonuçlar verir.. Dezavantajları aşağıdakilerdir: •. Yüze ait bilgileri kurallara çevirmek zor bir iştir. Çok fazla detaya inilirse yüzü bulmak zor olurken, genel bilgilerle de birden fazla yüz bulunabilir.. •. Yüzün ışık, poz durumuna göre bulma işlemi zorlaşır.. 2.1.2. Özellik tabanlı yüz bulma. Özellik tabanlı yüz bulma yöntemi, insan yüzünde bulunan değişmeyen özellikleri kullanarak hedefe ulaşmayı amaçlayan yaklaşımdır. Bu işlem, aşağıdan yukarıya yöntemi kullanarak gerçekleştirir(Xiong, 2004). Öncelikle yüze ait karakteristik özellikler belirlenir ve yüz bulma işlemi gerçekleştirilir. Avantajları şunlardır: •. Yüze ait karakteristik bilgiler pozdan bağımsız olduğundan bulma işlemi bundan etkilenmez..

(18) 7. •. Farklı yüz bulma yöntemleri ile bütünleşik olarak çalışabilir.. Dezavantajları ise şunlardır: •. Resimlerde bulunan gürültü, ışığın şiddeti bu yöntemi olumsuz olarak etkiler.. •. Uygulama yapılan resim karışık arkalana sahip olduğunda bu yaklaşım optimum sonucu vermekte zorlanır.. 2.1.3. Şablon eşleme yöntemi ile yüz bulma. Şablon eşleme yöntemi yüz tespitinde etkin kullanılan yöntemlerden biridir. Yüzün tespiti için hazır yüz şablonları kullanılır. Şablon eşleme tekniği, bir görüntüde şablon görüntüsüne benzeyen küçük parçaların bulunması esasına dayanmaktadır. Şablon görüntüsü büyük görüntü üzerinde dolaştırılır ve her pikselde eşleme yapılarak benzerlik ölçülür. Benzer şekillerin piksel koordinatları kaydedilir. Şablon ön cepheden çekilmiş insan yüzleri için oluşturulur temel olarak yüz, burun, göz kısımları belirlenir(Yang,2002). Avantajı şudur: •. Diğer metotlara göre gerçekleştirilmesi kolaydır.. Dezavantajları ise şunlardır: •. Şablonlar yüze yakın seçilmelidir.. •. Farklı döndürülmüş pozlarda sonuca ulaşmak oldukça zordur. Ön cepheden çekilmiş pozlarda başarıya ulaşırlar..

(19) 8. 2.1.4. Görünüm tabanlı yüz bulma. Görünüm tabanlı yaklaşımda daha önceden tanımlı yüz şablonu ya da öznitelik şablonların özelliklerinden faydalanarak yapılan yüz bulma işlemi çok yaygın olarak kullanılır. Yüzün görünüşünü örnek eğitim setiyle birlikte öğrenebilen yüz bulma yöntemidir(Park,2003). Metodun aşamaları şunlardır: •. Eğitim verilerinin belirlenmesi. •. Sınıflama ve eğitim metotları. •. Sunuş. •. Önişleme. •. Eğitim. •. Arama stratejisinin belirlenmesi. •. Yüzün tespiti. Görünüm tabanlı yüz bulma yöntemi eğitim verilerinin belirlenmesi aşamasında pozitif ve negatif örneklerle gerçekleşir. Pozitif örnekler yüz olan resimleri negatifler ise yüz olmayanları temsil eder. Sınıflama ve eğitim metotları dağıtım tabanlı, ağ tabanlı ya da diğer istatistik tabanlı metotlardır. Dağıtım tabanlı metotta girilen kişinin yüz resimleri tüm resim uzayının alt uzayı olarak belirlenir. Temel Bileşen Analizi bu yöntemi kullanır. Ağ tabanlı yaklaşımda yapay ağlar kullanılarak yüz tespitinde bulunulur. Yapay sinir ağları yaklaşımı bu yöntemi kullanır. İstatistikî yöntemde güçlü matematik yapısı kullanılarak yapılan yaklaşımdır. Destek vektör makineleri örnek olarak verilebilir. Ön işlemede maskeleme, aydınlık seviyesinin belirlenmesi, histogram eşitliği işlemleri yapılır. Eğitim kısmında ise eldeki verilerle ilgili eğitim metotları kullanılarak eğitim tamamlanır. Temel Bileşen Analizi, destek vektör makinesi, adaboost sıkça kullanılan görünüm tabanlı yüz bulma yöntemlerindendir(Park, 2003)..

(20) 9. 2.1.5. Doku tabanlı yüz bulma yöntemi. Doku tabanlı yüz bulma yöntemi, yüz belirlemede dokusal özellikleri kullanır. Yüzün yapısal belirgin özelliklerini kullanır. Eğitim için az sayıda örnek kullanarak sonuca giden yöntem olarak bilinir. Özellik uzayını yüksek boyutlardan daha alt seviyelere indirir ve algoritmada bulunan karmaşık hesaplamaları azaltır(Ross, A. , Manian,V., 2004).. 2.2.Yüz Bulma İşleminde Karşılaşılan Problemler. Sabit veya hareketli görüntüler içerisinde olması muhtemel yüzler çerçevenin farklı bölgelerinden verilebilir. Genellikle insan yüzünü bulmada karşılaşılan problemlerinden öne çıkanları aşağıda verilmiştir..

(21) 10. 2.2.1. Pozlar. Bir görüntüde insan yüzü her hangi bir poz ile gözükebilir. Yani yüz üç eksenden her hangi bir açıda olabilir(Şekil 2.1), veya bu açıların kombinasyonlarında bulunabilir. Her bir farklı açıdaki yüz bilgisayar için farklı bir yeni yüz tanımını gerektirir(gözlerin burunun veya ağzın yerlerinin değişmesi veya farklı açılardan görünüşlerinin farklı olması gibi).. Şekil 2.1. Farklı Açı/Pozlardaki İnsan Yüzü. 2.2.2. Yüz boyutu. Bir görüntü birden fazla yüz barındırabilir ve görüntü karesindeki her bir yüz farklı boyutlarda olabilir. Yani bir veya daha fazla yüz diğerlerinden küçük veya büyük olabilir. Bu durumda bir görüntü karesi içerisindeki farklı boyutlarda yüzleri algılamak ve yerlerini belirlemek gerekir. Böyle bir örnek Şekil 2.2’de gösterilmektedir.. Şekil 2.2. Farklı Boyutlardaki Yüzler.

(22) 11. 2.2.3. Ten rengi ve farklı ırklar. Bir görüntü içerisinde farklı ırklardan gelen insanlar olabilir. Her ırka ait ten rengi, yüz ifadeleri ve tanımlı özellikleri değişiklik gösterir. Bu durum Şekil 2.3’de gösterilmektedir.. Şekil 2.3. Farklı Irk ve Renkteki İnsan Yüzleri. 2.2.4. Yüz ifadeleri. İnsan yüzünün değişen ifadeleri değişik zamanlarda farklı gözükür. Örnek olarak ağlayan ve gülen yüzler arasındaki fark çok belirgindir (Şekil 2.4). Bu durumu algılama için kurulması gereken yüz modeli seçimi etkileyebilir.. Şekil 2.4. Farklı Yüz İfadelerindeki Yüzler.

(23) 12. 2.2.5. Engeller. Görüntüde yüz veya yüzlerin bir kısmı başka bir nesne tarafından engellenebilir. Örneğin başka bir yüz tarafından engellenme ile yüzün bir kısmının görülememesi, gözlük(özellikle güneş gözlüğünün gözlerin seçilmesini engellemesi), şapka veya başka bir yüz giysisi de benzer engellemeleri gündeme getirirler. Bu durum Şekil 2.5’te gösterilmektedir. Şekil 2.5. Engellemeler. 2.2.6. Yüz özellikleri. Aynı kişi bıyıklı ve bıyıksız, sakallı ve sakalsız görüntülerine farklı gözükebilir. Ayrıca değişik yüzler için genişlik, uzunluk ve yüz çevresi farklıdır ve bu nedenle yüzün genel bir matematiksel modelinin geliştirilmesinde zorluklarla karşılaşılır. Şekil 2.6’da farklı özelliklere sahip yüzler gösterilmektedir.. Şekil 2.6. Aynı Kişiye Ait Farklı Yüz Özellikleri.

(24) 13. 2.2.7. Işık durumu. Farklı ışık şiddeti durumlarında görüntü içerisindeki yüz değişik biçimlerde gözükebilir. Böyle durumlarda gölge vs. gibi etkiler nedeniyle aynı yüzün bazı özellikleri netleşebilir ve bazılar da daha kötü algılanabilir. Şekil 2.7 de aynı kişi farlı ışık durumları için gösterilir. Burada ilk resimde yüzün yarısı son resimde ise farklı açıdaki aydınlatma nedeniyle diğer yarısı seçilememektedir. Böylesi bir problem için yüz simetrisi yaklaşımları kullanılabilir.. Şekil 2.7. Aydınlatma Farklılığı. Yukarıda bahsedilen sınırlayıcı etkilerden dolayı yüz bulma işinin zor olduğu söylenebilir. Bilgisayar ortamında iki boyutlu sabit görüntü için yüz algılama probleminin yüz sayısı, yüz boyutu ve yerinin bilgisi önceden olmadan çözülmesi daha da zordur. Buna karşılık görüntü dizilerinde bu iş nispeten kolaydır. Çünkü yüzün yeri yüzün hareketinden kolayca tahmin edilebilir. Bu konuda geliştirilen bazı ticari yazılımlarda örneğin BioID ve FaceIt, yüz ve gözlerin hareketinden faydalanır ve yüz yeri ve boyutunun bir kısım önsel bilgisi kabulü yaparak yüz bulma işi gerçekleştirilir. Yüz tanıma, yüz onaylama ve yüz ifadesi tanıma sistemleri için önceden yüz bulmak gerekmektedir..

(25) 14. 3. MATERYAL VE METHOD. Tez çalışmasında kullanılan metotlar ve bilgi alt yapısı olarak sayısal imge işleme, renk uzayları ve dönüşümleri, gerçekleştirilen uygulamanın programlama tarafında MATLAB ve Simulink hakkındaki bilgiler bu bölümde anlatılacaktır.. 3.1.Sayısal İmge İşleme. Sayısal imge işleme gerçek ortamda bulunan (görünen) imgelerin sayısal bilgisayar ortamına aktarılmış haline denmektedir. İmge bilgisayar ortamına aktarılması sırasında en az kayıp amaçlanmaktadır. Gelişen algılayıcılar sayesinde bu kayıp miktarı ihmal edilebilecek oranlardadır.. 3.1.1. Sayısal imge işleme nedir?. İmge, iki boyutlu f(x,y) fonksiyonu olarak tanımlanabilir ve herhangi bir (x,y) koordinatı için / fonksiyonunun genliği, o noktada imgenin yoğunluğu olarak adlandırılır. Bütün x,y ve fonksiyon genlikleri sonlu ve tamsayı ise bu imge, sayısal imge olarak adlandırılır. Sayısal imge işleme, sayısal imgelerin sayısal bilgisayar ile işlenmesi anlamını taşır. Her sayısal imge sonlu sayıda elemandan oluşur ve her bir elemanın kendine özel bir yeri ve değeri vardır. Bu elemanlar, en yaygın kullanımı ile piksel olarak adlandırılır. Sayısal imge işlemenin iki önemli uygulama yöntemi vardır:.

(26) 15. İnsan algılaması için görüntü kalitesindeki iyileştirme amacına yönelik uygulamalara tıp, uzay programları, nükleer tıp, biyoloji, jeoloji, arkeoloji, astronomi, savunma ve endüstriyel uygulamalar örnek olarak verilebilir. İmge işlemenin nerede bittiği ve imge analizi ya da bilgisayarla görü gibi ilgili diğer konuların ne zaman başladığı hakkında tam bir görüş birliği oluşmamıştır. Bazen hem girişi hem de çıkışı imge olan işlemlerin imge işleme olduğu ayrımı yapılır. Ancak bu her zaman doğru olmayabilir. Örneğin bir imgenin ortalama yoğunluğunun hesaplanması, çıkışta tek bir sayı vermesine rağmen, imge işlemede çok sıradan bir görevdir. Bilgisayarla görü insan görme duyusunu taklide çalışan bir alandır. İmge analizi ise imge işleme ile bilgisayarla görü arasında bir yerdedir. İmge işleme ile diğer alanlar arasında kesin çizgiler olmamakla birlikte bilgisayarlarla gerçekleştirilen işleme üç farklı seviyede incelenebilir: düşük, orta ve yüksek seviyede işleme. •. Düşük seviyede işleme, gürültü azaltma, kontrast artırımı ve imge keskinleştirme gibi saha giriş seviyesi işlemleridir. Düşük seviye işlemede hem giriş hem de çıkış bir imgedir.. •. Orta seviyede işleme, segmentasyon ve nesnelerin sınıflandırılması gibi işlemleri ifade eder. Orta seviyede işlemede giriş bir imge iken çıkış genellikle bu girişten elde edilen, giriş imgesinin kenarları, dış sınırları veya nesnelerin benzerlik durumları gibi özellikleridir.. •. Yüksek seviyede işleme ise tanınan nesnelerin gruplandırılması gibi işlemleridir.. 3.2.Renk Uzayları. İngiliz fizikçi Isaac Newton (1642-1727) 1666’da bir odayı kararttıktan sonra güneş ışığının ince bir delikten odaya girmesini sağlamış, bu ışığın önüne bir prizma koyarak ışığın parçalanmış halini, tıpkı gökkuşağında olduğu gibi yedi renge (Kırmızı,.

(27) 16. Turuncu, Sarı, Yeşil, Mavi, Lacivert, Çivit Mavi, Menekşe Moru) yukarıdan aşağıya doğru bir perdeye aksettirmeyi başarmıştır(Şekil 3.1)(Bunting, 1998). Yapılan bu deney sonucu renk tayfı ortaya çıkmış (Çizelge 3.1) ve devam eden çalışmalar neticesinde Renk Bilimi doğmuştur. Renk, ışığın değişik dalga boylarının gözün retinasına ulaşması ile ortaya çıkan bir algılamadır. Bu algılama, ışığın maddeler üzerine çarpması ve kısmen soğurulup kısmen yansıması nedeniyle çeşitlilik gösterir ki bunlar renk tonu veya renk olarak adlandırılır(Hardeberg, J.Y, 1999). Tüm dalga boyları birden aynı anda gözümüze ulaşırsa bunu beyaz, hiç ışık ulaşmazsa siyah olarak algılarız. İnsan gözü 380nm ile 780nm arasındaki dalga boylarını algılayabilir, bu sebepten elektromanyetik spektrumun bu bölümüne, görünen ışık denir.. Şekil 3.1. Newton Prizması. Çizelge 3.1. Elektromanyetik Spektrumda Renk Dalga Boyları ve Frekansları. Renk. Dalga boyu. Frekans. Kırmızı. ~625-740 nm. ~480-405 THz. Turuncu. ~590-625 nm. ~510-480 THz. Sarı. ~565-590 nm. ~530-510 THz. Yeşil. ~500-565 nm. ~600-530 THz. Çivit Mavisi. ~450-420 nm. ~620-600 THz. Mavi. ~450-485 nm. ~680-620 THz. Mor. ~380-440 nm. ~790-680 THz.

(28) 17. Renk uzayları, renkleri tanımlamak için kullanılan matematiksel modellerdir. Renk uzaylarında amaç bütün renklerin temsil edilmesidir. Bu sebeple rengin belirlenmesi için üç bağımsız değişkene ihtiyaç duyulur ve uzay 3 boyutlu olarak tasarlanır. Renklerin renk uzayındaki yerleri de bu değişkenlere göre belirlenir. Her renk uzayının kendine özgü renk oluşturma standardı olup, uzaylar arası dönüşüm doğrusal veya doğrusal olmayan yöntemlerle yapılır (Şekil 3.2). Tristimulus sistemler de RGB (Red, Green, Blue). insan gözünün, renkleri. algılama işleminin matematiksel olarak modellenmesi amacıyla yapılan bir takım hesaplar sonucunda elde edilen X, Y ve Z renk koordinat bilgilerini içerirken, rengin üretimi cihazın nitelik ve niceliğine bağlıysa oluşan renk uzayı cihaz bağımlı (RGB, HSV (Hue Saturation Value), HSI (Hue Saturation Intensity), CMY (Cyan Magenta Yellow), CMYK vb.), üretilen renk her ortamda, aynı özellikleri taşıyorsa cihaz bağımsız (CIE (International Commission on Illumination) L*a*b ve CIE L*u*v tek tip, CIE XYZ ise tek tip olmayan), Işık değişimlerinin kolaylıkla tanınabildiği algısal (HSV, LCH), Video, televizyon sistemlerinde renk oluşumunda (YCbCr (Luminance Chorama Blue Chorama Red), YUV, YIQ), çiftler halinde kodlanmış, PCA ve ticari amaçlı üretilmiş (Munsell, Ostwald, RAL, NCS vb.) olmak üzere birçok çeşit ve standartta renk uzayları olarak tasniflenebilir (Trémeau, 2006)..

(29) 18. Şekil 3.2. Temel Renk Sistemleri ve Aralarındaki İlişkiler. 3.2.1. RGB modelleri. Kırmızı, Yeşil Yeşş ve Mavi dalga boylarının çeşitli ş şitli oran ve miktarlarda kullanılmasıyla elde edilen bir renk uzayıdır. Her dalga boyunun %100 oranında karıştırılması şştırılması aydınlığı aydınlığğ yani beyaz, %0 oranında karıştırılması ştırılması ş ise karanlığı karanlığ ğ yani siyah rengin elde edilmesini sağlar. sağğlar. RGB modeli bilgisayar ekranları veya katodik televizyon tüpleri gibi, doğrudan ğğrudan emilimle çalışan çalışşan cihazlarda kullanılır. Üç ana renk her oranda karıştırılarak ştırılarak ara renkler elde edilebilir. RGB renk uzayı çok sıklıkla kullanılmasına rağmen ğmen alt yapı materyali rengin elde edilmesinde belirleyici faktördür. Öyle ki alt yapının değişmesiyle ğ şşmesiyle renk de değişecek, değ ğ şecek, ş dolayısıyla televizyon, tarayıcı veya bir monitör üçlemesinde aynı renk elde edilemeyecektir. Dolayısıyla üç ana rengi kullanıp,.

(30) 19. diğer ana renkleri göz ardı ettiğinden (camgöbeği, sarı, eflatun) %100 fonksiyonel olmayacaktır. RGB görüntüsünü meydana getiren üç boyutlu matris de üçüncü boyuttaki her renk. (Kırmızı, Yeşil ve Mavi) 8 bit ile temsil edilir.. Basit bir hesaplama ile. 8. (2 )*3=16.777.216 renk oluşturulabilir. Dolayısıyla 1 piksel 24 bit ile temsil edilir. RGB Uzayında bütün renkler teorik olarak bir küpün içersinde veya üzerinde yer alır. Küpün köşegen noktalarında gri tonlar birikir. Şekil 3.3 ve Şekil 3.4. ‘de köşegen noktalarda renk oluşumu, Çizelge 3.2‘de ise renk oluşumlarına karşılık renk karşılıkları görülmektedir.. Şekil 3.3. RGB Renk Uzayı Köşegen Noktalarındaki Renk Karşılıkları. Çizelge 3.2. RGB Uzayında Köşegen Noktaların Oluşturduğu Renk Karşılıkları Beyaz. Sarı. Cam Göbeği Yeşil. Eflatun. Kırmızı. Mavi. Siyah. R. 255. 255. 0. 0. 255. 255. 0. 0. G. 255. 255. 255. 255. 0. 0. 0. 0. B. 255. 0. 255. 0. 255. 0. 255. 0.

(31) 20. Şekil 3.4‘ de Kırmızı, Yeşil ve Mavi Köşegenlerin oluşturduğu kübik şekil rengi oluşturmaktadır. (R80G200B130). Şekil 3.4. RGB Uzayında Renk Oluşumu. Şekil 3.4’de de görüleceği gibi rengin oluşabilmesi için her üç RGB bileşeni de aynı bant genişliğin de olmalıdır. Dolayısıyla RGB bileşenlerini tutan diyagonal çerçeve aynı piksel çözünürlüğüne ve derinliğe sahip olmalıdır (Jack, 1995). Bu durum en genel anlamda hesaplamayı zorlaştırmaktadır. Çünkü her durumda her üç RGB değeri okunmalı, hesaplanmalı ve tekrar yerine yazılmalıdır. Bunun yerine ten rengi saptama da ve hareket kestiriminde uzay dönüşümü yapılarak kestirme adımlarla işlem kolaylığı sağlanabilir.. 3.2.2. Renk doygunluk modelleri. Renkli görüntülerde ışık yoğunluğu ve doygunluğunun tespiti ve değiştirilmesi RGB renk uzayında oldukça yoğun matematiksel işlem gerektirmektedir. Bu durum iş yükünü artırmakta ve renkli görü uygulamalarında araştırmacıyı daha basit çözümler bulmaya yönlendirmektedir. Bu amaçla daha basit ve sezgisel olarak daha kolay renk seçimi yapılabilmesi için HSI ve HSV renk uzayları geliştirilmiştir. HSV renk uzayında ortamda bulunan renkler, RGB renk uzayından farklı olarak renk özü, doygunluk ve parlaklık olarak tanımlanmaktadır. Bu sebepten dolayı HSV renk uzayında ışık.

(32) 21. değişimleri kolaylıkla tanınabilmekte ve görüntü işleme sırasındaki zorluklar ortadan kaldırılabilmektedir(Smith, 1978). •. Renk özü, rengin baskın dalga uzunluğunu belirler, örneğin sarı, mavi, yeşil, vb. Açısal bir değerdir 0° - 360°, bazı uygulamalarda ise 0-100 arası olağanlaştırılır.. •. Doygunluk, rengin "canlılığını" belirler. Yüksek doygunluk canlı renklere neden olurken, düşük olasılık rengin gri tonlarına yaklaşmasına neden olur. 0100 arasında değişir.. •. Parlaklık ise rengin aydınlığını yani içindeki beyaz oranını belirler. 0-100 arasından değişir.. HSV renk uzayı 1978 yılında Alvy Ray Smith tarafından tanımlanmıştır. Amacı RGB uzayına göre insan görü düzeneğine daha yakın bir yapı oluşturmaktır. HSV, RGB renk uzayından doğrusal olmayan bir dönüşüm ile elde edilir (Agoston, 2005). Şekil3.5. HSV uzayının konik ve silindirik görünümleri, Şekil 3.6‘ de ise HSV değerlerindeki değişimin, renklere etkisi gözükmektedir. Her ne kadar HSV ve HSB aynı uzayı tanımlasalar da HSL farklı bir renk uzayıdır. HSV ayrıca aygıt bağımlıdır. Yani bu uzayda tanımlı bir renk, rengi üreten aygıt cihazına göre değişim gösterebilir. HSV uzayı, ilk tanımlandığı zamanlarda konik bir biçime sahipti ancak sonraki yıllarda, gerçek zamanlı geçerli koordinat denetimi için zamanın bilgisayarları yeterli olmadığından silindir biçimine dönüştürüldü. Açmak gerekirse, konik biçimde, aydınlık düzeyi azaldıkça koninin genişliği azalır, dolayısıyla, insan görüsüne uygun olarak, düşük aydınlıkta algılanabilen farklı doygunluk düzeyleri de azalırlar. Diğer yandan, silindir biçimi ile sıfır aydınlık düzeyinde bile yüksek doygunluk düzeyleri tanımlanabilir ve böylece geçersiz renkler elde edilebilir. Dolayısıyla görüntü işleme uygulamalarında konik biçimi tercih edilirken, renk seçimi görevlerinde silindir biçimi kullanılma eğilimini gösterir..

(33) 22. Şekil 3.5. HSV Renk Uzayının Konik ve Silindirik Görünümleri. HSV uzayının konik biçimi her ne kadar silindir haline göre bazı olumlu yanlara sahip olsa da, aydınlık ölçüsü olarak R, G, B değerlerinin değğerlerinin basitçe en büyüğünün büyüğ ğ kullanılıyor olması, insan görüsünün dalga uzunluğu uzunluğğu hassasiyetlerinin dikkate alınmamasına neden olabilmektedir olabilme (Poynton, 1997).. Şekil 3.6. H-S-V Değerlerinde Değişimler ve Etkileri. Şekil 3.6‘deki ‘deki konik görünümün en alt kısmı V=0 iken S=0 ise siyah, tepe noktası V=1 iken S=0 ise beyaz rengi göstermektedir. Şekilde Ş s ile gösterilen 0 ile 1 arasındaki değere ğğere oran denilmektedir.. S=0 iken H değerinin değğerinin bir önemi yoktur. V. değerini ğ değiştirmeden ğ ştirmeden S değeri d ğ azaltılırsa oluşan şan renge beyaz, S değeri değ değiştirmeden ğş V değeri ğeri azaltılırsa renge siyah eklenebilir. Tonlama ise S ve V değerleri değ ile oynanarak elde edilebilir (Jack, 1995). Çizelge 3.3’de HSV 0.75 değerinde ğerinde köşegen köş noktalarında renk karşılıkları verilmiş ilmiştir..

(34) 23. Çizelge 3.3. HSV 0.75 Değerinde köşegen noktaların oluşturduğu renk karşılıkları. 3.2.3. Renk uzaylarında dönüşümler. 3.2.3.1.. RGB renk uzayından HSV uzayına dönüşüm. 1. İlk olarak Hue (Renk Özü) , Saturation. (Doygunluk) ve Value. (B:Parlaklık, L Işık) değerleri hesaplanır.. H- Eğer Hue (Renk Özü) Renk 1 Max ise S- Saturation (Doygunluk) V- Value (Değer). H = (Renk 2- Renk 3)/ (Max-Min) S = Max- ( Min /Max) V = R, G ve B değerlerinden biri. 2. Değerler normalize edilir. Genel H, S, V değer aralıkları ;. 0. <= Renk Özü (H) <=360. 0. <= Doygunluk(S). 0. <= Değer(V) <=255. <= 100.

(35) 24. 3. H- Hue (Renk Özü) Dominant renk üzerinde kurulur. 3 temel renk aralığındaki renkler belirlenir;. Eğer Kırmızı ise H *= 60 Eğer Yeşil ise. H +=2; H * =60. Eğer Mavi ise. H +=4; H *= 60. Hue : 0-360 değerleri arasında renk özü tanımlanır. Sat veya S* =100 ile 0 ile 1 arasındaki özel şartlar tanımlanır. V , V *=255 dir.. Şekil 3.7‘de RGB küpünden HSV ve HSL uzaylarına dönüşümün şekli verilmiş, Aşağıdaki eşitlikte ise matematiksel olarak formülleştirilmiştir.. Bu yöntemde HSV renk uzayında hue ∈ [0, 180] ve sat ∈ [0, 255] olarak kullanılmıştır. •. Kırmızı renk için, (hue <15 veya hue>165) ve (sat>90). •. Mavi renk için,. (110< hue<130) ve (sat>90) koşulunu sağlayan pikseller. renk temelli ikili arama alanını oluşturulabilir..

(36) 25. Şekil 3.7. RGB uzayından HSV uzayına dönüşüm. 3.2.3.2.. RGB renk uzayından YCbCr uzayına dönüşüm. RGB renk uzayından YCbCr renk uzayına dönüşüm için Denklem 1, 2 ve 3 ‘den yararlanılır. Y' = 16 + ( 65.481 * R' + 128.553 * G' + 24.966 * B'). (1). Cb = 128 + (-37.797 * R' - 74.203 * G' + 112.0 * B'). (2). Cr = 128 + (112.0 * R' - 93.786 * G' - 18.214 * B'). (3).

(37) 26. 3.3.Mahalanobis uzaklığı. Regresyon analizinde doğrusallık ve normallik varsayımlarının karşılanmasını güçleştiren uç değerlerin olup olmadığını anlamak üzere kullanılan bir değerdir. Çok-lu regresyon modelinde kullanılan bağımsız değişkenler uzayındaki merkezden veya örneklem ortalamasından tek bir veri noktasının uzaklığını ölçen bir istatistiktir. Birçok örnek alındıktan sonra, bunların kullanılacak belirgin özellikleri ölçülür. Daha sonra özellik uzayında her bir örnek bir noktayı temsil edecek şekilde işaretlenir. Bu noktalara göre sınıfların ortalamaları belirlenir. Daha sonra her bir yeni bilinmeyen örneğin hangi sınıfa ait olduğu bu sınıf ortalamalarından hangisine daha yakın olduğu hesaplanarak belirlenir. Tek bir özellik kullanıldığında "özellik doğrusu" (özellik histogramı), iki özellik kullanıldığında "özellik düzlemi", üç ve daha fazla özellik kullanıldığında ise "n-boyutlu özellik uzayı" üzerinde bu hesaplamalar yapılır. Uzay kaç boyutlu olursa olsun aradaki mesafe önemlidir. Bu uzaklık da, genel "Öklid uzaklığı" olarak alınabileceği gibi, "Mahalanobis uzaklığı" da kullanılabilir. Bu yeni uzaklığın faydası, sadece merkezlere bakmak yerine, sınıfın yapısına da bakmaktır. Yani artık sınıflarımız sadece çembersel değil, elips şeklinde de olabilmektedir. Uzaklıklar bu yapıya göre ölçeklendirilerek değerlendirilir. Renk aralığını belirleme ve çıkarım işleminde her pikselin Denklem 4’de belirtilmiş olan Mahalanobis uzaklığı karesi ile tez deneylerinde saptanan ten rengi eşik değeri ile karşılaştırılmıştır. SquaredDistance(Cb,Cr) = (x-m)'*inv(C)*(x-m), where x=[Cb; Cr]. (4). Ten renginin tespitinden sonra verinin verimli işlenmesi için medyan filtreden geçirilmiştir. Tanımlanmış birbirilerine bağlı pikseller tanımlı miktarlarda ve oranlardaysa işaretlenerek piksellerin belirlenmesi sağlanır..

(38) 27. 3.4.MATLAB Hakkında Genel Bilgi. MATLAB, teknik hesaplamalar ve matematiksel problemlerin çözümü ve analizi için tasarlanmış bir yazılım geliştirme aracıdır. “MATrix LABoratory” kelimesinin kısaltması olan MATLAB, adında da anlaşılacağı üzere matrisler yani diğer bir deyişle diziler ile çalışır. Özellikle mühendislik alanındaki sistemlerin analizinde kullanılan MATLAB, görüntü işleme, yapay sinir ağları, sayısal işaret işleme, optimizasyon, veri elde etme, veritabanı, süzgeç tasarımı, bulanık mantık, sistem kimliklendirme, dalgacıklar gibi araçları ile kullanıcılara için mükemmel bir ortam sunmaktadır. MATLAB’de yazılan programlar, MATLAB’in kendine özgü dili kullanılarak yazılır ve MATLAB içinden çalıştırılmaktadır. Ayrıca yazılmış olan programları DLL ve EXE olarak oluşturabildiği gibi C/C++ kodlarına da çevirebilmektedir. MATLAB çalışma ortamı Şekil 3.8’de gösterilmektedir.. Şekil 3.8. MATLAB Çalışma Ortamı. Problemleri MATLAB’de komut satırında çalışmakta olan programlar yazılarak çözülebileceği gibi MATLAB GUI (Grafic User Interface) geliştirme aracını kullanarak, formlar ve butonlar gibi nesnelerden oluşan görsel yazılımlar geliştirilebilir. MATLAB’in şu an için Windows ve Linux ortamlarında çalışan sürümleri mevcuttur. Bugün için geliştirilen en son sürüm R2010b sürümü mevcuttur. (Aralık 2010).

(39) 28. MATLAB ile ; •. Veri elde etme. •. Veri analizi ve inceleme. •. Görsellik ve görüntü işleme. •. Algoritma prototipi oluşturma ve geliştirme. •. Modelleme ve simülasyon. •. Programlama ve uygulama geliştirme yapılabilir.. Bugün 800.000 den fazla akademisyen, araştırmacı, bilim adamı ve öğrenci tarafından kullanılan MATLAB, içinde gömülü pek çok ara yüzü ile bilgisayar dünyasının en gelişmiş teknik ve bilimsel problem çözme ve uygulama geliştirme aracıdır.. 3.4.1. MATLAB ile yazılım geliştirmek. MATLAB’de geliştirdiğimiz yazılımlar prosedür veya fonksiyon şeklindedir. Konsolda edit yazıp <enter> tuşuna basıldığında MATLAB editörü açılacaktır.. 3.4.1.1.. Prosedürler. Düz yazı şeklinde yazılan komutlardır. Arka arkaya çalıştırmak istenilen komutlar yazılır. File->Save (Ctrl+S) komutu ile yazdığımız programı diske kaydedilmektedir. MATLAB’de yordamlar ve fonksiyonlar M-dosyaları (M-files) olarak adlandırılır ve .m uzantısını alır..

(40) 29. Örneğin aşağıdaki komutlar editörde yazılıp hesapla.m ismi ile diske kaydedilirse, MATLAB içinden bu dosyayı çalıştırmak için hesapla yazıp <enter> tuşuna basmak yeterli olacaktır. hesapla.m ort=sum(sum(a)); hiz=x/t; sonuc=ort*hiz; Yalnız burada dikkat edilmesi gereken nokta, MATLAB içinden bu dosya çalıştırılmak istendiğinde, dosyanın çalışma dizininde olması gerekmektedir. Çalışma dizinini görüntülemek için cd komutu kullanılır. >> cd C:\matlab\work >> Çalışma dizinini değiştirmek için de cd komutundan faydalanılır. Örneğin; >> cd c:\calismadizinim Ayrıca dikkat edilmesi gereken bir diğer nokta da, M-dosyası çalışırken bazı değişkenlere başvuruyorsa bunların daha önceden tanımlanmış ve değerleri atanmış olması gerekir. Yukarıdaki örnekte ort=sum(sum(a)) satırında a isminde bir matrisisin toplamı hesaplanıp ort değişkenine atanmaktadır. Ancak program çalıştırılmak istendiğinde eğer a dizisi mevcut değilse, M-dosyası hata verecektir. Yukarıdaki Mdosyası çalışabilmek için, x ve t değişkenlerine de ihtiyaç duyulmaktadır. M-dosyası çalıştırıldıktan sonra, M-dosyası içinde tanımlanan değişkenler MATLAB çalışma ortamında (workspace) atanır. O an için tanımlanmış değişkenleri görmek için whos komutu kullanılabilir. Her hangi bir değişkeni silmek için clear degisken_ismi şeklinde clear komutu kullanılır. MATLAB ortamındaki tüm değişkenleri silmek için clear komutu tek başına kullanılabilir..

(41) 30. >> hesapla >> whos Name. Size. Bytes. Class. a. 5x5. 200. double array. ans. 0x0. 0. char array. b. 1x1. 8. double array. c. 1x101. 808. double array. d. 3x3. 72. double array. e. 5x5. 200. double array. hiz. 1x1. 8. double array. Grand total is 162 elements using 1296 bytes >>. 3.4.1.2.. Fonksiyonlar. Diğer programlama dillerinde olduğu gibi MATLAB’de de fonksiyon tanımlamak mümkündür. Fonksiyonlar içine değer alabilen ve bir sonuç döndüren program parçalarıdır. Örneğin MATLAB editöründe, function donendeger=toplakare(x,y) %Bu fonksiyon x ve y nin toplaminin karesini hesaplar %Kullanim : toplakare(3,5) seklindedir. toplam=x+y; donendeger=toplam^2;.

(42) 31. şeklinde bir fonksiyon yazılıp, toplakare.m dosyası şeklinde kaydedilsin. Fonksiyondaki ilk satır, fonksiyonun isminin toplakare olduğunu, donendeger değişkeni ile sonucun kullanıcıya aktarılacağı, x ve y olarak iki değişkeni dışarıdan aldığını belirtir. İkinci ve üçüncü satırlar yorum satırlarıdır. Derleyici tarafından icra edilmezler. Fonksiyonlarda ilk satırdan sonra kullanılan yorum satırları, yazılan m-dosyasının yardım metnini oluşturur. Konsolda help toplakare yazıp <enter> tuşuna basıldığında, yukarıda % işareti ile başlayan iki satır görüntülenmektedir. En son satırda donendeger değişkenine hesaplanan ifade atanır ve böylelikle kullanıcıya sonuç aktarılmış olur. MATLAB’de a=toplakare(3,5) yazıldığında, a değişkenine fonksiyondan dönen 64 değerini atanmış olur.. 3.4.1.3.. Temel MATLAB operatörleri. MATLAB’da diziler arası matematiksel operatörler aşağıdaki gibidir. Ancak dikkat edilmesi gereken bazı noktalar vardır. Örneğin iki matris toplanacağı zaman, matrislerin aynı boyutlarda olması gerektiğidir. 3x3 tipindeki bir matris ile 2x2 tipindeki bir matris toplanamaz. Ancak 1x1 tipindeki skaler değerlerde bu problem yoktur. Örneğin 5x5 tipindeki bir matrisin tüm elemanlarına 2 eklemek için a+2 şeklinde bir komut kullanılabilir. MATLAB bazı temel operatörleri Çizelge 3.4’de gösterilmektedir.. Çizelge 3.4. Temel MATLAB Operatörleri. Toplama Çıkarma Çarpma Bölme Üs alma Küçük Küçük eşit Büyük. ARİTMETİK OPERATÖRLER a+b a-b a*b a/b a^b KARŞILAŞTIRMA OPERATÖRLERİ < <= >.

(43) 32. Büyük eşit Eşit Eşit değil. >= == ~= MANTIKSAL OPERATÖRLER & Ve | Veya ~ Değil. And Or Not. 3.4.1.4.. Şartlı Deyimler ve Döngüler. Program içinde bir değişkenin içeriğine bağlı olarak program akışı değiştirilmek isteniyorsa şartlı deyimler kullanılabilir. En çok kullanılan şartlı deyim if-else-end komutudur. Örneğin; if a>5 disp('a besten büyüktür'); x=1; else disp('a besten kücüktür'); x=0; end şeklinde bir M-dosyası olarak kaydedil. Eğer a değişkenin değeri 5 den büyükse, konsola 'a besten büyüktür' ifadesi yazdırılacak ve x değişkenine 1 değeri atanacaktır. Eğer a, 5’ten küçük veya eşitse konsola 'a besten kücüktür' ifadesi yazdırılacak ve x değişkenine 0 değeri atanacaktır. En çok kullanılan bir döngü çeşidi olan for döngüsü aşağıdaki gibi tanımlanır. top=0; for i=1:100 top=top+i;.

(44) 33. end 1’den 100’e kadar olan sayıların toplamını bulan bu döngüde i döngü indeksidir. 1:100 ifadesi ile 1’den başlayıp 100’e kadar, döngünün birer artması sağlanmıştır.. Bir diğer döngü tanımlaması while komutu ile yapılabilir. Yukarıdaki örneği while komutu ile şu şekilde yapabiliriz. top=0; i=0; while i<100 top=top+i; i=i+1; end. 3.4.1.5.. Verileri kaydetmek ve tekrar kullanmak. MATLAB’de oluşturduğunuz matrisleri kaydetmek için save komutu kullanılır. save calisma yazıp <enter> tuşuna basarsanız, o an için çalışma ortamında tanımlı tüm matrisler MATLAB’in kendine özel bir formatında, diske calisma.mat olarak kaydedilir. Daha sonra bu dosyayı tekrar çağırmak için load calisma yazmak yeterli olacaktır. Sadece bir matrisi kaydetmek için save dosya_ismi degisken_ismi şeklinde bir komut kullanmak uygun olacaktır. Eğer kaydedilen verilere harici programlardan erişilecekse ASCII formatında ve diziler arasına TAB atılarak kaydetme yapılabilir. Bunun için save calisma.txt xToplam –ascii –tabs komutu kullanılabilir. xToplam ismindeki matris, diske calisma.txt dosyası olarak kaydedilmiştir. Ancak MATLAB, bu dosyayı kendi formatında değil, düz yazı.

(45) 34. (TEXT) biçiminde kaydeder. Matrisin elemanları arasına TAB karakteri basarak Excel gibi diğer programlardan erişimi kolaylaştırır.. 3.4.1.6.. Grafikler. MATLAB’de veriler ile çalışırken bu verileri görüntülemeniz gerekebilir. Analizde çok önemli olan grafiklerin oluşturulması için plot komutu ve surf komutu kullanılabilir. Plot komutu ile 1xN tipindeki vektör biçimindeki bir veya daha fazla veri için grafik oluşturulabilir. Örneğin; >> t=-pi:0.1:pi; >> y=sin(t); >> plot(y) komutlarını yazarak -3.14 den +3.14’e kadar 0.1 aralıklarla artan bir vektör tanımlayalım. Sin fonksiyonu ile bu vektörün tüm değerlerinin sinüslerini hesaplayarak plot komutu ile ekrana çizdirir. (pi ön tanımlı bir değişken olup değerini atamanıza gerek yoktur) İki vektörü aynı pencere içinde üst üste görüntülemek istersek 1xN vektörleri Nx1 tipine çevirmek ve bunları yan yana sütün şeklinde yerleştirmek gerekir. Örneğin yukarıdaki örnekte t ve y’yi aynı anda görmek için plot([t' y']) komutu kullanılmalıdır. Plot komutu ile ilgili daha fazla bilgi elde etmek için MATLAB konsolda help plot yazabilirsiniz. MATLAB’ de MxN tipindeki matrislerin 3 boyutlu topografik grafiklerini incelemek için surf veya mesh komutları kullanılır. >> a=randn(20); >> surf(a);.

(46) 35. Yukarıdaki komutlar ile 20x20 tipinde, elemanları 0-1 arasında rastgele değer alan bir verinin 3boyutlu grafiği çizdirilmiştir.. 3.4.1.7.. MATLAB’de. Bazı temel fonksiyonlar ve komutlar. kullanılan. bazı. temel. fonksiyonlar. ve. açıklamaları. Çizelge 3.5’de gösterilmiştir. Çizelge 3.5. Bazı Temel MATLAB Fonksiyon ve Komutları. Clear Whos Clc Disp Sum Mean Max Min Size Sqrt Cos Sin Tan Exp Log Log10 Abs Round Floor Load Save Strcat Break Rand Edit Plot. BAZI TEMEL FONKSİYON VE KOMUTLAR Workspace’deki değişkenleri siler Workspace’deki değişkenleri listeler Ekranı temizler Ekrana mesaj yazdırır Matris elemanları toplamı Matris elemanları ortalaması Matris elemanlarının en büyük değerli olanı Matris elemanlarının en küçük değerli olanı Matrisin boyutları Karekök alma Kosinüs Fonksiyonu Sinüs Fonksiyonu Tanjant Fonksiyonu Eksponansiyel (e) Doğal algoritma (ln) 10 tabanında logaritma Mutlak değer Yuvarlama Tam değer Workspace’e diskten veri yükleme Workspace’deki veriyi diske kaydetme String’leri birleştirme Döngüden çıkma 0-1 arasında rastgele sayı üretme MATLAB Editörü 2boyutlu grafik çizme.

(47) 36. 3.4.2. Sabit görüntünün elde edilmesi. Sayısal bir görüntü f(x,y) şeklinde tanımlanmaktadır. ‫݂ = ݕ‬ሺ‫ݔ‬, ‫ݕ‬ሻ Yukarıdaki denklemde x,y görüntü üzerindeki konumsal koordinatlar (spatial coordinates) ve f fonksiyonunun değeri ise parlaklık değeri (intensity, grayscale) olarak isimlendirilmektedir. (x,y) değerleri ve f fonksiyonun değerlerinin tümü sonlu olduğunda ise eldeki görüntü “sayısal görüntü” olarak isimlendirilmektedir. Bir görüntü x,y koordinatları boyunca sürekli olabilir. Aynı durum x,y koordinatlarında olduğu gibi grilik seviyesinde de olabilir. •. Bir görüntünün sayısal hale getirilebilmesi için koordinat ve grilik seviyesinin diğer bir değişle yoğunluğunun sayısallaştırılması gerekir.. •. Koordinat değerlerinin sayısallaştırılmasına örnekleme (sampling), bu koordinatlardaki. yoğunluğun. sayısallaştırılmasına. ise. kuantalama. (quantization) denir. Şekil 3.9’de örnekleme ve kuantalama görülmektedir.. Şekil 3.9. Görüntünün Sayısallaştırılması.

(48) 37. 3.4.3. Görüntü işleme de kullanılan MATLAB komutları. MATLAB ortamında sabit görüntüyü çalışma alanına(Workspace) aktarmak için imread() komutu kullanılır. Resim Çalışma ortamına aktarıldıktan sonra artık dizi olarak işlemlerine devam etmektedir. >> f =imread(‘cameraman.tif’); >> f =imread(‘.\resim\cameraman.tif’); >> f =imread(‘D:\resimlerim\cameraman.tif’); Çalışma alanına aktarılmış olan resmin(dizi) boyutunu öğrenmek için size() komutu kullanılmaktadır. Yanıt dizinin yatayda ve dikeyde kaç adet piksel olduğunu tanımlamaktadır. >>size(f) ans = 1024 1024. >>[ M , N ] =size(f); Yukarıdaki komut sayesinde ise f matrisindeki satırların sayısı M değişkenine sütunların sayısını ise N değişkenine atama işlemi gerçekleştirir.. MATLAB ortamında görüntüyü ekranda görüntülemek için imshow fonksiyon kullanılır. Kullanımı: >>imshow ( f ) Ayrıca imshow komutu ile resmin sınır değerlerini değiştirmemiz mümkündür. >>imshow( f , [ low high ]) Komut satırında ise low ile belirtilen değerinden küçük ve eşit olan parlaklık değerlerini 0’a; high ile belirtilen değerden büyük veya eşit olan parlaklık değerlerini ise 1’e eşitler. Arada kalan değerlerde ise değişiklik olmaz..

(49) 38. >>f=imread(‘cameraman.tif’); >>imshow(f); >>figure,imshow(f,[100 200]); Satırlarından sonra program ekran çıktısı şekil 3.10’ da gösterilmiştir.. Şekil 3.10. Resmin okunup filtre edilip görüntülenmesi. Çalışma alanına aktarılmış olan resmin(dizi) daha sonradan kullanılmak üzere kaydedilebilmesi için imwrite komutu kullanılmaktadır. >>imwrite(f, ‘filename’) >>imwrite(f, ‘kayit01.tif’) >>imwrite(f, ‘kayit01’, ‘tif’).

(50) 39. 3.4.4. Hareketli görüntünün elde edilmesi. Görüntü yakalama araç kutusunda bulunan fonksiyonlar sayesinde, bilgisayar ile uyumlu görüntü yakalama kartlarından (Frame-grabber cards) görüntü alma cihazlarına bağlanılabilir, özellikleri değiştirilebilir ve görüntü alınabilir. Araç kutusu geniş bir spektrumdaki. görüntü. yakalama. işlemlerini. desteklemektedir. (http://www.mathworks.com/products/imaq/description1.html):. •. Profesyonel seviyedeki görüntü yakalama cihazlarından, USB tabanlı web cam’e kadar geniş bir yelpazedeki birçok tipteki görüntü cihazı ile görüntü elde edilmesi,. •. Donanıma bağlanma ve donanımın özelliklerini ayarlama,. •. Video görüntü ön izlemesi,. •. Görüntü yakalamayı başlatma işlemleri,. •. Görüntüyü işlemek ve analiz etmek için doğrudan MATLAB çalışma alanına getirme.. Donanıma bağlanmak için, görüntü yakalama araç kutusu, bilgisayar ile uyumlu görüntü yakalama cihazlarını tespit ediyor. MATLAB komut satırına yazılan komutlarla tespit edilen cihazlar görülebilir ve yine komut satırı kullanılarak tespit edilen cihazlardan. kullanılmak. istenilen. seçilebilir. (http://www.mathworks.com/products/imaq/description1.html). Araç kutusunu kullanarak, kameranın istenilen özellikleri değiştirilerek konfigüre edilir. Bunu yaparken komutlar kullanabileceği gibi, grafiksel özellik denetleyici ( Property Inspector) ara yüzünü de kullanarak yapabilir. Araç kutusu bize iki grup özellikleri Bize iki grup özellikleri ayarlamamızı sağlıyor: Temel özellikler ve cihaza özgü özellikler. Temel özellikler bütün kameralar tarafından desteklenen ortak özellikleri içermektedir. Cihaza özgü özellikler kullandığımız kameranın modeline bağlı olarak değişen özelliklerdir (http://www.mathworks.com/products/imaq/description1.html)..

(51) 40. Görüntü yakalama araç kutusunu kullanarak, 3 değişik şekilde görüntü yakalama(trigger) işlemini başlatabiliriz: Immediate, Manual, Hardware. Elde edilen görüntüler belleğe ya da diske alınabildiği gibi aynı anda her ikisine de alabilir. Ayrıca her görüntü karesi kayıt edilebileceği gibi, sadece belirtilen aralıktaki görüntü kareleri de kayıt edilebilir. Görüntü akışından tek bir görüntü karesini alıp, sabit diske. standart. formatta. kayıt. edebiliriz:. BMP,. JPEG. ve. TIFF. (http://www.mathworks.com/products/imaq/description1.html).. 3.4.4.1.. Görüntü işleme araç kutusu. Görüntü işleme araç kutusu görüntüyü işlemek, analiz etmek ve algoritma geliştirmek için bize kapsamlı grafiksel araçlar ve standart referans algoritmalar sunmaktadır. MATLAB’de yaklaşık 250 fonksiyondan oluşan çok özel görüntü işleme araç kutusu vardır. Bu fonksiyonlar şu alt başlıklara ayrılmıştır (Çetin A. E.2003): •. Görüntüleme. •. Dosya işlemleri. •. Görüntü Aritmetiği (toplama, çıkarma, vb.). •. Geometrik transformasyon. •. Görüntü kayıt işlemleri. •. Piksel değerleri ve istatistiksel analiz. •. Görüntü analizi. •. Görüntü iyileştirme (yoğunluk ayarlama, filtreleme, vb.). •. Görüntü transformasyonları (Fourier, vb.). •. Görüntüyü bloklar halinde işleme (Block processing). •. Morfolojik işlemler (açma, kapama, vb.). •. Bölgesel işleme (renge göre bir bölgenin seçilmesi, vb.). •. Renk uzayı dönüşümleri (RGB’den HSV’ye, RGB’den NTSC’ye, vb.). •. Resim veri türü dönüşümleri.

(52) 41. Görüntü işleme araç kutusu sayısal kamera, tıbbi görüntüleme cihazı, mikroskop, teleskop vb. birçok cihazdan gelen görüntüyü desteklemektedir. MATLAB bilgisayarda kayıtlı görüntüyü ya da dışarıdan bir görüntüyü almak için birkaç yol sunmaktadır: Web cam, sayısal kamera ya da başka bir cihazdan görüntü almak için MATLAB’deki görüntü yakalama araç kutusu kullanılır. Veri tabanı araç kutusunu (Database Toolbox) kullanarak ODBC/JDBC veritabanından kayıtlı resimlere ulaşılabilir ve çalışma alanına getirilebilir. MATLAB standart veri ve görüntü formatlarını desteklemektedir. Bunlar: JPEG, TIFF, PNG, HDF, HDF-EOS, FITS, Microsoft Excel, ASCII ve binary dosyalar. Ayrıca tıbbi görüntüler için, görüntü işleme araç kutusu DICOM dosya formatını desteklemektedir (http://www.mathworks.com/products/image/description1.html).. 3.4.4.2.. Görüntünün alınması. Görüntünün alınması kısmında, MATLAB görüntü yakalama araç kutusu kullanılarak bilgisayardaki görüntü alma cihazları tespit edilmesi, görüntü alma cihazı seçilmesi, cihazının özelliklerini ayarlanması gerçekleştirilmektedir. Ardından görüntü elde etme işlemi başlatılır.. I=videoinput('winvideo',1); triggerconfig(I,'Immediate'); start(I); preview(I); mk=getsnapshot(I); ………. stop(I); delete(I);.

Referanslar

Benzer Belgeler

Aynı zamanda harcamalar üzerinden alınan dolaylı bir vergi türü olan gümrük vergisi, gelir ve kurumlar vergisi gibi belirli aralıklarla alınan bir vergi

Karışımlarda kırma kireçtaşı ve ponza agregası, CEM I tipi çimento, (filler malzeme olarak) olivin tozu, hava sürükleyici ve super akış- kanlaştırıcı kimyasal

Her tarlayı sular arkımız bizim Gideriz Nur Yolu izde gideriz Taş bağırda sular dizde gideriz Birgün akşam olur, biz de gideriz Kalır dudaklarda şarkımız bizim” Allah’ın

Yine bir gün seni, Kadıköy’de kurulan «Tramvay Müzesi» ne rica etmişlerdi, çok beğenmişdin, veda edeceğimiz zaman bizi «Pendik» e balık yemeğe davet

Çalışma kapsamında Türkiye’de plastik kullanımının niceliği ve atık plastiklerin azaltılmasına yönelik yöntemlere yer verilirken, plastik atıkların

Şekil 6.7.’de gösterilen giriş sinyali uygulandığında sistemin ilk olarak MIT kuralı ile tasarlanmış ve MRAC kontrolcüsüyle kontrol işleminin farklı maliyet

 Reduce the number of blocks display on the main window (i.e. simplify the model).  Group related blocks together (i.e. More

 İçinde birçok alt sistemi blok olarak barındırdığından sürükle-bırak yöntemiyle birçok sistemi bir-kaç dakikada kurarak simule edebilir, değişik durumlardaki