Sayfalar

Çarşamba, Aralık 31, 2008

Tam zamanında yapılmış bir muhasebe 2008


Evet Geçen Senenin bir muhasebesini yapalım bakalım

Geçen seneye nazaran ziyaretçi sayımızda epey bir artış var. Yani Namımız almış yürümüş....

Yazılanlara Şöyle bir tepeden bakınca daha çok OpenCv ağırlıklı şeyler yapmışız gibi görünüyor

İlk olarak OpenCv deki Inpaint fonksiyonun kullanımını gösteren ve Fl_OpenCv bileşeninin 0.8 versiyonunu içeren bir örnek İndirilme sayısı : 1033

Bushsweeper projemizi tamamladık indirilme sayısı : 1547 ( windows ) + 349 ( Linux ) = 1896

Yapay Zeka Tıbbın hizmetinde 1 2 Yazılarımızla YSA kullanarak basit bir sınıflandırma uygulaması yazdık. Özellikle 2. yazıda konuyla ilgilenen kişiler için epey pratik bilgiler mevcut

Yüz tanıma üzerine bir dizi yazı yazdık 1 2 3
Özellikle ikinci yazıdaki örnek program Çok büyük ilgi gördü ve benim download rekorumu da kırdı indirilme sayısı : 4874 ( windows ) + 1461 ( Linux ) = 6335

FannTool projemizinde 0.93 versiyonunu çıkardık. Epey bir ilgi de gördü.
İndirilme sayısı : 1276 ( windows ) + 570 ( Linux ) = 1846
Son olarak birde Kullanımını anlatmaya çalıştığımız bir video hazırladık, şimdiye kadar 73 kişi indirmiş. Ama meseleyi mükemmel anlatmış olacağımdan hiç soru falan gelmedi :)

Yüz tanıma yazılarını tamamlayıcı bir proje yaptık Göz bulma 1 2
YSA kullanarak göz konumunu tespite çalıştık. Hem OpenCv hemde FANN kullandık
İndirilme sayısı : 909 ( windows ) + 183 ( Linux ) = 1092

Ve OpenCv üzerine yeni bir projeye başladık cvPreProcessor 1 2 3
Bir de Video hazırladım cvPreProcessor ile Ödev yapıyoruz.
Çok umutlu bir şekilde başladım ama itiraf ediyorum umduğum ilgiyi bulamadım
indirilme sayısı : 521 ( windows ) + 156 ( Linux ) = 677
işin ilgiç vede tuhaf tarafı cvPreProcessor ile ürettilen kodları OpenCv örnek programlar olarak yayınladım indirilme sayısı : 2003 + 144 = 2147 sayısına ulaştı. Gel de şaşırma !

OpenMP yazıları 1 2 : bir paralel programlama kütüphansi olan OpenMP den de bahseden yazılar yazmışız

Ne haddimize demeyip Yapay Zeka Temellerin Duruşması başlıklı bir dizi yazı da yazdık 1 2 3 4 5

BluePlayer projesine uzun süredir zaten elimi sürmüyordum. Artık sürmeyeceğimide açıkladım ve elimdeki en son halini yayınladım ve Projeleri niçin yazdığıma dair bir şeylerde karaladım.

Bir de okuyucuların çoğunun pek ilgisini çekmeyen ama benim için değerli olan diğer yazılar var.

2009 yılı için planlarıma gelirsek
Bir yılın sonunda 2 projeyle ilişkimi bitirdim ( BushSweeper ve BluePlayer ) elimde 2,5 proje var
FannTool cvPreProcessor ve yarım olarakta Fl_OpenCv

FannTool : DataProcessing kısmı için sağ olsun bir kardeş yardımcı olacağını söyledi. Böylece projelerime ilk katılımda teorik olarak gerçekleşmiş oldu. Pratik kısmınıda görünce FannTool'un yeni versiyonunu çıkaracağız İnşallah

cvPreProcessor : Şu an elimde yeni versiyonu bekliyor ufak tefek düzeltme ve düzenlemeler yapmam gerekiyor. Ekelenen yenilikler cvSmooth Filter2D, RGB ve HS filitreleme. Beta tester aranıyor duyrulur.

Fl_OpenCv : Bir FLTK bileşeni olduğunda yarım proje olarak sayıyorum. Gerektikçe düzenlemeler yapıyorum ve yayınladığım diğer OpenCv projeleriyle birlikte yayınlıyorum. Basit bir dökümantasyon ve Bileşenin imaknlarını ve kullanımını gösteren bir demo program yazmak lazım. Kısmet...

Son olarak 2009 da daha katılımcı okuyucular bekliyoruz. Peki siz ne bekliyorsunuz ?

Pazartesi, Aralık 22, 2008

FannTool İçin Tanıtım Videosu


Evet yine bir video karşınızdayız. Epey bir zamandır FannTool'un kullanımını anlatmayı planlıyordum. Bu video ile bir parça olsun anlatmayı denedim. Ekran görüntülerini Linux da OpenSuse 10. 3 de Wink ile çektim. Bu Wink gerçekten çok güzel bir yazılım ve Hem windowsta hemde Linuxda kullanabiliyorsunuz. Tavsiye ederim.
İnsanların çoğu yazdığım programların Windows versiyonunu kullanıyorlar. Mesela FannTool için Şu an itibarıyla
Windows versiyonu 1243 adet
Linux Versiyonu 557 adet indirilmiş

Ve bazen Linux versiyonları hakkında sorular geliyor.
Aynı şekildemi çalışıyor ?
Aynı kodumu kullanıyorsunuz ?
... gibi. İşte Videonun Linux versiyonu üzerinden hazırlanmasının başlıca sebebi budur. Sizinde Video üzerinde görebileceğiniz gibi
Evet aynı şekilde çalışıyor
Evet Aynı kodu ve aynı IDE yi ( CodeBlocks ) kullanıyorum
zaten Cross-Platform IDE ve kütüphaneleri kullanmanın amacıda bu değilmi ?

Videoda kullanılan veri dosyaları hakkında bilgi almak istiyorsanız
Yapay Zeka Tıbbın Hizmetinde 1
Yapay Zeka Tıbbın Hizmetinde 2
yazılarımızı inceleyebilirsiniz.

İndirmek için : FannTool Tanıtımı

Eksiklikler, yanlışlıklar olabilir. Şöyle yapsaydınız daha iyi olurdu şeklinde fikirleriniz olabilir. Anlamadığınız yerler olabilir. Her türlü görüş ve önerilerinizi bekleriz.

Çarşamba, Aralık 17, 2008

Bir Ayakkabı da Sen Fırlat


Efendim malumunuz Iraklı bir gazeteci Bush'a ayakkabılarını fırlattı. Malesef isabet ettiremedi. "Yarın öbür gün bizimde başımıza gelebilir antreman yapmak lazım" diyenler için güzel bir oyun çıktı. Boş geçmeyin kardeşlerim Bir ayakkabı da siz fırlatın. İçiniz ferahlasın
Oyunun Linki
Bu arada rekorum 15

Not : Efendim Görüntü işlemede Lena yerine bush resimleri kullanan, Bushsweeper diye oyun yazan birinin bu haberi es geçeceğini aklınızdan bile geçirmeyin...

Not'un notu : şu an itibarıyla Bushsweeper 1.0 indirilme sayısı :
1543 ( windows versiyonu) + 345 ( Linux versiyonu ) = 1888

Salı, Aralık 16, 2008

Bir Meksika Sınırı Lazım Herkese

...
tekrarlayıp duruyorum kendi kendime
bir meksika sınırı lazım her memlekete
meksika'nın kendisine de.
...
Mehmet Efe


Bende vakit öldürmek için TV'de türlü şeyler izliyorum elbette. Fakat Bu güne kadar Hiç bir programı tavsiye etmedim. Çünkü vakit öldürmenin hiç bir iyi tarafı yok, Bir de başkasının vakiti öldürmeye gerek yok diyorudum. Bu gün bir tavsiyem olacak ; Geçenlerde bir pazar sabahı zaplarken denk gelip kısa bir kısmını seyrettiğim, tadı damağımda kalan bir program Meksika Sınırı. Sonradan programın bir tekrar olduğunu öğrendim aslında cuma geceleri canlı olarak yayınlanıyormuş.
Bayramın tatilin verdiği rahatlıkla - cumartesi çalışmıyoruz hesabı - keyifle seyrettim geçen cuma günkü programı. Program Tarık Tufan, İsmail Kılıçarslan ve Selahattin Yusuf tarafından hazırlanıyor. O gece şeyhleri de gelmişti Sırrı Süreyya Önder. Nemrut'un Malatyaya mı Adıyamana mı ait olduğu sorusunuda cevaplandırdı hazret pek çook önemli sorunun yanı sıra.
Çok hoş bir geceydi.
Bundan sonra -Cumartesileri çalıştığımdan - canlı olarak izleme imkanım pek zor da, pazar sabahları tekrarlarını kaçırmamaya çalışacağım. Tavsiye ederim. Herkese bir Meksika sınırı lazım ne de olsa

Cuma, Kasım 28, 2008

TorchVision



Efendim TorchVision OpenCv gibi bir Kütüphanedir. Machine-Learning camiasında iyi bilinen -ben onların yalancısıyım - Torch kütüphanesini temel alır. Hem Torch hem de TorchVision Açık kaynak kodlu cross-platform ve ticari uygulamalarınızda bile kullanabileceğiniz - lisansı BSD - ücretsiz kütüphanelerdir. İsviçre dağlarında IDIAP da geliştirilmektedir. Özelliklerine gelirsek

