Sayfalar

Perşembe, Mayıs 14, 2015

MNIST El Yazısı Rakam Veri seti 2

Bu konuda yazdığım bir önceki yazım da oluşturduğum kodlar için bir GUI hazırladım.
Program da GUI kütüphanesi olarak Qt kullanıldı.
OpenCv nin ML kısmında KNN metoduyla sistemi eğittim. K = 5 kullanıldı.
Programla ufak bir video hazırladım.


Digit Recogtion for the MNIST database of handwritten digits from bluekid on Vimeo.

Pazar, Mayıs 03, 2015

Yapay Zeka ve Görüntü işleme günleri 1

Yapay Zeka ve Görüntü işleme günlerinden izlenimlerimi aktaracağım.

Öncelikle Organizasyonu gerçekleşterene teşekkürler. Benimde ilgi alanım olan konularda böyle kıymetli konuşmacıları başka bir şekilde dinleme şansı bulmazdım.

Organizasyonun olduğu salonda gayet güzel. Sabah geldiğimde umduğumun çok ötesinde bir katılımcı görmekde beni fazlasıyla memnun etti.  Keza tanıdık bir sima - kemalcan -  görmekde iyi oluyor. Aslında gelmek isteyen pek çok kişi vardı, ben daha çok tandık sima bulurum diye umuyordum ama malesef olmadı :( kısmet...

Gelelim konuşmacılarımııza

Metin Sezgin hoca, yeni kullanıcı arayüzüz geliştirme çalışması içinde. İnsan davranış kalıplarının keşfi ile daha zeki  Bilgisayar Kullanıcı Arabirimi geliştirmeyle uğraşıyorlar. Hatta patent başvurularıda varmış. Anlatımlarıda interaktif di. Pek çok açıdan zihin açıcı ve yenilik dolu bir konuşma olsada benim şahsi fikrim  Beyin bilgisayar arayüzleri  daha ümit vadediyor....

Nazlı İKİZLER CİNBİŞ  hoca konuşmasında değişik şekilde kaydedilimiş görüntü ve videolardan "İnsan Hareketlerinin Tanınması" konusundaki çalışmalardan bahsetti. Konu çok genişdi ve teknik ip uçları dışında pek bir şey anlayamadık. Başlıca anlaşılan şey pek çok veri seti üzerini uzun uzun çalışmalar yapılmış olması...

Fatoş Yarman Vural  hoca "Bilgisayar Ne Kadar Görür?" konulu konuşmasıyla bizi hayran etti. Bir konu bu kadar mı sade ve anlaşılır anlatılır ?  Kendi yaptığı çalışmalardan da bahsetti. Bunlardan biride "Osmanlı arşivlerinin transkripti" imiş . Yarım kaldığını söyleyi talebe arkadaşlara devam etmelerini tavsiye etti.  Sözlerinide  "Yapılacak daha çok şey var çok çalışmak gerek çook" diye bitirdi Sonunda soru olarak Yapay zekanın tehlikeli olup olmadığı soruldu. Ve klasik cevabı aldık ; "Teknoloji iyiyede kötüyede kullanılabilir." Haddim olmayarak benim ufak bir itirazım var. bu klasik açıklama Bir bıçakla ekmekde kesebilirsin bir insanıda yaralayabilirsin. birini yarayabilirsin diye bıçak yapılmasınmı.  şeklinde vuzuha kavuşturuluyor. Benim itirazım şu biz neyi keseceğene kendisi karar verecek bıçak icat etmeye çalışıyorsak evet bu iş tehlikelidir. değilse klasik açıklama geçerlidir.

Umut Çinar beyin sunumu başında konu dışındaydı. Sadede geldiği zaman güzel oldu. Keşke baştaki kısımlara hiç girmeyip asıl konusunu daha geniş  anlatsaydı. Çünkü gerçek anlamda pratik tecrübe sahibi  hem teknik hemde girişimcilik ve onun hayata geçirilmesi anlamında....

Selim Temizer hoca da  çok sade anlaşılır ve de eğlenceli şekilde bir Yapay Zeka girişdersi verdi. Yapay Öğrenme kısmını biraz daha açsaydı daha iyi olurdu sanki.

Uğur Yayan beyde daha çok robotik üzerine bir şeyler anlattı.Aslında sektörden gelen konuşmacalardan ben kendi adıma daha pratik şeyler ve tecrübe aktarımı bekliyorum....

Son konuşmacı gelemedi yarına erteleneceği duyruldu.  Bakalım Yarın neler olacak heycanla bekliyoruz.

Cumartesi, Nisan 25, 2015

YAZGİG'15 Yapay Zeka ve Görüntü İşleme Günleri

 YAZGİG'15 :  Yapay Zeka ve Görüntü İşleme Günleri

 yapayzekavegoruntuislemegunleri.com
Ankara Üniversitesindeki aynı isimli bir öğrenci topluluğunun ön ayak olduğu bir etkinlik.
Önümüzdeki hafta sonu gerçekleştirilecek yani ; 2-3 Mayıs 2015
Nedense programı halen belli olmamakla birlikte katılacak Konuşmacılar şöyle bildirilmiş.
 Prof. Dr. Fatoş Vural
Dr. Zafer Arıcan
Yrd. Doç. Dr. Selim Temizer
Ümit Alkuş
Yrd. Doç. Dr. Sanem Sarıel
Yrd. Doç. Dr. Ahmet Yazıcı
Doç. Dr. Uluç Saranlı
Yrd. Doç. Dr. Sevgi Zübeyde
Prof. Dr. Abdülkadir Erden
Yrd. Doç. Dr. Nazlı İkizler Cinbiş
Doç. Dr. Metin Sezgin
Memleketimizde malesef böyle konularda bir şeyler dinleyebileceğiniz fazla imkan bulunmamaktadır. Bu yüzden çok önemli bir işiniz yoksa bu etkinliği kaçırmamanızı tavsiye ediyorum. Bizde İnşallah dinlemeye gideceğiz.
Etkinlikte görüşmek üzre....

Not : Ben yazı yazdıktan sonra etkinlik programı belli  oldu
 http://yapayzekavegoruntuislemegunleri.com/etkinlik-programi/

Pazar, Nisan 19, 2015

Çoğu zaman göremesekde

Nedendir bilinmez çıkmaza düşmeyi pek severiz. Hali hazırda yoksa kafamızda kurarız. Sonrasında çıkmazın içinde debelenmekle geçer hayatımız. Bunalımdan bunalıma düşeriz. Bir gölge düşmüştür önümüze ne denli koşsak geçemeyiz gölgeyi. Gönlümüzde bir sıkıntı vardır geçmez bir türlü...
Çoğu zaman bilemesekde  önümüze düşen gölge bizim gölgemizdir.  Güneşe sırtımızı dönmüşüzdür.
Çoğu zaman göremesekde her zaman bir  çıkış vardır. Başka bir açıdan bakamadığımızdan göremiyoruzdur.
Çoğu zaman anlayamasakda gönlümüzdeki sıkıntıyı  "Müsebbibü’l-Esbab"* dan başka giderip "itminanı kalbi"** ,  "inşirahı sadrı"***  verebilecek yoktur...

Rabbimiz dünyadada ahirettede bizlere iyilik ve güzellikler ver. Gönlümüze ferahlık ver.  Çıkışları görecek feraset ver.
amin

Not :
Çizgi  Hasan Aycın
*      : 1. Lema
**    :  Ra'd 28
***  :  İnşirah

Pazar, Nisan 12, 2015

MNIST El Yazısı Rakam Veri seti

Kitap taslağını bitirdikten ve düzenlemesi için arkdaşa teslim ettikten sonra geçtiğimiz ve bu hafta sonu kendime meşgale aradım.

Kitap için yazdığım son konu ML yapay öğrenme kısmıydı. Bu örneği biraz geliştirip bu camiada epey bir bilinen MNIST verisetine uygulamaya karar verdim.

MNIST El yazısı rakamlar toplanmış ve etiketlenmiş bir veri setidir. Her rakam görüntüsü 28x28 lik ebata getirilmiştir.



 Yani verimiz 28x28= 784 piksel değeri ve birde etiket değeri
Veri setinin orjinal sitesi
http://yann.lecun.com/exdb/mnist/
Fakat Biz Kaggle da açılmış yarışma kısmına katıldık
www.kaggle.com/c/digit-recognizer
Bu sayfada veriler 2 tane csv dosyası olarak veriliyor.
Eğtim verisi için İlk satırda sütun başlıkları var ilk sutun etiket değeri sonraki 784 sutunda sırasıyla piksel değerlerini tutuyor.
Test verisinin tek farkı ilk sutun olan etiketlerin olmaması...

İlk etapta piksel değerlerinde bir ön işleme veya ekstra öznitelik çıkarım işlemleri  yapmadan doğrudan kullanarak Yapay Öğrenme metodlarımızın performansını görelim dedik.

Eğitim verisinin yarısını eğitim ve geri kalanını test için kullandık. Sonuçlar %83 - %95 arasında değişti. En iyi sonucu KNN K = 5 ile ve bütün eğitim setini kullanarak elde ettim.
Birde boyumuzun ölçüsünü alalım dedik. Eğittimiz modellerle  Yarışmanın test verileri - test.csv- için tahmin listesi oluşturup gönderdik.  Burda sonuçlar daha aşağı değerlere düşüyor. Bizim şu andaki en iyi derecemiz.
0.92343
Başarı Sıra Listesi için bakınız
www.kaggle.com/c/digit-recognizer/leaderboard
Sıralamadaki yerimiz değişiyor. Daha iyi dereceye sahip tahminler geldikçe sırlamada aşağılara düşüyorsunuz.
Aldığımız boy ölçüsü oldukça kısa oldu. Sebeplerine gelirsek

1) Veriler üzerinde ekstra bir ön işleme ve öznitelik yapmamış olmamız. Verilerimizde piksel değerleri var ama Rakamın yazıldığı pikseller devamlı değişmektedir. Çünkü rakamın yazılış konumu büyüklüğü dönüklüğü keza tarzı değişiyor. Haliyle bunuları dikkate almadan bu verileri ham haliyle vermek sistemin performansınıaşağı çekiyor.

