Sayfalar

Pazar, Ağustos 26, 2012

Şekil Eşleştirme - Shape Matching

ShapeMatching from bluekid on Vimeo.


Öncelikle Painti açıyoruz. Hazır Şekilleri kullanarak değişik değişik ebatlarda şekiller çiziyoruz.

  1. Sonra yazdığımız programda önce her bir şekli cvBlob'un da yardıyla ayrıştırıyoruz
  2. Her bir blob'un dış hat çizgilerini -contour-  ve  zincir kodlarını - chain code - alıyoruz 
  3. ve bunların histogramlarını çıkarıyoruz. 
  4. Her bir şeklin histogramının diğer şeklin histogramlarından uzaklığını hesaplıyoruz.
  5. Belli bir eşik değerinden az olan uzaklıklardaki şekillerin eş olduğu varsayılıyor
  6. Eş blob'ları  gösteriyoruz...
  7. En sondada bütün hepsini birlikte gösteriyoruz..
Normal Şekil eşleştirme algoritmaları ebattan bağımsız değildir. yani aynı şekildeki fakat değişik ebattaki şekilleri eşleştirmez.
Bu uygulamada ebattan bağımsız eşleştirme yapılabiliyor.
Bu haliyle sadece contour-chain code ile yapılmış basit bir uygulama, momentleri felan ekleyerek, ve histogramı çeşitlendirerek  dahada güçlendirilebilir.

Örnek program OpenCv 2.4.2 ve cvBlob kullanıldı.

Salı, Temmuz 24, 2012

OpenCv 2.x ' Giriş - Kurulum -

OpenCv  açık kaynak kodlu ticari kullanım içinde uygun bir lisansa ( BSD ) sahip bir Bilgisayarlı görü kütüphanesidir.
Daha Önce OpenCv ye giriş niteliğinde bir dizi yazı yazmıştık.  Yazdığımız yazılar kısmen güncelliğini yitirmiştir. Her ne kadar eskiye uyumluluk adına eski C API muhafaza edilsede, OpenCv 2. versiyonundan itibaren  C++ API sistemine geçilmiştir.
Bu durumda yazılarımızın da yeni C++ API larına göre yenilenmesi gerekmekteydi fakat fırsat bulupda yazmaya bir türlü başlayamamıştım. Bu gün kurulumundan başlayayım bakalım İnşallah fırsat bulup  seriyi tamamlayabilirim.

Cumartesi, Temmuz 21, 2012

Görüntü Birleştirme - Image Stitching


ImageStitching from bluekid on Vimeo.


OpenCv nin pek çok dökümante edilmemiş özelliğinden birini uygulayıp gösteriyoruz
Görüntü birleştirme işlemi için her görüntü üzerinde öznitelik çıkartılıp sonra diğer resimlerdeki ile olan eşleşmesi tespit ediliyor. Bu eşleşmeye göre transformasyon matrisleri hesaplanıp daha geniş bir resimde birleştiriliyor.

Yukardaki resimde Köyümde çektiğim 3 resmin birleştirilmiş halini görüyorsunuz. Videoda ise Programın çalışmasını.

Bu arada unutmadan burdan duyurmuş olayım OpenCv 2.4.2 versiyon güncellemesi yapıldı. Bende kurdum. OpenCv 2.0 dan sonra gelen C++ API' ları artık yaygın hale geldi. Geçmediyseniz bir an önce geçin ve yeni şekliyle kullanmayı öğrenin. Bende fırsat bulabilirsem bir şeyler hazırlıyacağım

Cumartesi, Temmuz 07, 2012

D ve C++11 Konferansı / Diller ve Programcılar

Geçen yazım da belirtimiş olduğum "D ve C++11 Konferansı" etkinliğine oldukça geç de olsa katılabildim. İhtiyarlık madalyası almam gerektiğinden okula gitmemiz gerekmişti....
Etkinliğin duyrusunda da katılabileceğimi ve amacımı

 D diliyle pek ilgilenmesemde C++11 hakkında bir şeyler dinlemek ve tanışmak isterim.
 şeklinde belirtmiştim. Tanıdıklarımla tekrar görüşmek tanımadıklarımla tanışmak güzeldi.
Emeği geçen herkese teşekkürler.
Özellikle Ali Beyle tanışmak büyük şans benim için. İyi bir programcıyla tanışmak her zaman olan bir şey değil. hem "biribirini bilmemek insaf değil"...

D Dili mevzusuna gelecek olursak.
  C / C++ için "garbage collector" diye yaptığım bir araştırmada önce "Hans Boehm garbage collector" a ordadanda bu GC yi kendi Derleyici paketine adapte eden Digital Mars şirketinin sayfasına ulaşmış ve ilk defa orda görmüştüm.

 İlk Etapta beni heyecanlandırmadı desem yalan olur. Malum C dilide B dilinden türetilmiş ve almış yürümüştü. Belkide D dilide böyle olurdu. O heyecanla biraz inceledim ve birazda araştırdım. Dilin özellikleri iyi idi fakat İşin açıkçası Üzerinde yoğun olarak çalışıp kararlı hale gelmesini ve arkasında durup popülerleşmesini sağlayacak bir Firma yada Topluluk yoktu. Bende onu hafızamın tozlu sayfalarında bıraktım gitti.

