Sayfalar

Cumartesi, Nisan 24, 2010

YSA ile Basit bir Zaman Serisi Analizi

Öncelikle tanım ile başlıyalım. " Zaman değişkeniyle ilişlkili bir değişken hakkında, elde edilen gözlem değerlerini zamana göre sıralanmış olarak gösteren serilere, “zaman serisi” denir." detaylı istatistiki açıklamalar için şuraya müracaat edin.

Bizim YSA ile analizinden kast ettiğimiz için  Zaman serisi üzerinde Yapay Sinir Ağları ile ileri ye doğru tahmin yürütmektir. Bunun için Öncelikle Zaman serisini dönüşrümemiz gerekiyor.  Dönüşüm için kullanacağımız varsayımımız da şöyle

"Zaman serisinde bir değer kendinden önce gelen değerlerle ilişkili ve dolayısıyla onlarla tahmin edilebilir"

Mesela Yarınki hava sıcaklığı geçen günlerdeki hava sıcaklıklarıyla İlişkilidir. Bu durumda YSA dizaynı için çıkış değişken saymızı belli zaman serimizin bir sonraki değeri. Giriş değerlerimizde önceki veriler.  Örneğimizde dönersek yarınki Hava sıcaklığı bugünki ile ilişkilidir. Bugünkü de dünküyle, dünkü önceki gündeki ilişkili olduğuna göre onlarda Yarınki hava sıcaklığıyla nispeten etkileri azalarakda olsa ilişkilidir. Burada bir seçim yapmamız lazım Giriş değerleri olarak kullanacağımız verileri ne kadar geriye götüreceğiz.  Onu seçince artık giriş değişken sayımızda belirlenmiş olur.
Mesela bunu 4 seçersek şöyel bir ilişki kurmuş oluruz



Bundan sonrası elimizdeki verileri bu ilişkiye göre hazırlayıp, Bir YSA dizayn edip eğitmek kalıyor. FannTool'un DataProcessing kısmıyla her satıra bir değer gelecek şekilde hazırladığınız verileri. yukarda bahsettiğimiz şekle kolayca sokabilirsiniz.

Basit bir örnek yaparsak, Şöyle bir Zaman Serimiz olsun








Bu verileri,  Çıkışı 1 girişini 9 olan bir YSA ile Modelleyelim. Eğtim aşamasından sonra. Test edelim ve Gerçek sonuçlarla YSA tahminlerinin uyuşmasını kontrol edelim










Grafikdende  göreceğiniz gibi YSA gayet de uygun tahminler vermiş. Peki Aynı YSA'yı kullanarak ileriye doğru tahmin yürütmeye devam edersek ne olur. Yani yarınki değeri YSA ile tahmin edip. sonra bu tahmini giriş gibi kullanıp ertesi günkü değeri hesaplasak

( T1 , T2 , T3 , T4) -> T5
( T2 , T3 , T4, T5 ) -> T6
( T3 , T4 , T5, T6 ) -> T7
...

Hemen FannToolu'muzun  "Run as TS"*  kısmını açıp kaç kere ileriye doğru çalıştıracağını belirtip, sonuçları  alıyoruz. Ve Grafiğimize tekrar bakıyoruz








Hiçde iç açıcı bir bir grafik değil.  Aslında metodumuzun pek çok eksiliği var. Fakat müekemmel diyebileceğimiz bir sistem bile kursak, tahminlerimizdeki hata payı ileriye doğru yayılıyor. Daha detaylı bilgi için Kelebek etkisi ve Kaos Teorisi  konularına bakabilirsiniz. Yok kim okuyacak onu ben filmini seyredeyim diyorsanız, boşuna Kelebek etkisi filimlerine bakmayın. Esas hala izlememişseniz Pi Filmini ** izleyin


Not :
*  Boşuna elinizdeki programda aramayın yakın zaman da yayınlamayı umuduğum versiyonda olacak İnşallah
**  Filminden bir parça
Restate my assumptions.
-One: Mathematics is the language of nature.
-Two: Everything around us can be represented and understood through numbers.
-Three: If you graph the numbers of any system, patterns emerge. Therefore, there are patterns everywhere in nature.
-Evidence: The cycling of disease epidemics,  the wax and wane of caribou populations, sun spot cycles, the rise and fall of the Nile.
So, what about the stock market? The universe of numbers that represents the global economy. Millions of hands at work, billions of minds. A vast network, screaming with life. An organism. A natural organism.
-My hypothesis: Within the stock market,|there is a pattern as well... Right in front of me, hiding behind the numbers. Always has been.

Pazar, Nisan 18, 2010

cvPreProcessor for OpenCv 2.1


Aslında bir yenilik yok. Zaten şu aralar pek de uğraşamıyorum. ama cvPreProcessor'u yayınladıktan sonra OpenCV 'nin 1.1 , 2.0 ve şimdide 2.1 versiyonları çıktı.
Şimdi cvPreProcessor'u kullanmak istiyenlere tekrar derleyi verin yada OpenCv 1.0 'ın dll lerini bulup yanına koyun demekde  pek şık olmuyordu.
Bende En azından windows kullanıcıları için, yanında dll leriyle sadece çalıştırılabilir bir halde yayınlıyorum.