Torch
Yayınlanmış Son versiyon 3.1 ve yayınlanış tarihi 11 Ağustos 2004
Özelliklerine gelirsek;
  • A lot of things in gradient machines, that is, machines which could be learned with a gradient descent. This includes multi-layered perceptrons, radial basis functions, mixtures of experts, convolutional networks and even time-delay neural networks. In fact a lot of "modules" are available that you can plug as you want to get what you need.
  • Support vector machines, in classification and regression. As fast as the old stand-alone program SVMTorch II, but with the powerful environment of the library.
  • Ensemble models such as bagging or adaboost.
  • Non-parametric models such as K-nearest-neighbors, Parzen regression and Parzen density estimator.
  • Distributions stuff, like Kmeans, Gaussian mixture models, hidden Markov models, input-output hidden Markov models, and Bayes classifier.
  • Speech recognition tools (Embedded training and large vocabulary decoding).
Evet gördüğünüz gibi pek çok imkana sahip bir machine-learning kütüphanesi. Gelelim asıl konumuza

TorchVision
Yayınlanmış son versiyon 2.1 ve yayınlanış tarihi 2 Nisan 2007
Özellikleri;
  • read/write basic image formats (pgm, ppm, gif, tif, jpeg)
  • basic image processing and feature extraction algorithms such as rotation, flip, photometric normalisations (Histogram Equalization, Multiscale Retinex, Self-Quotient Image or Gross-Brajovic), edge detection, 2D DCT, 2D FFT, 2D Gabor, PCA to do Eigen-Faces, LDA to do Fisher-Faces
  • various metrics (Euclidean, Mahanalobis, ChiSquare, NormalizeCorrelation, TangentDistance, ...)
  • face detection using MLP, cascade of Haar-like classifiers
  • 2D objects manipulation and drawing
  • video file decoding/encoding, image capture from a frame grabber or from USB
  • Sony pan/tilt/zoom camera control using VISCA interface
OpenCv ile bir karşılaştırma da yapmışlar bakınız yüz tanıma ve bulma konusunda oldukça iddialılar

Bana soracak olursanız OpenCv nin yerine geçmesi pek mümkün görünmüyor. Teknik eksikliği yüzünden değil, İnsan eksikliği yüzünden. Açık kaynak kodlu bir kütüphaneyi -yada programı- kullanan geliştiren insan sayısı ve gayretleri onun geleceğini de belirliyor. OpenCv nin epey bir camiası var. Yinede OpenCv ile birlikte kullanmamak için bir engel yok.

Neyse ben lafı daha fazla uzatmayım linkleri vereyim. Artık siz bir zahmet ilgilenirsiniz. Hele de kullanımını anlattığınız bir yazı yazsanız ne sevinirim...

Perşembe, Kasım 27, 2008

Döndüm işte

Çetele


...
Bu çetele mi kalacak benden geriye
yalnızca
hüznün dipsularında gezinen bir denizaltı olduğum
gözlerim buğulanarak baktığım toprak
gerçek rengiyle kutuplaştığım yaprak
delikanlı adımlarla arşınladığım dünya
unutulacak mı ?

Bir kireç beyazlığına sığınıyor
herkes
maskeyle
Ben bunun'çün yenik
ve güçsüzdüm dünyanın karşısında Baba

Çiziktirdiğim çetele bir hayat sundu bana
...
Gönlüne dizgin vurmak ne mümkün
ne mümkün kişneyen taya
- Cumali Ünaldı Hasannebioğlu ( Kendini Yusuf Gören) -

Uzun uzadıya bir şey yazayım istedim olmadı beceremedim :(
sözün özü döndüm buralardayım çiziktirmeye devam edeceğiz.

Cumartesi, Kasım 22, 2008

Ödev yapan cvPreProcessor



İki basit Ödevin cvPreProcessor ile çözümünü görüyorsunuz
-yada göremiyorsunuz video ekleme işini ilk defa yapıyorum ne şekilde görünecek emin değilim -
İlk Ödevde Gizili yazıyı ortaya çıkarma var;
Görüntümüzün içindeki yazıyı gizlemenin en kolay yolu Arka plan rengiyle yazı rengini birbirine çok yapmaktan geçiyor. Üzerinede biraz gürültü ekledinmi tuz biber nevinden :) problemimiz tamam oluyor Nitekim Histogramında baktığımızda görebiliyoruz. Yaptığımız işlem cvSmooth dan median seçeneğiyle gürültüden temizlik daha sonra Histogram eşitlemeyle yazıyla arkaplan grenginin arasını açıyoruz

İkinci Ödevde Görüntüden Kare Daire ve çubuk kısımlarını ayırmamız isteniyor. Morfolojik işlemlerle - cvDilate ve cvErode - işlemimiz tamamlanıyor

Alıcınızın ayarlarıyla oynamayın videodaki programın versiyonu 0.85 yayınlanmamış bir sürüm


Not : Biraz daha iyiyim - Allaha şükür - ve boş durmuyorum program yazmaya devam diyorum İnşallah yakın bir zamanda cvPreProcessor 'un yeni versiyonunu yayınlarız.

İlave Not : Videonun Daha bir görünebilir halini indirmek için buyrunuz Download Video

Salı, Kasım 18, 2008

Sabahı bekleyen Adam

Ne hasta bekler sabahı,
Ne taze ölüyü mezar.
Ne de şeytan, bir günahı,
Seni beklediğim kadar.

Geçti istemem gelmeni,
Yokluğunda buldum seni;
Bırak vehmimde gölgeni,
Gelme, artık neye yarar

Necip Fazıl Kısakürek


Bir süre Sabahı bekleyen adam oldum, bir süredir Sağlığın kıymetini hakkal yakin ! anmalaya çalışıyorum. sözün kısası Ufak ! bir operasyon geçirdim. şifa dualarınızı bekleriz.

Çarşamba, Kasım 05, 2008

Kütüphane Kullanımı

Kütüphane kullanımı konusunda epey bir sıkıntı çekildiğini bana ulaşan mesajlardan anlıyorum. Büyük bir şevkle yeni bir kütüphaneyi kullanmaya niyetleniyorsunuz. Örnek programlarından biri derlemeye kalkıyorsunuz. Anlamadığınız hatalar veriyor. Bütün istek ve arzunuz kayboluyor. Belkide çoğu kimse vazgeçiyor. Panik yapmayın herşeyi anlatacağız. Anlatacaklarımız CodeBlocks ve Mingw32 gibi görünsede diğer IDE lerde de aynı ayarların yapıldığı yerler var. İşin mantığını anlamanız yeterli.

Temel olarak bilmemiz gereken şudur. Herhangi bir kütüphaneyi kullanabilmek için iki şeye ihtiyacımız var.
  1. Fonksiyon ve Sınıf tanımlamalarının bulunduğu başlık dosyaları ( uzantıları *.h yada *.hpp olur)
  2. Derlenmiş kütüphane dosyaları ( Uzantıları *.lib GCC için *. a ) mesela libfltk.a yada fltk.lib gibi
Kütüphaneyi kullanabilmek için bu ikisine de ulaşılabilir olması lazım. Eğer başlık dosyasına ulaşamazsak derleme işlemi olmaz. Kütüphaneler ise derleme işleminden sonra, bağlamada - Link - sırasında gerekli oluyor. Yani hatamızın hangi aşamada oluştuğuna bakarak neyi düzeltmemiz gerektiğini anlayabiliriz

Mesela Projemizde mylib diye bir kütüphane kullanmak istiyoruz ve kütüphanemizi
"c:\mylib" e kurduk
Başlık dosyalarımız "c:\mylib\include" de - mylib.h -
Derlenmiş kütüphane dosyalarımız "c:\mylib\lib" de olsun - mylib.lib -

CodeBlocks' çalıştırın
Öncelikle projemizi oluşturuyoruz.
Menuden Project -> Build Options seçin
Search Directories kısmının
Derleyici - Compiler - kısmına Başlık dosyamızın bulunacağı dizini yazıyoruz


Bağlayıcı - Linker - kısmına kütüphane dosyalarımızın bulunacağı dizini yazıyoruz


Yine aynı pencereden Linker settings kısmında link libraries kısmına kullanacağımız kütüphaneyi yazıyoruz.


Hepsi bu kadar. Eğer Kütüphanemizin başka bağımlılığı yoksa bu ayarlarla kullanabilirsiniz. Başka bir kütüphaneye bağlıysa üstte bahsettiğimiz ayarları o kütüphane için de yapmanız gerekir.

Kütüphane kullanımı konusundaki başka bir sıkıntı da genelde kütüphanelerin kaynak kod olarak dağıtılıyor olması. Yani derlemenizin gerekmesi.

Bu problemin en kolay yolu Derlenmişini İnternette aratmanızdır. Özellikle derlenmesi zor kütüphaneler için hazır derlenmiş paketler var. Bunda dikkat edilecek husus kendi derleyicinize göre kütüphane bulmanız. Her ne kadar Mingw32 *.a uzantılılar gibir *.lib kütüphanelerini kullanabilsede bazen problem çıkabiliyor. Karşılaşırsanız. şaşırmayın.

Bir başka metod DevPak kullanmak. DevPak zaten DevCpp için hazırlanmış derlenmiş kütüphanelerdir. 7z ile açıp içinden gereken dosyaları alıp kullanabilirsiniz.

