Pamuk ipliğinden biraz daha sağlam tek bağ: düşünce birliği. O da rüzgarın her an tehdit ettiği bir kandil. Düşünce birliği, düşünen insanlar arasında olur. İnsanların kaçta kaçı düşünür? Düşünenlerin kaçta kaçı karşılaşır ve açılır birbirine. -- Cemil Meriç
Perşembe, Temmuz 03, 2008
GPU... Oyunu bırak Çalışmaya başla !
Peki Elimizdeki imkanlarla performansı artırmanın yolları yok mu ? Bu konuda başlıca iki seçeneğimiz var. Ben bu yazıda birinden bahsedeceğim. yani Grafik işlemcilerin - GPU - de işe dahil edilmesinden.
Çoğu insan GPU ları sadece oyun yada 3 boyutlu grafik işlemleri için kullanır. Fakat aslında çok güçlü olan bu işlemcileri genel amaçlar içinde kullanmak mümkündür. Bakınız
http://www.gpgpu.org/
http://www.nvidia.com/object/cuda_what_is.html
http://www.gpgpu.org/developer/index.shtml#conference-tutorial
Malesef bu işlere girişmek için epey yeni şeyler öğrenmek gerekiyor. Kim uğraşacak şimdi GPU programlamayla ? Yok mu bu işin kolay tarafı derseniz. Haklısınız ve şöyle bir seçeneğimiz var. Bu işi bilen insanlar çeşitli uygulama alanları için kütüphaneler yazıyorlar biz de GPU ile uğraşmadan kullanıyoruz.
Hemen örnek de verelim ; Performansın çok önemli olduğu alanların arasında da ComputerVision geldiğini söylememe gerek yoktur sanırım. Özellikle gerçek zamanlı uygulamalar için hız çok önemli. İşte Bu iş için GPU kullanımını kolaylaştıracak iki örnek kütüphane :
İkinci seçeneğe dikkatinizi çekerim. GpuCV OpenCv benzeri bir sistem vadediyor yani OpenCv de yazdığınız programları kolayca GPU kullanır hale getirebileceğinizi söylüyor. Şimdi uğraşmasanızda aklınızın bir kenarında dursun ilerde belki lazım olur. Bizden söylemesi...
Deeep Not : Bendenizin Önümüzdeki 2 hafta boyunca internete pek giremeyebilirim. Duyrulur
Cuma, Haziran 27, 2008
Mühendis bey Mühendis bey ... Aman ha dikkat !
Bu kâinatın öyle bir donanımcısı vardir ki, bütün mevcudâtı ve içinde yer yüzünü 'create' etmiş;
güneş'i bir 'power source', ay'ı bir 'system clock' yapmış.
O 'power source'dır ki, kesintiye uğramaz ve o 'system clock'tir ki, şaşmaz ve şaşırmaz, O donanımcının ilminin ve sanatının nihayetsizliğini gösterir.
Bu zât aynı zamanda öyle yüce bir programcıdır ki, şu muazzam dünya üzerinde çalişacak şekilde koca hayat programını yazmış, yüzbinlerce yıldan fazladır, 'error' verdirmeden, 'crash' ettirmeden çalıştırıyor.
Eğer Onun ne kadar iyi bir programcı olduğunu da anlamak istersen, önce kendine bak. Gözünle göremediğin küçücük bir hücrene bütün kodunu 'save' etmiş ve yine o küçücük hücrende 'execute' ettiriyor.
Madem ki, DNA'nın bir program olduğu apaçıktır ve bir program programcısız olamaz demek ki, senin programcılığın ancak O büyük zâtın programcılığına ancak bir ayna hükmündedir.
Yine senin bütün hücrelerinden oluşturduğu 'network'ün içinde hadsiz protokollerle o hücreleri konuşturduğu gibi, madem ki, senin de diger insanlarla türlü dillerde ve protokollerde konuşabilmen için gerekli donanımı yanına vermiştir, öylece de gördürüyor, konuşturuyor ve dinletiyor.
Ve madem ki, sen etrafındaki bütün cisimlerden haber alasın diye ışık, ses gibi türlü medyayı hazırlamış kullandırıyor. Sen bunları keşfeder, kullanır fakat bir yenisini ekleyemezsin, o halde öyle büyük bir 'network' uzmanı zât vardır ki, senin her türlü ihtiyacını bilir, ona göre teçhizatını verir.
Senin 'network'çülügün ancak onun, sonsuz ilminden sana verdigi bir küçük parça ve bir büyük nimettir.
Arkadaş, aldanma!
Şu güzel dünya hayatı programı bir 'Limited Trial Version'dur, görüyorsun ki, elde ettiğin malı-mülkü hiç bir surette 'save' edemiyorsun.
Öyle ise;
bu kâinat yazılımını yazanı tanı.
Hem hiç mümkün müdür ki, bir programcı bu kadar güzel bir program yapsın ve yaptığı programda 'about' kesimi koyup kendini tanıttırmasın. Öyle ise bu kâinatin en büyük 'donanımcısı', 'programcısı', 'network'çüsü ve 'system administrator'u olan zâtın her yere işlediği 'about' kesimlerini gör, öğren, 'full versiyon'unu kazanmak için çalış.
Unutma ki, hiç bir hareketin atlanmadan çok dikkatli 'log'lar tutuluyor. Bu 'log'lar her şeye gücü yeten o 'system admini' tarafindan 'open' edilip 'check' edilecektir.
Aman ha dikkat !
Laedri
Perşembe, Haziran 26, 2008
Mora çalan Mavi !
Yaz günleri beni hatırlamıyor.
...
Beni artık kimseler arayıp da bulmasın
...
geçiyorum bir yakıcı maviden derinleştirilmiş mora
geçiyorum ayaklarım altında kumları hıçkırtarak
Kara yaz! Karanlık yaz! Kararan vücutlardan
rıhtıma varmayan ceset elbette hatırlanmaz.
KANLA KİRLENMİŞ EVRAK*
Karanlık sözler yazıyorum hayatım hakkında.
Aşklarım, inançlarım işgal altındadır
...
çelik tırpan gibi silkiniyor çocuklar
denizin satırları arasında.
Gece arsızca kükrüyor paslı beyninde şehrin
küfre yaklaştıkça inancım artıyor.
Karanlık sözler yazıyorum hayatım hakkında
öyle yoruldum ki yoruldum dünyayı tanımaktan
saçlarım çok yoruldu gençlik uykularımda
acılar çekebilecek yaşa geldiğim zaman
acıyla uğraşacak yerlerimi yokettim.
Ve şimdi birçok sayfasını atlayarak bitirdiğim kitabın
başından başlayabilirim.
ÜÇ FİRENK HAVASI*
şehrin insanı, şehrin insanı, şehrin
kaypak ilgilerin insanı, zarif ihanetlerin.
...
yerimi yadırgadım
yerim olmadı zaten kendi mezarımdan başka
çılgının biri sanılmaktan sakınmaya vaktim olmadı
durmadan bir beyaz aygırla taşardım derin göllerden
bir gebe kısrakla kaçardım derin ormanlara
güneşin zekâsıyla doymak isterdim
kaba solgun kâğıtlar sunardı
şehrin insanı bana
şehrin insanı, şehrin insanı, şehrin
kaypak ilgilerin insanı, zarif ihanetlerin.
O gün bugün, şehri dünyanın üstüne kapatıp bıraktım
...
Azıcık gece alayım yanıma yalnız
serçelerin uykusuna yetecek kadar gece
böcekler için rutubet
örümcekler için kuytu
biraz da sabah sisi
yabani güvercin kanatları renginde
biz artık bunlar olarak gidiyoruz
eylesin neyleyecekse şehrin insanı
şehrin insanı, şehrin insanı, şehrin
bozuk paraların insanı, sivilcelerin.
...
ama neler olup bittiğini hiçbir âyetten
hiçbir vakit anlamayacak şehrin insanı
şehrin insanı, şehrin insanı, şehrin
pahalı zevklerin insanı, ucuz cesaretlerin.
Salı, Haziran 24, 2008
Image Database Links