2) Her modelin eğitiminde performansı etkileyecek parametre ayarları vardır. Aynı metodu bile kullansanız bazı parametrelerdeki ince ayarlar sistemin performansını artırabilir. Biz ise bu tür ayarlarada kalkışmadık henüz.

3) DeepLearning etkisi: Yakın zamanların gözde kavramı dünyanın saygın üniversiteleri. En büyük şirketleri bu konuda araştırma gurupları kurdular. Hali hazırda pek çok kütüphanede oluşturuldu.  Bu kütüphaneleri kullananlar. Listelerde üst sıralara oturuyorlar. Bu da sıralamda bizi daha aşağıda tutuyor.

Sıralama listesinde ilk 48 kişi %99 başarıya ulaşıyor. şimdi burda ufak bir itirazım var. Yukardaki resimler veritabanından seçilmiştir. Şahsi fikrim böyle bir başarı saçmadır....
Detaylı bilgiyi bu konu hakkında inşallah - vakit ayırabilirsem - yazacağım yazıya bırakalım.

Pazar, Nisan 05, 2015

Kitap Ana Taslak hazır !

Kitabımızın ana taslağını Allaha şükür bitirebildim.

Kabaca düzeni şu şekilde oldu

Genel kurulum aşamaları; Derleyici ve IDE ayarları dizin ayarları vb açıklamaların olduğu giriş kısmı

  • DERS 1 Görüntü Okuma Yazma İşlemleri ( imread, imwrite, VideoCapture... )



  • DERS 2 Matris İşlemleri cv::Mat üzerine işlemler ( create , clone , rowrange, colrange, ROI , drawing line circle,...


DERS 3 Renk Uzayları ve Filitreleme  - XML okuma yazma - ( RGB, HSV,... )


  • Ders 4 Morfolojik İşlemler ( Erode, Dilate,... )



  • Ders 5 Filitreleme  İşlemleri ( Filter2D, blur,..,sobel,..canny, threshold...)



  • Ders 6 Bilgi Çıkarma ( findContours , Histograms , Houghline and Houghcircle )


  • Ders 7 Geometrik Dönüşümler ( resize , rotate , affine, perspective )


  • Ders 8 Arka plan silme ( BacgroundSubtraction )



  • Ders 9 İki boyutlu Öznitelikler ve Eşleştirilmeleri ( Feature2D )



  • Ders 10 Nesne Bulma



  • Ders 11 Takip ve Optik akış metodları ( opticalflow, camshift,...)



  • Ders 12 Yapay Öğrenme - Machine Learning ( EM, Bayes, KNearest, DTree, SVM, ANN_MLP,... )




Ama daha yapılması gereken çok ince iş var
  • Taslağın genel anlamda düzenlenmesi
  • Yazım hatalarının düzeltilmesi
  • İfade bozukluklarının düzeltilmesi
  • Resimlerin düzenlenmesi
  • İçindekiler ve İndeks kısmının oluşturulması

Evet biliyorum bunlar daha çok editörlük işler. Ama mecburen yapmamız gerekiyor.  Çünkü Yayınevleri verdikleri kalıba uygun düzenlenmiş metinler istiyorlar. Estetik duygum, gramer bilgim ve edebiyatım pek iyi değil, Sağolsunlar yardımcı olacağını söyleyen arkadaşlar oldu. Onların yardımıyla İnşallah bu aşamayı da geçeriz...

Girişmlerimiz devam etsede, Malesef kitabın basımı için pek iyi gelişmler yok. Yayınevleri görebildiğim kadarıyla basıma hazır metin, Öğrencileri alma zorunda bırakacak akademik ünvan vb... şeyler istiyorlarki, kitabınızı basma lutfunu göstersinler....
 Bu konuda da yardımcı olacağını söyleyen arkadaşlar oldu. Onlardanda sevindirici haberler beklemekteyiz...

Neyse lafı daha fazla uzatmadan değişik vesilelerle bana ulaşıp kitabın durumunu soran arkdaşlara teşekkürler deyip son durumu böylelikle açıklamış olalım.

Dualarınızı esirgemeyiniz....

Perşembe, Ocak 08, 2015

Mbed - 1

Programlama ile uğraşıpda gömülü sistemler için hiç heves etmemek mümkün değil. Bende Yıllardır heves eder dururdum. Değişik girişimlerimde olmadı değil fakat kayda değer bir şey çıkmamışdı.

Geçenlerde "mbed" ile tanıştım.


 https://mbed.org/
ARM Firmasinın tasarladığı işlemcileri duymayan yoktur.  Kullandığınız pek çok mobil cihazda bu işlemciler kullanılmaktadır. Keza Embeded - Gömülü  - sistemlerde de yaygın olarak kullanılmaktadır. İşte mbed, ARM-Cortex M mikro denetleyicisinin programlanması için tasarlanmış bir sistemdir. İçeriğinde RTOS ve Temel kütüphaneleri (SDK) içeren açık kaynak kodlu bir projedir.
github.com/mbedmicro/mbed
Şeylerin İnterneti diye çevrilmiş  "Internet of Things" kavram için tasarlandığı  ve bu tip işlemcilerle bu kavrama uyan cihaz geliştirmenin en kolay yolu olduğu söyleniyor
http://www.arm.com/products/internet-of-things-solutions/mbed-IoT-device-platform.php

Pek çok büyük firma tarafından destekliniyor

ARM-Cortex M  mükrodenetlicilerin lisansını hali hazırda 240 firma almış bulunuyor.
Lisansı Apache 2.0 dir yani ticari uygulamalarınızda da kullanabiliyorsunuz.
Programlama dili olarak C/C++ temelli ve derleyici ve IDE aramanızada gerek yok Online IDE si var
 developer.mbed.org/
burdan ücretsiz üye olup Programlamaya başlaya bilirsiniz.  Pek çok uyumumlu IDE de var elbette.
Tabii Öncelikle bir cihazda almanız lazım

Piyasada mbed 'i destekleyen - mbed enabled diye geçiyor -pek çok geliştirme kartıda mevcut.
developer.mbed.org/platforms/

Türkiyede satışını bulduğum yegane yer market.cizgi.com.tr burdan ST firmasının "ST Nucleo F401RE Geliştirme Kiti" satın aldım fiyatı çokda pahalı değil.
Özelliklerine gelirsek
  • ARM Cortex-M4 CPU with FPU at 84MHz 
  • 512 KBytes Flash
  •  12 bit Analog Dijital çevirici kanallar  - 10 kadar -
  • 16 kanal Dijital I/O
yani 10 kadar sensörden analog sinyal alabiliyoruz. ve  16 tane devre kapatıp açabiliyor (DigitalOut) yada açıkmı kapalımı diye öğrenebiliyoruz (DigitalIn)
Piyasa da epey bir yaygın olan Ardunio 'nun Arduino Uno Revision 3 bağlantılarıyla uyumlu.
USB den cihazı bilgisayara bağlayıp programı atabiliyoruz
Cihaz bağlandığında Bilgisayarda sanal bir com port açılıyor. Burdan cihazdan bilgisayara bilgisayardan cihaza bilgi gönderebiliyoruz.

mbed 'in sitesinde pek çok  örnek kod  bulabilirsiniz.
MCUTurkey sitesinde de iki yazı var 1 2
Burda da güzel videolar var ; mBed Microcontroller Tutorials 
Şöylede bir ilginç Örnek var
Kahve kavruma makinası yapmışlar

Bakalım biz neler yapabileceğiz...

Cumartesi, Kasım 22, 2014

Neler yapıyorum ?

  • Epeydir bir şeyler yazamıyorum bloga ama boş durduğum zannedilmesin yapıyoruz bir şeyler

1) OpenCv kitap çalışmaları devam ediyor. Uygulamalı olarak düşünüldüğünden önce konuyu tespit edip bilahere onu anlatacak bir program tasarlayıp, yazıyorum en son kitaba geçip yazıyorum. Yavaş yavaş devam ediyor... Kitaptan görüntüler vereyim