Başka bir çözüm yoluda MSYS kurmaktan geçiyor. MSYS ile size komutsatırından derleme imkanı oluşuyor Linux vari
./configure
make
komutlarıyla şansınızı deneyin pek çok kütüphaneyi bu şekilde derledim. Bu metodun bir avantajıda derleme opsiyonlarını kullanabilmeniz.

Yine diğer bir metod; Çoğu Kütüphanenin MSVC için proje - Workspace yada solution - dosyaları oluyor. CodeBlocks'un da bu dosyaları import etme seçeneği var.
File->import project den ilgili seçeneği seçip Kütüphanenin proje dosyasını C::B da derleyebilirsiniz.

Son olarak da kendi kütüphane projemizi kendimiz hazırlamak da bir çözümdür bakınız bir örnek çalışma Fann

Pazartesi, Kasım 03, 2008

Geri dönmek için gerekçe

Bir sıkıntıdır gidiyor. Yazmak istiyorum, kafamda tasarlıyorum, bir türlü toparlayamıyorum. Yazabildiğimde de epey bir karamsar yazılar çıkıyor.
Bu arada blogger'a engelleme kondu, "Ferman padişahın dağlar bizimdir " türünde bir yazı yazmak geldi içimden elim varıpda yazamadım.
Günü birlik İstanbula bir fuar vesilesiyle gitmiştim. Bol enaniyetli bir yazı yazayım bu konuda dedim olmadı.
FannTool'un download sayısı 1500' yanaştı caka satmak babından bir yazı yazayım dedim, ne mümkün.

bütün mesai boyunca.
buruşuk pardesülü adam dalgın
gittikçe daha dalgın, elinde cetvel
masada hesap makinesi, pusula
yetmiyor dibe dalmasına
bağlıyor kalın bir urganla beline
ağır bir sandık
salıyor kendini
yeşil yosunların
kırmızı balıkların
uçan kabarcıkların
derinliklerine
orada
bir sandık buluyor
yakutlar, altınlar, pırlantalar
adam dibe inmek için beline bağladığı
sandığını keşfediyor dibe ulaştığında.
öyleyse adamın eyvah ışıdı yüreği
eve dönmesine gerekçe
bulamıyacak bir daha.

"Geri dönmeye gerekçe bulamıyacağım bir daha" diye bol karamsar bir yazı yazayım dedim. Yapamadım benim olanca karamsarlığıma rağmen
Uzun zamandır blogunuza yazı yazmamışsınız.
Merak içinde kaldık?
İnşallah sağlığınız iyidir.
diyen vefakar arkadaşlar oldu
Blogumun engelliği zamanlarda Yer gösterip buyur buradan yayınlayalım diyen, blogun geleceği konusunda epey bir teşvik eden arkadaşlar oldu. sağolsunlar

Hatta inanmazsınız Projelerinize yardımcı olabilirmiyiz diye soran bile oldu

El hasıl Işıdı yüreğim Geri dönmek için gerekçe buldum bir daha

Buna vesile olan arkadaşlar Allah sizlerinde Işıtsın yüreğini

Pazartesi, Ekim 20, 2008

OpenCv 1.1 pre yayınlanmış

OpenCv nin yeni sürümü olacak olan 1.1 versiyonun ön test sürümleri sessiz sedasız yayınlanmış
yeni haberdar oldum haber edeyim dedim

MKY ile karşılaşma ve ...

İnsanların kaçta kaçı düşünür?
Düşünenlerin kaçta kaçı karşılaşır
ve açılır birbirine
Ortak ilgi alanına sahip insanların görüşmesi konusundaki fikirlerimi yazmıştım. Böyle fırsatlar ele geçtikçe değerlendirmeye çalışıyorum . Internet üzerinden tanışıpta yüz yüze görüştüğümüz kişiler de oluyor. Kendi adıma bu görüşmelerden çok istifade ettim. - mesela VS OpenCv ilgimi perçinledi, HB FannTool'un gelişmesinde yönlendirici oldu - İşte bu tarz görüşmelerden biri geçtiğimiz cumartesi gerçekleşti.

MKY ile cumartesi iş çıkışı buluşmak üzere sözleştik. Görüşmemiz ilk olması hasebiyle daha çok tanışma faslı tarzında oldu. Anlayabildiğim kadarıyla MKY, pek çok konuda benden daha bilgili ve dahi benden daha genç bir arkadaş. Özellikle G.A. benzeri YZ metodlarıyla ilgili ciddi çalışmaları olmuş....

Sonuçta ortak ilgi alanlarına sahip insanlarla tanışmanın konuşmanın verdiği bir memnuniyet kaldı. Böyle niteliklere sahip gençlerle tanışmak da umut kaynağı oluyor. Ah bir de öğretici yazılar yazarak projeler yayınlayarak, bilgisini umumun istifadesine açsa.

Pazartesi, Ekim 13, 2008

BluePlayer 'ın Ölümü

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 vardı, ancak fırsat buldum yayınlıyorum. Ve Projeyi böyle yarım yamalak bırakıyorum.
BluePlayer 0.7 for Linux
BluePlayer 0.7 for Windows

Bu vesile ile Açık kaynak kodlu projelerin gelişimi ve tabii ki ölümü üzerine yazmak istiyorum.

Yazılarını severek okuduğum FerruhMaviTuna Open Source buna değer mi -fikirlerine katılmadığım - yazısında Açık Kaynak kodlu Proje geliştirmek için sebeplerden bahsediyor. Aynen aktarıyorum

- İnsanlara Yardım Etmek (peh!)
- Şöhret
- Kariyer
- Uzun vadede bir iş modeli ile para ve güç kazanma
Sondan başlarsak Uzun vadeli bir iş modelim yok,
Kariyerimle alkası yok,
Şöhret derseniz nickin - bluekid - bir şöhreti oluyor. İsme geçmediğinden temel sebep olmaz.
Geriye tek seçenek kaldı. FMT nin peh dediği seçenek İnsanlara Yardım etmek. Hatta bir de yazı yazmıştım. Delimiyim Ne Bence hiç de küçümsenecek bir şey değil. Ayrıca Faydalı olacağınız insanlar için de çooook önemli bir kişi de var kendiniz.

BluePlayer 'ı yazmarken pek çok şey öğrendim. Uzun boylu bilgisayar başında oturup müzik dinleyemesemde Linux da BluePlayer'ı kullanıyorum. Ama işte o kadar. Artık BluePlayer üzerinde sarfedeceğim emeğin bana bir kazancı yok. Zaten başka da faydalanan insan olmadığına göre Bu proje ömrünü doldurmuş oldu.

Peki tek çiçekle bahar gelirmi sadece kendiniz için yazdığınızı niçin yayınlıyasınız ki ? Paylaşmak İçin Kaç Kişiye İhtiyaç Var diye bir yazıda yazmış FMT. güzel noktalara deyinmiş. İnsanı düşündürüyor açıkçası. mesela FannTool'un en son hali için Bir hocayla - HB - olan görüşmemizin çok büyük etkisi olmuştur. Sadece hata bildirimleri bile projenin gelişimine katkı verir. Beğendiğiniz bir Açık kaynak kodlu projeyi kullanmak, görülen hataları bildirmek, önerilerde bulunmak bizim içinde Projenin geleceği içinde doğru olandır...

Kendi kendime soruyorumda
FannTool'u yada cvPreProcessor'u kullanan yoksa, arayan, soran, dürtükleyen yoksa ne diye ve ne yöne gelişsinki ?

Salı, Ekim 07, 2008

CvPreProcessor 0.8 ve Fl_OpenCv 0.90 Çıktı


Evet Sabırsızlıkla beklendiğiniz an geldi ! cvPreProcessor'un yeni hali ve Fl_OpenCv nin yeni versiyonları yani, cvPreProcessor 0.80 ve Fl_OpenCv 0.90 çıktı. Temel Görüntü işleme işlemlerinin çoğunu içeriyor. ve sonuçta Size çalıştırabileceğiniz bir kod da üretiyor.

Google code da sayfasını zaten almıştım

http://code.google.com/p/cvpreprocessor/

Bu adresten hem Windows hem de Linux versiyonunu kodlarıyla birlikte indirebilirsiniz. Tahmin edebileceğiniz gibi GUI olarak FLTK 1.1.9 IDE olarak CodeBlocks kullanıldı. Ve pektabii OpenCv. Linux versiyonu OpenSuse 10.3 de hazırlandı.

Her türlü görüş, öneri, hata bildirim ve isteklerinizi haasretle bekleriz

Cuma, Ekim 03, 2008

Learning OpenCV: Computer Vision with the OpenCV Library

OpenCv nin ilk İngilizce Kitabı yayınlandı - tabi japaonca yayınlananı saymazsak - darısı Türkiyenin başına; Tez zaman da Doğru düzgün tercümesini bekliyoruz. Telif bir eserde daha güzel olur aslında. Akademisyenlerimize duyrulur.

The book includes:
  • A thorough introduction to OpenCV
  • Getting input from cameras
  • Transforming images
  • Shape matching
  • Pattern recognition, including face detection
  • Segmenting images
  • Tracking and motion in 2 and 3 dimensions ,
  • Machine learning algorithms
Ek : Kitapda geçen örnek programların kodları yayınlandı.
İndirmek için buradan buyurun : LearningOpenCV_Code.zip

Cuma, Eylül 26, 2008

Tecelli-i Esma

ALLAH(cc)!