Bir vesile ile bunları yayınlama zorunda hissettim kendimi...
Pek düzenli ve açıklamalı değil, google ile sizin de ulaşabileceğiniz linkler ama olsun ben hepsini bir arada veriyorum sizde ekleme yapabilirsiniz. hatta vaktiniz varsa daha düzgün bir yerde daha düzenli ve açıklamalı olarak yayınlayada bilirsiniz. Üniversitelerimizinde daha iyilerini yayınlamaları dileğiyle...
Not : Bazı veritabanları için yazışma yapmanız gerekiyor.
- Image Sequence Segmentation Data
- Amsterdam Library of Object Images
- Data sets for statistical models of shape ; Hand images, Meat images, LV Cardiac images
- video frames in 90 sequences of various human activities
- Face database was created by the Tarrlab at Brown :
- The AR Face Database : 126 people (over 4,000 color images!)
- NimStim Face Stimulus Set
- Subset of the CAlifornia Facial Expressions (CAFE) dataset
- Face Video Database of the MPI for Biological Cybernetics
- Yale, YaleB
- Yale Aselected
- Face Recognation Homepage Face database links
- Novel Objects Things that don't really exist
- Objects Everyday objects
- Events : Movies and sounds of real-world events
- CMU PIE Database
- Vision and Autonomous Systems Center's Image Database
- Caltech ; Cars, motorcycle, Airplanes (Side), Faces (Front),...
- Fingerprint Verification Competition 1 2
- Automatic Sign Language Recognition (ASLR)
- NC State Image Analysis Laboratory Image Database
- Digital Database for Screening Mammography
- NIST Fingerprint and handwriting
- The Visible Human Project
- Traffic Image Sequences and 'Marbled Block' Sequence
- Iris image Databases 1 2 3 4
Çarşamba, Haziran 18, 2008
Yazılım İhracatı
.... Borçları yüzünden cinnet geçiren baba .....sonrasını aktarmaya içim el vermiyor.
Bütün bunları niçin anlattım. Ülkeler de bir Aile gibidir gelirleri ve giderleri vardır. Ülke içindeki alışveriş aile için yardımlaşma nevindendir. Ülkenin asıl gelir gideri İthalat - Ülkeden çıkan para - ihracat - Ülkeye giren paradır - ve malesef Ülkemizde giderleri gelirlerinden çok olan bir ailedir. Sonucu tahmin etmeniz güçdeğildir sanırım ...
Peki bu durum da bizim elimizden ne gelir.
Öncelikle aldığımız her ithal mal gider hanemizi büyütüyor. Gerçekten ihtiyacımız olmadığı halde aldığımız yeni model bilimum elektronik alet edavatları düşünün. Bunları bir nebze azaltmamız bile faydalı olcaktır. Ailenin şımarık ve müsrif çocuğu olmayalım.
Şimdi gelelim asıl konumuza Programcılar ülke gelirini nasıl artırabilir. Bir örnek verelim.
Bilemiyorum aslinda bu durumu nasil ifade edeyim....http://www.fazlamesai.net/?a=article&cmode=nested&sid=3626
7 aydir Hindistanda Tata Consultancy Services de staj yapmaktayim.
Firma hindistan devi TATA firmasinin yazilim kisimi, 52.000 calisani ile dunyanin 33 ulkesine hizmet veriyor ve milyar dolarlik bir yazilim firmasi, almis oldugu projeler milyon dolarlar ile ifade ediliyor.1965 den beri IT sektorunde danismanlik hizmeti veriyorlar. Musterileri dunya devleri. 7 ay boyunca 3 ayri proje de neredeyse es zamanli olarak bulundum ve ben size bir projenin burda nasil gelistirildigini anlatayim.
Proje adi XXX, musteri Dunyanin bir cok yerinde calisan buyuk bir banka ve yapilacak olan is, bir departmanlarinin eski otomasyonunu ve databaselerini ihtiyaclarina gore degistirmek.proje takimi 12 kisi, 1 kisi pl, 3 module leader ve geriye kalanlar veritabaninda ve programin kullanici arayuzunde calisan gelistiriciler.
1 kisi gurubu temsilen onsite (Amerika) tarafa gider ve birkac ay boyunca musteri isteklerini anlamaya calisir.
Geri geldiginde hazirlamis oldugu analiz dokumanlarini takimi ile paylasir. Musteri taleblerini bildirir. Musteri ihtiyaclari analizi dokumani hazirlanir.Bu dokumandan yola cikarak yazilim ihtiyaclari dokumani ve bundan yola cikarak da Ust duzey ve alt duzey dizayn dokumanlari
hazirlanir.
Dizayn dokumani proje ile alakasi olsun olmasin herkesin bakinca anlayabilecegi sekilde, classlarin , programi kullanan kullanici ve program nesnelerinin birbiri ile olan iliskilerini gosteren ayrintili diagramlar icerir. ayni zamanda bu dokuman programin akisi ve algoritmayi goruntuler.Alt duzey dizayn dokumani kodun bir kisminida icerir.
Kisacasi bu uc dokumani okudugunuzda program hakkinda ince detaylara kadar her seyi gorursunuz ve alt duzel dizayn dokumani yardimiyla da kodunuzu yazarsiniz.
Bu dokumanlar firmada bu dokumani hazirlayabilecek tecrubeli kisilerce hazirlanir ve gelistirici takima verilir.
Kod yazilir, testten sorumlu kisiler testleri uygularlar ve bulunan buglar rapor edilip kod tekrardan duzenlenir. Tekrar testler ve musteriye gonderilir.Musteri testlerini uygular ve gerek gorulurse duzeltmeler yapilir.
Yukarida bahsetmedigim, yillar boyunca firma tarafinda gelistirilip kullanilan yontemleride var. Kalite testleri vs.
Buraya kadar bakilinca her sey harika.
Gelelim firma calisanlarina.
Hindistan deyince aklimiza yazilim ile ilgili ne geliyor, gozu kapali Java kodu yazan adamlar mi? Zor bulursunuz. :) Bu takima katildigimda takimda Delphi ile ilgili en tecrubeli 2. kisi bendim.bir egitimenin gelip ozel ders vermesini beklerken ben onlara 2 ay boyunca Delphi ye giris ve database programlama dersi verdim, bu yazdiklarima bakip benim Delphi de uzman oldugumu zannetmeyin, lise son sinif ve universite donemim boyunca 3 senelik bir tecrubem var.
Iclerinde iyi olanlarida var tabii ki ama inanin bir cogu universitede temel egitimlerini almis sadece bir konuda kendini yetistirmis, farkli bir teknoloji isin icine girince yardim bekleyen, belki kaba olucak ama universitilerde sadece sinavlari gecmek icin calisan sonunda da aldiklari limitli bilgi ile mezun olmus arkadaslarim gibi.
Benim isyanim da burda basliyor, hal bu iken nasil oluyorda bu firma milyon dolarlik bu isi alabiliyor
!!! Neden bizde de dunya devleri ile calisan firmalar yok!!! Ülke nufusunun yarisi genc diyoruz. Neden degerlendiremiyoruz.
Ben bu firmada calistigim sure boyunca benim cebime girecek uc bes kurusun yaninda bu firma yine dunya devi olma yolunda ilerleyisini surdurucek, hindistan kazanicak.
Bu gun Internette Turkiye'deki yazilim firmalarini aradim, ve iclerinden sadece bir kaci yurt disi ile calisiyor. Firma calisan sayisida 100 gecmiyor. Verdikleri hizmet yeni yazilim gelistirmek.
Dunaya genelindeki yazilim projelerinin %80 onarim iken neden biz de onarim projelerinde yer almiyoruz.
12 kisilik takım milyon dolarlık proje alıyor, bizde bunu yapacak 12 kişi mi yok!!!
...
"Ya bizler kendi çapımızda ufak tefek insanlarız, nasıl yapabiliriz ?" demeyin sizin de bu işlere başlayabileceğiniz yerler var. mesela
GetAFreelancer
Rent a Coder
nasıl olacak bu işler diyorsanız konuyla ilgili yazılarda hazırlanmış bakınız 1 2 3 4
3-5 arkadaş - en az birisinin İyi derece ingilizcesi olması şart - başlayın. Hiç bir şey olmasa tecrübeniz artar. Evin müsrif çocuğu değil, ek gelir getiren hayrılı evladı olun. Boş durmayın boş duranı Allah sevmez.
Pazartesi, Haziran 16, 2008
İlgi çok ! Tepki yok :(

Yukardaki grafiktende görebileceğiniz gibi dünyanın dört bir yanından ziyaretçilerimiz var. Pek tabii ki yoğunluk Türkiyede. İşin tuhafı yurt dışından ziyaret eden azınlıktan pek çok kişi sorularıyla yorumlarıyla bana ulaşıyorlar.
why you don't write your blog in english?"diyerek yazıların İngilizce olmasını isteyenlerden
"Would you please explain a little bit ?"açıklama isteyenlere
"great work; please indent your code properly as it makes it very hard to read otherwise;"diye şikayet edenlere kadar pek çok tepkiyle karşılaşıyorum.
Türkiyeden iletişime geçenlerde ise durum biraz farklı, genellikle kendi ödev veya bitirme projeleri için yardım ! talep ediyorlar.
YSA kullanarak ... yapan bir kod var mı elinizde ?.. Ya da bu tarz bir kod yazabilir misiniz?
...
Tez için senin kodları kullandım. Bir arkadaşım da yardımcı oldu bu anlamda ama projenin son kısmı olan aşağıda izah ettiğim kısmı yarın halletmem gerekiyor. Yardımcı olabilirsen çok minnettar olacam.
...
benim bitirme tezi olarak pazartesiye bir YSA uygulaması gelistirmem gerek...
gibi mesajlara cevap yazmak zorunda kalıyorum. İşin kötü tarafı herşey bittikten sonra nezaketen arayıp sonuçlar konusunda haberdar bile etmiyorlar. Programlarımı indiren olmasa ilgi yok diyeceğim ama öyle de değil, Yani
Haksızlık etmeyelim Türkiyden de gerçekten bu işlere hevesli kardeşler, arkadaşlar var. Artık okullarda kapanmak üzere olduğuna göre bu işlerle gerçekten ilgilenen insanlar ile muhatap olacağımı düşünüyorum. ( İnşallah ) Bir kaç kişiyle Ortaklaşa proje geliştirme gibi niyetlerimiz de var, ...
Kısmet artık
Cumartesi, Haziran 14, 2008
Göz Bulma II
İlk iş Görüntü dosyalarını açıp içlerindeki yüzleri tespit edip 64x64 ebatına getirip kaydetmektir. Bu iş için Yüz tanıma programımızı da kullanabilirsiniz. bu şekilde bir yüz veritabanına sahip oluruz.
Bu yüzlerin dosya isimleri ve göz koordinatlarını bir text dosyaya attım. Göz koordinatlarını inceleyerek gözlerin muhtemelen bulunduğu bir alan belirledim. bizim programımızda bu alan her iki göz için ayrı ayrı olmak üzere 16x16 lık bir kare . Yüz görüntüsüne kenar bulma işlemi uyguladım ( cvCanny ) Gözün bulunduğu alanlarında yatay ve dikey histogram aldım. Bizim uygulamamızda 16 elemanlı bir dizi oluşur
0.063 0.063 0.125 0.188 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.188 0.188
bunu YSA için giriş değeri olarak kullandım
Çıkış değeri ise Gözün o alan için konumunu aldım. Yani gözün bulunduğu konum 1 diğerleri 0 olacak şekilde 16 elemanlı bir dizi mesela konum 9 için
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000
Bu işlemleri elimizdeki yüz -veri tabınına uygulayıp Yapay Sinir Ağları için eğitim verisi oluşturacak basit bir program yazdım. sonuçta
SagX.dat // Sağ Göz X Konumu için Eğitim verisidosyalarını oluşturdum.
SagY.dat // Sağ Göz Y Konumu için Eğitim verisi
SolX.dat // Sol Göz X Konumu için Eğitim verisi
SolY.dat // Sol Göz X Konumu için Eğitim verisi
YSA 'nın eğitim işlerini FannTool ile yaptım. Eeee biz bu günler için yaptık bu programı.
Eğitim sonunda Eğitilmiş YSA lar
SagX.net // Sağ Göz X Konumu için Eğitilmiş YSAadlarıyla kaydedildi.
SagY.net // Sağ Göz Y Konumu için Eğitilmiş YSA
SolX.net // Sol Göz X Konumu için Eğitilmiş YSA
SolY.net // Sol Göz Y Konumu için Eğitilmiş YSA
Programımızda eğitilmiş YSA ları çağırıp istediği verileri girip göz konumlarını almak
için kolaylık olsun diye bir de Sınıf oluşturdum.
EyeFinder
Kullanımı gayet basit
EyeFinder *Eyes;diyerek nesnemizi tanımlıyoruz
Eyes=new EyeFinder();
Eyes->SetImage(img);diyerek işlem yapacağımız görüntüyü bildiriyoruz
Eyes->SetFaceRect(leftup.x,leftup.y,rightdown.x,rightdown.y);diyerek yüzün konumunu bildiriyoruz - OpenCv haarcascade ile etspit ettiğimiz -
Eyes->Find();diyerek YSAları çağırıp Göz konumlarını bulduruyoruz.
artık Göz konumlarına
Eyes->rightX; // Sağ Göz X Konumuşeklinde ulaşabiliriz...
Eyes->rightY; // Sağ Göz Y Konumu
Eyes->leftX; // Sol Göz X Konumu
Eyes->leftY; // Sol Göz Y Konumu
Göz bulma programı bu haliyle bitmiş bir proje değil, başlanmış bir projedir performansını düzenlemek için pek çok şey yapılması gerekecektir. mesela YSA larının eğitimi için sadece 79 veri kullanılmıştır. Bu kadar az veriyle gösterdiği performansada şaşormadım desem yalan olur.
Bence yapılması gerekenlerlerden bazıları
- Veri sayısı artırılmalı
- Kenar bulmanın değişik metodları denenip performansları karşılaştırlılmalı
- Gözlerin muhtemelen bulunduğu bir alan konum ve ebatlarında değişik alternatifler uygulanıp performansları karşılaştırlılmalı
Okuyucu sana söylüyorum Volkan sen işit !
Pazartesi, Haziran 09, 2008
Göz Bulma I
Daha öncede belirttiğimiz gibi Yüzün konumlandırılması için örnek programımızda bir şey yapmadığımızı belirtmiş ve yüzün öğelerinin konumlarınıda tespit edip, gereken değişimleri yaparak düzeltme yapılabileceğinden bahsetmiştik.Hiç şüphesiz bu öğelerden en önemlisi gözlerdir. Gözlerin konumlarını bulabilir ve buna göre bir düzeltme işlemi yaparsak, elde edeceğimiz yüzler nispeten daha standart olacaktır.
Göz koordinatlarını bulmak için ufak tefek bir program hazırladım aslında New Face programını adapte ettim. Göz konumlarının tespiti için YSA larını kullandım.
ve Her zaman olduğu gibi
IDE olarak : CodeBlocks
GUI olarak : FLTK
YSA için : FANN
Görüntü işleme için : OpenCv
Kullanıldı.
İndirmek için buradan buyrunuz
Download
Eye Finder by using Neural Networks for LinuxPekiiiiii iyi hoş da bütün bunları nasıl yaptık. İnşallah bir sonraki yazıda anlatmaya çalışalım.
Eye Finder by using Neural Networks for Windows
Yüz Tanıma 3
Yüz Tespiti :
Birinci aşama Yüzün Görüntü içindeki yerini tespit etmek lazım, Bu iş için OpenCv nin Haarcascad metodlarını kullanıyoruz. Yalnız şöyle problemler ortaya çıkıyor.
Görüntüdeki bütün yüzleri tespit edilemiyor. Yüz olmadığı olduğu halde yüz olduğu sanılan yerler bulunuyor. ilk problem için yapılacak şey, ya metodu değiştirmek, yada yeni daha iyi bir xml dosyası oluşturmak lazım. ikinci problemi tespit edilen alandaki renk yoğunluklarıyla uğraşarak halledilir gibi geliyor bana.
Yüz Standartlaştırma :
İkinci aşama bulduğumuz yüz görüntüsünü standartlaştırmak. Yüz Tanıma projelerininde genelde yüz veritabanlarının kullanıldığını görürüz. Bu Veri tabanlarındaki Yüzler nispeten sabit bir ışık, sabit bir konum ve ebattaki yüzlerle çalışırsınız. Gerçek hayatta ise bunların hiçbirini bulamıyacağınızdan, kendiniz yapmanız lazım. Bu işin önemi ise şuradan geliyor bir sonraki aşama olan tanıma işinin sağlıklı ve başarılı olabilmesi buna bağlı.
* Işık-Aydınlık etkisini minimuma indirgeme :
Aynı yerde aynı insanın farklı zamanlardaki fotoğrafları bile bu etki yüzünden farklı görünebilir. Bu etkiyi bir nebze düzenleyebilmek için bizim programımızda histogram eşitlemesi yaptık. Aslında RGB renk uzayından HSV renk uzayına geçip oralardan ayaralamak daha bir sağlıklı olabilir. Biz kolayına geçtik siz öyle yaparsınız artık.
* Konumlandırma hatalarını minimuma indigeme :
Haarcascade ile yüz yerini bize bir dikdörtgen içinde verir. Fakat bu dikdörtgenin içinde yüzün kounumu aynı olmaz. Bu durumda yüzün öğelerinin konumlarınıda tespit edip, gerekiyorsa büyüterek yada küçülterek yada çevirerek, başlangıç değerleri düzeltilir. Bu işlem için bizim programda hiç bir işlem yapılmamaktadır.
* İstenen ebatlarda getirme :
Basitçe bir ebat değişimi ile bizim seçeceğimiz bir büyüklüğe çeviriyoruz.
Yüz Tanıma :
İlk iki aşama bu aşama için bir ön hazırlıktan başka bir şey değildi. Bu aşamada artık elimizde standart bir yüz var ve Daha önceden öğrenmiş olduğumuz. yüzlere yakınlığına göre yüzü tanımaya çalışıyoruz. Bizim Programımızda bu iş için Eigenface metodu kullanıldı. Fakat Pek çok ML algorithması kullanılabilir hatta birden fazla ML metodu paralel olarakta kullanılabilir. ML deyip geçmeyeleim Mesela YSA HMM SVM vs ... . OpenCv nin de ML kütüphanesi bulunuyor, fakat pekde başarılı olduğu söylenemez. Değişik kütüphaneler tek yapı altında toplanmaya çalışılmış, inşallah yeni versiyonu daha kararlı olur.
Böylece bu serinin de sonuna geldik. Bütün bunları yazıyorumda yapacak vaktim takatim yok. Zaten tek başına hemencecik yapılacak bir şey de değil. Bir vakit Volkan böyle bir işe girişmişti, sonra o da boşladı. Ama benim bu konuda yapacağımı söylediğim bir şey vardı, sözümüzden dönmedik ve ufak tefek bir şeyler hazırladık bekleyiniz...
Ç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
- "Open Web-Cam " düğmesine basarak web-cam'ninizi açın
- "Extract Face" düğmesine basarak web-cam den bir yüz seçmesini sağlayın
- Yüz seçilince , yüz için "Name" kısmına bir isim girin
- "Save and Add Face" düğmesine basarak yüzü kaydedip Listeye ekleyin
- Listenize yeterince yüz olana kadar yüz bulup eklemeye devam edin
- "Learn Faces" düğmesine basarak Listenizde kayıtlı yüzlerin öğrenmesini sağlayın
- Yüz tanıma işi için "Extract Face" ile yüz seçin
- "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-quicktimedeyin configure sonunda
Use ffmpeg: yessonucunu aldıysanız işlem tamamdır.
makedeyip kurulumu tamamlayın
make install
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
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şimcilikidi. Bu 4 girişimci arkadaş bir salon dolusu girişimci adayıyla karşılaşınca sanırım biraz ürktüler!
o Bora Güngören (Portakal Teknoloji)
o Eren Bali (Eofer)
o Gürkan Caner Birer (RotaSoft)
o Munir Ercan (RotaSoft)
"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
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
Cuma, Mart 28, 2008
FLTK 1.1.8 çıktı

Evet epeydir beklediğimiz FLTK'nın son versiyonu çıktı.
FLTK 1.1.8 in 1.1.7 den farkları için buraya , indirmek için şuraya bakın
Bu versiyonla 1.1.x serisi bitti artık UTF-8 eklenmiş haliyle FLTK 1.3 versiyonu geliştirilmeye başlanıyor. Üstteki resim FLTK 1.1.8 ile gelen demolardan biri olan Block Attacks oyunundan alınmıştır.
Pazartesi, Mart 24, 2008
Bu aralar neler yapıyoruz ?
Merak etmesenizde bir şey değişmeyecek ben yine de anlatacağım
- Jardel Mustafa'ya beklediği ortayı yaptım. Pek matah birşey olmasada top artık onda
- Daha önceden duyurduğumuz CodeBlocks'un kararlı sürümünü Hem windows hem de Linux altında kurdum
- FannTool'un yeni versiyonu üzerinde çalışıyorum. Bir kaç kişiye yeni halini gönderdim. Eğer zahmet edipte fikirlerini beyan ederlerse bir kaç düzenleme daha yapıp yayınlayacağım. FANN'ın yeni versiyonundan bir haber yok. Ben de bu sefer 2.1 versiyonunu kullandım.
- FLTK 1.1.8 rc3 yayınlandı kurup denedim gayet güzel, FLTK 1.1.8'in eli kulağında bekliyoruz.
- OpenCv'yi linux'a kurmayı tekrar denemem lazım beceremedim bir türlü :(
- Volkan ile yaptığımız projeyle ilgili bir çalışma var, Problem zihnimde tamamlandı kod yazmam lazım.
- e-mail ile gelen sorularınızı bildiğimiz kadarıyla cevaplamaya çalışyoruz. Bu soru cevapları toparlayıp bir yazı haline getirmek lazım...
Cumartesi, Mart 22, 2008
Beni kör kuyularda hamaksız bıraktın !

Kim ne tarafa çektirse o tarafa yöneliyorum. İşte ayrı, Internette ayrı, Ev de ayrı, Derslerde ayrı bir insan oluyorum. Bir bölünüş bir parçalanış bu ...
Bilsem şimdi nerdeyimNazarımda kıymetli olana insanlar değer vermiyor. Zannımca pek de önemli olmayan, ben olmasamda pek ala - hatta daha ala - olacak işlere, başkaları kıymet ve değer veriyorlar. Nazarımın ve zannımın peşinden gidemiyorum çünkü Rızkı kazanmak başkalarının verdiği değerden geçiyor. ve ilk parçalanış...
Bir uzun seferdeyim
gücüm - ömrüm - yetene kadar
Ev başka bir alem. Hayatı hayatımla kesişmiş insanlar. Bir taraftan herkesin ayrı dünyaları var. Diğer taraftan Kesişmiş hayat çizgilerimizden gelen hayatımda istekleri ve dahi hakları var. ve bir parça daha...
Derin kederlere sal beniHep sinin üstüne, hep benim üstüme. Bir nasihat, bir musibet, bir hastalık bir ölümle gelen idrak.
Canın sağ olsunda kır beni
"Madem dünya fanidir demiyor alakayı kalbe"biliyorum ama kalbimin alakasını kese biliyormuyum ? Tonla kitap okumuş, okuyor ve dahi okuyacak olmak ve bilmek kurtarıyor mu insanı ?
kahretsin bilmek böyle bir şey işte ; Bilmenin insanı kurtarmaya yetmediğini de biliyor insan
sözlerimin anlamı beni ürkütüyorSaffeti kalbi, itminanı kalbi nerden, nasıl bulacağız ?
böylesine hazırlıklı değilim daha
bilmek buda ürkütüyor
gene de biliyorum
Kapanmazmış günahların açtığı yaralar insanda.
Günümüzde bütün bunlara ilaç olarak hamakta sallanmayı tavsiye ediyorlar.
Kör kuyularda hamağı nerden bulupta nasıl sallanacağız.
Hadi yaptık diyelim, kör kuyuda olduğumuz gerçeğini değiştiyor mu hamakta sallanmak.
Olsa olsa unutturuyor o da muvakkaten.
Yüreğimizdeki yaralar yüzümüzü karartmış , Yusuf yüzlüler dururken kim bize merdiven salar
...Ve yine
Haber aldım ki, yarın yâd olacakmış bize yar
Ne büyük yâre ki kimler buna derman olacak
Bu büyük derd ü elemden kime şekva edeyim?
İşiten nâlemi, hep ben gibi nâlân olacak.
O şifa bahş olan envarını sen çeksen eğer
Bana kim nur verecek, kim bana Lokman olacak!
O temiz pâk nefesin, âb-ı hayatı bu çölün
Onu dûr etme ki her fert ona reyyan olacak
... *
ve yine
yine de biliyorum umutsuzluk yakışmaz bize...
ve kör kuyulardan sesleniyoruz
"Ey bu yerlerin hâkimi! Senin bahtına düştüm. Sana dehalet ediyorum ve sana hizmetkârım ve senin rızanı istiyorum ve seni arıyorum."
Senin kapından başka hangi kapıya gideyim?
Hangi kapı var?
Senden başka Rab yok ki dergâhına gidilsin.
Senden başka hak mâbud yoktur ki ona iltica edilsin."
Çarşamba, Mart 19, 2008
Tazarru ve Niyaz
...Biliniz ki, ben hilâf-ı âdet olarak, gizlemesi lâzım gelen, Rabbime karşı kalbimin tazarru ve niyaz ve münâcâtını bazan yazdığımın sebebi; ölüm, dilimi susturduğu zamanlarda, dilime bedel kitabımın söylemesinin kabulünü rahmet-i İlâhiyeden rica etmektir. Evet, kısa bir ömürde, hadsiz günahlarıma kefaret olacak, muvakkat lisanımın tevbe ve nedametleri kâfi gelmiyor. Sabit ve bir derece daim olan kitabın lisanı daha ziyade o işe yarar...
Ey Rabb-i Rahîmim ve ey Hâlık-ı Kerîmim! Benim sû-i ihtiyarımla ömrüm ve gençliğim zayi olup gitti. Ve o ömür ve gençliğin meyvelerinden elimde kalan, elem verici günahlar, zillet verici elemler, dalâlet verici vesveseler kalmıştır. Ve bu ağır yük ve hastalıklı kalb ve hacâletli yüzümle kabre yakınlaşıyorum. Bilmüşahede, göre göre, gayet sür'atle, sağa ve sola inhiraf etmeyerek, ihtiyarsız bir tarzda, vefat eden ahbap ve akran ve akaribim gibi, kabir kapısına yanaşıyorum.
O kabir, bu dâr-i fâniden firâk-ı ebedî ile ebedü'l-âbâd yolunda kurulmuş, açılmış evvelki menzil ve birinci kapıdır. Ve bu bağlandığım ve meftun olduğum şu dâr-ı dünya da, kat'î bir yakîn ile anladım ki, hâliktir gider ve fânidir ölür. Ve bilmüşahede, içindeki mevcudat dahi, birbiri arkasından kafile kafile göçüp gider, kaybolur. Hususan benim gibi nefs-i emmâreyi taşıyanlara şu dünya çok gaddardır, mekkârdır. Bir lezzet verse, bin elem takar, çektirir. Bir üzüm yedirse, yüz tokat vurur.
..."El-aman, el-aman! Ya Rahmân! Yâ Hannân! Yâ Mennân! Yâ Deyyân! Beni çirkin günahlarımın arkadaşlıklarından kurtar! Yerimi genişlettir! İlâhî, Senin rahmetin melceimdir ve Rahmeten li'l-Âlemîn olan Habibin, Senin rahmetine yetişmek için vesilemdir. Senden şekvâ değil, belki nefsimi ve halimi Sana şekvâ ediyorum.
"Ey Hâlık-ı Kerîmim ve ey Rabb-i Rahîmim! Senin B... K... ismindeki mahlûkun ve masnuun ve abdin, hem âsi, hem âciz, hem gafil, hem cahil, hem alîl, hem zelîl, hem müsi', hem müsin, hem şakî, hem seyyidinden kaçmış bir köle olduğu halde, ... sene sonra nedamet edip Senin dergâhına avdet etmek istiyor. Senin rahmetine iltica ediyor. Hadsiz günah ve hatîatlarını itiraf ediyor. Evham ve türlü türlü illetlerle müptelâ olmuş.
Sana tazarru ve niyaz eder. Eğer kemâl-i rahmetinle onu kabul etsen, mağfiret edip rahmet etsen, zaten o Senin şânındır. Çünkü Erhamürrâhimînsin. Eğer kabul etmezsen,
Senin kapından başka hangi kapıya gideyim?
Hangi kapı var?
Senden başka Rab yok ki dergâhına gidilsin.
Senden başka hak mâbud yoktur ki ona iltica edilsin."
17. Lema 12. Nota'dan
Çarşamba, Mart 05, 2008
Code::Blocks 8.02 has been released
Fazla söze gerek yok Sonunda Nightly Builds den kurtuluyoruz. CodeBlocks IDE yeni kararlı sürümünü çıkardı.Özellikleri için : Features
İndirmek için : Downloads
Linkte de görebileceğiniz gibi windows, Mac OS X, ve bilimum Linux sürümleri ( Ubuntu, Debian, Fedora ve OpenSuse üstelik 64 bit versiyonlarıda var.* ) için paketleri hazır kullanabilirsiniz.
Programcılık camiasına hayırlı olsun.
* Birileri de Pardus versiyonunu çıkarsada biz de Fedoraymış yok Suseymiş Yok Ubuntuymuş gezeleyip durmasak :)
Cumartesi, Mart 01, 2008
Yapay Zeka Tıbbın Hizmetinde 2
cevap veriyorum Hayır. İsterseniz o üç beş satırı yazabilmek için neler yapmamız gerektiğine bir bakalım.
YSA ya bir şeyler öğretebilmek için eğitim gerekli, Eğitim içinse veri.
Sınıflandırma yapmamız için etkili olan faktörler tespit edilir - Giriş değişkenleri - Sonuçta bu faktörlere göre bir sınıflara ulaşırız -Çıkış değerleri - İşte Bu giriş ve çıkış değerleri YSA nın giriş ve çıkış değerleri oluyor.
Peki YSA verileri doğrudan verebilirmiyiz ?
Malesef veremeyiz. YSA da katmanlar arasında veri iletişimi bir çeşit aktivasyon fonksiyonundan geçerek sağlanır. Bu fonksiyonlarda tipine göre (0 - 1 ) yada (-1 1) aralığında sonuçlar verir. Bu durumda bizim verilerinizi bu aralıklara çekmemiz lazım. Peki Bu normalizasyon işlemini nasıl yapacağız. Değişkenin en küçük (min) ve en büyük (max) değerleri tespit edilir ve bir aralık hesaplanır
range = max-min
Biz bu uygulamamızda ( 0 - 1) aralığını kullandığımızdan normalizasyon formülümüz şöyle oluyor.
Norm(x)= (x-min)/range
ufak bir tavsiyede bulanayım değişkenin veri kümesinden tespit ettiğimiz min max değerlerini aralığı hafifçe açacak şekilde genişletirseniz daha iyi olur. bu arada sizede ufak bir ev ödev i! (-1 - 1) aralığında normalizasyon için gereken formülüde siz bulun.
Giriş değişkeni eğer mantıksal bir değişkense, (doğru-yanlış) gibi sadece iki değeri içeriyorsa normalizasyonu gayet kolay değerin biri 0 diğeri 1 olarak YSA ya bildirilir.
Peki değişken eğer sayısal değilse ne yapacağız mesela bizim örneğimizde "chest pain type"
göğüs ağrısı tipi diye bir değişken var ve bu değişken {angina, abnang, notang, asympt} gibi 4
değişik tipten oluşuyor. Bu durumda yapacağımız şey bu tip değişkenleri mantıksal değişkenlere
bölmek yani chest pain type değişkenini 4 adet mantıksal alana yayıyoruz eğer ağrı tipi
angina ise 1 0 0 0 yok notang ise 0 0 1 0 gibi.
Şimdi gelelim verilerimize verilerin aslı aşağıdaki gibi bir matriste tutuluyor
60, male, asympt, 140, 293, fal, hyp, 170, fal, 1.2, flat, 2, rev, sick.
37, male, notang, 130, 250, fal, norm, 187, fal, 3.5, down, 0, norm, buff.
64, male, angina, 110, 211, fal, hyp, 144, true, 1.8, flat, 0, norm, buff.
bu matriste 14 sütün var ilk 13 ü giriş değişkenleri son sütün çıkış değişkeni. fakat biz bu
değişkenleri YSA ya aktarabilmek için normalize ederken sütün sayımız 25 e çıkıyor nasıl mı oluyor bakınız
ANN Dizaynı
| Inputs
| ------------------------
| -- 1. age : 1 sütun
| -- 2. sex : 1 sütun
| -- 3. chest pain type (4 values) : 4 sütun
| -- 4. resting blood pressure : 1 sütun
| -- 5. serum cholestoral in mg/dl : 1 sütun
| -- 6. fasting blood sugar > 120 mg/dl : 1 sütun
| -- 7. resting electrocardiographic results (values 0,1,2) : 3 sütun
| -- 8. maximum heart rate achieved : 1 sütun
| -- 9. exercise induced angina : 1 sütun
| -- 10. oldpeak = ST depression induced by exercise relative to rest : 1 sütun
| -- 11. the slope of the peak exercise ST segment : 3 sütun
| -- 12. number of major vessels (0-3) colored by flourosopy : 4 sütun
| -- 13. thal: ( normal, fixed defect,reversable defect) : 3 sütun
25 giriş
| Outputs
| ------------------------
| Absence (1) or presence (2) of heart disease 1 sütun
1 Çıkış
evet Elimizdeki 180 adet veriyi bin bir meşakkatle normalize ettiktten sonra ikiye ayırıyoruz.
155 adedi eğitim için 25 adedi test için. ve verileri FANN kütüphanesinin standartına uygun olarak kaydediyoruz. - FANN kullanımı yazılarım -
Bundan sonrasını FannTool'u kullanarak yapacağız. FannTool'u çalıştırın ve Eğitim için Training
Data File olaraka "heart_train_data.dat" yükleyin Artık Keyfinize ve tecrübelerinize göre eğitim denemelerinini yapabilrsiniz.
ilk etapta saklı katman sayısı (# of Layer) ve bu katmanlardaki hücre sayılarını (Hid Layer 1 ...) ayarlaya bilirsiniz.
İsterseniz Eğitim metodunu (Detect Optimum Training Algorithm) ve Aktivasyon foksiyonlarını
(Detect Optimum Activation Functions ) sizin için seçmesini istiyebilirsiniz.
Artık Train -> Normal diyerek YSA eğitimini başlata bilirsiniz. Eğer Belirlediğiniz hata değerine yada altına ulaşıldığında Eğitilmiş YSA yı kaydetmek için sizden bir dosya ismi istenir. Bir isim verip kaydedin .net uzantılı olarak kaydetmeniniz iyi olur.
İşimiz bittmi ? ellbette hayır. Biz boşunamı test datası oluşturduk. Testing Data File olarak test dosyamızı yüklüyoruz. Test ANN düğmesine basıyoruz. Bizeden eğitilmiş YSA dosyası isteniyor kaydettiğimiz .net dosyasını seçiyoruz. Sonuçta bize test verileriyle ulaşılan bir MSE (ortalama hata ) değeri hesaplanır.
Bu değer eğer çok yüksekse. Bizim YSA eğitimi iyi olmamış demektir. Tabiri caiz ise YSA mız Eğitim verilerini ezberlemiştir. Muhtemel sebeplerine gelirsek Düşük veri sayısı veya yüksek hücre sayısı veya istenen hata değerinin çok düşüklüğü....
Ama istenen ezberleme değil genellemedir. Böyle durumlarda eğitimi değişik kombinasyonları deyerek tekrarlamak gerekir.
Eğitimin bir diğer metoduda Train->Cascade dir bu metodda YSA nın Saklı katmanlarını kendisi dinamik olarak belirler. Siz sadece kullanabileceği maksimum hücre sayısını belirtebilirsiniz. Bu değeri de FannTool Saklı katmanlardaki hücre sayılarını giriş ve çıkış hücre sayılarına ekleyerek hesaplar.
Bütün bunlardan sonra Eğitimizi tamamlayıp testimizi yapıp sonucunda tatminkar hata değerine ulaştıktan sonra yapılacak şey basit bir arabirim yazmaktırki onuda ilk yazımızda verdik.
Sizinde gördüğünüğüz gibi üç beş satırın arkasında epey bir emek var. İnşallah FannTool 'un ilerki versiyonlarında Veri işlemeyi nispeten kolaylaştıran bir kısımı da eklemeyi planlıyorum.
Artık nasip...
Salı, Şubat 26, 2008
Aney
Aney
Bu akşam aklıma yine sen geldin
Dersi bıraktım çalışamadım.
Saat 1'e geliyordu Aney, yatamadım
Uyku gözüme girmedi
Sen bu saatlerde benim beşiğimi sallardın
Uykunu harab ederdin benim için
Ağladığım zaman, sancılandığım zaman
Kalkardın, süt verirdin, nane kaynatırdın
Aney, canım aney, kurban aney
Hayalin önümde şimdi anıt gibi durur
Sen şimdi leğenin başına oturmuş, hamur yoğuruyorsun
Yarın ekmek yapacaksın, akşama kadar
Gözlerin tezek dumanından yaşaracak
Alnında ter bulgur bulgur kabaracak
Sıcak bazlamalar yapacaksın.
Ben orda yokum ağlayacaksın
Ağlama Aney ağlama, gündür bu, nasıl olsa geçer
İnsan insana tez kavuşur.
Ben sizi hiç unutmadım, hiç unutmayacağım
Ben okuyorum Aney okuyorum mühendis olacağım
...
Ah Aney daha neler var neler sana yazamadığım
Mektubumu burada bitirirken,
Beni büyüten ellerinden, binlerce kere öperim
Canım Aney, Kurban Aney, Can Aney.......
Mehmet Atilla Maraş
Yapay Zeka Tıbbın Hizmetinde 1
İsmine bakıpta büyük beklentileriniz olmasın. Yapılan iş basit! bir sınıflandırma işi. Daha önceki tecrübe verilerini kullanarak kişilerin kalp hastası yada sağıklı olduğuna karar veriliyor.Öncelikle veriler bulunuyor. YSA ile kullanmak için normalize ediliyor. FannTool ile değişik metodlarla deneye yanıla uygun bir YSA ya ulaştıktan sonrası kolay. Yazıyoruz basit bir kullanıcı arabirimi işte karşınızda Heart.zip
Eğer isteyen olursa yada vakit bulabilirsem Linux versiyonunuda yayınlarım. Zaten FLTK ve FANN kullanıldığında kod taşınabilir, siz de derleyebilirsiniz. Giriş verilerinin isimlerini çevirmedim çünkü ne manaya geldiğini bilmediğim tıbbi terimler de var. Yarı ingilzce yarı türkçe olmasındansa bu şekli daha doğru buldum.
Son bir not : Türkiyede niye böyle uygulamalar için hazırlanmış veri tabanları yok ? Eğer varsa neden duyrusu iyi bir şekilde yapılmıyor ? Eğer böyle veritabanları hazırlanırsa tutupta "Cleveland Clinic Foundation" yerine kendi veritabanlarımız kullanabilirdik. Güzide üniversitelerimizdeki güzide hocalarımızdan ısrarla istiyoruz.
Cumartesi, Şubat 16, 2008
birbirini bilmemek insaf değil
Aslında Cogitonun Yapay Zeka sayısını defalarca kitapçılarda elime alıp alsammı diye düşünmüşlüğüm vardı ama çok teorik diye vazgeçmiştim. Son okuduğum kitaptaki ant-i ütopya yazıları fikrimi değiştirmeme sebep oldu -Matrix / Kırmızı Hapı Yutmak- Felsefi ve etik yönünden de bilgi sahibi olmak lazım yoksa "ehramlara taş taşıyan birer köle"* den ne farkımız kalır dedim.
Neyse Konuyu dağıttım yine... Sahafların birine girdim ve Cogitonun Yapay Zeka saysısını sordum. Adama gülümsiyerek bulsam ben alacağım dedi. Meğer o da Yapay Zekayla ilgilenen bir müşteriymiş. Ayak üstü bir kaç kelam ettik, Makina tasrımında Yapay Zekayla ilgileniyormuş. Bu kısa karşılaşma bile bana tuhaf bir mutluluk verdi. Öyle ya aynı ilgi alanlarına sahip insanların tanışması konuşması insanı mutlu ediyor.
Düşünüyorumda belki yüzyüze tanışmak çok zor ama Internette niye yapamıyoruz ki bunu ? Yaptığınız çalışmaları duyuracağınız, Başkalarının çalışmalarını görebileceğimiz yerler var. www.yapay-zeka.org Türkiye'nin Yapay Zeka Portalı. Bence büyük bir eksikliği var, - Eskiden vardı - şu an forum'u yok. E-mail gurupları aynı işi görmüyor. Bu eksikliğide gidermek için size tavsiyem ceturk forumunda Yapay zekaya ayrılan kısımı kullanmanızdır. Bahsettiğim mekanların sahibi değilim fakat yine de sizleri davet ediyorum. Gelin Bu konuyla ilgilenen insanlar tanışalım, tartışalım, sorular sorup, cevaplar verelim, çalışmlarımızı anlatıp, çalışmalara katkılarda bulunalım. İnsafsızlık ! etmeyelim Ne demiş Nefi
ehl-i dil birbirini bilmemek insaf değil* "mefhumların kah gülünç, kah korkuç maskelerle raksa çıktığı bir karnaval balosu, fikir hayatımız. tanımıyoruz onları, nereden geliyorlar bilen yok. fir'avunlara benziyorlar, kalabalığa çehrelerini göstermeyen fir'avunlara. ve aydınlarımız, o meçhul heyulalar için ehramlara taş taşıyan birer köle."
Salı, Şubat 05, 2008
Nayır Nolamaz yine mi nETA ?
Olayımız bir Muhasebe bürosunda geçiyor. tuzu kuru yazılım firmalarımızdan nETA'nın muhasebe paketini kullanan binlerce muhasebeciden biri.
İhtiyar Muhasebeci -İM - , kendi kendine
- Nihayet nETA muhasebe paketinin güncellemesi geldi
zarfı açıp kağıdı okur.
- Hey gidi hey adamlar yapyor ya. AGİ değişikliğinide içeren yeni sürümü eskisinin üzerine otamatik yüklüyormuş. Yinede benim için karışık ben en iyisi yine çaycının çırağını çağrayım.
Zile basıp 1 çay 1 gazoz söyler. Çok geçmeden Çaycı Çocuk - ÇÇ - çıkar gelir, çayı adamın önüne koyup gazoz kimin diye soran gözlerle muhasebeciye bakar. muhasebeci muzip şekilde gülümsiyerek.
İM - Gazoz senin için otur bakalım bilgisayarın başına bi-zahmet! şunu yükleyeceksin.
Çaycı Çocuk suratını ekşiterek
ÇÇ - Nayır Nolamaz yine mi nETA ?... Bilgisayarınızı yenileyince XP altında çalıştırabilmek için neler çektiğimzi hatırlamıyormusun?
İM - Alışmışız işte, sen bırak mızmızlanmayı da işine bak hem bu sefer tam otomatik yapmışlar
ÇÇ - Hadi canım
İM - Kağıtlarına bak
Çaycı çocuk kağıtlara göz atar.
ÇÇ - Hımm hakkaten ya bir programla işlem tamam oluyormuş.
ÇÇ - Tamam CD'ye bakalım eee bahsi geçen program yok !
İM - iyi bak oralardadır.
ÇÇ - Evet buldum fakat bu kurulacak programların içinde demek ki önce yeni versiyonu kurup öyle yapacağız.
... yaklaşık 10 dakika sonra
ÇÇ - Abi olmuyor bu program ... hatası veriyor yükseltmiyor.
İM- Bir işi beceremedin dur ben destek hattını arayayımda oradakiyle konuş
- meşgul
- meşguuuul
- meşguuuuuuul
İM - ya bu hat niye bu kadar meşgul ki
Çaycı Çocuk sırıtarak
ÇÇ - Tam-otamatik versiyon artırıcı yüzünden olmasın :)
İM - hah düştü Alo şimdi bizim bir problemimiz vardı da.
Sekreter - Tam otamatik versiyon yükselticiyle ilgili değilmi ? bekleyin birazdan İlgili Arkadaşa -İA - aktaracağım
İM - peki bekliyoruz...
İM - al birazdan bağlaycaklar sen görüş.
ÇÇ - hıh bağlandı
İA - Problemi biliyorum şimdi CD yi takın ve falanca yerdeki dosyaları filanca yere kopyalayın
ÇÇ - tamam
İA - şimdi filanca yerdeki dosyaları falanca yere kopyalayın
ÇÇ - tamam
İA - şimdi Tam-Otomatik ! versiyon güncelleme programını çalıştırın
ÇÇ - tamam
İA - sorduğu dizinleri yazın
ÇÇ - ben bunu yaptım olmadı ve yine olmuyor
İA - dizinleri yanış yazıyorsunuzdur
ÇÇ - yo doğru yazıyorum zaten configurasyoın dosyasını bulamıyorum demiyorki ... hatası diyor.
İA - anladım siz motoru boğdurmuşsunuz.
ÇÇ - nasıl ? ne motoru
İA - Daha önce uğraşarak bilgisayarı kastırmışsınız motoru boğdırmuşsunuz o yüzden çalışmıyor
ÇÇ - öyle olsun peki ne yapmamız lazım ?
İA - Kafdağını bilirsiniz oaranın ardında ki Zümrüd-ü Anka kuşunun kuyruğundan bir tüy alıp bilgisayarı gıdıklayacaksınız. Bilgisayarınız gevşeyecek.
ÇÇ - Ya İlgili Arkadaşım şimdi kışta kıyamette kaf dağına gitmesi zor. yok mu bunun başka bir hal çaresi ?
İA - olmamı Merkezi arayıp install alacaksınız.
ÇÇ - Yani bütün bu olan biten şeylerin sebebi İnstall almamak için miydi ?
İA - Evet
ÇÇ - Hay ben sizin Tam-otomatik versiyon yükselticinizi Zümrüt-ü Anka kuşunun kuyruk tüyüyle gıdıklayım
İA - Bizde öyle diyoruz zaten
....
Merkez aranır program için install alınır. Program çalışmaya başlar. İhtiyar Muhasebeci Bilgisayarın başına oturur ve kontrol etmeye başlar.
ÇÇ - Abi müsade edecektin ben Bu programı Turbo-Debugger ile bir gıdıklayacaktım bak daha kolay ve daha kısa sürede çalıştıracaktık.
İM - TurboDebugger de ne ola ?
ÇÇ - Anka Kuşunun ecnebi versiyonu !
İM - Eeee AGİ bilgilerini girebiliyorum ama listede göremiyorum ?
ÇÇ - Onu da bir dahaki güncellemde kaktırırlar pardon verirler
İhtiytar Muhasebeci somurtur...
ÇÇ - Abi bırak bu nETA yı META yıda Tekir ile uğraşmaya başlasana
İhtiytar Muhasebecinin iyice canı sıkılır
İM - ooo bakıyorumda iyice laubali olmaya başladın, "Bırak bu işleride kedi köpekle uğraş" diyorsun ha
ÇÇ - Ama abi yanlış anladın
İM - Birde anlayışı kıt diyorsun ha beni daha fazla kızdırmadan boşlarını alda çık
Çaycı çocuk söylene söylene çıkar...
İhtiyar Muhasebeci bir ya Sabır çekip işine döner, bir taraftanda radyoda çalan türküye o bet sesiyle eşlik etmeye başlar
Kendim ettim kendim buldum kendim ettim kendim buldum
Gül gibi sarardım soldum eyvah eyvah eyvah ey
ve perde kapanır...
Deep Not : Bütün olanlar bir hayal ürünüdür gerçek kişi ve kuruluşlarla olan benzerlik tamamen tesadüftür ;)
Pazartesi, Şubat 04, 2008
Beni sigaya çeken bir molla chelebi