Pazar, Eylül 28, 2014

Babilde Sabah yakınmıdır ?

Şehrin her bir köşesinde büyük hızla babil kuleleri inşa ediliyor. Hep biraz daha uzun hep biraz daha debdebeli hep biraz daha…
Hiç bitmiyor dahalar ne yaparsak yapalım hep dahaların gölgesi düşüyor.

İçlerine yerleşenler babilli olup çıkıyorlar. O şaşalı kulelerinde kendi dillerinden konuşan bulamıyorlar, nede olsa herkes babilli. Düşüyorlar yollara, belki bir umut birilerini bulmaya…
Günün hemen her saatinde insanlar yollarda. Uyku yok bütün şehir bir Insomnia vakası.

Ne şehrin öbür ucundan koşarak gelen var, nede Her sabah “Ölmek için doğuyorsunuz, harab olsun diye binalar yapıyorsunuz “ diyen melekleri duyan.


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…



Yâ Rabb! bizi kahretme, helak eyleme. amin!

Cuma, Ağustos 29, 2014

Programcılar için OpenCv ; Bir OpenCv kitabı...

Bu günlerde OpenCv için bir kitap yazmaya uğraşıyorum.
Nasip olurda biter mi ?
Ne zaman biter ?
Bastırma imkanı olacak mı ?
gibi pek çok sorunun cevabını bende bilmiyorum. Yinede böyle bir gayret içine girdiğimi belirtmek istiyorum. Bir an önce bitirebilme imkanın nasib olması içinde dualarınız bekliyorum.

Kitaptan kısa bir parça ve Kitap için hazırladığım örnek programların görüntüleri ile yazıyı bitirmek istiyorum.