Sensin ALLAH(cc) sanadır kulluğum
Sendedir çarem seninledir varlığım
Seni arar ruhum seni anar kalbim
Başkasına değil sana muhtacım
Başkasını değil seni çağırırım
Başkası yaratılmıştır sen yaradansın
Başkası devamsızdır sen daimsin ve daim eyleyensin
Başkaları muhtaçtır sen ihtiyaçsızsın ihtiyaçları görensin
Başka ilah yok sen ALLAH(cc)'sın
Sen ki eşi benzeri olmayansın
Sen ki bütün eksiksiz sıfatların sahibisin
Cemaline çevir yüzümü başkasına rağbet ettirme kalbimi

...

Ya Melik!

Kimsenin kimseye fayda vermediği gün hüküm senin
Gökler yarılırken sahibim sensin
Yıldızlar dağılırken sahibim sensin
Varlığım bana ait değil varım yoğum senin
Elimde olanlar benim değil sahiplendiklerim de senin
Yokluğa düşürme beni an senin
Darlık verme kalbime mekan senin
...

Ya Mümin!

Sen hidayetini göndermezsen kalpler nasıl mutmain olur
Sen kalplere itminan vermezsen kim inandığından emin olur
Sen inandırmazsan kim mümin kalır
Hevamın tuzağına düşürme beni nefsimin diline bırakma beni
Öyle mümin eyle ki beni pişmanlıklarım beni sana döndürsün
...

Ya Cebbar!

Sen ki mağrurları gururlarına esir eylersin
Sen ki kibirlenenlerin boynuna kibirlerini tasma eylersin
Sen ki zor kullanıp zulmedenleri vicdanlarının pençesine hapsedersin
Bir sineği vasıta eyle de Nemrutlardan kurtar beni
Bir asayı vesile eyle de firavunlara galip getir beni
Ebabilleri gönderde Ebrehelerin fillerinden koru kalbimi
Nefsimin beni isyana zorlamasına izin verme
Aklımın beni saptırmasına geçit verme
Hep itaat üzre sabit kıl beni
...

Ya Musavvir!

Yokluğa varlık suretini giydiren sensin
Hiçliğe varlık boyasını çalan sen
Güzeli güzel kılan ancak senin tasvirindir
Sen ki yüzümü benim için biricik sevdiklerim için tanıdık eylersin
Katında makbul olan güzellikle tasvir eyle suretimi
...

Ya Alim!

Senin için bilmenin başı yoktur
Ben ancak sonradan bilirim
Senin bilmediğin bir an yoktur
Ben ancak bazen bilirim
Sen açık edip söylediğimi de bilirsin
Sen susup kendime sakladığımı da bilirsin
Unutup kendimden sakladığımı da bilirsin
Kendi kuyularıma aklımın iplerini salarım
Kendime aklım ermez sen beni benden çok bilensin
Kalbimin kuytularında el yordamıyla dolaşırım
Kendime kendim yetmez sen bana benden çok sırdaşsın
Bildiğimi bilenlerden eyle beni bilmediğimi bilenlerden eyle beni
Sana malum olan ayıp ve kusurlarımla utandırma beni
...

Ya Hafiz!

Hıfzının hazinesinde alem bir noktadan ibarettir
Hıfzının ayinesinde ay ve güneş sönük bir parıltıdan ibarettir
Bahar kışa döner bir gün gün akşama çıkar
Sabahlar sendendir koru beni sabaha eriştir
Yıldızlar söner bir gün dağlar yerinden oynar
Gökler senindir koru beni kapına yetiştir
Göklerde ölür bir gün yer yerinden oynar
Her yer senindir koru beni menzile eriştir
Kuşlar dağılır bir gün denizler kaynar ufuklar senindir
Koru beni ötelere eriştir
İsmim unutulur bir gün sesim boşlukta çınlar
Yakınlıklar sendendir
Koru beni yakınlığına eriştir
Defterim açılır bir gün günahlarım çok tutar
Takdir senindir koru beni affını yetiştir
Sözüm biter bir gün sessizlik uzar kelam senindir
Koru beni müjdeni yetiştir
...
Amin

99 Esma / Senai Demirci


Kadir gecenizi tebrik eder dua eder dualarınızı bekleriz...

Cuma, Eylül 19, 2008

CvPreProcessor 0.7

Bu aralar uzun laf edecek durumda değilim Daha önce bahsettiğim görüntü Önişlemcisini ( cvPreProcessor ) biraz toparladım yayınlayıp bir fikir soralım hatalar bildirilsin onları düzeltelim dedim. Bilmem anlatabildim mi meramımı sayın okuyucu

İndirmek için buyrunuz : cvPreProcessor 0.7

Çarşamba, Eylül 17, 2008

Yapay Zeka Temellerin duruşması 5

Turing Testini geçemezsin demedim Adam Olamazsın dedim

Adamın birinin çok haylaz bir oğlu varmış adamcağız sürekli senden adam olmaz der dururmuş. Haylaz çocuk evden kaçmış ve yıllar sonra bir şekilde o yöreye vali olmuş. Makamına oturunca babasının adını verip alın getirin diye emir vermiş. adamı yaka paça tutup getirmişler. vali "baba bana adam olmaz diyordun bak ben vali oldum" demiş ihtiyar adam acı acı gülümsemiş şöyle demiş "be oğul ben sana vali olamazsın demedim adam olamazsın dedim"

Bu Kıssa herhalde fikrimiz anlatmamıza yeterli gelir. İnasanoğlunun zekasına ulaşacak bir sistemin inşası hesap üzere kurulamaz. Bu konuda çok itiraz var. Bizim de bahsettiğimiz Çin odası deneyi mesela. bilgisayarların Algoritmik olarak çalışması oysa algorithmik çözümü olmayan problemlerin varlığı insanın bunları çözebliyor olması. Sonra meşhur durma problemi. Gödelin Eksiklik teoremi gibi. Bunca itiraza rağman YZ ciler bunların teknik problemler olduğu bir şekilde ! aşılacağı konusunda sonderece iyimserler. Hatta iddiaya girenler bile var. Amma bütün bunların ötesinde bizce insanı insan yapan tek başına zeka da değildir.

Evet medarı iftiharımız Bütün dünyanın takdir ettiği bir Zekadan Oktay Sinanoğlundan bir alıntıyla devam edelim
Batı zannetmiştir ki, akıl her şeyden üstündür. Oysa bu düşünce eksiktir. Neden çünkü Akıl bir uzuvdur. Nasıl insanın bacağı yürümeye yararsa, akıl , beyin de biyolojik bilgisayar gibi bir şeyleri hesap etmeye yarar. Mesela Kastamonu'ya gitmeye karar verseniz, oraya giderken en kestirme kaç kilometre, nekadar engebelidir, haritalara bakarak öğrenilebili, bunu bilgisayarda yapar gibi saptayabilirsiniz. Bu işin bilgisayarıdır. Ama bilgisayar Kastamonu'ya gitmek için karar verdirmez. Nereye gitmek istediğini sana söyleyen içindeki sestir. Yani, gönüldür. İşin manevi tarafı birtakım önemli kararları aldırır. Ondan sonra işin ayrıntısını, nasılını akıl bulur.
...
Aklın gönlün emrinde olması lazım. Yoksa akıl muzırlıkla uğraşır. Nitekim her yerde görüyoruz. Gönül terbiyesinden, hatta gönül kavramından bile mahrum olan batı'da ki bilim adamlarından bazıları ne yapmışlardır ? Bilimle atom bombası yapmışlardır, çeşitli bombalar yapmışlardır. Zehirli gazlar, biyolojik silahlar yapmışlardır. Bunlarla milyonlarca insanın perişan edilmesine yol açmışlardır.
Gönül terbiyesi olan insanlar bbunu yapmaz. Bilimi insanlığın hayrına kullanır. Onun için gönül olmadan bilim ve akıldan zarar gelebilir.
Bilim bir çeşit alet gibidir, iyiyede kötüyede kullanılabilir. Bir bıçakla ekmek dilimleyip meyve soyabileceğiniz gibi insan da öldürebilirsiniz. Allah insanoğlunu halifeyi ruy-i zemin olarak yaratmıştır. İstidatlarına da hemen hemen had konulmadığı düşünülürse. İnsanoğlu Yapay Zeka konusunda bazı aşamalar kaydedebilmesi pekala mümkün. İşte bu aşamalara katkıda bulunurken dikkat edelim Bindiğimiz dalı kesiyor olmayalım. Bütün insanlığa zarar verecek bir çalışma içinde bulunmayalım. İlmimiz insanlığa faydalı olsun, Zarar vermesin hatta faydasızda olmasın.
Allahım! Faydasız ilimden,
ürpermeyen gönülden,
doymak bilmeyen nefisten ve
kabul olunmayan duadan sana sığınırım.

Not : Fazlasıyla acele bir bitiş oldu ama kusura bakmayın, söylenecek söz çok da bizde istidat yok

Salı, Eylül 09, 2008

OpenMP ve OpenCv ile Kenar Bulma

Öncelikle uygulamamızdan bahsetmek istiyorum. Basit bir kenar bulma işlemi yapacağız. Hem OpenMP'li Hemde normal yapacağız ki performans farkını görelim
  • İlk etapta resmi siyah beyaza çeviriyoruz. Bu işlemi programda görüntüyü yüklerken "CV_LOAD_IMAGE_GRAYSCALE" diyerek hallediyoruz. (bakınız işin kolayına kaçma metodları s-??? )
  • Kenar bulma için kullanacağımız metod ise gayet basit. Bir pikselin solundaki veya üstündeki piksel ile olan renk farkı belli bir eşik değerini aşıyorsa kenardır, beyaz (255) olarak işaretlenir. Aşmıyorsa kenar değildir, Siyah (0 ) değeri atanır.yani