Yukarda sıfatını görmekle müşerref olduğunuz zat Molla Chelebi. O zat-ı mübarekle tanışık olmam benim gibi pür-kusur bir amatör için bir övünç vesilesidir. İyide bu Molla Chelebi de kim mi diyorsunuz ? sakın ha tövbe deyin.
Bu zat Evliya Çelebiden Gezginliği Mola Kasımdan da Mollalığı almış çağımızın en müstesna Coderlarından MBA ve epey bir kilo sahabısı. VAIO dan aşağısı kesmeyen Bir Proffessional Coderdır O. Über programcı yanında acemi kalır. O kadar prof dur ki artıkın program yazmasına müsade edilmiyor. Haksız rekabeti önleme kurulu rica etmiş "Zatınız program yazarsa diğer programcılar ne yapar ne eder, açlıktan telef olurlar." Tabii bu mübarek zatta büyüklüğünü gösterip bu işlerden elini eteğini çekmiş. Geçenlerde sitemizi de şereflendirmiş ve kulağımızı çekmiştir. Bizde biçare yunus gibi deriz...
seni sigaya çeker bir molla chelebi gelir
Pazartesi, Ocak 28, 2008
BushSweeper 1.0 çıktı

Söz verdiğimiz gibi yarım kalan projelerimizden olan BushSweeper'ı bitirdik ve yayınlıyoruz. Darısı BluePlayer'ın başına... Pek tabiiki hem Linux hemde Windows versiyonu ile birlikte yalnız bu sefer Linux versiyonunu KDevelop projesi olarak yayınlıyoruz, çünkü hala CodeBlocks'u kuramadım Fedora'ya. Tabii bu benimle alakalı kimsenin kabahati yok, mesela OpenCv'yi de ffmpeg li olarak kuramadım. Linux versiyonuyla ilgili olarak direk binary programı kullanmayı deneyebilirsiz, FLTK static olarak bağlandığından sanırım çalışacaktır. Her ne ise gevezeliği bırakıp linkleri verelim
BushSweeper 1.0 Linux binary and source
BushSweeper 1.0 Windows binary and source
Cuma, Ocak 25, 2008
Nihayet toparlandım !

