Çarşamba, Mayıs 21, 2008

Yüz Tanıma 2


Neye niyet neye kısmet !
Bu yazının ilkinde bahsettiğimiz makalelerde Eigenface metodunu kullanan bir örnek program olduğunu söylemiştik. Bu programdaki kodu web-cam ile kullanılabilecek şekilde adapte ettim.
ve ortaya bu program çıktı.
Face Recognation for Windows
Face Recognation for Linux

Programın kullanımı gayet basit

  1. "Save and Add Face" düğmesine basarak web-cam'ninizi açın
  2. "Extract Face" düğmesine basarak web-cam den bir yüz seçmesini sağlayın
  3. Yüz seçilince , yüz için "Name" kısmına bir isim girin
  4. "Save and Add Face" düğmesine basarak yüzü kaydedip Listeye ekleyin
  5. Listenize yeterince yüz olana kadar yüz bulup eklemeye devam edin
  6. "Learn Faces" düğmesine basarak Listenizde kayıtlı yüzlerin öğrenmesini sağlayın
  7. Yüz tanıma işi için "Extract Face" ile yüz seçin
  8. "Recognize Face" ile Listede kayıtlı yüzlerden hangisine en çok benzediğini sorun

Tabii ki bu programdan çok fazla bir şey beklememek lazım. Bu sadece bir başlangıç ve giriş sevyesinde bir uygulama, yapılması gereken pek çok şey var...

Az kalsın unutuyordum bu program aynı zamanda Fl_OpenCv 0.85 versiyonunuda içeriyor. Her zaman olduğu gibi arabirim olarak FLTK ( 1.1.9 versiyonu ) ve IDE olarak CodeBlocks kullanıldı. Hem windows hem linux (OpenSuse 10.3 ) de derlendi.

Her türlü görüş, öneri, istek veya hata bildirimlerinizi çekinmeden bana yaza bilirisiniz, bekleriz .

Cuma, Mayıs 16, 2008

Yol ayrımında okuyucuyla hasbihal

Ne içindeyim zamanın,
Ne de büsbütün dışında;
Yekpâre, geniş bir ânın
Parçalanmaz akışında.


Bilenler bilir bilmiyenlerde şimdi öğrensin bendenizin işi bilgisayar yada programcılıkla ilgili değildir. Burada yazdığım yazıları ve projeleri akşamları hazırlıyorum.

Bugünlerde işlerimde epey bir yoğunluk olduğundan akşamları yorgun oluyorum. ve dolayısıyla pek bir şey yapamıyorum. Bir de bütün bunların üstüne ne yapacağıma karar verememiş olmam bezginliğimi artırıyor.

Peki sizce ne yapmam lazım buyrun yol ayrımından manzaralar.

FannTool
Epey bir zaman sonra FannTool'un yeni versiyonunu çıkarabildim. bu versiyonla artık FANN'nın en yeni versiyonundaki imkanlarada kavuşmuş olduk. FLTK 1.1.8 çıktıktan hemen sonra karşılaşılan birkaç problem yüzünden 1.1.9 versiyonu çıkarıldı. Bizde bu versiyonu kullandık. Şu an itibariyla 200'ün üzerinde download edilmiş durumda.

1) Eğitim sistemlerine Genetic eğitimi eklemek: bu aslında FANN kütüphanesi dahilinde yok ben FGA kullanarak böyle bir yenilik eklemek istiyorum.

2) Veri işleme kısmı : Gerçekten YSA larla uğraşmada en sıkıcı kısmı eğitim ve test verilerinin hazırlanmasıdır. Bir nebze olsun bu işleri kolaylaştıracak bir yapı tasarlıyorum.

3) geçen yılki GSoc da FANN ile ilgili yapılan yeniliklerin ana koda adeapte edilip FANN 3.0 çıkması bekleniyor o çıkınca yeni YSA çeşitleride FANN'a dahil olacak. O zaman yeni tür YSA lara göre FannTool da adapte edilmesi lazım.

4) FannTool'un kullanımını göstermek için bir tutorial tarzı bir uygulama yapmak lazım.

5) FANN kütüphanesine aşina olanlar için FannToolda kullanılabilecek ayarlar anlaşılır, Fakat sadece YSA tasarlamak için kullanmak isteyenler için zor olduğu aşikar. Bu yüzden basit bir help dosyası oluşturmak lazım.


Blueplayer :