X kenarı bulunacak görüntü dosyası olsun K ise Kenarları gösterdiğimiz görüntü dosyası olsun

Eğer |X(i,j)-X(i-1,j)| > eşik veya |X(i,j)-X(i,j-1)| > eşik
ise K(i,j)=255;
değil ise K(i,j)=0;
  • işlemin mantığından da anlayabileceğiniz gibi her piksel için yapılacak işlem bağımsız. ve paralel olarak çalıştırmak için gayet uygun bir metod.
  • Kenar bulma fonksiyonumuzda bir döngü ( for ) içinde pikselin kenar olup olmadığını bulan kodu yazıyoruz.
  • Şimdi geldik işin en zor kısmı olan paralel versiyonunu yazmaya. Kenar bulma fonksiyonumuzu kopyele yapıştır deyip 2. bir nüshasını alıyoruz ! Adını OpenMP li olarak değiştiriyoruz. for döngümüzden önceki satıra şu çoook zor satırı yazıyoruz.
#pragma omp parallel for
yani diyoruz ki bundan sonraki for döngüsünü paralel çalıştırılsın.
Sonarasında çalıştırıp sonuçları gözlüyoruz.


Benim evdeki AMD64 çift çekirdekli işlemcideki performansı Resimde de görebilirsiniz. % 44 lük bir hızlanma hem de tek satırlık eklemeyle hiç fena değil öyle değilmi ? Farkın nereden geldiğini CPU Usage grafiğinde rahatlıkla görebilirsiniz. OpenMP siz kenar bulma fonksiyonu çalışırken işlemcinin sadece biri çalışıyor. OpenMP li versiyonunda işlemci kullanımı % 100 lere ulaşıyor.

Sonuç : OpenMP ile işlemcinizin atıl duran çekirdeklerinide çalıştırıp programlarınızı hızlandırabilirsiniz. Hatta hiç başka bir detay öğrenmeseniz bile bizim burada bahsettiğimiz paralel çalıştırılabilecek döngüler çok işinize yarıyacaktır eminim. Helede İşlemcilerin çekirdek sayılarının arttığını düşürsek - 4 çekirdekli çıktı bile-

Örneği İndirmek için : OpenCV & OpenMP

4 çekirdekli işlemcisi olup da deneyen olursa performans artışını bize bildirsin. seviniriz.

Pazartesi, Eylül 08, 2008

OpenMP

ReklamlarStart();
DerinDeliMavi'den bir ilk daha , Sizler için hiçbir fedakarlıktan kaçmayan sitemiz size yine yeni imkanlar sunuyor. Hafta sonu yemeyip içmeyip - oruç oruç - sizlere neler hazırladık neler...
ReklamlarEnd();

Benim gibi çiftçekirdekli bir işlemciniz varsa yazdığınız programların CPU kullanımına baktığınızda Yukardaki grafikteki I numaralı bölümdeki gibi bir manzarayla karşılaşırsanız. Yani uzunlafın kısası Bilgisayarınız çift çekirdekli ama Yazıl sadece birini kullanıyor. Paralel programlama işi de burada ortaya çıkıyor. Bütün her iş için olmasada paralel olarak çalıştırarak programın hızlanması imkanına sahibiz. Grafiğin II kısmında görebileceğiniz gibi. Yapılacak iş teorik olarak şöyle ; Aynı görevi, küçük bir birinden bağımsız çalışmasında mahzuru olmayacak şekilde bölüp çoklu işlemcilerde eş zamanlı olarak çalıştırılmasıdır.

İşte OpenMP bu işi kolaylaştırmak için yapılmış API dır. Pek çok donanım ve işletim siteminde çalışan ve basit derleyici ön işlem direktifleriyle kullanacağınız bir sistem.


OpenMP nin çalışma sistemi program paralel işletilmesi gereken kısımlarda dallanır paralel çalışıp işlem bitince tekrar birleşmesi şeklinde olur. ( Fork - Join Model )

Bu kadar teorik bilgi yeter daha fazlasını merak eden google'dan soruştursun. Yukarda bahsettiğimiz üzere OpenMP derleyici önişlem direktifleri kullanıyor yani öncelikle OpenMP desteği sunan bir derliyiciye ihtiyacınız olacak.
OpenMP desteği sunan derleyiciler
http://openmp.org/wp/openmp-compilers/

Linkde gördüğünüz gibi Eğer Linux kullanıcısıysanız ve derleyiciniz gcc 4.2 ve üstünde probleminiz yok. Microsoft Visual kullanıyorsanız OpenMP 2.0 destekleniyor ve ücretsiz versiyonlarında olup olmadığından da emin değilim. Benim gibi CodeBlocks ile Mingw32 kullanıyorsanız "TDM's Experimental GCC/MinGW32 Builds" kurmanız lazım.

Yapılacak işlemler
  1. http://www.tdragon.net/recentgcc/ adresinden Bundled Installer ı indirin
  2. Daha önceden Mingw yi kurğunuz yerin üzerine kurun.
  3. Hemen güzel bir OpenMP makalesi okuyun.
  4. CodeBlocks ' çalıştırıp yeni bir console projesi oluşturun
  5. Project->Build Options kısmından Linker settings tabında Link libraries kısmına gomp ve pthread girin
  6. Project->Build Options->Compiler Settings tabının other options kısmına -fopenmp girin

İşlem tamam. Artık bütün bunlarun üstüne şöyle basitçe hemde OpeCv li bir program yazmaya başlayabiliriz. Malum Performans en çok Görüntü işlemede lazım oluyor...

Devam edecek...

Cumartesi, Eylül 06, 2008

İnternette dağıtılan İlmin zekatı

Eskiden herhangi bir konuda örnek program bile bulabilmek zor işti. Bilgisayar dergileri ya programlamayla ilgili ekler verirlerdi yada içlerinde 3 - 5 yazı olurdu. Ve o zor imkanlarla elimize geçen kaynakları tabiri caiz ise son damlasına kadar kullanırdık. Günümüzde özelliklede internet sayesinde bilgiye ulaşmanın çok kolaylaşmasına rağmen insanlar bu imkanlardan yeterince faydalanmıyorlar. Bu konuda eski bir arkadaşa sızlandığımda. Arkadaşım "Bir şeyler kolayca elde edilince kıymeti bilinmiyor" dedi ve galiba haklıydıda...

Ben şimdi size yine İngilizcesi ve de İyi bir internet bağlantısı olan için gayet kolayca ulaşabileceğiniz bir kaynakdan bahsedeceğim. videolectures.net "exchange ideas / share knowledge" sloganıyla çalışan bir site. Envai çeşit konuda video şeklinde dersleri slayt gösteriside yanında olmak üzere seyredebiliyorsunuz. Mesela Computer Vision konusunda 41 tane ders görünüyor. Öğrenmek isteyen için büyük fırsat.

Hemen her filim için türkçe alt yazı hazırlayan internette kolaylıkla bulabilmeniz için siteler hazırlayan fedakar insanlarımızın bu video derslerinden haberleri yok herhalde. Yoksa filimlerden katbe kat memleketimiz için daha faydalı olan dersler içinde alt yazı hazırlamazlar mı ...

Üniversitedeki Fedakar hocalarımızın böyle bir imkandan haberleri yok olmalı. Yoksa hocalarımız ilimlerinin zekatını seve seve vermezlermiydi. Benzeri bir siteyi Türkiyede türkçe olarak oluşturmazlarmıydı...

İşte Haberdar oldunuz ey Fedakar arkadaşlar ! çalışmalarınızı ve ve Ey Fedakar Hocalarımız İlminizin zekatını bekliyoruz. Malum Zekat fakirin hakkıdır, zenginin lutfu değil !

Çarşamba, Ağustos 27, 2008

Yapay Zeka Temellerin duruşması 4

Yolun Sonu Görünüyor...
Bu dünyanın direği yok
Merhameti yüreği yok
Klavuzun gereği yok
Yolun sonu görünüyor
Nerede Kalmıştık Assume spherical chicken deyip YZ ye ulaşmıştık. Peki bütün bunların anlamı ne ? Varsayımımıza devam ediyoruz. Yapay Zekaya ulaşdık, peki bu insanlığı nereye götürecek ? İnsanlardan daha zeki YZ ye ulaştıktan sonra önümüzde iki ihtimal var

Birincisi ve de kuvvetle muhtemel olan YZ nın yani makinaların kontrolü ele geçirmeleridir. "Madem bizden zekiler bizim hakkımızda daha doğru tercihler yaparlar"1 diyerek doğrudan devredilebileceği gibi. Makinalarla yapılacak savaş sonucu yenilerekte olabilir. Makinaların insanlara ihtiyaçlarının olmadığınıda düşünürsek. İnsanlığın geleceği YZ nin insafına kalır. Belkide Insanlığın çoğu yok edildikten sonra bir kısmının soyu tükenmiş mahluklar nevinden bir çeşit kafeslerde yaşamalarına izin verebilirler. Pardon ya biz YZ nin içine insaf merhamet falan koymamıştık değil mi ? Tüh...