Başımdan geçen o tatsız olay sonrasında mütevazi bir bilgisayar aldım faka bir türlü fırsat bulup Linux yükleyememiştim. Önce eski alışık olduğum Suse 10.1 i kurmaya çalıştım maalesef mümkün olmadı - Hard Diski bulamıyor ! - yeni versiyonunu da indirmeye takatım yetmiyor 4 GB'ın üzerinde. Her ne ise efendim bir kaç ay önce Bilgisyar dergilerinden biri Fedora 8 in DVD iso'nu vemişdi . Linux dağıtımlarından her hangi birine özel bir hayranlığım yok, ben de kaprissiz Fedora 8'i kurdum. Kurarken DVD'nin içinde ne var ne yok hepsini kurmasını söyledim. malum Linux da program kurulumu bir dert, hele de internetiniz yoksa. Boşunamı DVD li dağıtımlarını tercih ediyorum sanıyorsunuz.
Konuyu dağıttım farkındayım. Şu an itibarıyla artık bir Fedora kullanıcısıyım. FLTK , FANN, Audiere, OpenCv gibi kütüphaneleri kurdum. Yalnız ffmpeg'i kuramadığımdan OpenCv video desteksiz. ve Halen CodeBlocks'u kuramadım - beceriksizlik işte - Tabiki pes etmedim çalışmalara devam ediyorum. CodeBlocks yerine KDevelop ile şimdilik idare ediyorum. Bundan sonra yine eskisi gibi yayınlarımız Cross-Platform olacak.
Bu arada eski programlarımı Fedora altında derlemeye başladım. Mesela artık Fedora altında mp3 leri BluePlayer ile dinliyorum, Fedoranın ruhuna aykırı ama ne yapalım. Unutmadan çoook yakın zamanda BushSweeper'in son halini yayınlayıp bitireceğim.
Bugünlerde Dolunay var biliyormuydunuz ? Tuhaf bir şekilde beni etkilemeye başladı ;) anlaymadım...
Çarşamba, Ocak 16, 2008
Geç kalmış bir muhasebe 2007