Nice sonra ; Ali Beyin  ilk olarak Ceviz forumda tanıtımlarıyla ve sonrasında DDili sitesini açmasıyla, Ülkemiz de bazı gayretler görmeye başladık. Benim şahsi fikrim Bu faliyetler Şahsi gayretler üzerinde yürüyor, sonuçda Bu dilin çok büyük bir yaygınlık kazanacağını düşünmüyorum...

 Diller Konusuna gelirsek;
Programlama dilleri arasında benim dilim senin dilini döver, Filanca Dilin şöyle mübarek ! imkanları var oysa falanca dil de yok demek bana çocukça ve saçma geliyor. Elbette programcı seçtiği dili sever ve diğer dillere göre tercih etme sebepleri de vardır. Ama asıl olan Programcıdır. Her dilde iyi yada kötü programlar yazılabilir. Bir yazarımızın iki romancımız için kullandığı şöyle bir tabir vardı
".... yazdıkları  kötü yazılmış iyi romanlardır .... nın yazdıklarıysa iyi yazılmış kötü romanlardır"
Aynı şekilde Bence Programlama bir sanattır.
İyi yazılmış; Dilin imkanlarını ustalıkla ve doğru şekilde kullanarak
ve İyi bir içerikle ; Çözmek için hedeflediği problemi güzel şekilde çözen
bir program sanat eseridir.

Ve Malesef bendeniz sanatkar olmadığımı biliyorum...

Son olarak : Okumanız gereken bir yazıdan bir alıntıyla  bitiriyorum 
 A single good programmer working on a single task has no coordination or communication overhead. Five programmers working on the same task must coordinate and communicate. That takes a lot of time. There are added benefits to using the smallest team possible; the man-month really is mythical.
...
The real trouble with using a lot of mediocre programmers instead of a couple of good ones is that no matter how long they work, they never produce something as good as what the great programmers can produce.
Five Antonio Salieris won't produce Mozart's Requiem. Ever. Not if they work for 100 years.
Not : Bir hafta kadar Rafet Resorta gitmek zorundayım. Ulaşamazsanız aklınızda olsun...

Perşembe, Haziran 14, 2012

Ordan Burdan Haberler

Bu başlık altında da epey yazı oldu, ne yapalım uzun uzadıya duyurmak istediğim ama yapamadığım konular oluyor. Bu şekilde de varmezsem kaybolup gidiyor. Ne kadar çok konu olduğunu tahmin bile edemezsiniz

1) İlk Haberimiz Sitemiz hakkında Kod yayınlamaktan - FannTool hariç - vazgeçtik Sebebini Bilenler Bilmeyenlere Anlatsın yazımızda anlatıyoruz.
Sonuçda "Bilyoruz" iddiasında değiliz "Bilmiyoruz ve Öğrenmeye" çalışıyoruz üstelik öğrene bildiğimiz kadarını "Bilmeyenlere Anlatıyoruz." İlk iki sınıfa giren kişilerin yanlışlıkla ilgisini çekmişiz ki kusrumuza bakılmasın  bir daha olmaması için gerekli tedbirleri alacağız.
"Bilenler Bilmeyenlere Anlatsın" anlayışındaki insanları bekliyor ve iletişime geçmeyi arzuluyoruz.
 "Bilenler Bilmeyenlere Anlatsın" anyalışındakilerle Kod paylaşımına devam edeceğiz elbette...

2) Yaz Tatili Geldi, Çeşitli konularda meraklı ama dersleri yüzünden vakit bulup uğraşamadığından şikayet eden Talebeler ve Öğrencilikten Talebeliğe terfi etmek istiyenler için Büyük Fırsat. İnternet üzerinden takip edebileceğiniz dersler var artık. "Education for Everyone." Herkes için Eğitim sloganıyla çıkmış açık dersler. Görüntülü ders anlatımları ödevler sınavlar. Hatta Videolar için ingilizce alt yazıda hazırlamışlar.  ( Belli dersler için topluluklar oluşturup alt yazı tercümeleri bile yapılabilir yani  ) Neyse konuyu dağıtmayalım. Adersi ve dikkatimi çeken bazı dersler den örnekler vereyim
3) Sitemizde Yaz Stajı !!!! :  Böyle yazınca çok iddialı oldu, ama anlatmak istediğim şu Eğer Yapay Zeka Bilgisayarlı Görü gibi konularda pratik anlamda Kendinizi geliştirmek için küçük projeler yapmak istiyorsanız. Seve seve yardımcı oluruz. İlgilenenlere duyrulur.

4) Yazılım Atölyesi  :  Haziran Ayı programımız 16 Haziran 2012 tarihinde yapılacak ve Ramazan Uluçay  tarafından  Araç Takip Sistemleri anlatılacak.  Bekleriz,tanışırız, görüşürüz, konuşuruz...