İkinci ihtimale gelirsek. İnsanlar bir şekilde 2 kontrolü ellerinde tutmayı başarabilsinler. Yani YZ insanoğlunun boyunduruğu altında tutulsun. Ama Kontrolü ellerinde tutanlar İnsanların umum değil Elit bir kesimi olacak. Bu Elit kesimin büyük çoğunluğunun sermaye sahipleri olacakları aşikar. Ve Sermayenin artık Emekçi İnsanlara ihtiyaçları kalmayacak. Artık çok daha ucuza çalışacak emekçi robotları var. Ortaya iki ihtimal daha çıkıyor. İlki Elit kesimin İnsanların ekmek elden su gölden yaşamalarına izin verirmesi ki ben hiç sanmıyorum. 3 İkinci ihtimal Elit kesim dışında insanlığın nüfuslarının azaltılarak yok edilmesi. 4 Bütün bunlar olup bittikten sonra Elit kesim uzun yaşayabilmek için bedenlerini de feda edip cyborglara dönüşmesiyle yeryüzünde insan kalmayacaktır...

Bilmem farkındamısınız ama bütün ihtimaller Yolun sonunu gösteriyor. Eğer ilk varsayımımız doğruysa Yapay Zeka ile uğraşarak bindiğimiz dalı kesiyoruz. Bunun farkında olan pek çok insan var ve kara kara düşünüyorlar. Bu konu da neler mi yapıyorlar ; İşi oldukça abartanlardan5 tutun, vakıf 6 kuranlara, hikayeler, romanlar yazanlara , filimler çekenlerine kadar. İnsanlığın geri kalanı ne mi yapıyor ? En fazla bahsedilen filmi seyredip
" - Ne filimdi abi ya insanın heyecandan nefesi kesiliyor ... "
diyorlar...

devam edecek edecek de nasıl bilmem...


Notlar

1 Robotlar parti kurup seçimlere katılabilseler yada seçimlere katılan bir parti deseki biz seçilirsek yönetimi bizden çok daha zeki olan rüşvet yemeyen, adam kayırmayan, ... robotlara devredeceğiz deseler, oy alamazlar mı dersiniz.

2
En bilinen tedbir Robot kanunları
  • Bir robot bir insana zarar veremez, veya pasif kalmak suretiyle zarar görmesine izin veremez.
  • Bir robot kendisine insanlar tarafından verilen emirlere 1. Kural ile çelişmediği sürece itaat etmek zorundadır.
  • Bir robot 1. ve 2. Kurallar ile çelişmediği sürece kendi varlığını korumak zorundadır
ama bu kanunların olması bile robotların kontrolü ellerine almalarını engelliyemiyor. bakınız
"I Robot" filmi. İnsanlara insanların zarar verdiğini gören YZ kanunun 1 maddesi gereği Bu zararı önlemek adına insannları denetim altına almaya çalışıyor. İşin daha da ilginci , İnsanlığı Robotların Elinden kurtaran daha insanımsı olduğu için Robot kanunlarına uymayan bir robot oluyor. Pekiii Daha sonra insanımsı robot kim durdurabilir !

3
"1960'da dünya nüfusunun en fakir %20'si ile en zengin %20'si arasındaki gelir oranı 1'e 30 iken, 1995'te 1'e 82 olmuştur." Niçin sanmadığım anlaşılıyordur herhalde

4 Nüfus azaltma işine zaten şimdiden başlandığının bilmem farkındamısınız: İç ve dış savaşlar, Doğal ve doğal olmayan - deprem tetiklettirmek İklim bomabalarıyla oluşturulacak kasırgalar kuraklıklar - afetler, Tarımın öldürecek şekilde tedbirler alıp bütün dünyada gıda fiyatlarını yükseltip parası olmayanları açlığa sevketmek, Nereden geldiği belli olmayan ölümcül virüs hastalıkları - biyolojik silah- ... gibi

5 Mesela Theodore John Kaczynski parlak bir matematikçiyken, aniden inzivaya çekilip orada teknolojik ilerlemenin kötülüklerine karşı savaşmaya! karar veriyor. Üniversitelere ve havayolu şirketlerine bombalı mektuplar ve paketler gönderiyor. bu yüzden Unabomber ("UNiversity and Airline BOMber") olarak nam salıyor. 29 kişinin yaralanmasına 3 kişinin ölümüne sebep oluyor. manifestosunu eksiksiz biçimde the washington post ve the newyork times gazetelerinde yayınlanması koşuluyla bir daha bombalı eylem yapmayacağını bildirmesi ardından söz konusu gazetelerde özel bir ek şeklinde yayınlanmasından sonra. 1996 da yakalnıyor,1998'te müebbet hapse mahkum oluyor.
6 Mesela Lifeboat Foundation hatta bu vakfın birde AIShield diye bir de projeleri var. Projenin amacına gelirsek
To protect against unfriendly AI (Artificial Intelligence). Consequently, we support initiatives like the Friendly AI proposal by the Singularity Institute for Artificial Intelligence.

Perşembe, Ağustos 21, 2008

Yapay Zeka Temellerin duruşması 3

Assume spherical chicken !

Haydaa bu ne biçim bir başlık demeyiniz azıcık sabrediniz. Bu bizim okulda öğrenciler arasında kullanılan bir tabir. Hocalar konuları anlatırken en başta olayın basitleştirilmiş hallerinden başlarlardı, Farzedelim şöyle olsun, varsayalım böyle olsun diye. İşte bu tabirde bu farzedişlerin uçukluğunu anlatan bir anlam taşıyor. "Farzedelim Tavuk küre şeklinde olsun ! "

Anlıyacağınız bizde bu şekilde başlıyoruz. "Assume spherical chicken !" Varsayalım İnsanı insan yapan ve zekanın kaynağı beyin olsun. Farzedelim Beyin sadece biyolojik bir bilgisayar olsun. Dijital Bilgisayarlarımızla beynin yapayını nasıl yaparız.

Donanımdan başlayalım. Beynimiz elektronik devreye göre çooook yavaş olan nöronlardan oluşuyor.Onlarda ancak saniyede 200 işlem yapabiliyor. Fakat Herbirisinde yaklaşık 1000 bağlantı olan yaklaşık 100 Milyar nöron var ve paralel olarak çalışıyorlar. Sonuç olarak İnsan beynin donanım gücü 20 Milyar MIPS oluyor.*

Intelin kurucularından olan Gordon Moore'un 19 Nisan 1965 yılında Electronics Magazine dergisinde yayınlanan makalesinde demişki ( Moore Yasası ) "her 18 ayda bilgi işlem gücü iki katına çıkar" Şu anda evlerimize alabileceğimiz 1000 $ lık bir bilgisayar kapasite olarak bir böcek ile bir fare beyni arasında bir yerlere tekabül ediyor. Bu gelişme hızına göre 2020 yılına gelindiğinde İnsan beyni kapasitesindeki bir bilgisayarı 1000$ verip evlerimize alabilecekmişiz. yani Donanım olarak Yapay bir beyin yapmak için herhangi bir problem yok yani...

Gelelim yazılım kısmına. Yazılım kısmında beynin nasıl çalıştığının anlaşılması lazım. Bu konuda zaten değişik branşlarda insanlar çalışmalar yapılıyor.** Mesela bir görüşe göre Nanobotları kullanarak Beyinin çalışma anında bütün nöronlarını kapsayacak bir haritasını alabilir. Bu verilerle ve reverse engineering*** - tersten inşa- ile istediğimizi elde edebileceğimizi iddia ediyorlar. ve bu işin çok yakın olacağını tahmin ediyorlar.

Bunca iyimserliğin üzerine bir kaç bir şey ekleyelim.

YZ temellerinin ilk atılışı adının konuluşu 1956 da Dartmount daki bir toplantıda olmuştur.Toplantıya katılanlar MIT den marvin Minsky Stanforddan John McCharty Carnegie-Mellon dan Allen Newell ile Herbert Simon dur. Sadece 2 yıl sonra 1958 de Simon şöyle demiş
Amacım sizleri şaşırtmak yada şoka uğratmak değil... Ama anlatacaklarımı en basit şekilde anlatmamın tek yolu, şu anda dünyada düşünen, öğrenebilen ve yaratabilen! makinelerin var olduğunu söylemek olacak. Üstüne üstlük , bu makinelerin öğrenme yetileri gelecekte dahada hızlı gelişecek, öyle ki, yakın gelecekte çözebilecekleri problemler kümesi , insan zihninin uğraşmakta olduğu problemler kümesiyle özdeş hale gelecek
Demiş demesine de şimdi bulunduğumuz nokta ortada... Sonuç olarak herşey varsayımlardaki gibi olmuyor Küre şeklinde tavuk olmaz.

Devam edecek de nasıl bilmem...


* Bu konudaki muhtelif rivayetler için bakınız
** Bazı linkler vermek istiyorum
*** bir iki jump ayarı birkaç nop ile program kırıp kendini reverse-engineer görenlere duyrulur.

Salı, Ağustos 19, 2008

Yapay Zeka Temellerin duruşması 2

Çin odası Turing testine karşı

YZ nın temellerinden başladık ama niçin tanımları anlatmaya başlamadık ? haklı olarak soruyorsunuz. Bunun başlıca sebebi Kavramların pek çoook tanımı var ve Bakış açımıza göre seçeceğimiz bir tanım üzerinden yürüyüp üzerine de bolca laf salatasıyla servis edebilirdik pek tabii. Fakat bu Başka bir tanım üzerinden konuya bakanlar için saçma bir yazı olur çıkardı.