Üstteki grafiği counter servisinden aldım geçen seneki durumu özetliyor..
Şöyle bir geri dönüp bakıyorumda Epey iş yapmışız geçen sene..
Bizim Fatih Presta'nın 2DPathfinder kütüphanesi için bir ugulama programı : PathFinder Demo
Download Sayısı : Windows (520) Linux (165)
Bush'un hatırına yaptığımız BushSweeper mayın tarlası benzeri bir oyun programı Download Sayısı : Windows (126) Linux (290)
Genetik metodla 4 Bilinmiyenli Denklem Çözümü Download Sayısı : 377
YSA ile Tic-Tac-Toe : Download Sayısı : 300
KGDD lerde Nodul sayısı tespiti : Hem OpenCv hemde FANN için örnek program... Download Sayısı : 102
Yeni Projelerimden Fl_OpenCv ve de Basit OpenCv uygulamaları
Treshold + Fl_OpenCv 0.3 Download Sayısı : 269
cvBlobsLib kullanım örneği ve Fl_OpenCv 0.5 Bu programa
http://opencvlibrary.sourceforge.net/cvBlobsLib de Project samples kısmında link de verildi. Download Sayısı : 295
Yüz Bulma ve Fl_OpenCv 0.7 Download Sayısı : 462
ve Bir diğer Yeni Projem FannTool Download Sayısı : Windows (124) Linux (115)
Geçen sene boyunca pek çok dizi yazımız da oldu
* Debugging Hakkında 1 2
* Cross-Platform Programlama hakkında 1 2 3 4 5
* FANN ( Fast Artificial Neural Network Library) kullanımı hakkında 1 2 3
* Kırılamayacak Program olurmu ? sorusuna cevap aradığımız yazılar 1 2 3
* OpenCv'ye Giriş 1 2 3 4 5
Gelelim yapmadıklarımıza BluePlayer ile hiç uğraşmadım ve yarım olarak kaldı ve BushSweeper'ı tamalayamadım
Peki bu sene neler yapacağız. Öncelikle Yarım kalan projelerimi tamamlamak istiyorum
BluePlayer'a AudioCD desteği eklenecek
Bush emekli olmadan Bushsweeper'ı tamamlamak istiyorum Neme lazım Irakı özgürleştirdikleri gibi bütün dünyayıda özgürleştirmeye çalışacak başka Bushlar çıkabilir ! Bir de bush hakkında usturuklu bir yazı lazım İngilizce.
Fl_OpenCv zaten tamamlanmak üzere bug raporu felan gelmezse versiyon numarası 1.0'a yükseltilip tamamlanacak belki HighGUI deki video write fonksiyonlarıda münassip şekilde eklenebilir...
FannTool'un durumu biraz karışık, Ufak tefek düzenlemelerin dışında Run with File Ve Data Process kısmının yazılması lazımdı. Steffen Nissen gsoc2007 deki yeniliklerle birlikte FANN'ın yeni versiyonunu Şubat gibi çıkaracağını ve Pek çok yeniliklerin yanı sıra eski versiyonuyla uyumsuz olacağını açıkladı. Bu durumda FannTool'un bu versiyonuna uzun vadeli eklemeler yapmamı gereksizleştiriyor. FANN 3.0 çıksın bu projenin yönü ona göre değişecek gibi. Ama en azından - HB ile görüşmelerimizden anladığım - FannTool'un kullanımına dair bir yazı yazmak lazım.
Yarım kalan işlerimizin dışında Yeni projelerimizde olacak inşallah. Öncelikle Kendini Jardel sanan arkadaşa bir orta sözüm var ;) Daha sonra Volkan kaytarmazsa ortak bir şeyler yapacağız. Bütün bunların dışında Bulanık mantık konusunda bir pratik uygulama, Poor because Poor'un devamını ve AK nin sayesinde gördüğüm YSA ile kenar bulma üzerine yazmayı da istiyorum. Nasip Kısmet artık. Öneri ve istekleriniz olursa -olmazda hani belki - memnuniyetle ilgilenmeye çalışırız. Bekleriz efendim...
SetEnaniyet(KAF_DAGI);
Hey gidi hey siz ne zannediyorsunuz tuhaf bir adamın yazdığı tuhaf yazılarla dolu bir tuhaf sitemi ? Bu yazıları Ne Addison-Wesley ler ne McGraw-Hill/Osborne istedide vermedim. İsterler Tabii Böyle Pratik uygulamalarıyla birlikte bu konularada böyle yazıları kim kaybetmişde kim bulsun. Kıymetini bilin Kıymetini !RelaseEnaniyet();
Çarşamba, Ocak 02, 2008
Fl_OpenCV 0.8 ve Inpainting


Fl_OpenCv nin yeni versiyonunu çıkarmış bulunuyoruz. Yeniliklerine gelince artık callback atayarak fare eventlerini kullanabiliyorsunuz fakat OpenCv değil FLTK eventları olarak...
Aynı daha önceki versiyonlarında olduğu gibi bir de örnek uygulamayla birlikte geliyor. Inpaint; Resimlerden nesne silme bozulmaları düzeltme gibi işler için kullanılan bir method. Bakınız üstteki resimler. Detaylı bilgi için google sizi bekliyor. OpenCv de cvInpaint diye hazır bir fonksiyon var. Biz de onu kullandık zaten. Navier-Stokes ve Alexandru Telea diye geçen İki farklı metodu kullanabiliyorsunuz.
Kullanımı basit inpaint yapmak istediğiniz yeri gidip fareyle işaretliyorsunuz. Inpaint tuşuyla gereken işlem yapılıyor. Kullanılacak metodu da isterseniz değiştirebilirsiniz. Neyse efendim lafı fazla uzatmayalım buyrunuz.
Inpaint with Fl_OpenCv 0.8