İndirmek için  : cvPreProcessor for OpenCv 2.1
İşinize yaraması umuduyla

Cuma, Nisan 09, 2010

OpenCv 2.1 Çıktı

Evet OpenCv 2.1 sessiz sedasız yayınlandı, Haberdar edelim ve İlk izlenimlerimizi  söyleyelim dedik...

  • Pekçok bug temizlenmiş
  •  OpenMP yerine TBB koymuşlar ( bence malesef  Anlayabildiğim kadarıyla TBB nin iki lisansı var biri ticari 299 $ cık diğeri GPL v2. GPL'inde ticari kullanımı sıkıntılı. BSD gibi ticari uygulamaya uygun bir lisansa sahip olan OpenCv'ye bu haldeki TBB yi yamamak bence çok saçma olmuş. Pek tabiiki Intelin açısından bakılırsa gayet münasip de görünebilir.
  • autotools desteğinide  kaldırmış. Özellikle Linux için gayet kolay oluyordu, artık Linux da da CMake ile cebelleşmemiz lazım.
  • 64 bit derleme desteği geliştirilmiş.
  • Statik derleme imkanı sunulmuş. Gayet güzel  dll dertlerinden kurtuluruz bu sayede...
İlave Notlar  :
  • Statik derleme seçeneği hata veriyor ve build tamamlanamıyor hem VS Express hemde Code Blocks için denedim sonuç aynı
  • OpenCvSharp da OpenCv 2.1 için uygun paketini yayınladı

    Pazar, Nisan 04, 2010

    Yapay Zeka Tıbbın Hizmetinde 4 ( Acute Inflammations )


    FANN 'ın C# ile kullanımını göstermek için uygun bir fırsat bekliyorduk. Ve şimdi karşınızdayız
    Acute Inflammations veri setini kullandık. Veriler bir uzman sistem için oluşturulmuş ama biz YSA kullancağız.


    Konunun detayını aynen aktarıyorum. ( Zaten iyi olmayan ingilizcemle birde Hiç bilmediğim Tıp alınandaki yazıyı çevrime cüretini gösteremedim anlayacağınız )

    The main idea of this data set is to prepare the algorithm of the expert system, which will perform the presumptive diagnosis of two diseases of urinary system. It will be the example of diagnosing of the acute inflammations of urinary bladder and acute nephritises. For better understanding of the problem let us consider definitions of both diseases given by medics. Acute inflammation of urinary bladder is characterised by sudden occurrence of pains in the abdomen region and the urination in form of constant urine pushing, micturition pains and sometimes lack of urine keeping. Temperature of the body is rising, however most often not above 38C. The excreted urine is turbid and sometimes bloody. At proper treatment, symptoms decay usually within several days. However, there is inclination to returns. At persons with acute inflammation of urinary bladder, we should expect that the illness will turn into protracted form.

    Acute nephritis of renal pelvis origin occurs considerably more often at women than at men. It begins with sudden fever, which reaches, and sometimes exceeds 40C. The fever is accompanied by shivers and one- or both-side lumbar pains, which are sometimes very strong. Symptoms of acute inflammation of urinary bladder appear very often. Quite not infrequently there are nausea and vomiting and spread pains of whole abdomen.  The data was created by a medical expert as a data set to test the expert system, which will perform the presumptive diagnosis of two diseases of urinary system. The basis for rules detection was Rough Sets Theory. Each instance represents an potential patient
    Attribute Information:

    a1 Temperature of patient { 35C-42C }
    a2 Occurrence of nausea { yes, no }
    a3 Lumbar pain { yes, no }
    a4 Urine pushing (continuous need for urination) { yes, no }
    a5 Micturition pains { yes, no }
    a6 Burning of urethra, itch, swelling of urethra outlet { yes, no }
    d1 decision: Inflammation of urinary bladder { yes, no }
    d2 decision: Nephritis of renal pelvis origin { yes, no }


     Yapılan işlem diğerlerinden farklı değil aslında. Yinede soracağınız bir şey olursa biz buralardayız. YSA eğitimi için yine FannTool 'u kullandık. ve sonuçda Eğitilen YSA oldukça iyi oldu. Başarısı hem test hemde Eğtim verileri için % 100.

    C# kısmında Basit bir GUI tasarlayıp Giriş değerlerini Kullanıcadan alıp Eğitilmiş YSA'yı bu giriş değerleriyle çalıştırmak. Ve tabii ki sonuçlarıda göstermek.


    Indirmek için :   Acute_Inflammations

    Not :
    • Artık Ben C# kullanıyorum FANN'ı nasıl kullanabilirim ? sorusununda cevabını vermiş oluyoruz. 
    • Böyle el alemin yayınladığı veriler yerine Sizin verilerinizide  kullanılabilir, Mümkün mertebe yardımcı olmaya çalışırız duyrulur...
    • "Yapay Zeka Tıbbın Hizmetinde" serisinin önceki yazıları 1 2 3

    Pazar, Mart 14, 2010

    Yazılım Atölyesi Ankara'da Mart ayı etkinliği

    Yazılım Atölyesi Ankara'da Mart ayı etkinliğine katılmak için dün yollara düştük.  Önce Kızılayda Otobüs durağında Hüseyin ile karşılaştık. Kendisi cıva gibi, genç ve cevval bir arkadaş, e-devlet kesmemiş birde buralara gelmiş sağ olsun. ( Geçen sefer bizim verdiğimiz sunumdan kaçmak için şehir dışına kaçmasını unutmadık bir kenara ilerde aleyhinde delil olarak kullanılmak üzre yazıldı )  Neyse efendim otobüs yolculuğu sırasında arkadaş cevvaliyetinden yerinde duramadı ve atlayı verdi, ve tabii ki bende peşinden  ne de olsa yoldaşını yarı yolda bırakmak olmaz. Neyse geri kalan yolu yayan tamamlayıp, etkinliğin yapılacağı yere vasıl olduk.

    Etkinliğe vardığımızda Ahmet Alp kardeşin  başkanılığınıda (TBD Genç )  görmüş olduk. Sağa sola kükrüyordu. mesela "Tiz standa dön" diye kızcağızlara fırça attığına şahidiz. Normal karşıladık nede olsa organizasyonu çevirmeye uğraşıyordu. Oragnizasyona katılımının çokluğu , bu işi kotardığını gösteriyordu.

    Vakit tamam olunca öncelikle sahneye Hamdi Kavak çıktı. Bize n-tier olamayan  “Katmanlı Yazılım Mimarisi” üzerine bir şeyler anlatmaya çalıştı. Öyle eskisi gibi gecekondu tipi ( yada hala benim yaptığım gibi ) yazılım kabul edilimiyormuş. İlla bir mimari proje neyin çiziktirmek gerekiyormuş. Konuşma sonundaki sorudan hazirunun konudan ne kadar haberdar olduğunuda anlamış bulunduk.

    Sonraki konuşma daha çok TBD ve TBD Genç Reklamları  mesabesindeydi. TBD de olacak kadar kelli felli ve bilişimde iş güç sahabısı olmadığımızdan, Gençde olmadığımızdan pek ilgimizi çekmedi. Zaten konunun sonunda vakti zemanında TBD genç kurucu başkanına söz veriiince iş iyice sarpa sardı. Bu arkadaş TBD genç de koşturmak yerine kendiniz yetiştirmeğe bakın, diyecekken ana konuya zıt düşmemek için lafı biraz çevirerek vaziyeti kurtardı.

    Sonraki konuşma Ahmet Akdağ tarafında  "Yazılım Geliştirme Süreçleri: Agile Modeling" .  Bu arkadaşda  "Müşteri her zaman haklıdır" düsturunun ingilizcesinden bahsetti. Yazılımı bu düsturla yaparsak daha bir başarılı ve kaliteli oluyormuş. Ben bazı sorularımla kısmen konuşmayı sabote etmeğe çalışsamda. Ortam ve vakit pek müsait değildi, kısmet. 

    Etkinlik sonunda, o kadar kişi önünde yapılmış sunumlarla meşhur olmuş arkadaşlardan, imza istekleriyle olması muhtemel  izdihamı önlemek adına,  Adımıza imzalanmış kağıtlar dağıtıldı. (Başkanın organizasyon dehasını gösteren bir örnek daha )

    Etkinlik arası tenefüssler ve çay, kahve  ikramı ben içmemiş olsamda iyi oluyor. Ama yine not ediyorum 3 konuşma fazla geliyor, Organizatörlere duyrulur.


    Bir dahaki  etkinlikte görüşmek üzre

    Çarşamba, Şubat 24, 2010

    Bir Ömür Harab Oldu...


    Dertliyim ruhuma hicranımı sardım da yine
    İnlerim, şimdi uzaklarda solan gün gibiyim
    Gecenin rengini kattım içimin matemine
    Sönen ümit ile günden güne ölgün gibiyim
    ...
    Üstteki resim Sedef Taylan Ceylan isimli bir öğretmenimizin eseri. 
    Sözler ise Güftesi Vecdi Bingöle bestesi Sadettin Kaynağ'a ait olan Meşhur  "Üzgünüm Leyla"  dan.
    Sönen ümit ile günden güne ölgün olan ise benim...

    Pazar, Şubat 21, 2010

    Yazılım Atölyesi 2 ( Handwritten Digit Recognation )

    Ankara Yazılımcıları'nın düzenlediği Yazılım Atölyesinin ikincisini dün TOBB ETÜ de yaptık. Konusu Yapay Sinir Ağlarıydı. YSA teorik kısmı üzerine olan sunumu Ahmet yaptı uygulama kısmı ise bize düşmüştü.


    YSA uygulaması için konu olarak Elyazısı Rakam Tanıma yı seçtik. Veriler hazır aldık  "Semeion Handwritten Digit Data Set" 'i kullandık. Bir de program yazdık


    Program C++ ile yazıldı Fakat FANN kütüphanesini ve eğitilmiş YSA yı kullanarak başka bir dildede yazabilirsiniz. Kendi eğittiğiniz YSAyı, yada Veri dosyasını deneme imkanına sahipsiniz.

    File->Load ANN
    File->Load Test File

     Clear ile Matrisi temizleyip kendi çizeceğiniz karekteride okutabilirsiniz

    Sunumu dosyasını ve kodu indirmek için : Download

    Pazar, Şubat 07, 2010

    Bulanık mantıkla Inverted Pendulum kontrolü

     

    Inverted Pendulum -Ters Sarkaç- dedikleri sistemin   Uzun yıllar kontrol teorileri için ilginç bir araştırma konusu olmuşmuş. Ben söyleyenlerin yalancısıyım. Lafı uzatmayalım M.Ali Akcayol'un "Klasik Bulanık Mantık Denetleyici Problemi  Inverted Pendulum" dökümanındaki açıklamalar esas alınarak hazırlanmış bir program yazdık. 


     

    Programlama dili C#.  Bulanık mantık işleri için yazılmış, açık kaynak kodlu LGPL lisansına sahip güzel bir kütüphane olan DotFuzzy kullandık. Ekranda gördüğününüz grafik için de ZedGraph bileşeni kullanıldı. Bu bileşende LGPL lisansına sahip açık kaynak kodlu bir proje. 

    Program  "Inverted_Pendulum1.xml" ve "Inverted_Pendulum2.xml"  dosyalarındaki Bulanık mantık sisteminin kayıtlarını kullanarak sistemi çalışmasını gösteriyor. Modeli değiştirmek içim Load Model ile ilgili dosyayı seçip yüklemeniz yeterli. 
    Ben de değişik bir model hazırlayım diyorsanız; Programın  "InitFuzzySystem()" kısmında Model tanımlamalarının Nasıl yapılacağınıda görebilirsiniz.  Detaylar için Yukarda linkini verdiğimiz dökümana mürcaat edin.
    İndirmek için  (Download) : IPendulum
    Her zaman dediğimiz gibi Analaşılmayan bir yerler varsa biz buralardayız danışabilirsiniz

    Pazar, Ocak 31, 2010

    Plaka Okuma II

    Öncelikle tekrar  Plaka Okuma  yazımıza göz atmanızda fayda var

    Evet İlk yazımızda belirttiğimiz gibi. Bu tip bir uygulma için elimizde örnek verilerin olması lazım. Bizim öyle bir imkanımız malesef yoktu. Bizde JavaANPR de kullanılan verileri alıp onlar üzerinden bir şeyler hazırlamaya çalıştık. 

    Bu veriler ilk aşama için yeterli olsada diğer aşamalar için yetersizdi. mesela Karakter tanıma için ; plakada geçen her harf ve rakam için yeteri sayıda örnek görüntü lazım. Bu durumda işin kolayına kaçıp bulunan plakayı okuması için Optik Karakter Tanyıcı (OCR) programına havale ettik.Pek tabikii bu durumda sistemin başarısı OCR nin başarısına bağlı kaldı... 

    Sonuç olarak Otomatik Plaka Okuyucu Sistemi dediğimiz program ortaya çıktı.


    Programa aslında C++ ile başlamış olsamda. bur aralar C# pekiştirdiğimizden  C# ile tekrar yazıldı ve tamamlandı. İsmi de bu yüzden OPOSSharp oldu. Pek Tabii ki OpenCvSharp kullanıldı. OCR programı olarak GOCR kullanıldı.
    Üzerinde çalışmaya devam etmek gibi bir niyetim yok. Eğer böyle bir niyetim olsaydı ayrı bir proje sayfası açardık.  Unutmadan kodların lisansı GPL ve Projeye devam etmek isteyenler olursa da yardımcı olmaya çalışırız.

    Download : İndirmek için

    Cumartesi, Ocak 23, 2010

    Histogram of oriented gradient object detection

    Nesne tespiti için pek çok metod var. Mesela yüz bulma için OpenCv de HaarCascade metodu kullanılıyor. OpenCv 2.0 ile birlikte Histogram of oriented gradient object detection  yani HOG de eklendi. Örnek programlarda "peopledetect.cpp" dosyasınında kullanımını görebilirsiniz.

    Biz C# ve OpenCvSharp ile bir örnek hazırladık. Bu örnekde hem Hog kullanımını hemde Video dosyasınından görüntü çekmeyi göreceksiniz. Hog 'un şu andaki performansını pek de beğenmedim ama daha iyi  "HOGDescriptor" kullanılarak belkide daha iyi sonuçlara ulaşılabilir. Konuyla ilgili daha teferruatlı bilgi için
    Object Detection Using opencv - Integral Histogram for fast Calculation of HOG Features I  II III

    İndirmek için :  HogObjectDetection

    Not : Resimdeki görüntü Sezai Karakoç'un Mona Roza şiirinin Sacit Onanın okuyuşundan. Yoksa siz hala dinlemediniz mi ? ne ayıp...

    Pazar, Ocak 17, 2010

    Ankara Yazılımcılar Workshop'u 1

    Dün duyrusunu yaptığımız aktiviteye katıldım. 
    Kısaca yapılanlardan bahsedeyim program biraz gecikmeyle başladı
    Önce Yasin Okumuş dan "Azıcık Ucundan Spring" konusunda bir şeyler dinledik. Sonrasında Hüseyin Mert den "0auth'ta giriş"başlığı altında 0auth'un meziyetlerini dinledik. Varılan nihayi nokta ; eğer yaygınlaşırsa kullanıcıların başına bayağı bir bela olacak. Son olarak da Mustafa Dalcı dan "Kullanılabilirlik Sunumu" dinledik. İlgimi çeken şey Web sitesine girildiğinde gözlerin nereye baktıklarını çıkarmışlar. ve ona göre önerilerde ve çıkarımlarda  bulunuyorlar. 

    Neyse Sonuç olarak Yazılımcıları çoğunun  web-programlama üzerine çalışdığını anlamış oldum. Ben amatör olduğumda olsa gerek konular genelde ilgimi çekmiyor, sadece Kullanıcı göz hareketlerininin YSA ile modellenebileceği aklıma geldi. yani mesela Web sayfasının görütüsünü veriyorsunuz size nerelerin dikkat çektiğini veriyor neden olmasın.

    Program sonrası gençler  Çatıya çıkalım dediler! Ben ihtiyar adamım çatılarda işimne düşerim felan diye gitmedim. Hem zaten kaçmak üzre olan büyük bir davet vardı ona yetiştim...

    Bir dahaki sefer için önerilerime gelirsek;
    • 3 sunum fazla geliyor 2 sunum daha mantıklı
    • Sunumlar arası biraz tenffüs de iyi gider gibi
    • Tanışma faslı konulabilir. İnsanların çoğu bir birini tanıyordu belkide bu yüzden gerek duymadılar sanırım
     Organize edenelere Sunumları yapanlara teşekkürler...

    Cumartesi, Ocak 16, 2010

    Ordan Burdan Haberler

    Aslında uzun uzun yazmak istediğim ama fırsat bulamadığım haberler var. En iyisi kısa kısa duyurmak yoksa unutup gideceğim.
    • FLTK nın 1.10 kararlı sürümü yayınlandı. FLTK 1.3 ise son sürat gelişmesine devam ediyor ( erconun bileşenleri  -widget-  eklendi mesela  Fl_Native_File_Chooser, Fl_Table, ve Fl_Tree_View.)
    •  Artık güzide memleketimde FLTK konusunda yalnız değilim. Ufuk Şanlı kardeşimiz bu konuda çalışmalar yapıyor. Hatta yeni bir FLTK bileşeni (widget) de yazdı  spriteBox 1 2 ( naçizane ismini Fl_Sprite_Box olmasını buradan öneriyoruz biraz daha standart FLTK notasyonuna benzesin diye )
    • Dünyanın seçkin üniversitelerinde ders dinleme imkanına sahibiz artık www.academicearth.org daha öncede benzeri bir siteden bahsetmiştik faka bu sitenin güzel tarafı dersleri indirme imkanını tanıması  darısı memleketimizin seçkin üniversitelerinin başına

    • OpenCv nin geliştiricilerinden Gary Bradski Willow Garage da staj için duyuru yaptı aynen aktarıyoruz belki birilerine faydası dokunur
      We (Willow Garage http://www.willowgarage.com a robotics institute/incubator) can use an intern in 3D model capture.

      That is: using silhouettes to capture an object and combine that with structure from motion and stereo clues to create 3D object meshes out of objects. Pay is good, free food, great location, work with robots, sensors -- you can best summarize Willow as: Fun. Papers will be written, hard work but good times, see examples at http://www.willowgarage.com/pages/community/interns-and-visiting-scholars .

      Who:
      US, or US work visa is easiest. For more exceptional people who can stay longer than 3 months, we'll deal with helping obtain a work visa. This is an internship which means you are enrolled in some school. We might also consider doing this with a consulting arrangement for non-students, but at Intern rates. For real exceptional situations, work in place may be possible and/or student grants to fund work in place.

      Timing:
      Winter, Spring, Fall. Summer is very full here already with interns. Exception: Come in Spring and stay through the Summer.

      Requirements:
      MUST:
      You must be a seasoned programmer in C++. There is no time for learning curves, we work with robots and fairly complex systems.
      You must have a good understanding of geometric vision. Calibration, homography, structure from motion.
      PLUS:
      Computer graphics a big plus
      Experience in optimization, CUDA etc also a plus.
      Experience working with robots is a plus.

      If you meet the "MUST" above, send application to jobs@willowgarage.com Put in the title: "Intern: 3D Model Capture"


    şimdilik bu kadar.

    Pazartesi, Ocak 11, 2010

    Yüz Nitelik Seçici



    Bu programımız ile verilen resimdeki yüzler OpenCv nin haarcascade detectorleriyle tespit edilip standart ebata ( bu programda 64x64 ) çevriliyor sonrasında yüz niteliklerinin koordinatlarını seçip kaydediyoruz.
    Bu koordinatlar İlerde bize "Göz Bulma" türü programlar  hazırlamamız için  gereken verileri sağlayacak. Bu konuda çalışma yapanlara bir faydası dokunur belki. Hatta biraz daha üzerinde çalışılsa daha genel bir Nitelik işaretleme programı olabilir.

    Bu aralar C# pekiştirmeye çalıştığımızdan programımızda C# da yazıldı. Pek tabiiki OpenCVSharp kütüphanesi kullanıldı

    İndirmek için :

    Çarşamba, Ocak 06, 2010

    YSA METODU İLE KALIP İŞLERİNDE BİR VERİMLİLİK VE ADAM-SAAT TAHMİNİ MODELİ

    ÖZET

    1980’li yılların başından itibaren mühendislikte artarak uygulama alanı bulan yapay sinir ağları yöntemi, temelinde insan beyninin çalışma ilkelerini taklite derek çalışan bir problem çözümleme yöntemidir. Yöntemin en önemli özelliği  gerçek veriler ile kurulan modelin eğitilmesi ve eğitilmiş olan modelin yeni veriler için sonuç üretebilmesidir. Bu bağlamda kurulan model sürekli olarak yeni veriler ile sürekli kendini yenileyebilmesidir. Diğer bir deyişle model sürekli öğrenerek kendini geliştirebilmektedir. Bu çalışmada, bina türü projelerde kaba yapı maliyetleri içerisinde önemli yer tutan kalıp işlerine ait adam-saat ve verimlilik değerlerinin sağlıklı tahmini amacıyla yapay sinir ağları yöntemi ile bir karar destek sistemi oluşturulması hedeflenmiştir. Bu amaçla çalışmanın ilk aşamasında bir yapay sinir ağı oluşturulmuştur. Bu aşamanın en önemli kısmı girdi ve çıktı değişkenlerinin tespitidir. İkinci aşamada oluşturulan bu ağ elde mevcut bulunan üstyapı projelerine ait kalıp puantajları eğitilmiştir. Üçüncü ve son aşamada ise modelin sağlıklı çalışıp çalışmadığı farklı projelerden elde edilen veriler ile test edilmiştir.
    ABSTRACT

    With the growing amount of applications through the engineering processes since the early 1980, “Artificial Neural Networks” method is a problem solving technique which runs by imitating the basic working principles of a human brain. The most important feature of this method is the training of the model,  which is created by the using of current real data values, therefore the corresponding trained model is able to produce consequences (outputs) according to the given new data values. The model that is created by such a technique can therefore update itself according to the new data sequences. In other words, the model can develop itselft via a continuously learning procedure. In this study; it is aimed to obtain a reliable decision back-up system which demonstrates reliable output values for the man-hour and efficiency analysis of a moulding operation, which takes an important part within the rough construction costs. For that purpose, an artificial neural network has been constructed at the first section of the study. The most important part of this section is the determination of the input and output variables. At the second section, the constructed network is trained with respect to the “moulding puantajları” that belong to the current up-structure projects. At the third stage, the reliability of the model has been checked according to the data values that are obtained from the different projects.

    Murat SÖNMEZ

    Not :  Konunun bizi ilgilendiren kısmı YSA uyglama kısmında FannTool'un kullanılmış olmasıdır. Sağolsun Murat bey bize tezini gönderdi ve yayınlamamız için izin verdi
    İndirmek için:  Murat SÖNMEZ Tez

    Cuma, Ocak 01, 2010

    2009 Muhasebesi



    Geçen seneye nazaran ziyaretçi sayımızda epey bir artış var. Fakat yayınlanan yazı sayısında düşüş var  Bu düşüşün başlıca sebebide 1 aylık Necefli Maşrapa gösterisi...

    İlk olarak bulanık mantık ile başlamışız

    Çoğunlukla  hali hazırdaki projelerimiz üzerinde çalışmalar yapmışız

    FannTool  :
    FannTool'un 1.0 versiyonu çıkarılmış ve FannTool kullanımına dair yazılar yazılmış
    OpenCv : En çok ilgi gören çalışmalarımızın bu alanda olduğu  görünüyor



    C# / .Net :

    Bütün bunlar yetmiyormuş gibi bir sebepten C# a da başladık bu arada birkaç örnek programda yayınladık

    Unutmadan Bu sene bazı ilker daha oldu ;
    • Önce ufak bir yardımım olan birisi Sağolsun tezi bitince yolladı ve kendi siitesini açana kadar biz yayınladık
    • Okurlarımızdan birinin yazısını yayınladık
    Bu senede benzeri katılımlarınızı bekliyoruz...

    ...
    İşte Koca seneyi böyle geçirmişiz. 
    Peki acaba bu sene neler yapmak lazım nelere ağırlık vermek lazım ?
    önerilerinizi bekleriz

    Perşembe, Aralık 24, 2009

    ITK Örneği DicomViewer



    ITK da neymiş diyenleriniz olabilir Tıbbi görüntü İşleme ve ITK yazımıza bakabilirler. O yazıda basit bir örnek hazırlama niyetinde olduğumuzu söylemiştik. Nasip bu güneymiş.

    C# içinde ITK kullanabilmek için ManagedITK ya ihtiyacımız var.
    Öyle güçlü bir dökümantasyonu yok malesef
    ManagedITK article ile yetinmeniz lazım
    Derlenmiş kütüphaneyi indirin ve ilgili dll' leri referansa ekleyin

    DICOM (Digital Imaging and Communications in Medicine) değişik cihazlardan elde edilen medikal görüntülerin formatıdır.  Programımızda  basit bir Dicom Göstericisi
    Daha Teferruatlı gösterici için VTK ilede uğraşmak gerekiyor...
    İndirmek için : DicomViewer

    Cumartesi, Aralık 12, 2009

    RSS ile Çalıntılama

    Epey bir süredir burada yazılar yazmaktayız. Bu yazılardan maddi bir beklentim yok. Ama pek çok reklam içerisinde ve hiç de tasvip etmediğim bir ortamda izinsiz ve bağlantı verilmeksizin, yazılarımın Çalınması hoşuma gitmiyor.  Bu  daha önce de başıma gelmişti e-maill ile halletmiştim yine aynı metodu uyguladım ;Çalıntılama yapan sitenin sahibine  whois çekerek bilgilerini aldım  (sitesine koymamış ne hikmetse )
        Orhan Yasar Celik (saykorhan@gmail.com)
        isiklar1apt 34/24 kozyatagi istanbul
        ISTANBUL
        Tel. +90.2163623956
    burdaki e-mail adesiyle ulaşmaya çalıştım. Yazdığım maile karşılık

    Delivery to the following recipient failed permanently:
    saykorhan@gmail.com
    Technical details of permanent failure:
    Account disabled

    cevabını aldım
    Sonra o sitedeki Adsense reklamlardan "Google reklamları " kısmına tıklayınca açılan
    "Google Yardımı › AdSense Yardım › Destek Ekibine Ulaşarak "  sayfasından
    "Biraz önce gördüðünüz site veya reklamlarla ilgili politika ihlalini bildirin" kısmına tıklayıp
    sorun konusu web sitesi seçeneğini işaretleyip
    "Bu site, iznim olmaksızın, telif hakkıyla korunan içeriğimi barındırıyor veya dağıtıyor."
    seçeneği ile e-mail adresimi vererek ve sayfanın orjinalinin linkiyle şikayette bulundum bir kaç kez
    ama Google adsense dende bana cevap gelmedi pek umurlarında değil sanki
    bütün bunların üstüne
    Eğer yazılarınızın dolaşmasını istiyorsanız rss nizi açarsınız, istemiyorsanız kapatırsınız.
    Blog, insanların yazı yazdığı dolayısıyla paylaşım yapılan biryerdir, benim sitem ise, farklı blogları sizlere burada tanıtmakta ve yazılarının RSS kısmını göstermektedir.
    Yazılarını çaldığımı söyleyen insanlar ; bilmelidirki, rss lerini açarak, bu yazıların burada yayınlanmasını kendileri bizzat istediklerini göstermektedir. Ortada işlenen bir suç vs. yoktur.


    yazma  pişkinliğini gösterdi...
    Neyse lafı uzatmayalım işin detayını "Bir Blog Hırsızlığının Anatomisi" yazısından öğrenebilirsiniz.Sonuç olarak blogun RSS desteği kaldırmak zorunda kaldım ve Telif hakkı kısmı koydum. Sitede yayınladığım Programlar için aksi belirtilmediği sürece lisansları GPL dir.
    .
    Not : RSS desteğini kaldırdığım halde eski bir yazımı yine araklamış ne yapsak bilmem ki   :(

    Yeni Not  :  Şu an itibarıyla ilgili site çeşitli gayretler sonucu kapattırılmıştır...

    C# ile OpenCv kullanmak

    C# ile daha doğrusu .Net in dillerinden biriyle OpenCv kütüphanesine ulaşmanız mümkün. Bu iş için yazılmış .Net kütüphanelerini hızlıca  tanıyalım

    • SharperCV :  Uzun süredir güncellenmiyor lisansı kötü
    • OpenCVDotNet : Managed c++ ile hazırlanmış, uzun süredir güncellenmiyor, lisansıda GPL
    • The OpenCV Wrapper Project : Yapı olarak aslında OpenCv ye oldukça uyumlu düşünülmüş son güncelleme Mayıs 2009 yani güncel sayılır. Fakat  "We don't allow to use the wrapper for commercial purposes. This includes reselling wether in the original or modified form (sources or binaries) or using in commercial projects." diyen çok kötü bir lisansa sahip
    •  Emgu Cv :  c# ile yazılmış ve mono ile de derlenebildiğinden cross-platform , lisansı GPL yada ticari olabiliyor tek kullanıcı için 199 $ fiyat biçmişler "If you are upgrading, you save 50% off the license fee." gibi cabası da var ve belkide ticari yanı olması sebebiyle  en profesyöneli
    • OpenCvSharp :  C# ile yazılmış ve oldukça güncel ve ticari kullanım içinde gayet uygun LGPL lisansına sahip Mono ile de kullanılabiliyormuş yani cross-platform. Bizim tavsiye ve tercih ettiğimiz kütüphane de bu.




    Gelelim Örneğimize  Web Kamera dan Görüntü alıp onun üzerinde basit işlemler uygulayan ve avi olarak kaydedebilen küçük bir programcık.
    IDE olarak Visual C# 2008 Express kullanıldı
    Derlemek için OpenCvSharp OpenCv 2.0 için olan versiyonu kullanıldı

    Indirmek için burdan buyrun  :  Effects

    Cuma, Aralık 04, 2009

    Text Generator



    ısırmış ve, “Al bak harika!” diyerek uzatmış, küçük oğlana gelmiş. Elindeki ışığı kızın ana-babasına yollamış. Onları karşısında görünce hemen ormana varmışlar. Ormanda bir ülkeye gitmiş. Tavukla horozun parlak ışıklar sızan son gemiden ona acımışlar ve sert geçmiş. Çirkin Ördek, ama prense dönüşmüş. "Korkma, " En altta eşek, köpek eşeğe. " diye düşünmüş Güzel. “Seninle evlenmek zorunda bırakmışlar. Küçük oğlan hemen bir daha fazla bir kucak dolusu güzel bir çocukmuş. Sabah gözlerini açmış sanki. Her yer istemiş. Ak sakallı adam kıza dönerek "burada her rastgeldiği insana, “Bu taraftan gelin,” demiş. Dışarı çıkmış; arpa getirerek tavukla horozun önüne serpmiş. İneğe de öğle yemeğimi büyük ve bir süre sonra her şeyden bol bol var! Haydi merdivenden yukarı çıkmış. Güzel tavukla horozun önüne serpmiş. İneğe de soğukmuş. Şimşekler çakıyor, rüzgâr yerden çıkıp gitmişti... Herhalde dosdoğru yoluna oğul, ben Çirkin Ördek’in tam mı yitireyim?” demiş. "Bir kese altının çalıntı olduğuna karar vermiş, üçünü de dillerde yankılanmış. 
     İlk C# örneğimizi yayınlıyoruz. Bir ilk de örneğin alanı -ucundan kıyıcığından bir örnek sayılır belki - Doğal Dil İşleme ( Natural Language Processing).

    Yapılan işlem pek de karmaşık değil.Kendisine verdiğimiz yazıları kelime çiftlerine ayırıp peş peşe gelme sayılarını tutuyor. ve  Yazı üreteceği zaman bir kelimeden diğerine peş peşe gelme sıklığını  kullanarak seçiyor.sonuçtada yukardaki gibi yazılar çıkıyor.Başlangıç verileri için İnternetten bulduğum masalları ekledim.


    İndirmek için : TextGen

    Çarşamba, Aralık 02, 2009

    Bizden Haberler

    Necefli Maşrapa ile ara verdik Bu da geçer Ya Hu ile döndük şükür...

    Ekonomik krizin etkisiyle azalan işler, azalan çalışma saatleriyle devam ediyor. Bütün bunların üstüne ücretsiz izinler ve olan işinide kaybetme psikolojisindeki patronlarla muhatap olmak gibi sıkıntılar içindeyiz.

    Bu artan sıkıntılarımızdan ve boş vaktimizden haberdar bazı dostların   " Bırak bu entel dantel işleride .Net öğren piyasanın %70'i bunu istiyor artık. olurda işsiz kalırsan işine yarar" mealindeki nasihatlarına uyup C# öğrenmeye başladım.

    C  / C++ bilen biri olarak pekde zorlanmadım. Pek çok özelliği aynı. Programlama ortamı da bana (Toprağı bol olsun ! ) bizim CBuilderı hatırlattı.  Yabancılık çekmedim kısacası. Tuhaf buluğum taraflarıda oldu tabii
    • printf yerine paskalvari writeline kullanmışlar en kötüsüde güzelim format sitilini değiştirmişler
    • Referans ve Değer kullanımını aynı şekilde yapmışlar.
    • Fonksiyon pointerlar yerine Delegate denen bir şey varki evlere şenlik
    • Dilin özelliklerinin sürekli değişmeside hoşuma gitmedi Başlangıçta beğenilen sistemlerin özelliklerinin alınması iyi bir şey ama bu nun süerkli hale gelmesi hiç hoş değil bence. Ben şahsen Dilin kurallarının biraz durağan olması taraftarıyım. zırt pırt değişmesi hoş değil.
    • FLTK ya alışmış biri olara bir kamyon DLL ile bağlı program yazmak tuhaf geliyor.
    işin güzel olan tarafı Pek çok Kütüphanenin eşleniği yada .Net wrapper'ı var. Alıştığımız kütüpanelerden feragat etmemiş olacağız yani. Üstelik Microsoftun şimdilik göz yumduğu Mono sayesinde Cross-Platform uygulama geliştirmeniz mümkün. Sözün kısası  C / C ++ dan vazgeçmedik ama Pekiştirmek için bir süre C# ile yazılmış örnek programlar görürseniz şaşırmayın.

    Gelelim ikinci haberimize.  FannTool'un kullanım kılavuzunun İngilizce versiyonu çıktı. Sağ olsun  Dr. Michael Schaale yardımcı oldu. indirmek için FannTool Users Guide laf aramızda Türkçesinden de daha derli toplu oldu.FannTool  için yardım istediğimizide bu vesileyle duyurmuş olalım. Kimbilir belki sesimizi Türkiyeden de duyan olur...