Böyle felsefi tanımlarla kafa karıştırmak yerine biz Ne yaparsak YZ ye ulaşmış oluruz ? sorusunun cevabıyla başlıyoruz, Turing testi. Alan Turing YZ nin öncülerinde bir İngiliz matematikçi. Testide oldukça basit. " Öyle bir donanım ve yazılım sistemi oluşturmuş olun ki onunla konuşanlar Bir makinayla konuştuklarının farkına varamasınlar ve Bir insanla lafladıklarını sansınlar. İşte o sistem Yz ye ulaşmıştır." diyor. Bu test sayesinde dolaylı olarak YZ den ne kastedildiğide ortaya çıkmış oluyor.

Karşıt görüşte olanlarda boş durmuyor. Bir Felsefe profösörü olan John Searle de bir düşünce deneyi ortaya atıyor, Çin Odası deneyi. "Tek kelime çince bilmiyorsunuz ve sizi bir odaya kapatıyorlar. İçerisi çince sembollerle dolu birde kitap var sembolleri nasıl kullanacağınızı anlatıyor. Dışarıdan içeriye çince semboller geliyor. sizde kitaba bakarak o sembollere karşılık olarak başka sembolleri dışarıya yolluyorsunuz. Dışarıda olan çinli içeride olanlardan habersiz zannediyorki içeride çince bilen bir insan var. Oysa içeride çince bilen kimse yok." Bir noktaya dikkatinizi çekmek istiyorum aslında Çin odası deneyi çince yapılmış bir Turing testinden başka birşey değil. Üstelik testi geçmiş. Yani Elimizde Çince yapılmış bir Turing testi var fakat çinceden anlayan kimse yok !
Bu Deneye şu şekilde itiraz ediliyor. Tek tek kimse çince bilmesede sistem olarak çince biliniyor. Searle bu itirazı şu şekilde cevaplıyor. Odadaki kişiye anladığı dilden sorulara verdiği cevapları soruların anlamını bilip karşılığını vermekle oluyor. Diğerinde yapılan işlem sadece sembollerin işlenmesidir.anlama yok. Searle'nin kendi tabiriyle devam edelim.

" Kimse bilgisayardaki simulasyonun gerçek olduğunu varsaymaz; kimse bilgisayarda simule edilmiş fırtınanın bizleri ıslatacağına veya yangının yakacağını, düşünmez. Niçin aklı başında herhangi bir kimse zihinsel süreçlerin bilgisayar simulasyonunun gerçekten zihinsel süreçlere sahip olduklarını düşünür?

Sonuç olarak ilk yazımızda belirttiğimiz gibi çıkaracağımız sonuçlar farklı olabiliyor ama en azından şöyle bir ortak noktda bulaşabiliyoruz. Zeki olan yada zekiymiş gibi davranabilen sistemler oluşturabileceğiz.

Peki ama Nasıl devamı bir sonraki yazımızda.

bir sonraki yazımız " Assume spherical chicken ! "

Perşembe, Ağustos 14, 2008

Yapay Zeka Temellerin duruşması 1


Giriş :

Eski Mısırda Piramitlerin inşası için yüz binlerce insan onlarca sene çalışmışlar ömürlerini bu yolda tüketmişler, belkide pek çoğu son nefeslerini orada vermişlerdi. Peki bu "Ehrama taş taşıyan köleler" yaptıkları işin ne kadar şuurundaydılar. Sonuçta ortaya çıkan eserin ilah zannettikleri başka bir insanın şatafatlı mezarı olacağını bilselerdi. Aynı şeyi aynı şevkle yapabilirlermiydi ? zannetmiyorum...

Yapay Zekanın inşasında da benzeri bir durum olduğu kanaatindeyim. Ehrama taş taşıyan gönüllü köleler olmamak için, kafamızı kaldırıp işin temellerini öğrenmeye ve sonuçlarını düşünmeye başlamak lazım. Bu iş için iki temel soruyla başlamak istiyorum.

* Yapay Zeka mümkün mü ? Yoksa vakti zamanında devri daim makinası yapacağız diye imkansızın peşinde ömür tüketenlerin durumundayızda farkında mı değiliz ?

* İşin nihayetinde ulaşılan bilgi İnsanlık için faydalı bir buluşmu olacak ? yada bazılarının dediği gibi İnsanlığın sonunu mu getirecek ? Hadi canım sende demeyiniz Bakınız Nükleer silahların icadı. İnsanoğlu Dünyayı bilmem kaç defa yok etme gücüne sahip nükleer silahlara sahip. Ve bunu Nükleer Enerji konusunda çalışan bilim adamlarına borçlu.

Son olarak soruları açmadan önce dikkatinizi çekmek istediğim bir konu var. Zeka Hakkında Kıssalı Yazılar - 1 adlı yazımızda geçtiği gibi Herşey Nazar ve Niyete göre değişir. Yani Olaya bakış açınız ve Niyetiniz konunun durumunu size farklı gösterir. meşhur örnekteki gibi kimi bardağın dolu tarafını kimi boş tarafını görür. lafı fazla uzatmadan konuya girelim

Eğer İnsanı sadece biyolojik bir makina olarak görüyorsanız. Zekanın kaynağı, biyolojik bir bilgisayardan ibaret olan beyindir diyorsanız. Evet sizin için Yapay Zeka mümkündür.

Yok efendim , İnsanı insan yapan başka şey yada şeyler var diyorsanız. Ne kadar gelişkin bilgisayarlar üretilsede ne kadar usturuklu programlar yazılsada hep bir şeyler eksik kalacaktır....

devam edecek
2. yazı Çin odası Turing testine karşı

Not : Çok iddialı bir başlık olduğunun farkındayım, altından kalkabilecekmiyim bilemiyorum. Niyetim bu konuda bir dizi yazı yazmak.Görüş öneri ve sorularınızı bekleriz...

Cumartesi, Ağustos 09, 2008

İyi Haberler

Bu günlerde pek de bir şeyler yapamıyorum. Aksi ihtiyarlar gibi - yada aksi bir ihtiyar olarak mı demeliydim ? - sızlanıyorum ama şükür herkes benim gibi değil. Çalışan gayret eden insanlarda var.

* İlk haber akademik cepheden ; İsmail Arı tezini sunmuş ve yakın zamanda da umumun istifadesine sunacakmış. Tezine gelirsek : "Yüz Özniteliklerinin Takibi ve İşaret dili için ifade tanımı" detayı için buradan buyrun.

* İkinci haber Bir ticari Firmadan ; Kade Bilişim , Bilişim Teknolojileri, görüntü işleme ve video analiz konusunda; askeri, sivil ve özel sektöre güvenlik,veri toplama, süreç-sistem iyileştirme amaçlarıyla ürün ve projeler üreten bir firma. Demekki neymiş efendim Türkiyede bu işlerle uğraşan ticari firmalar da varmış. Bu günlerde onlarda bir kaç proje bitirmişler,
detaylar ve video görüntüleri için bağlantılara tıklayı verin...

* Üçüncü haber daha ticari olamayan ama muhtemelen olacak olan birinden FVolkanY den.
Bu arkadaş "Yapay zeka ile EUR / USD parite tahminleri yapan program" yazmış hemde FANN kullanarak. Konuyla ilgili olarak 3 yazı yayınlamış detaylarını oradan öğrenebilirsiniz.
  1. Yapay zeka kullanarak EURUSD parite tahmini yapan programın sonuçları
  2. Yapay zeka kullanarak EURUSD parite tahmini yapan programın eğitim yapan bölümünün kaynak kodları
  3. Yapay zeka ile EURUSD parite tahminleri yapan programın 15 günlük test sonuçları
Sizi bilmem ama bu tip haberler beni epey bir sevindiriyor. Emeği geçen herkesi tebrik ediyor ve başarılarının devamını diliyorum. İnşallah benzeri pek çok haberleri duyar ve duyururuz...


Salı, Ağustos 05, 2008

OpenCv Örnek Programlar

OpenCv nin Çeşitli konularında üretilmiş basit örnek programlar

gencode1 : Görüntüyü Renkli den Siyah beyaza Çevirme
gencode2 : Renkli Görüntünün Yeşil Bandını Siyah beyaza Çevirme
gencode3 : Histogram eşitleme
gencode4 : Aşındırma işlemi cvErode
gencode5 : Genişletme işlemi cvDilate
gencode6 : Black Hat işlemi ve cvMorphologyEx kullanımı
gencode7 : Kenar Bulma Sobel metodu
gencode8 : Kenar Bulma Laplace metodu
gencode9 : Kenar Bulma Canny metodu

Download : OpenCv Examples

Bir de bakın bakalım kodda dikkatinizi çeken bir şey varmı ?

Söylerim söylerim gönlüm hoş değil !

Temel ile İdris Amerikaya gitmeye karar vermişler hem de yüzerek ! Başlamışlar Trabzondan yüzmeye Karadenizi geçmişler, Marmarayı, Egeyi, Akdenizi geçmişler. Hikaye bu ya Okyanusuda geçmişler, Newyork açıklarına kadar gelip uzaktan Özgürlük heykelini görmeye başlamışlar. Ama bunca yol bizim Temeli epey bir yormuş ve Yoldaşı İdrise seslenmiş.
- Ula İdrus Ben kesuldum mecalim kalmadı döniyirum !


