• Sonuç bulunamadı

Veri Tabanının oluşturulması

4. GELĐŞTĐRĐLEN UYGULAMA

4.3. Veri Tabanının oluşturulması

Bu çalışmada geliştirilen karakter tanıma sistemi, korelasyon yöntemini kullandığı için karakterlerin standart bir biçime dönüştürülmesi gerekir. Çünkü korelasyon yönteminde bire bir karşılaştırma durumu söz konusudur. Yani aday karakterin ikili metin ifadesi, veritabanında daha önce kaydedilen karakterlerin ikili metin ifadeleri ile karşılaştırılır ve bu şekilde en çok benzeyen karakter seçilir.

Karakterlerin metin ifade şekline dönüştürülmesi işlemi şöyle yapılır: Karakter görüntüsü, birbirine eşit 15 yatay ve 15 dikey dilime bölünür ve ızgaralı bir hale gelir.

Görüntü ızgarasında 225 alan meydana gelir. Her bir alan sırasıyla taranır. Đçinde siyah piksel bulunduran alan 1, siyah piksel bulundurmayan alan ise 0 ile ifade edilir. Bu işlem bütün alanlara uygulandıktan sonra, görüntü 225 karakter uzunluğunda 0 ve 1’lerden oluşan bir metin ifadeye dönüştürülmüş olur. Alanların sayısı sabit olduğu için ve görüntünün büyüklüğünden etkilenmediği için, bütün el yazısı karakter örnekleri 225 karakter uzunluğunda standart bir biçimde ifade edilmiştir.

Bu çalışmada tasarlanan karakter tanıma sisteminde kullanılan veritabanı, text dosyası tabanlıdır. Rakam, küçük harf ve büyük harf olmak üzere üç ayrı text dosyası oluşturulmuştur.

Her bir dosyanın yapısı şöyledir; ilk satıra karakterin ascii kodu kaydedilmiştir. Ardından gelen satıra karakterin ikili metin ifadesi yazılmıştır. Her bir karakter 2 satırda ifade edilmektedir. Bu şekilde 100 kişiden alınan karakter örnekleri kaydedilerek veritabanı oluşturulmuştur. Rakamlar için oluşturulan veritabanının içeriği aşağıda gösterilmektedir.

48 Birinci satır ( 0’ın ascii kodu)

001111100000000011111111100000111111111110000111111111111000111011111111100

111000011111100100000001111110100000000111110100000000111111110000000000111 Đkinci satır

110000000000111111000000011111111111111111111011111111111110001111111110000 (ikili gösterimi)

49 Üçüncü satır (1’in ascii kodu)

000000001111100000000001111100000000001111110110000111111110111111111111110 111111111011110000000000011110000000000011110000000000011110000000000011110 Dördüncü satır

000000000011110000000000011110000000000011111000000000011111000000000011110

50 Beşinci satır (2’nin ascii kodu)

000011110000000000111110000000001111111000000011110111000000011100011000000 011000011000000011000011000000000000111000000000000111000000000001110000000 Altıncı satır 000011100000000000111100000000111111111100000111111111111111111111111111111 … …

Küçük harf ve büyük harf için de, yukarıda belirtilen yapıda veritabanları oluşturulmuştur. Şekil 4.1’de karakterler görüntülerinin ızgaralanması ve ikili metin karşılıkları gösterilmiştir.

4.4. K-en yakın komşuluk

(3.4.2)’de anlatılan korelasyon yönteminde, iki karakter karşılaştırılır ve Hamming uzaklığı bulunur. Đki karakter arasındaki farklılık büyüdükçe Hamming değeri küçülür.

Bu çalışmada ise, iki karakter arasındaki benzerlik değerleri baz alındı. Yani, iki karakterin ikili metin ifadeleri karşılaştırılır. Her bir eşleşen özellik için benzeme değeri bir artar. Örneğin 5 karakterinin ikili metin ifadesi “ 01111001101101100” olsun. 6 karakterinin ikili metin ifadesi “ 10001010011001011” olsun. Bu iki karakterin ikili metin ifadeleri karşılaştırılır. Birbirine eşleşen bitlerde benzeme değeri bir artar. Bu iki karakterin benzeme değeri 5’tir.