5) D ve C++11 Konferansı : Detaylar Burda

6) OpenCv nin yeni versiyonları çıktı ve yeni Resmi web sitesi açıldı

7)  Stack Overflow (in Turkish) : Stack Overflow sitesini biliyorsunuzdur, Benzeri içerikte ama dili Türkçe olacak olan bir çalışma var. Destekliyoruz ve Desteklerinizi Bekliyoruz. Ha gayret çoğu gitti azı kaldı...

Pazar, Haziran 03, 2012

FANNTool 1.2 çıktı


Güç ve geçde olsa epey bir aradan sonra FANNTool 'un yeni bir versiyonunu yayınladık
Yapılanlar
  • FLTK 1.1.10 dan FLTK 1.3 ' e geçiş yapılıldı UTF deseteğinin sebep olduğu problemler giderilmeye çalışıldı
  • FANN 2.1 Beta dan FANN 2.2 ye geçildi 
  • "Run as Calssifier" ( Sınıflandırıcı olarak çalıştırma   ) eklendi
  • Bazı ufak tefek hatalar düzeltildi...
 İndirmek için : Download

Pazar, Mayıs 27, 2012

Faydasız İlim 1

Pek tesirli  bir duanın manidar bir parçası olan "Faydasız İlim" epey bir zamandır aklımı kurcalamaktadır. Bir taraftan İlim konusunda büyük teşvik var. Diğer taraftan "Faydasız İlimden Allaha sığınma var. Zihnimi meşgul eden bu konu hakkında bir şeyler yazmaya niyetim vardı, fakat nereden ne şekilde başlayacağım, nasıl bitireceğim  bilemiyordum. Halende bildiğimi zannetmiyorum. Yazılarımızı müsamaha ile okumanızı, ve fikren katılmanızı bekliyoruz....


Dün epey bir aradan sonra Yazılım Atölyesine gittik, Ahmet  kardeşle son yazısı üzerinede konuşma şansı buldum, o yazıdan bir alıntıyla başlayalım konumuza...

Faydasız Görüntü İşleme / Faydalı Piyasaya İş Yapma

  Bugün mezunlarımızdan bir abimiz, -kendisi bölümden mezun olduğunda ben ortaokula gidiyordum-, yıllardır bölümde görüntü işleme dersinin olduğunu ve görüntü işleyip işleyip de ne işe yarayacağını esprili bir şekilde dile getirdi. Amfide bulunan öğrenci arkadaşlar da bu dersten canları yanmış olacak ki galeyana gelip bir anda amfiyi alkışa boğdular.

Konuyu tam olarak bilmiyorum ama anladığım kadarıyla kendisi bölümden birkaç arkadaşı part-time veya başka bir şekilde şirketinde çalıştırıyor ve öğrencilerin derslerinin yoğunluğundan dolayı iş yapamadıklarından dem vurdu. Salon da aynı şekilde alkışlarla ödevlerin fazlalığını tasdik etti.

Daha sonra da ödevlerin piyasaya yönelik olması gerektiğine dair bir söz söylendi ki, piyasada yapılan işlerin tamamı maddi gelir elde etmeye yönelik olduğundan dolayı şu anda bölümde verilen ödevlerden kat kat daha kolay olup eğitim açısından getirileri de bir o kadar az olmaktadır.
Evet Şirket sahibi Mühendisin  Formülü basit ; Bir kaç öğrenci bulup onlara piyasa için web işi yaptırırsanızın çoğu kendi cebinize olmak üzere  para girer ( Fayda )  ,  O öğrenciler Görüntü İşleme dersini geçmek için ödev yaparsa bir fayda yok.

Bize İlkokula hocamız şunu öğretmişti
2 Elma 3 Armut 5 etmez!  Çünkü Elmalarla Armutlar Toplanmaz, Çıkarılmaz Çarpılmaz Bölünmez....
 Ama görüyorum ki bazıları bu konu anlatılırken piyasaya iş yaptıklarından ( O  yaşlarda muhtemelen misket oynayıp arkadaşlarını üterek fayda üretip ) dersi dinleyememişler.

Bir tarafta daha önce bildiklerinizle bir uygulama yapıyorsunuz, Bir ürün ortaya çıkarıyorsunuz, O ürünün kıymeti nispetinde bir para geliyor. Diğer Tarafta Başka bir konuda eğitim alıyorsunuz o eğitimi pekiştirmek adına ödevler yapıyorsunuz. Bir yanda ürün/uygulama diğer yanda Eğitim/İlim Öğrenme karşılaştırılamaz ( baknız ilkokul dersleri Elma-Armut bahsi )

