Pamuk ipliğinden biraz daha sağlam tek bağ: düşünce birliği. O da rüzgarın her an tehdit ettiği bir kandil. Düşünce birliği, düşünen insanlar arasında olur. İnsanların kaçta kaçı düşünür? Düşünenlerin kaçta kaçı karşılaşır ve açılır birbirine. -- Cemil Meriç
Pazar, Ağustos 14, 2011
OpenCv ile Arka plan silme (Background subtraction )
Background Subtraction with OpenCv from bluekid on Vimeo.
Evet Uzun bir aradan sonra basit bir OpenCv uygulamasıyla yine karşınızdayız.
Siz benim basit dediğime bakmayın araç ve insan sayma hareket algılama gibi pek çok uygulamanın temelinde bu yapı vardır. Örenğin basit oluşu OpenCv nin sağladığı imkanlardandır.
programımızın ana özelliği OpenCv 2.3 ile derenmiş olması ve herzamankinin aksine C API yerine OpenCv C++ API yapılarının kullanılmış olmasıdır. OpenCv eskiden C API temelinde geliştiriliyordu. İkinci versiyonundan itibaren C++API temelinde geliştiriliyor ve bu yapı tavsiye ediliyor. Geriye uyumluluk ve diğer dillere olan destek sebebiyle C API da korunuyor elbette . bu yüzden eski şekildede kodlamaya da devam edebilirsiniz.
Öncelikle OpenCv 2.3 ile ilgili karşılaştığım problemlerden bahsedeyim.
Bu dağıtımın windows versiyonu ile birlikte pek çok derlenmiş kütüphane dağıtılmış.
x86 ve 64 bit için olanlar,
Mingw için VC9 için olan VC 10 için olan diye adlarıyla uyumlu dizinlere konmuşlar.
Ben bu kütüphaneleri kullanarak cvPreProcessori hiç problemsiz tekrar derledim.
Fakat Anlaşılmaz bir şekilde C++API nı kullandığım örnekleri link edemedim.
Uzun uğraşlardan sonra probemin dağıtımla gelen hazır kütüphanelerden olduğuna kanaat getirdim.
kendi kütüphanemizi kendimiz derleyelim deyip daha önce anlattığım şekilde işlemler yaptım. Sonuçda elde ettiğim kütüpheler ile Videodanda görebileceğiniz gibi, problemsiz C++ API örneklerini çalıştırabildim.
Ben OpenCv 2.3'ü " C:\OpenCV-2.3.0" dizinine kurdum.
Kütüpheneleri CMake ile Tekrar derlemek için "C:\OpenCV-2.3.0\mingw"
dizinini açtım.
Örnek programdaki dizin ayarları ona göre yapıldı tekrar derlemeye kalkarsanız kendi dizin ayarlarınızı yapmanız lazım yada benim dizin ayarlarıma uygun derleme yapın.
Programı indirmek için : BackGround Subtraction
Pazartesi, Ağustos 01, 2011
Pazar, Temmuz 24, 2011
OpenCv 2.3 Yayınlandı
OpenCv 2.3RC'nin yayınlandığından bahsetmiştim zaten. Fazla arayı açmadan OpenCv 2.3'ü de yayınladılar sağolsunlar. Bizde şöyle üstün körü baktık.
Kurulum paketi hazırlamamışlar. Hazırlanan paket sadece sıkıştırılmış dosyaları açıyor. dll lerin path işlerini halletmek size kalmış.
Dökümantasyonu epey bir ilerletmşler, yeni kaynaklar ( pdf ) var
- opencv_cheatsheet : OpenCv nin C++ arabiriminde ne nasıl yapılır konusunda kısa ve öz bir referans
- opencv_tutorials : OpenCv üzerine eğitici örnek programlar. Şimdilik kısmen tamamlanmış.
- opencv_user : Kullanıcı rehberi
- opencv2refman : Referans Kitabı
kütüphane dosyalarının bölümlenmelerinde ve isimlerindede değişiklikler var. detay için dökümantasyonlarına bakın.
Geriye uyumluluk konusunda bence gayet başarılı Üstteki resimdeki programı OpenCv 2.3 ile tekrar derledim. tek satır değiştirmeden.
Bu sefer tavsiye ediyorum geç kalmadan OpenCv 2.3'e geçin.
Bir an öncede C++ API larını öğrenmeye bakın eskiden C API ları üzerine C++ yapısı kurulmuştu. Bir süredir tersine bir geçiş var. Yani artık OpenCv gelişimini C++ üzerinden yürütüyor. C API ları geriye uyumluluk ve diğer dillerden kullanılabilme adına tutuluyor.
Unutmadan OpenCvSharp da 2.3 versiyonunu yayınladı...
Cumartesi, Temmuz 02, 2011
Ordan Burdan Haberler
Aslında uzun uzun yazmak istediğimiz ama fırsat bulup yazamadığımız haberler var biriken. bu köşemizde onlardan bahsediyoruz. Köşemiz diyorum çünkü aynı başlık altında benzeri yazılar yazdım daha öncede. Detayların için yorum bırakabilir yada e-posta atabilirsiniz.
1 ) FLTK 1.3 kararlı sürüm olarak yayınlandı. Geliştiricilerin büyük gayretleri oldu ve FLTK 1.1 serisi üzerinden geliştirildiğinden genelde program uyumluluk sıkıntısı da çekilmeyecek. yapılanlara gelirisek;
UTF-8 desteği
2 yeni bileşen Fl_Tree ve Fl_Table
Daha işletim sisteminize uygun görünen Dosya seçiciniz Fl_Native_Filechooser
Cross-platform bir yazıcı desteği ( FLTK nın OpenGl kısmıda dahil )
2 ) OpenCv 2.3 rc yayınlandı. yayınlandı yayınlanmasına ama benim bu versiyon yayınlamalarında hoşuma gitmeyen şeyler var. Yiğidi öldür hakkını yeme demişler, Öncelikle gerçekten hemen her versiyonla birlikte pek çok yenilik geliyor. Fakat dökümantasyon çoook geriden geliyor. dökümantasyonlarda yapılan yeniliklerle ilgili bir açıklama bulmak çoğu kez mümkün olmuyor. Keza yayınlanan sürümlerin kararlılığınada genelde pek dikkat edilmiyor. Keza bundan önceki sürümü denemiş fakat problemlerle karşılaştığım için vazgeçip bir öncekine geçmiştim. Vakit buluncabunuda deneyeceğim inşallah. sonuçları o zaman duyururum. Bu sürümün yeniliklerine bakmak için buraya müracaat edin
3 ) Internetten AR-GE : 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...
neyse konuyu fazla uzatmadan linkleri vereyim. Girin siz kendiniz bakın detaylarına. Katılmak için ekip kurarsanızda haberimiz olsun...
4) OpenCv için yeni bir kitap çıktı. C++ ve OpenCv 2 versiyon temelli olarak anlatıyor
"Not: Proje MATLAB eğitimi ile başlamıştır fakat ileride farklı konular eklenecektir."
ifadesiyle ümitvar oluyoruz.
1 ) FLTK 1.3 kararlı sürüm olarak yayınlandı. Geliştiricilerin büyük gayretleri oldu ve FLTK 1.1 serisi üzerinden geliştirildiğinden genelde program uyumluluk sıkıntısı da çekilmeyecek. yapılanlara gelirisek;
UTF-8 desteği
2 yeni bileşen Fl_Tree ve Fl_Table
Daha işletim sisteminize uygun görünen Dosya seçiciniz Fl_Native_Filechooser
Cross-platform bir yazıcı desteği ( FLTK nın OpenGl kısmıda dahil )
2 ) OpenCv 2.3 rc yayınlandı. yayınlandı yayınlanmasına ama benim bu versiyon yayınlamalarında hoşuma gitmeyen şeyler var. Yiğidi öldür hakkını yeme demişler, Öncelikle gerçekten hemen her versiyonla birlikte pek çok yenilik geliyor. Fakat dökümantasyon çoook geriden geliyor. dökümantasyonlarda yapılan yeniliklerle ilgili bir açıklama bulmak çoğu kez mümkün olmuyor. Keza yayınlanan sürümlerin kararlılığınada genelde pek dikkat edilmiyor. Keza bundan önceki sürümü denemiş fakat problemlerle karşılaştığım için vazgeçip bir öncekine geçmiştim. Vakit buluncabunuda deneyeceğim inşallah. sonuçları o zaman duyururum. Bu sürümün yeniliklerine bakmak için buraya müracaat edin
3 ) Internetten AR-GE : 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...
neyse konuyu fazla uzatmadan linkleri vereyim. Girin siz kendiniz bakın detaylarına. Katılmak için ekip kurarsanızda haberimiz olsun...
4) OpenCv için yeni bir kitap çıktı. C++ ve OpenCv 2 versiyon temelli olarak anlatıyor
OpenCV 2 Computer Vision Application Programming Cookbook5) Matlab Görüntülü Dersler : Daha önce İnternetten dağıtılan İlmin zekatı diye bir yazıda yazmış idim. videolectures.net ve www.academicearth.org gibi yurt dışı kaynaklı derslerden bahsetmiştim. Türkiyedede yaygın olmasada benzeri imkanlar başladı. İsmail Arı da Matlab Dersleriyle ilminin zekatını verenlere öncülük ediyor. Matlab öğrenmek gibi bir niyetim olmasada, duyurmamak olmaz diyoruz ve projenin tanıtımındaki
"Not: Proje MATLAB eğitimi ile başlamıştır fakat ileride farklı konular eklenecektir."
ifadesiyle ümitvar oluyoruz.
Pazar, Haziran 26, 2011
KNIME ve Haber Metinlerinin Sınıflandırılması 2
Uygulamamız, Başlıkdanda anlayacağınız gibi Haber Metinlerinin otomatik sınıflandırılması. Uygulamamız için gereken veriyi Kemik den aldık. Kemik Yıldız Teknik Üniversitesinin Doğal Dil İşleme Grubu. Neden Kemik? sorusunuda "Çünkü dilin kemiği yoktur" diye cevaplıyorlar.
Gurubun yayınladığı veri kümelerinden 75Haber diye geçen veri kümesini kullanacağız Veri kümesi M.Fatih Amasyalı tarafından hazırlanmış ve bu makalede
Otomatik Haber Metinleri Sınıflandırma", M.Fatih Amasyalı, Tülay Yıldırım, SIU 2004
kullanılmıştır.
5 farklı haber sınıfına ait 15’şer, toplamda 75 haber içermektedir.
Haber metinlerinin sınıfları:
KNIME ile veri okunup test ve eğitim olarak 2 ye ayrıldı ( 50 eğitim 25 test ) SVM ve Weka-Bayes ile sınıflandırma işlemi yapıldı
İşlemin akış şeması
ve Test verileri için sonuçlar şöyle
Bayes 25 yazıdan 22 sini doğru sınıflandırmış
SVM ise 25 yazıdan 13'ünü doğru sınıflandırmış
Gurubun yayınladığı veri kümelerinden 75Haber diye geçen veri kümesini kullanacağız Veri kümesi M.Fatih Amasyalı tarafından hazırlanmış ve bu makalede
Otomatik Haber Metinleri Sınıflandırma", M.Fatih Amasyalı, Tülay Yıldırım, SIU 2004
kullanılmıştır.
5 farklı haber sınıfına ait 15’şer, toplamda 75 haber içermektedir.
Haber metinlerinin sınıfları:
- ekonomi
- magazin
- sağlık
- siyasi
- spor
KNIME ile veri okunup test ve eğitim olarak 2 ye ayrıldı ( 50 eğitim 25 test ) SVM ve Weka-Bayes ile sınıflandırma işlemi yapıldı
İşlemin akış şeması
ve Test verileri için sonuçlar şöyle
Bayes 25 yazıdan 22 sini doğru sınıflandırmış
SVM ise 25 yazıdan 13'ünü doğru sınıflandırmış
KNIME ve Haber Metinlerinin Sınıflandırılması 1
Öncelikle KNIME de nedir ki sorusuna cevap verelim
KNIME yani "Konstanz Information Miner" almanyada Konstanz üniversitesinde geliştirilmiş açık kaynak kodlu ve ücretsiz bir programdır. Veri madenciliği , Veri yükleme, işleme, yazma, görselleştirme işlerinizi gayet kolay yapabilirsiniz.
Başlangıçda İlaç endüstrisi için yazılmış olsa da artık pek çok alanda kullanımı mümkün kılan özellikleri var. mesela
- CRM müşteri veri analizi,
- iş zekası ve finansal veri analizi
- Doğal Dil İşleme
- Görüntü İşleme
www.knime.org
adresinden indirip kurmanızı ve sonra, ek özelliklerininde (Extensions) kurulması için menüden
"File ->Install KNIME extensions" ile kurulumu tamamlayıp incelemenizi tavsiye ederiz.
( Weka ve R entegrasyonu , Python ve Perl Scripting, LibSVM gibi pek çok özellik bu şekilde ekleniyor )
Bu kadar laftan sonra bir uygulamada hazırlayalım istedik. Bekleyiniz yakında ....
Perşembe, Haziran 23, 2011
Yaz Tatili Ödevi !
Epeydir yazı yazamıyıyorum. aslında kafamda tasarladığım pek çok konu oldu ama vakit bulup da yazıya dökmek nasip olmadı. Vaktimin olmaması aslında bir bahene, blogdaki pek çok yazıyı ne sıkışık zamanlarda yazdığımı ben bilirim. İnşallah şu üzerimdeki tembellik kalkarda aklımdaki yazıları yazabilirim.
Tembellik dedimde aklıma geldi. Okullar kapandı, blogdaki yazılarımızı ilgi duyan ve bitirme tezini bu tür konularda almayı planlayan, öğrenci kardeşler için bu yaz tatili zamanı büyük bir fırsattır. Seneye derslerdi, sınavlardı derken, tez verme zamanı gelipde
" Önümüzdeki hafta tezi tamamlamam lazım yoksa okul uzayacak "
şeklinde sızlanmamak için şimdiden gayret göstermek lazım. Hem zaten Öğrencilikten Talebeliğe geçişde ancak böyle mümkün tabii böyle bir niyetiniz varsa
Bu yazıda iki kitap tavsiyesinde bulunmak istiyoruz.
İlki Zekai Şen hocamızın;
"Bilimsel Düşünce ve Matematik Modelleme"
Konu başlıkları şöyle
İkinci kitabımız "Görüntü İşleme Teknikleri ve Mühendislik Uygulamaları"
Tanıtımından da anlaşılacağı üzere bir ders kitabı nitelğinden çok yapılmış makale çalışmalarının derlenmesiyle oluşmuş bir kitaptır. Öğretici olmakdan çok Ufuk açıcı ve ilham verici bir kitap. Erol Gelenbe 'nin geliştirmiş olduğu Rasgele Yapay Sinir Ağları hakkında bilgiler ve uygulamaları görebileceğiniz kaç kitap vardırki türkçede...
Dip Not: Yazıyı yayınladıktan sonra daha önce yazdığım kitap tavsiyelerinide etiketledim. Artık kitap katagorisinden kolaylıkla ulaşabilirsiniz. Bu vesileyle reklamını yaptığım için satış rekorları kıran kitap sahiplerindende komisyonumun ! tarafıma gönderilmesini bekliyoruz ;)
Tembellik dedimde aklıma geldi. Okullar kapandı, blogdaki yazılarımızı ilgi duyan ve bitirme tezini bu tür konularda almayı planlayan, öğrenci kardeşler için bu yaz tatili zamanı büyük bir fırsattır. Seneye derslerdi, sınavlardı derken, tez verme zamanı gelipde
" Önümüzdeki hafta tezi tamamlamam lazım yoksa okul uzayacak "
şeklinde sızlanmamak için şimdiden gayret göstermek lazım. Hem zaten Öğrencilikten Talebeliğe geçişde ancak böyle mümkün tabii böyle bir niyetiniz varsa
Bu yazıda iki kitap tavsiyesinde bulunmak istiyoruz.
İlki Zekai Şen hocamızın;
"Bilimsel Düşünce ve Matematik Modelleme"
Konu başlıkları şöyle
Kitapdan bir kaç parça
- Düşünce ve Model
- Matematik Modeller
- Akılcı (Rasyonel) Mantık Modelleri
- Akılcı Sonsuz Küçük Aralık (Diferansiyel) Modelleri
- Deneyci (Ampirik) Modelleme İlkeleri
- Akılcı-Deneyci (Analitik) Modelleme
- Sonlu Küçük Aralık (Sayısal) Modelleme
- İhtimal Yöntemleri ile Modelleme
- Çalkantı (Pertürbasyon) Modelleri
- Bulanık Mantık Yöntemleri ile Model Geliştirme
"Ü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"Keşke daha gençken okusaydım dediğim bir kitap tavsiye ederiz.
"Bir kişi dogmatik ve sistematik denilen eğitim sisteminde ezberci olarak kaldı, hocaları ile tartışmalı ve eleştirel bilgiler almadı ise... veya hocalar tarafından bu biilgiler verilmedi ise , o toplulukta ne akılcı ne deneyci ne de bunların ikisinin karışımı biçimlerinde bilgi üretimi olamaz. Bunun doğal sonucu olarak da incelenmesi mümkün olayların bile modelleri yapılamaz"
İkinci kitabımız "Görüntü İşleme Teknikleri ve Mühendislik Uygulamaları"
Bu kitapta geleneksel iki boyutlu filtreler dışında yapay sinir ağları, rasgele sinir ağları, zorlamalı yapay sinir ağları, hücresel yapay sinir ağları, hücresel rasgele yapay sinir ağları, dalgacık dönüşümü, dalgacık hücresel yapay sinir ağları, Markov rasgele alan süzgeçleri, iteratif hücresel resim işleme algoritması, yönlendirme süzgeçleri, genetik algoritma ve görüntü iletimi gibi son derece güncel konular anlatılmaktadır. Bu yöntemler çeşitli sentetik verilere ve gerçek problemlere uygulanmış olup sonuçlar ve yöntemlerin performansları bu kitapta değerlendirilmiştir.
Tanıtımından da anlaşılacağı üzere bir ders kitabı nitelğinden çok yapılmış makale çalışmalarının derlenmesiyle oluşmuş bir kitaptır. Öğretici olmakdan çok Ufuk açıcı ve ilham verici bir kitap. Erol Gelenbe 'nin geliştirmiş olduğu Rasgele Yapay Sinir Ağları hakkında bilgiler ve uygulamaları görebileceğiniz kaç kitap vardırki türkçede...
Dip Not: Yazıyı yayınladıktan sonra daha önce yazdığım kitap tavsiyelerinide etiketledim. Artık kitap katagorisinden kolaylıkla ulaşabilirsiniz. Bu vesileyle reklamını yaptığım için satış rekorları kıran kitap sahiplerindende komisyonumun ! tarafıma gönderilmesini bekliyoruz ;)
Etiketler:
diğer,
kitap,
yapay sinir ağları,
yapay zeka
Çarşamba, Mayıs 04, 2011
Renk Takibi
Pazartesi, Mayıs 02, 2011
Ardımdan Deli Diyorlar Belkide Yalan Değil
Okuma Parçası :
- Abi senin siteyi yasaklamışlarEvet Yasaklanmamız hakkında bir şeyler yazayım istedim. Kısmet bu güneymiş
- Öylemi olmuş, Ne bu kardeşim ya bu çağda böyle yasakçı zihniyet felan. Hem benim zararımı kim karşılayacak.
- Ne zararı Abi.
- Reklam gelirlerimizde felan büyük düşüş oluyor
- Sen siteye reklam almıyorsun ki abi
- Ama alsaydım olacaktı. Hem sietmin hit sayısının düşmesi Sitenin değerinide düşürüyor.
- Site zaten senin değilki abi sitene gelen hit blogspot'un değerini artırıyor.
- Bakalım buna ne diyeceksin bu siteye gelen hit sayınsınca meşhur oldum sayılılır. Böyle engellemeler ünümü engelliyor
- İyi de abi sitende adını kullanmıyorsunki olsa olsa nickname'in meşhur oluyor.
- Peki kardeş ben bir şey sorayım ben niye yazıyorum bu sitede ?
- Bilmem ki abi sakın sitenin adındaki sebepten olmasın " Delilik "
- "Ardımdan Deli diyorlar. Belkide yalan değil."
Pazar, Nisan 10, 2011
Renk Filitresi
Uzun uzun anlatmaya gerek Değişik Renk uzaylarında, Web kamerasından alacağınız görüntüler üzerine gerçek zamanlı renk filitreleme yapabileceğiniz pratik bir program.
Hatta üzerine Renk filitrelemeyle elde ettiğiniz mask görüntüyle Inpaint uygulama imkanıda var.
Program C# ile yazıldı elbette OpenCvSharp kütüphanesi kullanıldı.
İndirmek için : ColorFilter
Etiketler:
.Net,
C#,
OpenCv,
OpenCvSharp,
programlama
Pazar, Nisan 03, 2011
Plaka Okuma III