Karakter tanıma işleminde aday karakterin ikili kodu, veritabanındaki ikili kodlarla karşılaştırılır. En çok benzeme değerini aldığı karakter sınıfına dahil olduğu kabul edilir. Böylece sınıflama işlemi tamamlanır. Fakat bu yöntem zayıf olduğundan dolayı K-en yakın komşuluk tanıma yöntemi ile kuvvetlendirilir.

K-en yakın komşuluk, sınıflama yöntemlerinden birisidir. Buradaki K, 1'den büyük ve genelde tek olarak seçilen bir tam sayıdır. Korelasyon yönteminde en çok benzeme değerini veren sınıf seçilmişti. K-en yakın komşuluk yönteminde ise, sadece bir tane en büyük benzeme değerine değil, K tane en büyük benzeme değerine bakılarak sonuca ulaşılır. Böylece ulaşılan sonucun daha sağlıklı olması sağlanır. Biraz daha açıklarsak; diyelim ki K değeri 5 olsun. Elimizde test verisi olarak “c” olduğunu farz edelim. En büyük benzeme değerlerine sahip olan örnekler de aşağıdaki şekilde olsun.

SıraVeritabanındaki ÖrnekBenzeme Değeri

1 e 198

2 c 189

3 c 187

4 c 185

5 e 169

Tablo 4.1 incelendiğinde, test örneği olan “c” nin, veritabanında bulunan “e” lerden birisine çok benzediği, ama bununla birlikte veritabanında bulunan üç adet “c” ye de oldukça benzediği söylenebilir. Eğer böyle bir durumda sadece korelasyon yöntemi kullanılırsa tanıma algoritması, test örneğinin “e” olduğunu kabul eder.

K-en yakın komşuluk yöntemi kullanıldığında ise veritabanında bulunan ve test verisine (“c”) en çok benzeyen 5 örnekten üçünün “c”, diğer ikisinin “e” olması sonucunda, sayıca daha çok olan üç örneğin benzerliğinin daha kuvvetli olduğu farz edilir ve test verisinin “c” olduğu kabul edilir. Eğer tablodaki “e” lerin sayısı “c” lerin sayısından çok olsaydı o zaman da sonuç “e” olurdu. Yani K-en yakın komşuluk yönteminde K adet en benzer sonuç içinde, en çok sayıda eleman bulunduran sınıf seçilmektedir.

Bu çalışma kullanılan K-en yakın komşuluk yönteminde, Rakam ve küçük harf tanıma işlemi için K değeri 3, büyük harf için K değeri 5 seçildi. Kıyaslama sonucu için ise yukarıda anlatıldığı gibi korelasyon yöntemi ile hesaplanan benzerlik değeri kullanıldı. Şekil 4.2, Şekil 4.3 ve Şekil 4.4’te karakter tanıma modüllerinin örnekleri gösterilmektedir.

Şekil 4.2. Rakam Tanıma Modülü

Şekil 4.2’de K-en yakın komşuluk yöntemini sağladığı avantaj görülmektedir. Eğer K, 1 seçilseydi, aday rakam 9 olarak kabul edilecekti. Fakat K, 3 olarak seçildiği için, 5’lerin toplam benzerlik değeri 9’ların toplam benzerlik değerinden büyük olduğu için, aday rakam 5 olarak kabul edildi ve doğru bir sınıflandırma işlemi yapılmış oldu.

Görüntünün Đkili metin karşılığı Sonuç En çok benzeyen Đlk üç rakam

Şekil 4.3. Küçük Harf Tanıma Modülü

Rakam, küçük harf ve büyük harflerin tanınması için kullanılacak en ideal K değerleri, yapılan testler sonucu tespit edildi. Bu testler sonucunda rakam ve küçük harf tanıma işlemi için en uygun K değeri 3, büyük harfler için ise en uygun K değeri 5 olarak saptandı. Yapılan deneyin sonuçları EK-5, EK-6, EK-7 ve EK-8’de görülmektedir.

Benzer Belgeler