Sadece maddi çıkarların fayda olduğu varsayımıyla (ki bence öyle değil ) bile olsa Şu an hali hazırdaki piyasa işi ile Görüntü işlemeyi karşılaştırmak için öncelikle Görüntü işlemenin bir uygulamasının yapılıp, Sonuçda elde edilen gelirlerin  karşılaştırılması gerekir. Olaya bu şekilde bakıldığında muhtemelen Firma sahibi Mühendis arkadaşda İyi bir Görüntü işleme Projesinin hali hazırda piyasada gırla giden işlerden (veri tabanı - web ) daha çok kazandıracağını görecektir.

 Şöyle bir itiraz gelebilir, diğer işlerden çok var, yapmasıda kolay. Görüntü işleme konusunda iyi eleman bulmakda, geliştirmek de zor, Ülkemizde oluşmuş bir piyasasıda yok. Geçinebilmek adına mecbur piyasadaki hali hazırdaki nispeten kolay işlere yöneliyoruz.


Elbette geçinmek adına gerekeni yapmak gerekir. Fakat Nispeten kolay işleri yapmaya girşiecek insan sayısı devamlı artacaktır. Başta kazancınız olsada yıllar geçtikçe rakipleriniz çoğalacak kar marjlarınız düşecektir. Bu yüzden ilk etapda zorda olsa yeni alanlara bakmanız lazım.

Örneğimiz Görüntü işleme üzerinden oldu ama aslında bütün Teknolojinin uç noktalarındaki konular elbette zordur. Siz üzerinde çalışma yapacaksınız (öğrenci ) yada yaptıracaksınız (firma sahibi) ki önünüzde yeni Alanlar açılacak.

Piyasanın olmaması konusu ise artık İnternetin olduğu bir çağdayız.  Mesela Hangi firmamız Dünya çapında bir Yüz Tanıma sistemi geliştirdikde satamıyoruz diyebilir. Ürününüz iyi olduktan sonra bir web sitesiyle bütün dünya piyasası size açılır...
 ...
( İnşallah devam Edecek )

Çarşamba, Mayıs 23, 2012

Sabahın Duası



Hoş geldin, sefa geldin ey sabah ve ey yeni gün merhaba ey mutlu vakit ve saat 
merhaba ey ALLAH’ın katip ve şahit meleği, şu söylediklerimizi bizim için yaz ;


Cumartesi, Mayıs 19, 2012

Yapay Sinir Ağları ile Ses Tanıma 4


Eveet Nihayet serimizin sonuna ermiş bulunuyoruz. YSA uygulaması kısmında yine söz bize kaldı...

Tuhaf tuhaf sembollerle dolu tuhaf formüller,bir o kadar acayip grafiklerden sonra elimiz de kalan nedir diye bakıyoruz.
Başlangıçta
Kaliteli bir sesin 20 ms kısmındaki örnek sayısı
yaklaşık 20 * 10^-3 * 44100 = 882.
Şeklindeki veriyi her pencere için  36 adet veriye düşürdük, İlaveten  Sözcüğün uzunluğuna söylenişinin hızına göre değişik sayıda penceremiz var.
Değişken  sayıdaki  veri; YSA ve  pekçok Yapay öğrenme metodu için uygun değil. keza minimum 200 pencereden(200x36) gibi pek de pratik olmayan veri ortaya çıkıyor.

YSA yı uygulayabilmemiz için iki şey yapmamız lazım
  • Sabit bir uzunluğa çevirmek
  • Pratikte kullanılabilir bir sayıya düşürmek

Salı, Mayıs 15, 2012

Yapay Sinir Ağları ile Ses Tanıma 3

Kaldığımız yerden devam ediyoruz sadece mel filitreleme ile iş bitmiyor
 LOG
Kulağımız sesin şiddetini logaritmik bir ölçüde algılar. Benzer şekilde elde ettiğimiz 12 adet verinin logaritmik kullanılması toplam sistem başarımını arttırıyor.  Log işlemi için doğal logaritma iyi sonuç veriyor. Tekrar yeri gelmişken, Bkz. Euler ve ilk değinen J.Bernouilli için bkz. Bileşik faiz problemi. 
IDCT (ters ayrık cosinus dönüşümü)

DCT aslında DFT ile akraba diyebileceğimiz bir dönüşüm işlemidir ancak DFT den farklı olarak DCT de imaginer kısım yoktur yalnızda Reel bileşenler vardır. Ek bilgi; DCT imge sıkıştırmada frekans bileşenlerinin bulunması için sık kullanılır. Bknz.jpeg

İfadesi aşağıdaki gibi;

Pazartesi, Mayıs 14, 2012

Yapay Sinir Ağları ile Ses Tanıma 2


Yazımıza devam ediyoruz.


FFT – Artık frekansa geçme zamanı geldi :)

Pencerelenmiş dizimize şimdi Fourier dönüşümü uygulayarak frekanstaki ifadesini buluyoruz.


Fourier dönüşümünün matematiksel ifadesi yukarıdaki gibidir.  Doğal olarak ifadedeki integral işlemi ayrık işaretler için uygulanamıyor.
Hatırlarsanız biz mikroişlemci ortamında ayrık bir dünyadayız, bu nedenle aynı ifadenin ayrık şekli olan


İfadesi bizim için geçerli.
FFT kodunu kendimizin yazmamıza gerek yok ama araştırmakta tabii ki yarar var.
Yeri gelmişken matematikçilerden kahramanım diyebileceğim üçü, sırayla;  Euler, Gauss ve Fourier ‘in çalışmalarını ve hayatlarını araştırmanızı tavsiye ederim. Gaz açısından : )