Kitabımızda hedef kitle olarak programcılıkla doğrudan uğraşan insanlara hitap etmeye çalışacağız. Yani İşin teorik alt yapısı üzerine detaylı açıklamalar olmayacak, ya kısmen kısaca bahsedilecek  yada hiç bahsedilmeyecek.  Daha çok pratik ve uygulamaya dönük şekilde konular anlatılacak.
Kitabı okuyabilimeniz için ön koşul orta derecede bir C++ bilgisidir. OpenCv nin C++ API ‘ını   tercih edeceğiz ve konuları bu şekilde anlatacağız.

  • Video Oynatma
 
  • Ip Kamera Görüntüsü Okuma

  •  OpenCv de resim üzerine Çizim 

  • OpenCv de Görüntüleri Değişik Renk uzaylarına dönüştürmek ve filtrelemek.


  • Morfolojik İşlemler


  • Genel Filtreleme seçenekleri


Perşembe, Temmuz 31, 2014

QtUnify -Unify Images -


ImageStitching from bluekid on Vimeo.


Daha Öncede bahsettiğim Görüntü birleştirme işlemi için  Basit Bir GUI hazırladım.  Genel kullanıma hazır sade bir program oldu.
Görüntü işleme ile ilgi kısım hali hazırda OpenCv nin örnek programlarında olan "stitching.cpp" deki gibi Diğer kısımlar için Qt5 kullanıldı. Bu sayede biraz Qt de pekiştirmiş olduk.
Vakit ve istek bulabilirsem İnşallah ilerde "stitching_detailed.cpp" geçen çeşitli seçenekleride değiştirme imkanını sunan bir versiyonunu yayınlamayı düşünüyorum. Şimdilik bu kadar.

Programı İntdirmek için ;  QtUnify
Run time dosyaları  için ;  Qt5 ve OpenCv2.4.8 Runtime

Programı ve Runtime dosyalarını indirin 7zip ile sıkıştırıldı. Eğer açamıyorsanız Ücretsiz ve açık kaynak koldu olan bu programı indirin ve kurun.

Program için kurulm gerekmiyor istediğiniz bir yere programı açın. içinde  Run time dosyalarınıda açın programınız kullanıma hazırdır...

Görüş ve önerileriniz bizim için önemlidir, bize iletirseniz memnun oluruz. İletişim adresimiz blog'un hakkında kısmında var.

Pazar, Haziran 29, 2014

İnsan Beyninin Şifresini Çözmek


İnsan beyni günümüzde pek çok alanda ve değişik şekillerde araştırma konusudur.  İşleyişinin çözülmesi ve anlaşılabilmesi pek çok yeniliğe ön ayak olacaktır.



İnsan Beyni Nöron denilen sinir hücereerinin oluşturduğu bir ağ yapısıdır. Ve sürekli bir elektriksel iletşim halindedir.  Beyindeki bu elektriksel faaliyet dışarıdan değişik şekillerde ölçülerek, işleyşi hakkında fikir edinilmeye çalışıyor.

Şöyle örnekliyelim Çok kompleks bir fabrikanın faaliyetlerini ve işleyişlerini bina dışından çıkan sesi dinleyerek anlamaya uğraşıyoruz.

Olay bütün bütünde umutsuz değil. Beynin değişik bölümlerinin olduğunu ve dinleyeceğimiz alanı seçmemizede yardımcı oluyor.


Cuma, Mayıs 02, 2014

Gafil gezme şaşkın...

Emel denizinde hırs rüzgarlarıyla ve tama yelkenleriyle akıp duran helak gemisinde çalkanıp duruyoruz. Bu gemi bizi ecel enginlerine doğru götürüyor. Bizim üzüntü ve kederimiz hala gelip geçici olan fani dünyanın işlerini görmek. Hadisatın elinde oyuncak olmuşuz, fanilik ve ölüm çığlıkları kulaklarımızı doldurduğu halde.
...
Her gün önümüzden ve arkamızdan ölüm meleği ; "Nerde olursanız olun ölüm size ulaşır " fermanını haykırıyor. Kabirlerimizin karanlık çukurları cesedlerimizi bekliyor. Biz hala gaflet çukurlarında ve şehvet bataklarındayız

Ey akıllı!, ne zamana kadar kurtuluş yoluna sırt çevirerek tehlikeli yerlderde dolaşacak ve taatın ferahlığını bırakıp isyanın dar yollarında ömür tüketeceksin ?
...
Ey Kardeş Ömür çok kısadır. ... Dönüş Allahadır....

Gafil Gezme Şaşkın Bir Gün Ölürsün
Dünya Kadar Malın Olsa Ne Fayda
Söyleyen Dillerin Söylemez Olur
Bülbül Gibi Dilin Olsa Ne Fayda

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 ki, asla senden müstağni olmayalım. Kereminle amellerimizi halis kıl. İrade-i İlahiyenle bize tevekkül nasib et! İnayetinle yardım eyle!..
...
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 olacakve rızanı kazandıracak amellerle geçirmeyi nasib eyle.
...
Allahım Dillerimizi ancak zikri ilahine bırak. Kalplerimizi Zat-ı İlahinden başkasına bağlama. Ruhlarımızı sana  yakınlığın latif rüzgarlarıyla ferahlandır, gönüllerimizi sevginle doldur. İç dünyamıza kullarına karşı iyi niyyetler yerleştir. Nefsimizi ilmin cihetine yönelt.

Amin...

Üç aylarınızı ve Kandilinizi tebrik eder dualarınızı bekleriz...

Not :
Yazılar ; Ahmet er Rifai nin "Delilleriyle Marifet yolu" adlı kitabından derleme
Şiir ; Bir gaziantep türküsünden...

Çarşamba, Mart 05, 2014

Zihin Egzersizleri 2


Evet Yeni bir zihin egzersizi ile yine karşınızdayız.
Geçenlerde arabamızla yolda kaldık epey yüklü bir miktar tamir ücreti vermek zorunda kaldık. Tamir için gittiğimiz usta Motorun sesinde değişiklik olacağından ve farkına varabilseymişim yolda kalmadan  tamiratı daha ucuza getirebileceğimizden bahsetti. Malesef bende bu farkı anlayabilecek tecrübe yok. Bu yazımızın konusuda burdan çıkıyor. Gerçekten konusunda tecrübeli ustalar motorun sesindeki değişikliklerden muhtemel arıza belirtilerini hissedebiliyorlarsa, Niçin benzeri bir arıza tespit sistemi yapılmasın ?


Pazar, Şubat 09, 2014

Qt ile OpenCv kullanmak 2

Geçen yazımızda OpenCv kütüphanesini derlemiştik. Derleme sonucu OpenCv dll dosyaları ve bu dll leri çağırabilmeniz için kendi programlarınıza link etmeniz gereken kütüphane dosyaları. Kütüphane dosyalrının uzantısı mingw ile derlediğimizden "*.a " dır.

