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

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