Cuma, Mayıs 04, 2012

Yapay Sinir Ağları ile Ses Tanıma 1

,
Geçen seneki Kasım ayındaki yazımızda
 Eğer "o kadar yazını okuduk, bizim de üzerimizde borç var bizde bir ucundan destek olalım"  deyip bir şeyler karalarsanız bizde burdan yayınlamaya çalışırız.
 diye bir duyruda bulunmuştuk . Bu Duyrumuza İstanbuldan Şubat ayında bir cevap geldi. Firmalarında yaz stajına gelen öğrencilerle beraber yaptırdıkları bir projeyi anlatmak istiyorlardı.
Yazı yanınlanmak üzre geldi ama, öncelikle yazılım atölyesinde sunum yapılması tercih edildiğinden, yayınlanması bu zamana kadar tehir edildi.
Şimdi bu yazıyı yayınlamaya başlıyoruz ve sizlerden de yenilerini bekliyoruz...

Yapay Sinir Ağları ile Ses Tanıma
Ses Tanıma genel olarak  üç aşamadan oluşuyor.
1) Ön işleme
2) Öznitelik Çıkarma
3) Tanıma ( YSA, başka Yapay Zeka yada Makine Öğrenmesi (Machine Learning) ile)
Deneysel olarak yaptığımız çalışmada biz, RASTA-PLP, MFCC ve LP yöntemlerini gerçekleştirdik. Bu yazıda akustik vektörlerin MFCC (mel frequency cepstral coefficients) yöntemiyle oluşturulması anlatılıyor.

Pazar, Nisan 22, 2012

YSA ile Finansal Başarısızlık Öngörüsü

Finansal Başarısızlık Öngörüsü hem Firmanın yöneticileri, Hem ilgili firmayla ilişkileri olan firmalar, hemde  - borsada olsun olmasın  - yatırımcıları  için önemli bir konudur.
Öngörü sonuçlarına göre Yöneticiler tedbirler alabilir, İlişkide oldukları firmalar için alternatifler arayabilir,  Yatırımcılar yatrımlarını daha güvenilir yerlere kaydırabilirler. Elbette İş işden geçmeden önce...

Ufak bir internet aramasıyla sizinde göreceğniz gibi pek çok değişik metod ve sistemle "Finansal Başarısızlık Öngörü"  çalışmaları yapılmıştır. Bizim Çalışmamızda Borsada işlem gören bazı şirketler için Yapay Sinir Ağları ile benzeri bir çalışma yapılmıştır.

Firmaların Son Üç yıllık
  • İşletme Sermayesi /Toplam Varlıklar
  • Net Kar/Toplam Varlıklar
  • FVÖK (Faaliyet Karı)/Toplam Varlıklar
  • Borçların Defter Değeri/Toplam Varlıklar
  • Satışlar/Toplam Varlıklar
  • FVÖK (Faaliyet Karı)/Toplam Faiz Ödemeleri

verileri kullanılarak  mevcut  yıldaki Finansal Başarı / Başarısızlıkları öngörülmeye çalışılmıştır.

Ulaşılan Sonuçlar : Doğru sınıflandırma başarı Yüzdesi olarak

Eğitim Verileri  : % 93,3
Test Verileri      : % 84.6
Resimden de göreceğiniz gibi Bütün çalışmada FannTool'un 1.2 Versiyonu kullanıldı. Henüz hazır değil ama üzerinde vakit buldukça çalışıyoruz yakında yayınlayacağız İnşallah...


Pazar, Nisan 01, 2012

YSA ile Tel Erozyon Hesabı


Tel Erozyon Nedir ;

İletken olan malzemelerin işlenmesi ve kesilmesi için kullanılan bir metod ve bu iş için kullanılan tezgahın adıdır. Malzeme Dielektirik bir sıvı içerisine daldırılır. Malzemenin  yüzeyi ile elektrod ( tel ) arasında ark oluşturularak  yüzey aşındırılırlır.

Bizim Çalışmamıza esas olan; Nihat Tosun'un  "Tel erozyon tezgahında tel aşınmasının ve yüzey pürüzlülüğünün deneysel olarak incelenmesi ve modellenmesi" başlıklı doktora tezidir. Bu tezde bir dizi deney yapılmış ve deney sonuçları Regresyon analiziyle modellenmiştir. Biz bu deney datalarını YSA kullanarak modelledik.
Giriş Değerleri ( Kontrol Parametreleri ) olarak ; Puls Süresi, Gerilim, Tel İlerleme Hızı, Dielektirik Sıvı püskürtme basıncı kullanıldı.
Çıkış Değerleri ; Yüzey Prürüzlülüğü, Telde oluşan krater Derinlik ve Çapı , Ağırlık Kaybı