Yazdığımız programın çalışabilmesi için OpenCv dll lerinin ulaşılabilir olması gerekir. Yani ya programımızla birlikte yan yana yada İşletimsisteminin yol tanımı - PATH- olan dizinlerinden birinde olması lazım.

Bu işlem için
  • Denetim Masası 
  • Gelişmiş Sistem Ayarları
  • Ortam Değişkenleri
  • "PATH " ı seçip düzenleye basın
  • Gelen satrın sonuna ";" yazıp kendi derlediğiniz yerin adresini yazın
  • Benin bilgisayarım için "C:\opencv-2.4.8\opencv\build\bin"

 Şimdi  Qt Creator' u açıp yeni bir Proje dosyası oluşturalım

Pazar, Şubat 02, 2014

Qt ile OpenCv kullanmak 1


Qt özellikle açık kaynak kodlu çevrelerde oldukça iyi bilinen cross-platform bir kütüphaneler gurubudur. Artık birde Qt Creator diye bir IDE yede sahipdir. Fazla detaya girmeyeceğim ,hem ticari desteği olan hemde ücretsiz kullanabileceğinizi söyleyip konumuza geçmek istiyorum.

Öncelikle Qt yi indrip kurmamız gerekiyor
qt-project.org/downloads
adresinden Qt nin güncel versiyonlarına değişik işletim sistemleri için ulaşmanız mümkün.
ben kendi bilgisayarım için
Qt 5.2.0 for Windows 32-bit (MinGW 4.8, OpenGL, 689 MB)
bu dosyayı indirdim ve kurdum - kurarken derleyiciysiyle - Mingw 4.8  - birlikte kurdurdum.


 OpenCv nin de güncel sürümü şu anda 2.4.8 bunuda indirip Hard diskinize açın
Bu versiyonda mingw için derlenmiş bir kütüphane yok bu yüzden mecbur OpenCv yi derlememiz gerkiyor.  - Mingw nin değişik versiyonları arasında da uymusuzluklar olabiliyor derlemek daha doğru olabiliyor çoğu zaman - Derlemek için CMake'inde kurulu olması gerektiğini hatırlatırım...

QtCreator'u açın File -> Open File or Project den OpenCv nin source dizininzden "CMakeLists.txt"  açarsanız karşınıza CMake wizard çıkacak. Wizard işini bitirdiğinde

Qt Creator üzerinden OpenCv build edebilirsiniz

 Yukardaki işlemleri başarıyla tamamlamışsanız ikinci aşamaya geçebiliriz, tabii bir sonraki yazımızda....



Pazartesi, Ocak 27, 2014

Ordan Burdan Haberler

Çok istesemde aklımda şunuda yazsam bunuda yazsam diye bir şeyler kursamda, artık eskisi gibi yazamıyorum. İhtiyarladım mı  ne

Lafı uzatmadan biriken haberlerden bahsedeyim

1) FannTool 'un sitesinde yazılar yayınlamaya devam ediyoruz. Bu kez kısmetinizde dış kaynaklı makaleler var. Detaylara linklereden ulaşabilirsiniz şu kadarnı söyleyeyim çok değişik alanlarda YSA uygulamaları anlatılıyor.
2)  OpenCv çok hızlı bir şekilde ilerlemeye devam ediyor nerdeyse yayınladıklar versiyon güncellemelerine yetişemiyoruz. Hali hazırdaki versiyon OpenCv 2.4.8 ne gibi yenilikler var  derseniz. Benim dikkatimi çekenler ;
  • CUDA desteği gelişmeleri devam ediyor
  • Android desteği artık yerleşti, Bu versiyon Android 4.4 de destekliyor.
  • OpenCL desteği konusunda da gelişmeler devam ediyor
daha fazla detay için buraya bakınız

3) OpenCv kousundaki bir gelişmede OpenCv nin NaCl ve PNaCl ye port edilmesi. İşin detayını bende pek bilmiyorum ama anlaşılan o ki yazdığımız program Google Chorme üzerinde bulunduğu işletim sistemi ve donanımdan bağımsız olarak çalıştırılabilecek.  Ne diyeyim güzel imkan.

4) Internet de Yayınlanan derslerden daha önce de bahsetmiştim. Bu yayınlar çok çeşitlendi. Ben bir tanesinden bahsetmek istiyorum.  Santa Fe Enistüsü'nün www.complexityexplorer.org sitesinde dinamik sistemler ve Kaos üzerine verdiği giriş niteliğindeki kurs
Introduction to Dynamical Systems and Chaos 
Dersler yeni başladı sayılır bekleriz...

Şimdilik bu kadar....


Pazartesi, Aralık 30, 2013

Zihin Egzersizleri 1

 "Ülkemiz  eğitim sisteminde, özellikle mühendislik eğitiminde çok fazla sayıda formül ve matematik ifadelere yer verilmektedir. Bunların çıkarılmalarındaki temel düşünce  ve mantık kurallarına ağırlık  verilmediği için , mühendislik eğitimi  sanki bir formüller dizisini  bilme ve uygulama kalıplarına oturtulmuş olarak görülmektedir. Halbuki her formül bir modeldir" 

Bu yazımızda zihin egzersizi olarak modelleme yapacağız. Pratikdeki bir konudan nasıl uygulama yapabileceğimizi öğreneceğiz. Belkide kimbilir size başka alanlardaki uygulamalar için ilham da vermiş oluruz.

Diyelimki ; bizim bir Emlak web sitemiz var ziyaretçilerimize satılık ev ilanlarını daha zeki şekilde aktarmak istiyoruz. Mesela ev fiyatlarını kelepir, ucuz, normal, pahalı , çok pahalı olarak etiketleyebildiğimizi düşünün.


Pazar, Aralık 08, 2013

YSA Büyü Değildir...


Yapay Sinir Ağlları hakkında böyle bir zannediş var. Pek çok kişi "YSA büyü gibi uçuk bir konu ona yanaşmamak lazım" düşüncesinde olup pek yanaşmıyorlar. diğer bir kısım kişilerde  büyünün cazibesiyle yanaşıyorlar ve olmayacak şeyleri başarabilecek bir şey zannıyla giriştikleri çalışmadan hüsranla çıkıyorlar.

Gerek Yapay Sinir Ağları ve gerekse diğer Yapay Öğrenme Metodları - Machine Learning Algorithms- büyülü şeyler değildir.  Çekinmeden ve Sihirli Lamba beklentisine kapılmadan  kullanmaya başlamalısınız.

Pazar, Ağustos 18, 2013

Hareketli Kameradan Hareketli Nesne Tespiti