Audiere kullanarak yazdığım basit bir ses çalma programıı. Arabirimini yine FLTK ile yazdım. ve benim ilk yayınladığım açık kaynak kodlu projem. yani ilk göz ağrım. elimde yayınlanmamış
0.7. versiyonu var, fırsat bulursam yayınlamayı düşünüyorum. ufak tefek düzenlemeler dışında AudioCD ses cd si çalma özelliğini eklemek lazım. Ama bu konuda pek de hevesli değilim epey bir süredir üzerinde çalışmıyorum. Talep olurda bu projeye devam etmek istiyen olursa buyursun gelsin memnun olur elimizden gelen yardımı esirgemeyiz.

Fl_OpenCV :
En son 0.8 versiyonunu Inpaint örneğiyle beraber yayınladım elimde 0.85 versiyonu var hatta bir de EigenFace ile yüz tanıma örneğide var. Ama ne zaman kısmet olurda yayınlayabiliriz bilemiyeceğim aslında Fl_OpenCV nin pek bir eksiği yok - en azından benim için - ama asıl olması gereken opencv nin Highgui'sinin içerisinden GTK lı kısımları kaldırıp Fl_OpenCv ile birleştirebilsem, highgui'ye alternatif olur.

Computer Vision veya OpenCV

İlk etapta OpenCv'nin görüntü işlemeyle ilgili kısımlarını daha sonra OpenCv'nin Machine Learning kütüphanesi için FannTool gibi bir GUI oluşturmak gibi fikirler var kafamda.

Yada işin kolayına kaçıp ufak tefek OpenCv'nin kullanımına dair programcıklar yazabilirim

Diğer Yapay Zeka konuları :
Fuzzy Logic SVM, HMM, OpenPNL , Soar ve benzeri diğer yapay zeka metodları üzerine uygumalar yazmak, pratik örnekler hazırlamak.


Sonuç olarak; fikirlerinizi, görüşlerinizi ve önerilerinizi bekliyorum. yoksa benim bu tembellikten kurtulacağım yok...

Perşembe, Mayıs 01, 2008

Linux altında OpenCv



Epeydir Linux'a OpenCv yi kurmaya çalışıyordum. Bir türlü ffmpeg'i aktifleştiremiyordum.
google ile aratınca bir kaç kaynak çıkıyordu 1 2 3 söylenenleri yaptığım halde olmuyordu.
Uğraşa uğraşa en sonunda kurabildim. meğerse OpenCv ffmpeg header dosyalarını bulamıyormuş. Kısaca anlatalım belki başka birisinin de işine yarar.

1) ffmpeg i indirin. ve açın
terminalde ffmpegi açtığınız dizine geçin
./configure --enable-shared
make
make install
2) super kullanıcı olarak bir filemaneger açıp
/usr/local/include/ffmpeg
dizinine gidin burada olması gereken header dosyaları ,
" /usr/local/include/ffmpeg /libavcodec"
ve benzeri alt dizinlerin içine konmuş alt dizinlerdeki bu header dosyalarını olması gereken yere yani
"/usr/local/include/ffmpeg "
dizinine kopyeleyin artık OpenCv yi gönül rahatlığıyla kurabilirsiniz.

3) opencv' i indirin. ve açın
terminalde opencv'yi açtığınız dizine geçin

./configure --with-ffmpeg --without-quicktime
deyin configure sonunda
Use ffmpeg: yes
sonucunu aldıysanız işlem tamamdır.
make
make install
deyip kurulumu tamamlayın

Not : artık OpenSuse 10.3 kullanıyorum

Çarşamba, Nisan 30, 2008

FannTool 0.93 Released

Hasretle ! beklenen FannTool'un yeni versiyonunu sunmaktan gurur duyarız.
Bu versiyonla birlikte, MSE değişimini grafik olarak görebileceksiniz. "Run with File" kısmıyla Test data dosyalarınızı gerçek ve hesaplanan değerlerini hemencecik alabileceksiniz. Gerek Normal gerekse Cascade eğitim için pek çok ince ayar yapma imkanına kavuşmuş olacaksınız.
Hem FLTK hem de FANN ın en yeni versiyonları kullanıldı, yani FannTool derlemek için artık FANN 2.1 ve FLTK 1.1.9 kullanmanız lazım.
Neyse efendim lafı fazla uzatmayalım indirmek için - Pek tabi ki kaynak kodu ve CodeBlocks proje dosyasıyla birlikte -
Download : FannTool 0.93 for Windows
FannTool 0.93 for Linux