Parametrelerle ilgili detaylar için ilgili teza bakınız. Deneysel verilerin bir kısmı YSA eğitimi için kullanıldı. Kalan kısmıda Eğitilmiş YSA'nın performansını görmek için Test aşamasında kullanıldı.
Biz buraya Sadece Test Verireliyle ulaşılan Grafiklerden birkaç tane koyuyoruz.

Krater Derinliği Test Sonuçları :


Yüzey Pürüzlülüğü Test Sonuçları :



Salı, Şubat 28, 2012

Ordan Burdan Haberler

Okur- Yazamaz'lığım depreştiğinden pek çok konuda uzun uzadıya yazmak istesemde bir türlü yazamıyorum. Bir süre sonrada yazmanın da anlamı kalmıyor, unululup gidiyor aklımdakiler...
Kısa kısa da olsa bir şeyler yazayım haberdar edeyim diyorum.

1) FANN 2.2 yayınlandı. Uzun süredir FANN da bir kıpırdanma olmuyordu. Önce Web sayfasında bir yenilenme oldu. Şimdide Yeni versiyon sürümü yapıldı. İnşallah arkası devam eder.  Kayda değer yenilik olarak yeni bir Eğitim Metodunun eklenmesini  görüyoruz. Ekelen Metod SARPROP yani Yapay Isıl İşlem  ( Benzetilmiş Tavlamada deniyor )  Simulated Annealing destekli RPROP.
Bu durumda bizede iş çıktı FannTool'un Yeni versiyonu üzerinde çalışmaya başladım. Eğer yeni versiyon hakkında fikir ve önerileriniz varsa duymak isteriz.

2.  DATA MINING CUP : Veri Madenciliği Kupası'nın 2012 yılı yarışma kayıtları 1 Martta başlıyor. Konuyla ilgili Linke ve Burdan ulaşabilirsiniz.  İlgileniyorsanız bir bakın, İlgilenmiyorsanız ne diye ilgilenmiyorsunuz yapacak daha iyi bir işiniz mi var ?

3.  OpenCv 2.3.1  Yayınlandı : Yenilikler neymiş derseniz buraya bakın. Güncel dökümantasyonunda yeni Tutoriallar var onlarıda kontrol edin derim.

4 MoSync : Yeni versiyonu yayınlandı. MoSync Eclipse-tabanlı bir IDE  üzerinden C/C++ ile  Android, iOS vb mobil sistemler üzerinde Program geliştermenizi sağlayan Bir SDK. Yeniliklere Burdan Bakabilirsiniz.

Pazar, Şubat 26, 2012

Kameralı Ölçüm Sistemi 2


Kameralı Ölçüm Sistemi from bluekid on Vimeo.


Vakti zamanında yaptığımız bir Çalışmaya ek yaptık

Bu haliyle program Kamera üzerinden,  sabit uzaklıktaki  2 boyutlu
  • Uzunluk 
  • Dikdörten Alanı
  • Daire Alanı
  • Açı
 Ölçümü yapabilmektedir.

Kalibrasyon : iki nokta seçilip gerçek uzunluğu verilir.  bu şekilde piksel cinsinden uzaklıklar gerçek değere çevrilir.
Uzunluk için Koodinatları bilinen iki noktadan ve Pisagor teroemiyle hesaplanır. Sonuç Piksel cinsinden gerçek değere çevirmek için Kalibrasyon faktörüyle çarpılır
Dikdörten ve Daire alanı içinde şekillerin ebatları hesaplanır, kalibrasyon faktörüyle çarpılıp İlgili alan formülleri kullanılır.
Açı hesabı için : Seçilen Üç noktadan  hesaplanan uzunluklar Cosininus Teoremindeki yerine konulup açı çekilir

Pazartesi, Şubat 06, 2012

Bilenler Bilmeyenlere Anlatsın

Nasrettin hoca cuma namazı için hutbeye çıkınca cemaate seslenmiş
- Ey cemaat ne anlatacağımı biliyormusunuz ?
cemaat biraz afallamanın sonrasında hep bir ağızdan "bilmiyoruz" diye cevaplamışlar
Hoca ; "Bilmiyorsanız size ben ne anlatabilirimki " deyip hutbeden inmiş
Ertesi hafta hoca yine hutbeye çıkıp aynı soruyu cemaate sorunca.
geçen haftanın ardından hazırlıklı olan cemaat "biliyoruz" diye cevaplandırmşlar.
Hoca ; "Biliyorsanız size ben ne anlatabilirmki " deyip hutbeden inmiş.
Bir sonraki hafta Cemaat aralarında anlaşıp gelmişler. Hoca hutbeye çıkıp aynı soruyu sorunca.
cemaatin yarısı biliyoruz, diğer yarısı bilmiyoruz diye cevaplamış.
hoca gülümseyerek
"Bilenler Bilmeyenlere Anlatsın"
deyip inmiş hutbeden...

Burada hutbeye çıkıp vaaz verircesine yazılar yazmadık. Ama hocanın cemaatinin tepkilerine benzeyen tepkiler aldık ve alıyoruz..