Moving Object Detection from Moving Camera from bluekid on Vimeo.
Şöyle bir bakıyorumda epeydir bir şey yazmamışım. Aslında uzun boylu ne oldu bu adama diyen de yok ama, Yinede bugünlerdeki meşguliyetimden bahsetmek istiyorum.

Hareketli Nesne Tespiti  sabit bir kameradan nispeten kolay kavram. keza OpenCv nin konuyla ilgili epey gelişkin fonksiyonları da var. Arkaplan Silme  -Background Subtraction - denen kavram ile  sadece hareket halindeki kısımlar tepit edilebiliyor. Keza vakti zamanında bir kaç örnekde hazırlamıştık.


Bütün bunlar iyi hoşda ya görüntüler hareketli bir araç üzerinden mesela bir IHA dan çekilmişse...
Bu durumda elimizdeki arka plan silme metodları işe yaramıyacaktır. Çünkü Kameranında hareket halinde olması sebebiyle hareketsiz olan arkaplanda kameraya göre hareket halinde görünecektir.

Perşembe, Ağustos 08, 2013

Hayırlı Bayram


 Hazer kıl! Kırma kalbin kimsenin cânını incitme!
Esîr-i gurbet-i nâlân olan insanı incitme!
Tarîk-i ışkda bîçâre-i hicrânı incitme!
Sabır kıl her belâya, Hâne-yi Rahman’ı incitme!

Felekde hâsılı insan isen bir cânı incitme!
Günahkâr olma, Fahr-i Âlem-i Zî-Şânı incitme!

Cumartesi, Mart 30, 2013

FannTool Web güncellemesi

FannTool 'un sitesinde örnekler yayınlamaya devam ediyoruz.
Bu sefer Yapay Sinir Ağlarının  değişik dallarda  mühendislik hesaplamaları için kullanımını örnekliyoruz.

  1. Barajlarının deformasyonların modellenmesi
  2. Yat Hidrodinamiği -  Yacht Hydrodynamics

Konunun detaylarını ilgili yazılara bırakıp burda şundan bahsetmek istiyorum. 

Mühendislik alanında pek çok değişik empirik formül kullanılır. Kullanımı açısından oldukça pratik olan bu formüllerin. Türetilmesi oldukça zordur. Oysa Bilgisayarın bunca yaygınlaştığı zamanımızda. Deney verileri ile eğitilmiş YSA lar kolaylıkla bunların yerini alabilir...

Cumartesi, Mart 02, 2013

Ordan Burdan Haberler

1) FannTool Sitesine söz verdiğimiz eklemede bulunduk
2)  Veri Madenciliği Kupası Başlıyor ;
      
       DATA MINING CUP competition 2013  
In a few weeks one of the worldwide largest data mining contest the "DATA MINING CUP" competition will start. Last year over 80 international teams from 22 countries participated.

In spring each year the prudsys AG wants to enthuse domestic and international students for intelligent data analysis (data mining) and challenge them to find the best solution to a data mining problem in competition with others.

2013 we want to follow on last year and will place two competition parts again. This year both parts are focussed on the forecast of completing order in online shops.
Besides a classic Data Mining task the second part requires to develop an agent again. More details will be be released with the start of the DMC 2013.

 We are looking forward to your ideas!

 start of registration: March 4, 2013
 start of DMC competition: April 3, 2013
3)  Alman Trafik İşaretleri Yarışması Başladı ;

The "German Traffic Sign Detection" Competition has started!


Results will be presented at IJCNN'13 in Dallas Texas, and FREE REGISTRATION prizes are to be won!


************************
Competition Design
************************
The "German Traffic Sign Detection Benchmark" is a multi-class detection problem in natural images. We do cordially invite you to participate. Our benchmark has the following properties:

* single-image detection problem
* images with zero to four relevant objects
* 900 images (divided in 600 training and 300 evaluation images)
* division in three categories
* industry-relevant application: traffic sign detection

The first competition information was released on December 1, 2012, when the preliminary training data was published. Interested teams are invited to download the training dataset and develop their algorithms based thereon. In February there will be a submission phase where teams are invited to upload their results on a new unannotated test dataset. It will then be possible to immediately compare all competing algorithms via our website.

4) OpenCV 2.4.4 yayınlandı; Java kısmında ve Android portunda epey bir ilerleme var, GPU üzerindeki çalışmalar hem CUDA hemde OpenCL üzerinden devam ediyor....
  •    OpenCV Java bindings are ported from Android to desktop Java! Actually any JVM language will work, see Tutorial for details, and Java or Scala code samples.
  •     Android application framework, samples, tutorials, and OpenCV Manager are improved.
  •     Optimizations for the new NVIDIA Kepler architecture, CARMA platform support and other new optimizations in CUDA.
  •     OpenCL module now builds successfully with various SDKs (from AMD, NVIDIA, Intel and Apple) and runs well on different GPUs (AMD, NVidia, Intel HD4000). A lot of new functionality has been added, tons of bugs fixed, performance of many functions has been significantly improved.
  •     100+ reported problems have been resolved since 2.4.3, thanks everybody who participated!



Pazar, Şubat 10, 2013

Babey

Ölmüş dediler 
Ölmüşmü dedi göz yaşlarım

Pencereye koştum durmuşmu diye dünya
(bir an öyle düşündüm)
Nasılda yürüyor insanlar daha
Güneş nasıl olur da aydınlatır

dışarda bir adam gülmekte
uzakta bir çocuk ağlamaktadır

Ömer gibi kılıç çekti üstüme beynim
Ayetler sundu kalbim Ebubekir...

Sabah Kara - Babey Şiirinden -



Doğrusu biz Allah'a aidiz ve muhakkak O'na döneceğiz

Pazar, Ocak 27, 2013

Yapay Sinir Ağları ile EEG Sınıflandırma

EEG, ElektroEnsefaloGrafi'nin kısaltmasıdır. Beynimiz çok düşük şiddette sürekli eletkrik akımı üretir ve dalgaları düzenli bir şekilde yayar, EEG bu sinyalin  kaydedilmesi işlemidir.

EEG sinyallerinin işlenmesi ve üzerinden bilgi çıkarılmasının pek çok uygulama alanı var. İlk etapta çeşitli hastalık teşhisleri için ;
 Elektroensefalografi (EEG), epilepsili hastaları ve şüphe oluşturan nöbet bozuklukları olan hastaları incelemekte kullanılan önemli bir tetkiktir. 

Bir başka alan, Brain Computer Interface  yani Beyin Bilgisayar Arabirimi çalışmaları için  Bu alanında

 oyun oynamaktan tutunda

yapay organ kontrolüne kadar  sayılmayacak kadar uygulama imkanı var.

Cuma, Ocak 11, 2013