Her türlü öneri istek ve hata bildirimlerinizi bekleriz

Pazartesi, Nisan 21, 2008

Bilişim teknolojilerinde gelecek

En son kısmetse "Bilişim teknolojilerinde gelecek" seminerine katılmaya niyetlendiğimi söyleyip, kısmet demiştim. Nasib oldu dün ODTÜ'ye seminere gittim

Anakarda yaşamama rağmen geçen seneki Özgür Yazılım Şenliğinden beri ODTÜ ye uğrayamamıştım. Her zaman güzel olan ODTÜ baharla daha bir güzel görünüyordu. Benim gibi Toz ve dumanlar içinde çalışan biri için cennet gibi bile denebilir.

saat 11 gibi ODTÜ'ye geldim. Biraz erken geldim ve gelmişken kütüphaneye uğrayıp kitap karıştırdım. ODTÜ nün kütüphanesi gibisi yoktur. İstediğiniz kitabı istediğiniz gibi kurcalarsınız. Okulda Laptop kullanımı epey bir artmış olmalı ki masalara fiş yeri konmuş. Bir kaç kişide de gördüm zaten Laptoplarını kitaplarını açmışlar uğraşıyorlardı. Hey gidi günler hey biz vakti zamanında Casio fx-3600 scientic ! hesap makinasını güç bela aldırdıydık.

Seminer duyrusunu ben Fazlamesai den duymuştum ilk seminer

Bilgisayar Dünyasında Akademik Açılımlar
o Prof. Dr. Volkan Atalay (Biyoinformatik)
o Prof. Dr. Fatoş Tünay Yalman-Vural (Görüntü İşleme)
o Yrd. Doç. Dr. Erol Şahin (Robotik)
o Dr. Atilla Özgit (İnternet Teknolojileri)

şeklinde geçiyordu. Bu seminerle birlikte hayal kırıklıklarımız başladı. İlk olarak Görüntü işleme hakkında konuşacak Fatoş Hanım başka bir program dolayısıyla katılamadı. İkinci olarak seminerin asıl konusu Biyoinformatik, Görüntü İşleme,Robotik, İnternet Teknolojileri den çok mezun adaylarının araştırmacı olmasını teşvik etemesi konusundaydı. Yinede böyle ileri teknoloji konularda yıllarını vermiş insanlardan çalıştıkları konularda bir iki kelime etmeleri de yeterdi ve yetti.

Sonraki iki konuşma benim ilgi alanıma zaten girmiyordu ben de o ara maddi ve manevi gıdalarımı aldım.

Son konuşma
Bilişim Sektöründe Girişimcilik
o Bora Güngören (Portakal Teknoloji)
o Eren Bali (Eofer)
o Gürkan Caner Birer (RotaSoft)
o Munir Ercan (RotaSoft)
idi. Bu 4 girişimci arkadaş bir salon dolusu girişimci adayıyla karşılaşınca sanırım biraz ürktüler!
"Biz şimdi bu girişimci adaylarını yüreklendirirsek yarın hepsi karşımıza rakip olarak çıkarlar, girişimcinin başını küçükken ezmek lazım" şeklinde düşünmüş olmalılarki hepsi birden verdiler veriştirdiler.
- Bulaşık yıkamayı , çöp toplamayı, bilmiyorsanız bu işlere girişmeyin gidin bir temizlik şirketinde staj yapın.
- şirket kurun 5 yıl boyunca batmazsanız, size ancak iş gelir.
- Kestiğiniz faturanın vergisini hemen ödersiniz, Parasını Allah bilir ne zaman alrısınız belki de alamazsınız.
- Küçük balık olmayı öğrenin ki büyük balıklar açlıktan ölmesin.

gibi iç ferahlatan ! ve yüreklendiren ! sözler sarfettiler. Şaka bir yana çok hoş bir sohbet oldu, sırf bu yüzden bile bu etkinliğe katılınırdı. Belkide pek çok kişinin ayaklarının yere basmasını sağlamışlardır.

Sonuç olarak şunu söylemek istiyorum. Çok güzel bir bahar gününde çok güzel bir etkinlik oldu. Emeği geçen herkese buradan teşekkür etmeyi borç bilir, tiz zaman da yeni seminerlerini bekleriz...


Sonuç olarak şunu söylemek istiyorum. Çok güzel bir bahar gününde çok güzel bir etkinlik oldu. Emeği geçen herkese buradan teşekkür etmeyi borç bilirim. Tiz zaman da yeni seminerlerini bekleriz...