1) "Bilmiyoruz" diyenler ; Aslında bilmek istemiyoruz diyorlar. Hasbel kader bir iş, bir tez yada bir ödev vesilesiyle bulaştık bunu halledelim hemenceciki kaybolup gidelim diyorlar.
Ufak bir google aramasıyla sitemize ulaşıyorlar
Konuyla ilgili yazımızı ya hiç okumuyorlar yada çok yüzeysel okuyup geçiyorlar
bu yüzden Sorularını açık soramıyorlar.
hatta kodun orda olduğunun farkına varamayıp kodu isteyenleri bile oluyor.
Pazartesine bu iş yetişecek neyapayım ? çok acil , çok önemli,  hayat memat meselesi, ve aklıma gelmeyen bir sürü şey sıralıyorlar
Bir kısmı sorduklara yazdığım karşılığa bile cevap yazmıyorlar
Bir kısmı işlerini hallettikten sonrada kaybolup gidiyorlar taaki bir daha  benzeri bir iş denk gelirse tekrar iletşime geçiyorlar...

2) "Biliyoruz" diyenler ; Konu hakkında genel bilgisi olup, yayınlanan kodu indirip kendi çook geniş arşivinin müstesna bir kenarında saklayanlar. Arşivin genişliği arkadaşlarımızın ilminin genişliğininde göstergesidir. Benzeri bir konu olduğunda ben onu biliyorum deyip, ellerinin altında koda, arşive güvenirler. Arşivle beraber ilimlerininde kaybolabileceği akıllarına gelmez.  Konuyu zaten bildiklerinden ! genellikle iletişimede geçmezler.

Sonuçda "Bilyoruz" iddiasında değiliz "Bilmiyoruz ve Öğrenmeye" çalışıyoruz üstelik öğrene bildiğimiz kadarını "Bilmeyenlere Anlatıyoruz." İlk iki sınıfa giren kişilerin yanlışlıkla ilgisini çekmişiz ki kusrumuza bakılmasın  bir daha olmaması için gerekli tedbirleri alacağız.
"Bilenler Bilmeyenlere Anlatsın" anlayışındaki insanları bekliyor ve iletişime geçmeyi arzuluyoruz.

Not : "Bilenler Bilmeyenlere Anlatsın" anlayışının somut bir görünümü olan Yazılım Atölyesi Çalışmaları tekrar başladı. 
Duyruyoruz ve bütün kalbimizle destekliyoruz...

Pazar, Ocak 22, 2012

Nesne tespiti


Object Detection from bluekid on Vimeo.

Nesne Tespiti Bilgisayarlı Görü'nün temel konularındandır. Çeşitli metodlarla kısmen yapılmaktadır. Yukarda göreceğiniz örnekde OpenCv nin Surf öznitelikleriyle yapılmış  bir örnekdir.
Kodu yayınlıyamıyorum Patron bey! kızıyor  :) ama kod temel olarak şurda var...
Not :
Videoda reklamını yaptığımız kitap sahiplerinin tez zamanda  reklam ücretini tarafıma iletmelerini rica ederiz. İngilizce bilen biriside "The Mythical Man-Month" yazarı Fred Brooks' da haber versin geciktirmesin ücretimizi...

Pazar, Kasım 27, 2011

OpenCv Feature Dedektörleri

Adamın biri yatağında döneleyip durur ve uyuyamazken hanımı sormuş 
"hayırdır bey bir sıkıntınmı var niye uyuyamıyorsun ?"
adam
"Hanım üstteki komşuya borcum var yarında ödemem lazım ama paramız yok "
kadın kalkıp pencereyi açıp üstteki komşuya seslenmiş, komşu pencereye çıkınca
"Bizim beyin size yarın ödemesi gereken borcu varya, Onu ödeyemeyeceğiz" deyip pencereyi kapatmış
sonrada kocasına
"Bırak artık o uyuyamasın"


Burda yıllardır yazılar yazıp çalışmalarımızı paylaşıyoruz. Bir süre sonra bu iş sadece keyif için olmakdan çıkıyor. Yaptıklarımızı anlatmak, bilebildiğimiz kadarıyla bir şeyler öğretmeye çalışmak bir zorunluluk olmaya başlıyor.  Bu satırları okuyan kişilere karşı borçlu olduğumuzu hissediyoruz. Tabii   çeşitli nedenlerle - tembellik, meşguliyet, başka konulara dalmak, geçim derdi vs vs - yazı yazamadığımda bu borçluluk yukardaki şekilde beni rahatsız etmeye başlıyor. Zaten epeydir yazı yazmadığımdan da epeyce bir borç birikmiş durumda.

Kıssadan hisse ey Okuycu Borcumuz borç ama biz borcumuzu eskisi gibi düzenli ödeyemiyeceğiz


Eğer "o kadar yazını okuduk, bizim de üzerimizde borç var bizde bir ucundan destek olalım deyip bir şeyler karalarsanız bizde burdan yayınlamaya çalışırız.

duyrulur...

Epey bir gevezelik ettik. Konumuza başlayalım.