Sabahı Bekleyen Adamı bekleyen adam

Sabahı bekleyende kim olaki derseniz Hasta sabahı beklermiş efendim.
Hasta için sabah olmazmış bir türlü
Babamın geçirdiği ciddi bir rahatsızlık sebebiyle bir kaç gündür, "Sabahı Bekleyen Adamı bekleyen adam" durmundayım. Şifa dualarınıza muhtacız, bekleriz.

Pazar, Aralık 02, 2012

Vav Çizmek


 Osmanlı devletinin  büyük hatatlarından olan Hafız Osman daha hayatta iken yazıları aranan bir hattat imiş. Bir gün bir vesile ile Üsküdardan beşiktaşa geçmek için bir kayığa biner. Yol bitmek üzereyken kayıkçı ücretleri ister. Fakat Hafız Osman, yanına para almayı unuttuğunu fark eder. Tabii artık çok geçtir. Bir çare gelir aklına...
Kayıkçıya "sana bir “Vav” çizeyim olmaz mı?” der 
Kayıkçı homurdanarak: -“Paran yoktu da ne diye bindin kayığa? ” der ama çaresiz kabullenir.

Bir zaman sonra kayıkçının yolu hat eserleri alınıp satıldığı bir çarşıya düşer. Bakar ki yazılar, levhalar iyi fiyatlara alınıp satılıyor; cebindeki yazıyı hatırlar ve satıcıya gösterir. Satıcı yazıyı görür görmez tanır, 'Bu Hafız Osman Vavı' diyerek açık artırmaya başlar. Sonunda Sandalcının şaşkın bakışları altında eser çok iyi bir fiyata satılır.  Kayıkçının binbir emekle bilmem kaç ayda kazanacağı parayı  bu 'vav' ile kazanmıştır....

Pazar, Kasım 11, 2012

Ordan Burdan Haberler

1) FannTool Sitesine eklemelerde bulunduk
Bu sıralar çok sık güncelliyorum farkındaysanız. Bu çalışmaların bir kısmı benim daha önce yaptığım örnekler olmakla beraber, Bir kısmıda google sayesinde ulaşabilidğim çalışmalardan oluşuyor. Sizlerinde çalışmalarınız varsa eklemek isteriz. Bizimle iletşime geçmeniz yeterli.

2)  FannTool'un yazımına başladığımdan beri pek çok kimse değişik vesilelerle bana ellerindeki verileri gönderdiler ve yardım istediler. Bende elimden geldiğince yardımcı olmaya çalıştım. Fakat malesef bu kişilerin çoğu yaptıkları çalışmaların sonuçlarını bana bildirmediler. Demek ki bu konularda sonuçlandırılmış bir çalışma yok.  Bu durumda çalışmalar arşivde kalıp ziyan olamasın diye, bir süre sonra  peyder pey bana bu verileri yollayan kişilerin adlarıyla beraber yayınlayacağım. Sonra demedi demeyin.....

3) 12 Kasım 2012 Pazartesi günü 14:00-18:00 saatleri arasında Ankara İvedik OSB Kongre ve Seminer Salonu’nda  “Ar-Ge, Proje ve Teknoloji Yönetimi” konulu bir seminer var. Kaçırmayın derim. İnşallah bir aksilik çıkmaz ise bende gitmeyi planlıyorum...

4)  Daha önce "Internetten AR-GE" diye duyurduğumuz. 
Evet biz yataduralım elin oğlu bunuda yaptı. Hem neden yapmasınki. Bir AR-GE projesi için sınırlı sayıda ( maliyet ) insanla bir ekip kurup, Bu ekibin kısa sürede sonuça ulaşmaları umulurken. Şimdi Projeyi Internetten yarışma şeklinde duyrup ödülü koyarak - maliyet sabit - sınırsız sayıda kişi çalıştırıp. Parayı sadece başarana (en kısa sürede istenen sonuca ulaşan ekibe ) vermek, patronlarında işine gelir. Peki bizim niye işimize gelsin derseniz. Türkiye şartlarında kaç kişinin  kendi tercih edeceği bir projeye dahil olabilme imkanı varki. Internetten AR-GE ile Boş vakitlerinizde yada Boşa geçirdiğiniz vakitlerde tercih edeceğiniz bir konuda çalışabilirsiniz. Kazanamsanızda size tecrübe olmuş olur zaten boşa vakit geçirecektiniz...
diye anlattığımız. Konuda bir başka siteden bahsetmek istiyorum.
 Kaggle :
What is Kaggle?
Kaggle is the leading platform for predictive modeling competitions.
Companies, governments and researchers present datasets and problems –
the world’s best data scientists then compete to produce the best solutions.
At the end of a competition, the competition host pays prize money in
exchange for the intellectual property behind the winning model.

Site benim görebildiğim kadarıyla oldukça başarılı. Hali hazırda ödüllü aktif yarışmalar var. Ne diyeyim gerisi size kalmış...

5) ComputerVision Hakkında Yazılımlar, Veri setleri, İşler, etkinlikler gibi pek çok şeyi bir arada bulabileceğiniz bir site  Computer Vision Online

6) OpenCV 2.4.3 yayınlandı ;  bu da OpenCv nin yeni sitesi ; opencv.org
...
Yazı epey uzamış, biliyorum ki yazı uzadıkça okunabilirliği azalıyor, kalanlarıda kısmetse daha sonra yazarız artık...

Pazar, Ekim 28, 2012

FannTool Sitesindeki son güncellemeler

Bayram seyran dinlemiyoruz çalışmaya devam ediyoruz...

 Bu çalışmalar zaten yayınladığımız çalışmalardı ama Tekrar göz önününe çıkarılıp Yeni siteye aktarmak zorundaydık. Gerek bu örnek çalışmalarda , gerekse sitede geçen Tez ve Makalelerden anlaşılacağı üzre hemen her alanda YSA uygulaması yapmak mümkün ve FannTool da bu iş için çok uygun bir araç.

Peki yokmu sizin bir çalışmanız yada planınız ?

Pazar, Ekim 21, 2012

Buğday Sınıflandırma


Bu günlerde FannTool'un sitesinin güncellemeleriyle uğraşmaktayım.  Örnek uygula yazısı içinde bir doktor abimizden veri bekliyorduk. Veriler bir türlü gelmeyince bizde bulabildiklerimizle yetinip
Buğday sınıflandırma üzerine bir yazı yazdık ve sitesine ekledik.

http://fanntool.blogspot.com/2012/10/bugday-snflandrma.html

Gerek yazı gerek program ve gerekse Yeni web-sitesi hakkındaki Görüş ve önerilernizi bekleriz...

