Ç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. "Open Web-Cam " 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