Cuma, Nisan 18, 2008

Bir Adın Kalmalı

bir adın kalmalı geriye
bütün kırılmış şeylerin nihayetinde
aynaların ardında sır
yalnızlığın peşinde kuvvet
evet nihayet
bir adın kalmalı geriye
bir de o kahreden gurbet

sen say ki
ben hiç ağlamadım
hiç ateşe tutmadım yüreğimi
geceleri, koynuma almadım ihaneti
ve say ki
bütün şiirler gözlerini
bütün şarkılar saçlarını söylemedi
hele nihavent
hele buselik hiç geçmedi fikrimden
ve hiç gitmedi
bir topak kan gibi adın
içimin nehirlerinden
evet yangın
evet salaş yalvarmanın korkusunda talan
evet kaybetmenin o zehirli buğusu
evet nisyan
evet kahrolmuş sayfaların arasında adın
sokaklar dolusu bir adamın yalnızlığı
bu sevda biraz nadan
biraz da hıçkırık tadı
pencere önü menekşelerinde her akşam

dağlar sonra oynadı yerinden
ve hallaçlar attı pamuğu fütursuzca
sen say ki
yerin dibine geçti
geçmeyesi sevdam
ve ben seni sevdiğim zaman
bu şehre yağmurlar yağdı
yani ben seni sevdiğim zaman
ayrılık kurşun kadar ağır
gülüşün kadar felaketiydi yaşamanın
yine de bir adın kalmalı geriye
bütün kırılmış şeylerin nihayetinde
aynaların ardında sır
yalnızlığın peşinde kuvvet
evet nihayet
bir adın kalmalı geriye
bir de o kahreden gurbet
beni affet
Kaybetmek için erken, sevmek için çok geç

İhtiyarlıyormuyum ne ? aynen şiirdeki gibi kaybetmek için çok erken ama bir şeyler yapabilmek için de çoook geç olduğunu düşünüyor bir miskinliğe bir tembelliğe düşüyorum.
Buradaki çok geç aynen
Dönülmez akşamın ufkundayız vakit çok geç
deki gibi olduğunu hatırlatırım.

Bu adam nereler de kaldı 15 -20 gündür sesi soluğu çıkmıyor diyenler için deep not
Yoğun! istek alan FannTool'un 0.85 versiyonunu yayınlayacaktım vazgeçtim 0.9 versiyonunu hazırlıyorum, sabredin biraz.
Jardel Mustafa yaptığım ortayı aut'a attı, kısmet artık bu sayede size bir süriz çıkabilir
Özğür yazılım şenliği duyrusu beklerken "Bilişim Teknolojilerinde Gelecek" adlı bir etkinliğini duydum kısmetse Bu pazar oradayım.






Pazartesi, Mart 31, 2008

Yüz Tanıma

Küçücük bir bebek sizin yabancı olduğunuzu bilip, ağlamaya başlıyor. Tanıdık bir yüz görünce yüzünde gülücükler açıyor. İnsan olarak yüz tanımak bize çok kolay geliyor. Yalnız neye istinaden tanıdığımızı açıklamaya kalkınca iş, içinden çıkılmaz hale geliyor. Yani

Fesübhanallah! Yüzün o küçük sayfasında nasıl gayr-ı mütenahi nişanlar derc edilmiştir ki, gözle okunur da nazarla, yani akılla görünmez.
diye boşuna denmemiş...

Daha yürümesini, konuşmasını bile bilmeyen bir bebeğin yapabildiğini, bilgisayarda yaptırtabilmek için neler yapılımış neler. Nice algorithmlar geliştirilmiş, nice programlar yazılmış, nice tezler hazırlanmış, ve niceleri de yapılmaya devam ediyor. Çünkü hala dört dörtlük bir metod bulunmuş değil.

Vakiti zamanında SERVO magazinde Seeing with OpenCv diye 5 bölümden oluşan bir makale yayınlandı. Bu makalede OpenCv'ye hızlı bir giriş ve yüz tespiti, takibi ve tanıma konuları işlendi. Tanıma işi için EigenFace metodu kullanıldı. EigenFace metodu yüz tanıma metodlarının başlıcalarından ve en eskilerinden birdir. Internette zahmet edipte aramayın. DerinDeliMavi'nin büyüük hizmeti Buyrun indirin