Bundan sonra bu tür FannTool ile ilgili yazıları kendi sitesinden yayınlıyacağız ve burdan sadece duyrusunu yapacağız. Daha önce yayınladığımız benzeri yazılarımızı da toparlayıp fırsat buldukça oraya ekeleyeceğiz...

Not ; Kurban bayramına yanaştığımız şu günlerde şimdiden bayramınızı tebrik eder. Kurban bayramınızın Kurbiyete vesile olmasını dileriz...

Pazar, Ekim 14, 2012

cvBlob2 ve Insan Takibi


cvBlob da tıpkı cvBlobsLib gibi Connected Component Labeling denen bizim Etiketleme dediğimiz işi yapıyor.
 cvBlob OpenCv üzerinde çalışan ayrı bir kütüphane, Yalnız başlangıçları eski olduğundan fonksiyonları OpenCv nin C API üzerinden çalışıyordu. Bu beğendiğim açık kaynak kodlu projeye bir katkımız olsun istedik ve ufak bir çalışma yaptık.

Burdan İndirebilirsiniz :  cvBlob2

Kullanımı için 2 de örnek program var içinde
test2.cpp
test_tracking2.cpp

bu programlar orjinal kütüphanenin orjinal örneklerinin eşleniği

Birde gelişmiş örnek yapalım istedik, onunda görüntülerini yayınlıyoruz.

Bir binaya giren ve çıkan insanların takibi, Dış mekan olduğundan, pek başarılı olmuyor, üzerinde çalışılması lazım ..




Pazar, Ekim 07, 2012

FannTool Web Sitesi

FannTool bu blogu takip edenlerinde bildiği gibi tarafımızdan geliştirilen, FANN kütüphanesi üzerinde çalışan Bir YSA Uygulama Yazılımı.

2007 Haziran ayında başladığımız çalışma. Epey bir yol aldı. Başlangıçda sadece Eğitim işini yapması için planladığım yazılım artık komple Bir YSA uygulama sistemi haline geldi. FANN'ın geliştirisi GUI lerin listesinde ilk sıraya FannTool'u yazdı ve
FANNTool is a highly recommended and easy to use GUI for the FANN library. FANNTool also supports a few more advanced functions for automatically setting the FANN parameters.
diyerek tavsiye etti.

FannTool 'un bir önceki versiyonu 5868 windows + 2860 Linux olmak üzre toplamda 8700 küsur  indirilmiş. Bu sene yazın yayınladığımız yeni versiyon Şu ana kadar 1300 küsur indirilmiş.

Dünyanın dört bir yaynında değişik çalışmalar için kullanılmış ve kullanılıyor...

Bunca gelişmenin üzerine bizde FannTool'un artık yuvadan uçma zamanının geldiğine kanaat getirdik.

Artık FannTool'un kendi resmi sitesi var

FannTool.blogspot.com

Bundan Sonra FannTool ile ilgili yazılar asıl olarak bu ardesten yayınlancak. Zaten ilk etapta Doğrudan FannTool'u kullanan Makale ve Tezlerin özetlerini yayınlamaya başladım. Vakit buldukçada ilave etmeye çalışacağım. Bu sitede yayınladığım uygulamalarıda vakit buldukça toparlayıp oraya ilave edeceğim.

Sizinde FannTool ile yaptığınız bir çalışma varsa yollayın onlardanda bahsedelim, Eğer site hakkında önerileriniz varsa dinlemeye hazırız bize e-posta atabilirsiniz. e-posta adresimiz profil sayfasında mevcut.

Pazar, Eylül 30, 2012

Atlilla Özerdim ve niceleri


Atilla Özerdim ;

Doğuştan Felçli, İşçi bir babanın oğlu, 12  yaşına kadar sadece yatmış...
Sonrasında 4 yıl içinde ilkokul ortaokul liseyi dışardan bitirmiş.
Ege Üniversitesi Bilgisayar Mühendisliğini kazanmış...
Bilgisayarları ağzına tutturulan sopayla kullanmış...
Lisansı 3. lükle   Yüksek Lisansını 1. likle bitirmiş....
Makaleler yazmış, Sunumlar yapmış
Sen Petesburgdayaptığı bir sunum sonrasında fenalaşıp Vefat etmiş... ( 17 Eylül 1995 )
Allah rahmet etsin

Toplum olarak ne derece yardımcı ve destek olabildik,  Daha niceleri bekliyor, kendilerine imkan tanınmasına kimbilir

Aradan Yıllar geçmiş,

Yine bir Bilgisayar Mühendisi kardeş ( Emrah Yılmaz ) bir çalışma yapmış, engelli etkileşim modülü geliştirmiş



Gereken desteği görmesi ve tez zamanda daha nice Atillalar çıkmasına vesile olması duasıyla
Emrah kardeşe başarılar diliyorum...

Pazar, Eylül 02, 2012

OpenCv ile Ip Kamera Kullanımı + Hareket Dedektörü

  Security Camera + Motion Detection from bluekid on Vimeo.

Ip kameralar artık pek çok işte kullanılıyor.  Doğrudan ağa bağlanmasıyla Internet üzerinden Ip kameranızın görüntüsünü her yerden alabilirsiniz.

OpenCv'nin Ip kameraya ulaşması doğrudan ffmpeg kütüphanesine bağlıdır. Eğer OpenCv kütüphaneniz ffmpeg destekli olarak derlenmemişse aşağıdaki verdiğimiz kodlarla Ip Kamerayı açamazsınız.

Highgui' nin normal video fonksiyonlarını kullanıyoruz.

   VideoCapture vcap;
    if(!vcap.open("videoStreamAddress")) {
        std::cout << "Ip Kamerayı açamadım " << std::endl;
        return -1;
    }
tabiki "videoStreamAddress" yerine kamera adresi yazılacak, adresde

http://username:password@path_to_cam/mjpg/video.cgi?resolution=800x600&req_fps=10&.mjpg


gibi bir şekilde yazılacak biz deneme yapmak için kullanıcı adı ve şifre gerekmeyen bir IP kamera üzerinden denemizi yaptık. Internette "Public IP Camera Urls" diye aratırsanız halen aktif olan benzeri adreslere ulaşabilirsiniz.

Gelelim uygulamamızın ikinci aşamasına. Yani basit bir Güvenlik Kamerası uygulaması yazmaya
  1. Ip kameradan görüntüleri aldıyoruz
  2. Arka plan silme işlemi yapıyoruz. 
  3. Orjinal görüntüyü Siyah Beyaza çeviriyoruz
  4. Ulaştığımız hareketli alanlarıda Siyah beyaz görüntü üzerine kırmızıyla çizdiriyoruz
Örneğimizde GUI olarak FLTK kullanıldı OpenCv'nin  2.4.2 versiyonu kullanıldı.

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...