OpenCv pekçok Öznitelik çıkarma metodunu içine katmış ve  FeatureDetector sınıfı temelinde bir kullanım kurmuş Örnek programımızda da bunun kullanımını göreceksiniz kodun içine açıklama satırları koydum.



Örneğimizde geçen metodlara bakarsak

  •  Fast    :  Hızlı  bir Köşe Bulma algoritmasının uygulaması
  •  Surf    :   Speeded Up Robust Feature
  •  GoodFeaturesToTrack :  Yine Köşe temelli bir metod 
  •  Sift : Scale-invariant feature transform
  •  Star : Scale-invariant detector based on rotated squares
  •  Orb  : Oriented BRIEF
  •  Mser : Maximally-Stable Extremal Region Extractor
İndirmek için : FeatureDetect

Cumartesi, Ağustos 27, 2011

Dua, dua, eller karıncalanmış...

El Evvelü Allah
El Ahirü  Allah
Ez Zahirü Allah
El BatınÜ Allah

Ey Rabbimiz, Cahiliz Dünyanın rengine kanıyoruz, pişmanımız, mahcubuz, utanıyoruz. Sayısız günahlarımızdan dolayı perişanız. Zeliliz, gözlerimiz yaşaramıycak kadar kalplerimiz katılaşmış, hayatımız kararsız, garibiz, kimsesisiz, zayıfız güçsüsüz, hastayız aciziz, irademiz yok, aman diliyoruz... Af arıyoruz... Yardım istiyoruz, senin dergahından ey Allahımız.

Felekler Mest, melekler mest, yıldızlar mest, göler mest güneş mest, ay mest, yer mest, unsurlar mest, bitkiler mest, ağaçlar mest, insan mest, baştan başa bütün canlılar mest, bütün varlıkların zerreleri beraber ve iç içe mesttirler.

Ey Allahım ;
Işığın parıldaması, aydınlatma ve eşyayı sergilemen içindir.
Rüzgarların dalgalanması, Senin  estirmen ve görevlendirmendir.
Nehirlerin yerden kaynaması Senin onları depolaman ve kullarının hizmetine sunman iledir.
Çiçeklerin gülümsemesi Senin süslemen ve güzelleştirmen iledir.
Meyvelerin süslenip kendilerini bize takdim etmeleri Senin ihsan ve ikramın iledir.
Sen her türlü noksan sıfatlardan münezzehsin
Hakimiyet ve Saltanatın ne büyüktür.

Ey herşeyin Evveli ve sonu olan,
Ey Açık ve Gizli olan
Ey herşeye bedel her şeye yeten Kafi,
Ey Vadini mutlaka yerine getiren Vafi,
Ey kullarına pek şefkatli olan Rahim,
Ey madi ve manevi  hastalıklara şifa veren Şafi,
Ey ikarmı ve ihsanı bol Kerim,
Ey bela ve musibetleri def edip afiyet veren Muafi,
Bütün Günahlarımızı affet , hatalarımızı bağışla, hastalıklarımıza şifa ver.
Ey merhametlilerin En merhametlisi...

Ey Rabbimiz eğer unutmuş ve yanılmışsak bizi sorumlu tutma.
Ey Rabbimiz, bizi doğru yola erdirdikten sonra kalplerimizi kaydırma, gönüllerimizi aç, işlerimizi kolaylaştır.

Allahım Bize kendine yakınlaşmayı kolaylaştır. Senden uzaklaştıracak şeylere fırsat verme. Bizi sana muhtaç olma ve senden başkasına ihtiyaç duymama hissiyle müstağni kıl....

Bize ibadet ve itaat için en kolay yolu nasib et. Gaflet ve hatalarımızdan dolayı bizi hesaba çekme. Günlerimizi sana yakınlığa vesile olacak ve rızanı kazandıracak amellerle geçirmeyi nasib eyle...

Allahım ! Dillerimizi ancak zikr-i ilahine bırak Kalblerimizi Zat-ı ilahinden başkasına bağlama. Ruhlarımızı sana yakınlığın latif rüzgarıyla ferahlandır, gönüllerimizi sevginle doldur. iç dünyamıza kullarına karşı iyi niyetler yerleştir.Nefislerimizi ilmin cihetine yönelt...

Bizi temizi alan kirliyi bırakan, afiyetin kadrini bilip şükreden ve kendisine vekil olman için
senin kefilliğine razı olan kullarından eyle. Bizleri azametini tanımaya muvaffak kıl...

Hükmünde sana zıd olabilecek; saltanatında, mülk ve emrinde sana karşı koyabilecek hiç kimse yoktur...

Ehadiyyet sarayının hususi misafiri, cenabı vahidiyettin tercumanı hassı, Alemi arş minberinin hatibi ekberi, Düşmanına dahi merhamet elini uzatanı, düşmüşlerin ilticagahı, gariplerin melcei, fukaranın mesnedi, Liva-i hamdin ve makamı şefaatin sahibi olan hazreti Muhammed'e  selat ve selam eyle
Peygamber Efendimizin şefaatlerinide bizlere nasip eyle.

Hamd alemlerin Rabb'ına mahsustur...