Ana Sayfa Dersler Programlar Projeler Öz Geçmiş
Yazdığım Programlar Fizik Programlarım

 

 

ArchiveGuard
CharacTeReC
ZıPlat
SayfaJı
3D Satranç
Fizmen
Robokol
Küresel Harmonikler
Bessel Fonksiyonları
WebGezGini
SayısalLoto
Atışlar

 

 

GÖRÜNTÜ TANIMA PROGRAMI

Bu program iki boyutlu 3x5 pixel boyutundaki resimleri ( karakterleri ) tanımak için yapılmıştır. Programlamasında “ Hopfield Networks algoritması kullanılıp maksimum 25 adet görüntüyü hafızasında tutabilir . Bozuk bir görüntü programa tanıması için girildiğinde hafızasında bulunan görüntülerden en yakın olanına bu bozuk görüntüyü benzetebilir.

 

Program ilk çalıştırıldığında karşımıza aşağıdaki gibi bir pencere çıkacaktır.


image002.jpg - 31159 Bytes


“Store Pattern ” başlığı altında bulunan  boş alan ;  programın hafızasına yerleştirmek istediğimiz resimleri yani karakterleri çizeceğimiz alan

 

·          Convert To Matrix ” tuşu ; çizilen resmin matrise çevrilmesini sağlar .

 

·          Clear Pattern ” tuşu ; üstündeki alan içinde çizilen hatalı resmi temizler .

 

·          Store Pattern ” tuşu ; çizdiğimiz karakter resmini networke ( hafızaya ) depolar

 

·          Total Weight Matrix ” tuşu ; çizdiğimiz şeklin weight matrisini ve o ana kadar kafızasında bulunan şekillerin toplam weight matrislerini hesaplayıp altındaki alanda gösterir .

 

·          Define Random Nodes ” tuşu ; programın nodları update etme sırasını random olarak belirler .

 

·          Recognize ” tuşu ; tüm depolama işleri bittikten , tanınmasını beklediğimiz bozuk şekilde New Pattern başlığının altındaki boş alana çizilip matris formuna çevrildikten sonra vede random nodlar belirlendikten sonra tanıma işlemine başlar. Kırmızı renkte STOP uyarısı görünenedek bu tuşa tıklanması gerekir. Her tıklamada girilen bozuk şeklin network tarafından o zaman anında ne gibi bi şekle benzetildiği Recognize tuşunun solundaki alanda görülebilir.

 

 

 

Şimdi adım adım networkümüze F , T , E , C , L , H  gibi 6 adet karakter depolayalım ve daha sonrada bozuk bir resim girdisi vererek bunu neye benzeteceğine bakalım.


image004.jpg - 33106 Bytes

 

 

F harfini çizdikten sonra sırasıyla Convert to Matrix , Store Pattern , Total Weight Matrix tuşlarına basarak resmi matrise çevirip  ,  depolayıp , toplam weight matrisi bulduruyoruz

Yukarıdaki resimdede görüldüğü gibi çizdiğimiz F harfinin matrix formundaki ifadesi Convert To Matrix tuşuna basılınca hemen altında bulunan 15 adet kutucuğun içinde beliriyor. Ve daha önce etkin konumunda olmayan Store Pattern tuşu etkinleşip bu şeklin artık depolanabileceğini bize belirtiyor. Şekil depolandıktan sonra Total Weight Matrix tuşu etkinleşir. Tıklandığındada bu F şekline ait matris hesaplanır .

 

Şimdi T harfini networkümüzün hafızasına depolayalım. Bunun içinde aynı F de yaptığımız adımları izliyoruz. Total Weight Matrix tuşuna basıldığındada programımız  F ve T harflerinin toplam matris sonucunu hesaplayıp bize gösteriyor. Ve T harfinin matris formundaki ifadesi Stored Patterns başlığının altındaki alanda depolanıyor.



Şimdide 3. harfimiz olan E harfini depolayalım. Gene aynı adımları izliyoruz ve depolama işlemini gercekleştiriyoruz.



Yukardada görüldüğü gibi depolanan şekillere ait Weight matrisimiz git gide büyüyor.


Şimdide C harfini depolayalım.





5. ve 6. harflerimiz olan L ve H şekilleride depolandıktan ve toplam weight matrislerimiz hesaplandıktan sonra artık programımız verdiğimiz bu 6 şekillik örnek için yeni karakterleri tanımaya hazır hale gelmiş durumda oluyor.


Şimdi programımıza bozuk bir şekil girelim ; New Pattern başlığı altında bulunan alana daha önceden depoladığımız hiçbir şekle benzemeyen düz bir çizgi çizelim.



Recognize tuşuna basmadan önce Define Random Nodes tuşuna basarak güncelleme işlemleri için hangi nodları kullanıcağını belirleyelim. Daha sonrada recognize tuşuna basalım.



Recognize tuşuna bastıktan sonra çizdiğimiz bozuk şekil benzetme işlemine başlamadan önce Recognize alanına alınır ve tanıma işlemine başlamak için artık program hazırdır.



Recognize tuşuna her basışımızda girdiğimiz bozuk şekil nod sıralarına göre güncellenir ve hafızadaki depolanan şekillere benzetilmek için değişime uğrar.



Bu değişim süreci girilen bozuk şekil hafızadaki şekillerden birine benzetilene kadar devam eder. Bu benzetme işlemi sonunda şekil bulunduğunda kırmızı STOP ibaresi belirir ve artık recognize tuşu çalışmamaya başlar.



Yukarıdaki resimde de görüldüğü gibi girdiğimiz bozuk şekil daha önceden depoladığımız E karakterinin şekline benzediği anlaşılmaktadır.

Bulma işlemi başarıyla gerçekleştikten sonra New Pattern alanımızı Clear Pattern tuşuna basarak temizleye bilir ve yeni bozuk şekillerin neye benzediğini deneye biliriz. Hafızadaki daha önceden depoladığımız şekiller silinmez. Benzetme işlemi baştan başlana bilir taki girilen yeni şekil depolanan bir şekle benzetilene kadar.



Yeni şekillerde aynı yöntemle denenebilir.



Yukarda denediğimiz garip şekiller depolanan şekillerden hiç birine benzetilemediği için bu benzetme işlemi başarısızlıkla sürer gider. Tanıya bildiği bir şekil bulamadığı için STOP ibaresini göremeyiz.


Şimdide New Pattern alanına daha önceden depoladığımız H şeklini aynen çizelim. Beklediğimiz gibi recognize tuşuna bastığımız anda H harfini bulur ve ilk aşamada tanıdığını belirterek program durur.



Programın alt tarafında gördüğümüz HELP tuşuna basıldığında Programın nasıl kullanıldığını açıklayan yardım ekranı karşınıza gelir.



ABOUT tuşuna basıldığında da programın yazarı hakkında bilgi alına bilinir.




Download etmek isteyenlere ...CharacTeReC

 

 

Copyright (C) 2004 Oğul GÖÇMEN. TÜm hakları saklıdır.

Duyurular

Aldığınız derse ilişkin duyuruları buradan takip edebilirsiniz

Devamı >

 

 

İletişim Bilgileri

Oda No: B - 412

Dahili Telefon: 1227

E-posta : ogul@baskent.edu.tr

 

Hobi Köşesi

Heykel Çalışmalarım

Burada >

3D Animasyon çalışmalarım...

Burada >