Aslında bu konuda tekrar yazacağımı sanmıyordum ama Yoğun ilgi ve ısrarlı sorular ve yoğun indirilmesi fikrimi değiştirmeme sebep oldu.
Soruların Bir kısmı örnek programın çalıştırılamaması üzerine bu sorular için OpenCvSharp Kurulumu üzerine yazdığımız yazı var, cevap orda ordaki söylenenleri dikkatlice uygulayanlar meseleyi hallediyorlar. Konuyu iyi okumadan, anlamadığı halde söylenenlerin bir kısmını farklı yapanlar, yakınmaya devam ediyor,
"Biz orda yazanları yaptık ama olmuyor"
cevap şu orda yazan kuralları dikkatli uygılarsanız olur.
Soruların diğer kısmı ise daha iyi plaka bulma, karekter ayrıştırma, plaka tanıma üzerine felan oluyor. Örneğin iyi olmadığından dem vuranda olmuyor değil, hani.
Evet haklılar elbette örnek çok başarılı bir örnek değil. ama Zaten doğrudan ticari kullanıma uygun bir örnek yayınlıyoruz diye bir iddiamızda olmadı. Bu program bir İskelet içeriyor, üzerinde daha çok emek ve imkan ister.
Madem bu kadar alaka çekiyor ( bu gün itibarıyla 1322 kez indirilmiş ), belki devam etmek isteyen çıkar, belki üzerinde geliştrime yapmış, paylaşmak isteyen insanlar olabilir, yayınlayacak yer olsun diye ayrı bir sayfa açtık. Microsoft'un açık kaynak kodlu projeler için açtığı Codeplex den bir sayfa aldık.
Opos.CodePlex.ComProgramın en son halininide yayınladık. Çok büyük bir gelişme yok aslında yeni bir Ocr ( Puma.Net ) eklendi. Görebildiğim kadarıylada Gocrden daha başarılı gibi.
Fırsat buldukça elimizdeki dökümantasyonlarıda orada yayınlamayı düşünüzyoruz.
bu konuda ilk yazımda
- Açık kaynak kodlu bir sistem yapılabilirmi ?diyerek pek umutlu olmadığımı belirtmişim, ama işte 1300 küsür insandan 3-5 kişi çıksa bu iş yürür diye umutlanıyorum.
- Pek tabiiki mümkün ama esas mesele belli bir düzeye gelmesi için gereken desteği alması
- Açık kaynak kodlu böyle bir sistem sizce gereken desteği alabilirmi ?
- Pek sanmıyorum.
bakıp göreceğiz...
Etiketler:
.Net,
C#,
OpenCv,
OpenCvSharp,
programlama,
yapay zeka
Çarşamba, Mart 09, 2011
Ankara Yazılım Atölyesinde Son durumlar
Epeydir elimiz değipde bir şeyler yazamadık. Aslında yazmak pek çok konu oldu. Ama bu yazı fikirleri tıpkı kuşlar gibi oluyor. Kelimelere döküp kafeslemezseniz uçup gidiyor.
Her ne ise Kronolojik olarak başlayalım. Ankara Yazılım Atölyesi olarak uzun bir aradan sonra OpenCv ağırlıklı bir buluşma . Öncelikle buradan katılanlardan ve katılmaya gelmiş fakat kapı duvar bulamayan kişiler varsa buradan özür diliyorum. Etkinliğin yerini ben ayarlamıştım. Fakat yetkili şahsın rahatsızlığı ve telefonlada ulaşamamam sebebiyle, ortada kalma durumumuz oldu. Neyseki sayımız azdıda, bir şekilde başımızın çaresine baktık.
Önce Volkan kardeş epey emekle hazırladığı, OpenCv sunumunu yaptı;
OpenCv Nedir ? OpenCv ile neler yapılabilir ,Pratik (Ticari ) Uygulamaları, Örnek videolara eşliğinde bir güzel anlatıldı.
Ramazan Kardeş ise OpenCv + YSA + SVM 'li bir karekter tanıma çalışmasını tanıttı.
Sonuç olarak güzel bir toplantı oldu. Hüseyin toplantının Flash! ismi oldu. Epey sorular sordu. Sorularından da anlayabildiğimiz kadarıyla ilginç Web tabanılı OpenCv, projeleri ( yırttık abicim ) var. İnşallah vazgeçmezde bizde görürüz.
Bu arada aradan epey geçtiği halde. Volkan bey OpenCv diplomamızı yollamadı, Bekliyoruz, o kadarda dinledik kardeşim.
Ankara Yazılım Atölyesi Şubat ayı içinde planlama yapıldı fakat malesef uygun bir mekan bulunamadı. Tez zamanda yer sorununu çözülmezse, faliyetler tarihe karışacak. Zaten Ahmet kardeşde "Yaylalar Yaylar" türküsünü çalışmaya başladı, Askerede giderse halimiz harap. Gençler el atında bu faliyet kaybolup gitmesin. Hiç bir şey öğrenmemiş olsakda tanışmamıza vesile oluyor malum Bir birini bilmemek insaf değil....
Her ne ise Kronolojik olarak başlayalım. Ankara Yazılım Atölyesi olarak uzun bir aradan sonra OpenCv ağırlıklı bir buluşma . Öncelikle buradan katılanlardan ve katılmaya gelmiş fakat kapı duvar bulamayan kişiler varsa buradan özür diliyorum. Etkinliğin yerini ben ayarlamıştım. Fakat yetkili şahsın rahatsızlığı ve telefonlada ulaşamamam sebebiyle, ortada kalma durumumuz oldu. Neyseki sayımız azdıda, bir şekilde başımızın çaresine baktık.
Önce Volkan kardeş epey emekle hazırladığı, OpenCv sunumunu yaptı;
OpenCv Nedir ? OpenCv ile neler yapılabilir ,Pratik (Ticari ) Uygulamaları, Örnek videolara eşliğinde bir güzel anlatıldı.
Ramazan Kardeş ise OpenCv + YSA + SVM 'li bir karekter tanıma çalışmasını tanıttı.
Sonuç olarak güzel bir toplantı oldu. Hüseyin toplantının Flash! ismi oldu. Epey sorular sordu. Sorularından da anlayabildiğimiz kadarıyla ilginç Web tabanılı OpenCv, projeleri ( yırttık abicim ) var. İnşallah vazgeçmezde bizde görürüz.
Bu arada aradan epey geçtiği halde. Volkan bey OpenCv diplomamızı yollamadı, Bekliyoruz, o kadarda dinledik kardeşim.
Ankara Yazılım Atölyesi Şubat ayı içinde planlama yapıldı fakat malesef uygun bir mekan bulunamadı. Tez zamanda yer sorununu çözülmezse, faliyetler tarihe karışacak. Zaten Ahmet kardeşde "Yaylalar Yaylar" türküsünü çalışmaya başladı, Askerede giderse halimiz harap. Gençler el atında bu faliyet kaybolup gitmesin. Hiç bir şey öğrenmemiş olsakda tanışmamıza vesile oluyor malum Bir birini bilmemek insaf değil....
Cumartesi, Şubat 05, 2011
Yapay Zeka Tıbbın Hizmetinde 5 ( Fetal Cardiotocograms )
Bir Yapay Zeka Tıbbın hizmetinde yazısıyla yine karşınızdayız. İşin açıkçası içindeki tabirler tıbbi terimler olduğundan tercüme etmeğe kalkışmadım. Zaten bizim için sadece Yapay Sinir Ağları ile sınıflandırma işlemiydi
Bütün YSA işlemleri FannTool ile yapıldı. Bir Önceki örneğimizdeki gibi program yazmadık sonuçalrı Excell Dosyasındaki "Full Sonuç-Eğitim" ve "Full Sonuç-Test" sayfalarında görebilirsiniz
Eğitim Verileri için Başarı Oranı : % 98,72 ( 1488 Örnekden 1469 Doğru )
Test Verileri için Başarı Oranı : % 94.2 ( 638 Örnekden 601 Doğru )
Dosyalar İndirmek İçin : CTG.zip
Not : "Yapay Zeka Tıbbın Hizmetinde" serisinin önceki yazıları 1 2 3 4
Orjinal verinin 2 çeşit çıktısı var. İlkinde 10 çeşit FHR tipinden hangisi olduğu, ikincisinde ise üç çeşit Fetal State için (N=normal; S=suspect; P=pathologic) bir sınıflandırma var. Biz Örneğimiz için ikincisini kullandık.
2126 fetal cardiotocograms (CTGs) were automatically processed and the respective diagnostic features measured. The CTGs were also classified by three expert obstetricians and a consensus classification label assigned to each of them. Classification was both with respect to a morphologic pattern (A, B, C. ...) and to a fetal state (N, S, P). Therefore the dataset can be used either for 10-class or 3-class experiments.
Attribute Information:
LB - FHR baseline (beats per minute)
AC - # of accelerations per second
FM - # of fetal movements per second
UC - # of uterine contractions per second
DL - # of light decelerations per second
DS - # of severe decelerations per second
DP - # of prolongued decelerations per second
ASTV - percentage of time with abnormal short term variability
MSTV - mean value of short term variability
ALTV - percentage of time with abnormal long term variability
MLTV - mean value of long term variability
Width - width of FHR histogram
Min - minimum of FHR histogram
Max - Maximum of FHR histogram
Nmax - # of histogram peaks
Nzeros - # of histogram zeros
Mode - histogram mode
Mean - histogram mean
Median - histogram median
Variance - histogram variance
Tendency - histogram tendency
CLASS - FHR pattern class code (1 to 10)
NSP - fetal state class code (N=normal; S=suspect; P=pathologic)
Bütün YSA işlemleri FannTool ile yapıldı. Bir Önceki örneğimizdeki gibi program yazmadık sonuçalrı Excell Dosyasındaki "Full Sonuç-Eğitim" ve "Full Sonuç-Test" sayfalarında görebilirsiniz
Eğitim Verileri için Başarı Oranı : % 98,72 ( 1488 Örnekden 1469 Doğru )
Test Verileri için Başarı Oranı : % 94.2 ( 638 Örnekden 601 Doğru )
Dosyalar İndirmek İçin : CTG.zip
Not : "Yapay Zeka Tıbbın Hizmetinde" serisinin önceki yazıları 1 2 3 4
Etiketler:
FANN,
medical,
yapay sinir ağları,
yapay zeka
Pazar, Ocak 16, 2011
Yazılım Atölyesi Yeniden
Uzun bir aradan sonra nihayet yeniden başlıyor.
23 Ocak Pazar Günü saat 10-12 arasında GaziSEM de olacak. Konusu OpenCv olacak. detaylar için yazılım atölyesinin sitesine bakınız.
Konuyla ilgilenen arkadaşları bekliyoruz...
23 Ocak Pazar Günü saat 10-12 arasında GaziSEM de olacak. Konusu OpenCv olacak. detaylar için yazılım atölyesinin sitesine bakınız.
Konuyla ilgilenen arkadaşları bekliyoruz...
Cumartesi, Ocak 01, 2011
2010 Yılı Muhasebesi
Koca bir yılı daha geride bıraktık ziyaretçi grafiğimize bakarsanız Geçen seneye nazaran bir parça artış varmış gibi görünüyor. Fakat yayınladığımız yazı sayısına bakarsak epey bir düşüş var. nerdeyse yarıya düşmüş,
bu gidiş pekde iyi değil ama hayırlısı artık.
Geçen senin en büyük faaliyetlerinden bir muhakakki Yazılım Atölyesi Çalışmalarıdır. Sanalda tanışıklığımız olan arkadaşlarla gerçek hayattada tanışma ve görüşme imkanına ulaşmış olduk.
Hatta bir konuşmada biz hazırladık. Malesef sonradan nedense arkası kesildi
- Ankara Yazılımcılar Workshop'u 1
- Yazılım Atölyesi 2 ( Handwritten Digit Recognation )
- Yazılım Atölyesi Ankara'da Mart ayı etkinliği
- Yazılım Atölyesi Ankara'da Nisan ayı etkinliği
Başaka neler yaptık diye bakacak olursak
- Plaka Okuma yazımızın ikincisini yayınladık hemde C# örneğiyle, Oldukçada ilgi gördüğünüde eklemeden geçmeyelim
- FannTool'un yeni verisyonunu yayınladık 1 2
- OpenCvSharp örnekleri 1 2 3 4 son olarakda Kurulumu ve Kullanımı üzerine bir yazı
- C# da Bulanık Mantıık Örneği olan yazımız
- C# da YSA örneği olan yazımız aynı Zamanda Yapay Zeka tıbbın Hizmetinde serisininde dördüncüsü, Tıp camiasından gereken ilgiyi bekliyoruz.
- Zeki Tahmin Sitemi üzerine yazılarımız 1 2 3 4
- Yarım Kalan Projeler üzerine, yarım kalmış bir yazı dizisi 1 2 2,75
Pazartesi, Aralık 06, 2010
OpenCv 2.2 yayınlandı
OpenCv nin 2.2 versiyonu yayınlanmış
Neler değişmiş diyorsanız buraya
Kuralım bakalım diyorsanız
windows ve VS2010 için kurulum dosyası buraya
yok ben kendim derlerim arkadaş diyorsanız buraya
Linux için mecbur kendiniz derliyeceksiniz zaten buraya
Müracaat edin
Henüz kurmadım, yazılanlara göre konuşursak
Neler değişmiş diyorsanız buraya
Kuralım bakalım diyorsanız
windows ve VS2010 için kurulum dosyası buraya
yok ben kendim derlerim arkadaş diyorsanız buraya
Linux için mecbur kendiniz derliyeceksiniz zaten buraya
Müracaat edin
Henüz kurmadım, yazılanlara göre konuşursak
- Kütüphane komple yeniden organize edilmiş daha küçük parçalara böülünmüş (opencv_core, opencv_imgproc, opencv_highgui, opencv_ml , opencv_features2d, opencv_video, opencv_objdetect, opencv_calib3d , opencv_flann, opencv_contrib, opencv_legacy, opencv_gpu) tabii bu değişiklik link ayarlarını değiştirmemizi gerektirecek gibi
- Android için OpenCv derelenebiliyormuş burada
- Highgui için Qt destekli özellikler eklenmiş ( Bence tamamen saçma birde Qtnin dll lerini felan eklemek gerekecek tavsiye ederim eğer ekstra GUI özelliği lazımsa FLTK kullanın örenkleri bizim programlarımızda var )
- GPU desteği verilmeye çalışılıyor fakat CUDA'lı OpenCv e-mail gurubundada tartışıldığı gibi bencede NVidia'nın CUDA sı yerine OpenCL'i kullanmak daha mantıklıydı fakat geliştiriciler böyle takdir etmişler. ( daha önce benzeri bir mantıksızlık OpenMP nin yerine İntelin TBB sine geçmekle yapılmıştı BSD lisanslı bu popüler kütüphane ticari ürünlere eklemlenerek dolaylıda olsa bizi ücretli ürünlere mecbur etmeye çalışıyor gibi bakalım sonuçda ne olacak... )
Pazartesi, Kasım 15, 2010
Perşembe, Kasım 11, 2010
Bekle Beni Aziz İstanbul....
Bir Fura vesilesiyle Yarın ve ertesigün ( 12 - 13 Kasım ) İstabula gidip geleceğim
Bekle beni Aziz İstanbul....
Bekle beni Aziz İstanbul....
Pazartesi, Kasım 08, 2010
Zeki Tahmin Sistemleri Ve Yapay Zeka
Bir önceki yazımızın sonundaki sorudan başlayalım
Yapay Sinir Ağları :
Sitemizdeki ilgili yazılar ve örneklerden görebelieceğiniz gibi YSA çok esnek bir YZ metodu. Sabit bir Giriş ve Çıkış değişkenleri şekline dönüştürülen hemen her probleme uygulanabilir. Tahmin edilecek değerin Kendisinden önce gelen değerlerle ilişkili olduğu kabulunü düşünürsek zaten basitçe bir uygulamada mümkün. Daha gelişkin bir sistem için geçmiş değerlerin yanında dış etkenlerin de giriş değerlerine eklemek gerekir.
Zeki Optimizasyon Teknikleri :
Zeki Optimizasyon Tekniklerinden kastım arama tipi metodlar yani Genetik, Karınca Kolonisi, Parçacık Sürü optimizasyonları gibi. Bu metodların kullanımı ise ; tahmin edilecek değere ulaştıracak fonksiyon oluşturulması yada ( İstatistik veya Kaos teorisi kaynaklı ) Fonksiyonların parameterelerinin bulunması şeklinde olabilir mesela.
Bulanık Mantık ve Uzman sistemler :
Tahmin konusundaki Uzman insanların tecrübelerini Bulanık mantıkda kullanarak Modellenip Tahminler için kullanmakdan ibaret.
"%b" kadar fazlaysa artmış,
"%b" kadar azalmışsa düşmüş
değilse sabit kalmış şeklinde
Bahsettiğimiz metodların dışında daha adını bile bilmediğimiz metodlarada ( mesela HMM geliyor aklıma ) bakmak gerekebilir. Hatta birlikte kullanımlarıda mümkün elbet. Sonuçda bütün bunlara uygulama ve uygulamadaki ulaşılan sonuçlara göre karar vermek gerekiyor...
Evet Bu yazı dizimiznden sonuna gelmiş bulunuyoruz. Oldukça teorik olduğunun farkındayım fakat şimdilik imkanlarımız ( vakit ve insan gücü ) bu kadar.
Daha sonra neler olur bilemeyiz elbet Nasip artık...
Hangi Yapay Zeka metodlarını, nasıl ne şekilde kullanabiliriz ?Aslında sorunun cevabı öyle bir çırpıda verilecek gibi değil elbet, yinede bir giriş yapmaya çalışacağız.
Yapay Sinir Ağları :
Sitemizdeki ilgili yazılar ve örneklerden görebelieceğiniz gibi YSA çok esnek bir YZ metodu. Sabit bir Giriş ve Çıkış değişkenleri şekline dönüştürülen hemen her probleme uygulanabilir. Tahmin edilecek değerin Kendisinden önce gelen değerlerle ilişkili olduğu kabulunü düşünürsek zaten basitçe bir uygulamada mümkün. Daha gelişkin bir sistem için geçmiş değerlerin yanında dış etkenlerin de giriş değerlerine eklemek gerekir.
Zeki Optimizasyon Tekniklerinden kastım arama tipi metodlar yani Genetik, Karınca Kolonisi, Parçacık Sürü optimizasyonları gibi. Bu metodların kullanımı ise ; tahmin edilecek değere ulaştıracak fonksiyon oluşturulması yada ( İstatistik veya Kaos teorisi kaynaklı ) Fonksiyonların parameterelerinin bulunması şeklinde olabilir mesela.
Bulanık Mantık ve Uzman sistemler :
Tahmin konusundaki Uzman insanların tecrübelerini Bulanık mantıkda kullanarak Modellenip Tahminler için kullanmakdan ibaret.
SVM ve benzeri Sınıflandırma Metodları :
Problemin Tahminden sınıflandırmaya dönüştürülmesiyle kullanılabilir. Mesela, "A" ürünün fiyatlarını tahmin etmek istemiş olalım. "A" nın bir "C " kadar zaman sonraki fiyatı şimdiki fiyatından"%b" kadar fazlaysa artmış,
"%b" kadar azalmışsa düşmüş
değilse sabit kalmış şeklinde
Bahsettiğimiz metodların dışında daha adını bile bilmediğimiz metodlarada ( mesela HMM geliyor aklıma ) bakmak gerekebilir. Hatta birlikte kullanımlarıda mümkün elbet. Sonuçda bütün bunlara uygulama ve uygulamadaki ulaşılan sonuçlara göre karar vermek gerekiyor...
Evet Bu yazı dizimiznden sonuna gelmiş bulunuyoruz. Oldukça teorik olduğunun farkındayım fakat şimdilik imkanlarımız ( vakit ve insan gücü ) bu kadar.
Daha sonra neler olur bilemeyiz elbet Nasip artık...
Pazar, Kasım 07, 2010
Zeki Tahmin Sistemleri ve İstatistik
Evet Zeki Tahmin Sistemi yazılarımıza devam ediyoruz. Bir önceki ZTS ve Kaos teorisi yazısından sonra konunun İstatistiki yönüne bakmaya çalışacağız. Bir sondan bir baştan gibi olacak ama ne yapalım. İsmimiyle müsemma olan bir blogdanda daha düzenli yazı beklemeyelim lütfen.
Tahmin Sistemleri ve Özelde Zaman Serisi tahmini için pek çok istatistiki çalışma yapılmış. Zaman serisinin belli bileşenlerden olduğu varsayımıyla bir modelleme yapılıyor. Bileşenlerine şöyle üstünkörü bakacak olursak
1) Tren Bileşeni - Genel Eğim - T : Değerlerin zaman içinde artma yada azalma eğilimi. Bu eğimin doğrusal olduğu gibi eğrisel - nonlineer - olmasıda mümkün pekala
2 ) Mevsimsel Bileşen M : Belli bir zaman periyodundaki iniş ve çıkışlar (dalgalanmalar ) Mesela Meyve sebze fiyatlarının Mevsime göre değişimi
3) Konjektürel Bileşen K : Periyodik olmayan fakat dögüsel olan değişimler. Mesela Bir ekonomik kriz durumunun bütün ekonomik göstergeleri etkileneip düşüşe geçmesi , sonrasında uygulanan tedbirlerle ve zamanla tekrar yükselişe geçmesi gibi
4) Rassal Bileşen R : Düzensiz, rastgele olan değişmeler.
Bu bileşenler ile yapılan modellemelerd iki alternatifimiz varmış.
yt = Zaman serisinin t zaman dönemindeki gözlem değerini,
Tt = Trend bileşeni’nin t zaman dönemindeki etkisini,
Mt = Mevsimsel bileşlenin t zaman dönemindeki etkisini,
Kt = Konjonktürel bileşenin t zaman dönemindeki etkisini,
Rt = Rassal bileşenin t zaman dönemindeki etkisini,
Bundan sonrası elimizdeki verilerle Bileşenlerin hesaplanıp geleceğe doğru tahminlerde kullanılmasından ibaret. Bileşenlerin ayrıştırılıp çıkraılması için de pek çok metod icad edilmiş.
Bütün bunlar aslında Klasik diyebileceğimiz metodlar. Dolaysıyla bizim ZTS için bu metodları doğrudan kullanmanın bir katkısı olmaz. Bence konuyu genel olarak bilip, bu istatistiki çalışmalardan ve Kaos teorisinden faydalanan Yapay Zeka Temelli bir sistem oluşturmak gerekir.
İyide, Hangi Yapay Zeka metodlarını, nasıl ne şekilde kullanabiliriz ?
İşin İçine İstatistiki klasik metodları ve de Kaos terorisini nerde ve nasıl katabiliriz ?
...
Tahmin Sistemleri ve Özelde Zaman Serisi tahmini için pek çok istatistiki çalışma yapılmış. Zaman serisinin belli bileşenlerden olduğu varsayımıyla bir modelleme yapılıyor. Bileşenlerine şöyle üstünkörü bakacak olursak
1) Tren Bileşeni - Genel Eğim - T : Değerlerin zaman içinde artma yada azalma eğilimi. Bu eğimin doğrusal olduğu gibi eğrisel - nonlineer - olmasıda mümkün pekala
2 ) Mevsimsel Bileşen M : Belli bir zaman periyodundaki iniş ve çıkışlar (dalgalanmalar ) Mesela Meyve sebze fiyatlarının Mevsime göre değişimi
3) Konjektürel Bileşen K : Periyodik olmayan fakat dögüsel olan değişimler. Mesela Bir ekonomik kriz durumunun bütün ekonomik göstergeleri etkileneip düşüşe geçmesi , sonrasında uygulanan tedbirlerle ve zamanla tekrar yükselişe geçmesi gibi
4) Rassal Bileşen R : Düzensiz, rastgele olan değişmeler.
Bu bileşenler ile yapılan modellemelerd iki alternatifimiz varmış.
Burada
- yt = Tt * Mt * Kt * Rt
- yt = Tt + Mt + Kt + Rt
yt = Zaman serisinin t zaman dönemindeki gözlem değerini,
Tt = Trend bileşeni’nin t zaman dönemindeki etkisini,
Mt = Mevsimsel bileşlenin t zaman dönemindeki etkisini,
Kt = Konjonktürel bileşenin t zaman dönemindeki etkisini,
Rt = Rassal bileşenin t zaman dönemindeki etkisini,
Bundan sonrası elimizdeki verilerle Bileşenlerin hesaplanıp geleceğe doğru tahminlerde kullanılmasından ibaret. Bileşenlerin ayrıştırılıp çıkraılması için de pek çok metod icad edilmiş.
Bütün bunlar aslında Klasik diyebileceğimiz metodlar. Dolaysıyla bizim ZTS için bu metodları doğrudan kullanmanın bir katkısı olmaz. Bence konuyu genel olarak bilip, bu istatistiki çalışmalardan ve Kaos teorisinden faydalanan Yapay Zeka Temelli bir sistem oluşturmak gerekir.
İyide, Hangi Yapay Zeka metodlarını, nasıl ne şekilde kullanabiliriz ?
İşin İçine İstatistiki klasik metodları ve de Kaos terorisini nerde ve nasıl katabiliriz ?
...
Kaydol:
Kayıtlar (Atom)