Yanımda İdris gibi bir yoldaşımda yok ama Yıllarca değişik mecralara yüzen biriyim. Ne denizler, ne Okyanuslar aşabildim, ne de hedefe çok yaklaştığımı gösteren işaretler görebildim. Hedeflediğim şeyler hep yıldızlar gibi oldu. Ona ulaşmaktan çok ona doğru gitmemi sağladı. Ulaşamıyacağını bildiğin bir hedefe doğru gitmek ne işe yarıyacak? Akim kalması muhakkak bir işe kalkışmak Akıllıca olur mu ?
Yoksa... yoksa... Temel gibi kesildim dönüyorum deyip her şeyi bırakmak mı en iyisi ?
Bilemiyorum...
Söylerim söylerim gönlüm hoş değil !

Salı, Temmuz 29, 2008

Bir Ukde olarak programcılık !

Bir gün ışığa döner yaprak,
Üzümler kızarır kütükte,
Elbette diner bu sağanak,
Kaybolur içimdeki ukde
....
melih cevdet anday

Bu blog açıp yazılar yazmaya başladıktan sonra pek çok insanla tanıştım. Bazılarıyla yüz yüze de görüştüm. tanışma faslında sık olarak geçen bir konudan bahsetmek istiyorum. Konuşmanın bir yerlerinde insanlar eğitimimi ve yaptığım işi soruyorlardı. Sonuç olarakta sükut-u hayale uğruyorlardı... Ben bile kendime arada
Ben kimim ki bu programlamayla uğraşıyorum ?
Ne haddime düşmüşki Yapay Zeka ile ilgileniyorum
Hatta ve hatta bütün bunların üstüne birde Bilgisayarlı Görü üzerine ahkam kesiyorum
gibi sorular soruyorum bakınız

hatta şöyle yapalım, ilginç olsun direk orjinal konuşmalardan alıntılayım -gmail sağ olsun kayıt tutuyor- isim vermeyeceğim malum karşı taraftan izin almadım...


BL - siz programlamayla hobi olarak mı ilgileniyosunuz
Ben - ukde olarak, demiştim ya !


BC - senin meslek neydi abi... sormayı unuttum da ?
ben - hayal kırıklığına uğrama ama
BC - yok abi uğramam...kendini gelştirmek önemli bu sektörde
ben - züğrüt tesellisi senin dediğin ... işindeyim
BC - yok abi gerçekten , hangi ...cü senin bildiğini biliyor ki!! onu
geç , hangi ... - reklamlar !- biliyorki
ben - metalurji mühendisiyim mezuniyet ODTÜ
BC - anladm abi... ... işinde işine yarayacağını sanmıyorum, hobi
olarak mı yapıyosun bu işi?
ben - içimde kalmış Ukde olarak yapıyorum


F - siz ne tur yazılımlar yapıyorsunuz iş hayatında ne
yapıyorsunuz yani genelde merak
ben - işte onu hiç sorma
F - niye
ben - çalıştığım işin programcılıkla alakası yok
F - nasıl yani ne iş yapıyorsunuz peki olurmu ? bunları
nerden ogrendiniz nasıl oluyor
ben - olur olur
F - ne mezunusunuz siz
ben - çalışarak ta okul sıralarında bilgisayar peşinde gezerek
okuyarak
askerden önce
kısa bir süreliğine programcılıkta yaptım ama pek bir gelecek göremedim kendi
adıma insanlar diplomalarına göre işe alıyorlar genelde,
askerden sonra bende diplomama göre iş buldum
ama programcılık
içimde bir ukde kalmış ki halen uğraşıyor öğrenip öğrendiklerimi anlatmaya
çabalıyorum...
F - peki ne mezunusunuz
ben - mühendisim metallurji fazlamı şaşırttım sizi
F - evet oyle oldu bende elektornik okuyorum ama
bizim bolum hadi yazılıma biraz daha yakın ama sizin bolum
baya uzak yani
ben - :) ama kısmet belki ilerde yeniden dönerim
programcılığa
F - evet seviyorsanız donun bence başarılı
olursunuz....


Böyle sürüp gidiyor işte ...
Burayı açtığımdan beri yani 3 yıldır bu içimdeki Ukde kaybolmak yerine iyiden iyiye içimde büyüyüp, kök salıyor... Ne olacak bu işin sonu bilemiyorum. Allah sonumuzu hayretsin

Not: İçimizde büyüyen sadece Ukde değilmiş meğer Başka bir şeyler de büyüyormuş Bu mübarek gün ve gecede -miraç kandili - şifa dualarınız bekleriz efendim...

Çarşamba, Temmuz 23, 2008

OpenCv GUI Tool ön çalışması


Genel bir Yapay Zeka sisteminin olmadığını dolayısıyla Genel bir Bilgisayarlı Görü (Computer Vision ) sistemide yok. Bu yüzden Bilgisayarlı Görü uygulamaları için uygulamaya has ön işlemler yapmak gerekiyor. bakınız ( Bakan Bilgisayar - Gören Bilgisayar )

Bir örnek verirsek daha iyi anlaşılacak sanırım. Mesela Türkiyedeki pek çok kişi gibi sizde plaka tanıma üzerine ödev aldınız.* En baştaki probleminiz, plakanın konumunu tespit etmek olacaktır. "Görüntü üzerinde ne gibi ön işlemler yapalım ki plaka konumu ortaya çıksın" diye
pek çok deneme yapmanız gerekir. Yani program yazacaksınız, derleyeceksiniz, görüntü üzerinde test edeceksiniz, olmadı en başa dönüp başka bir şey deneyeceksiniz. Epey zahmetli ve vakit alan bir süreç.

İşte yukarıda görmüş olduğunuz programın amacı bu işlemi, yani Görüntü ön işlemesini kolaylaştırmak. Bu programla Görüntü üzerinde OpenCv nin imkanlarıyla yapabileceğiniz pek çok işlemi uygulayabileceksiniz hatta sonuçta baz alıp kullanabileceğiniz kod da olacak !

Başlıktanda anladığınız gibi bu program bir ön çalışma. Eklenecek pekçok şey var. ( Kenar bulma metodları , Aritmetik işlemler, Mantıksal İşlemler, ... ) Fırsat buldukça geliştirmeye devam da ediyorum. Denemek istiyenler buradan buyursun
Download : cvPreProcessor
Deneyeceklerden şöyle bir kaç ricam olacak,
Kargaya yavrusu şahin görünürmüş bana göre faydalı bir program , Acaba size görede öylemi ?
Aklınıza gelen eklenmesini istediğiniz özellikler var mı ?
Programda gözünüze çarpan hatalar var mı ?

Bildirebilirseniz seviniriz

* Yeri gelmişken Açık kaynak kodlu Plaka Okuma programından bahsedelim
JavaANPR adından da anlaşılacağı gibi Javayla yazılmış. İlgisi olan baksın, için de tez de var, neyin nasıl yapıldığını çok güzel anlatıyor, duyrulur...

Cumartesi, Temmuz 19, 2008

Şu akkuşun gürgenleri Yıkılmadı mı ?

Rafet resort hotel deki bilmem kaç yıldızlı tatilim ! Her ne kadar sıradışı şeyler hoşuma gitsede, bu benim için bile fazlaydı. Börtü böcek içinde yer yer kararmış çam kerestesinden yapılmış köhne ahşap bir ev. Evin lüksü suyun içeriye alınması olmuş bundan önce geldiğimde suyu kapıdaki çeşmeden doldurmamız gerekiyordu...

Temmuz sıcağında soğuk dağ geceleri, Gürgen ormanı, ormanın yoğun oksijeni, beyaz papatyalar turuncu gelincikler, günün hersaatinde görbileceğiniz sis, çisil çisil yağan yağmur.
O yetişecek yok, bu tamamlanacak yok, falanca parça bozuk çıkmış ne yapsak acaba yok ,... iş yok. Tv yok, İnternet yok, Bilgisayar yok, Gündem yok. Eregenekon operasyonu yok, haklımıydı haksızmıydı yok, "Ergenekon operasyonu ergenekoncuların bir operasyonumuydu ?" yok. Yok yok...
Bütün bunlar yok ama onun yerine başka sıkıntılarda yok değil.
Falancanın oğlu filancanın kızını kaçırmış, feşmekanca fişmekanca yere ev yaptırıyormuş, filan falan yerdeki tarlasının sınırını kaydırmış. Falanmış filanmış feşmekanmış...
Boşuna dememişler
"Ne hikmettir Şu dünyaya gelen ağlar giden ağlar"
Bütün bunlara rağmen, Yağmur yüzünden pek bir yere çıkamasam da, göz alabildiğine Gürgen ormanının yeşillikleri bir başka alemdi. Yıkılmasın şu Akkuşun gürgenleri...

Perşembe, Temmuz 03, 2008

GPU... Oyunu bırak Çalışmaya başla !

Bilgisayarları işlem gücü sürekli bir şekilde artmasına rağmen, Hala yeterli gelmediği alanlar var.
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 !

Epey bir süre önce yayınlamıştım ama Yeni mezun olup mühendis çıkan bir kardeşimiz için tekrar yayınlamak lazım geldi...

Profösörün talebelerine verdiği son ders
Bilgisayar Mühendisi Arkadaş, İnşallah iyi bir 'donanım'cı veya iyi bir 'program'cı veya iyi bir 'network'çü veya iyi bir 'system administrator' olacaksın. Yalnız şu mühim meseleleri sakın aklından çıkarma!

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