İki Renkli Görüntülerde Karakter Ayrıştırma ve Tanıma


I. ÖZET

Karakter tanıma işlemi, yazılı dökümanların sayısal forma dönüştürülmesi, otomatik plaka tanıma gibi alanlarda sıklıkla kullanılmaktadır. Bu işlemler iki adımda gerçekleştirilmektedir; karakterin bulunduğu görüntünün iştenilen biçimde bilgisayar ortamına aktarılması ve bu görüntüerdeki karakterlerin ayrıştırılarak tanınması işlemi. Bu çalışma sadece ikinci adımı içermektedir. Karakter tanıma işlemi sadece bilgisayar ortamında yaratılan görüntüler üzerinde uygulanmıştır. Çeşitli görüntü işleme yöntemleriyle görüntü karakterlerin ayrıştırılabileceği hale getirilmiş, karakterlerin ayrıştırılması için tasarlanan algoritma ile karakterler ayrıştırılmış ve bu karakterler LVQ algoritması kullanan Yapay Sinir Ağı(YSA) ile tanımlanmıştır. YSA, İngiliz alfabesindeki 26 harfi tanıyacak şekilde beslenmiştir. Uygulamanın doğruluk oranı testlerle kanıtlanmıştır.

II. GİRİŞ

Karakter tanıma, yazılı yani fiziksel dökümanların işlenmesiyle makine kodu halindeki metinlere çevrilmesi işlemidir. Yazılı metinlerin sayısallaştırılmasıyla, bu metinler üzerinde elektronik aramalar, metinlerin daha düzgün bir şekilde depolanması, internet üzerinden gösterilmesi veya makine işlemleri( çeviri, metinden sese dönüştürme, metin madenciliği vb.) yapılması sağlanmaktadır. Ayrıca çeşitli trafik sorunlarına kolaylık sağlaması amacıyla otomatik plaka tanıma gibi ticari alanlarda kullanılmaktadır.

Karakter tanımanın ilk uygulamaları telgrafı yaymak ve körler için okuma cihazları üretmek için kullanılıyordu. 1914 yılında Emanuel Goldberg karakterleri okuyarak onları telgraf koduna dönüştüren bir makine geliştirmiştir. Aynı dönemde Edmund Fournier d’Albe “Optophone” adlı cihazı geliştirmiştir. Bu cihaz el ile hareket ettirilen tarayıcının yazılı metin üzerinde hareket ettirilmesi ve metindeki her karaktere özel bir ses tonu üretmesi şeklinde çalışıyordu. 1950 yılında David H. Shepard yazılı mesajların bilgisayarların işlem yapabileceği makine diline çevirmedeki sorunları tespit ederek bunları ortadan kaldıran “Gismo” adlı bir makine geliştirmiştir. “Gismo” İngiliz alfabesinin 23 harfini ve müzik notalarını okuyabiliyor, Mors Kodunu anlayabiliyor, yazılı sayfaları seslendirebiliyor ve yazılı metinleri kopyalayabiliyordu. 1955 yılında ilk ticari sistem, satış raporlarının bilgisayara girilmesi için “Reader’s Digest” dergisinde kullanıldı. Bu sistem daktilo ile yazılmış raporları delikli kartlara dönüştürerek, onları bilgisayarların işleyebileceği hale getiriyordu. Bu işlem yılda 15-20 milyon kitabın üyelere dağıtımına katkıda bulunuyordu. Optik karakter tanımadaki bu gelişmeler 1970 yılında, bu sistemin otomatik araç tanıma işleminde kullanılmasıyla devam etmiştir. Araç tanıma teknolojisi daha sonraları yol ücretlendirilmesi için ilk olarak Hong Kong’da 1983 ve 1985 tarihleri arasında denenmiştir.

III. MATERYAL VE YÖNTEM

Görüntüler birçok renkten oluşmaktadır ve dışarıdan kayıt cihazlarıyla elde edilen görüntülerde “noise” olması karakter tanıma işlemini zorlaştırmaktadır. Bu nedenle karakter tanıma işlemini düzgün bir şekilde gerçekleştirebilmek için öncelikle görüntülerdeki kirlilikten kurtulmalıyız. Daha sonra karakterleri ayrıştırma işlemine geçebiliriz. Bu çalışmada “noise” içeren görüntüleri incelemek yerine ayrıştırma ve tanıma işlemine direk geçebilmek için beyaz arkaplan üzerine siyah karakterlerin yazılmasıyla oluşturulmuş görüntüler işlenecektir. Görüntünün boyutları yapılan işlemi etkilememektedir.

Karakter ayrıştırma ve tanıma için önerilen sistemin akış diyagramı Şekil 1’de görüldüğü gibidir. Bir “text editor” ile hazırlanmış yazıları içeren görüntüler sisteme giriş olarak kabul edilmektedir. Bir dizi görüntü önişlem algoritması; resmi siyah-beyaz hale çevirebilmek için “graytresh” işlemi kullanılır, LVQ yapay sinir ağının işlem yapabilmesi için görüntünün binary formatta tersi alınır. Ayrıştırma için hazırlanan görüntüye smearing işlemi uygulanarak karakterlerin boyutu tespit edilir. Bu sayede görüntünün gereksiz kısımları ortadan kaldırılmış olur. Ardından görüntüdeki karakterler ayrıştırılır ve her bir karakter bölgesi bir vektör olarak YSA’yı içeren Karakter Tanıma Modülü’ne(KTM) sunulur. Vektör olarak verilen karakter bölgesi LVQ YSA’da test edilir ver olası karakterler KTM tarafından önerilir. Tüm karakterlerin tanımlanması tamamlandıktan sonra olası sonuç karakterlerin kendisi ile kullanıcıya sunulur.


Şekil 1. Karakter Tanımlama İşlemi Algoritması

IV. GÖRÜNTÜ ÖN-İŞLEME

İşlenecek görüntülerde karakter ayrıştırma ve tanımanın ilk adımı görüntü ön-işlemedir. Görüntüler öncelikle belirlenen bir eşik değeri ile ikilik(binary)  formata çevrilir.

Elde edilen görüntüdeki karakterlerin işlenebilmesi için görüntü bir smearing algoritması ile bloklar haline getirilir. Görüntünün yatay düzlemdeki ağırlık noktasından başlanarak her satırdaki siyah bit sayısı belirlenir. Siyah bit sayısının belirli bir değerden fazla olması hala karakter sınırları içinde olduğumuzu anlamamızı sağlar. Eğer bu siyah bit sayısı ciddi bir azalma gösterirse karakter sınırı dışına çıkıldığı anlaşılır. Bu işlem ile karakter dizininin alt ve üst sınırları belirlenir. Belirlenen bu sınırların dışı ortadan kaldırılır ve geriye sadece incelenecek karakter dizini kalır. Bu işlem sayesinde hem gereksiz bitler ortadan kaldırılır hem de yapay sinir ağının daha etkili çalışması sağlanmış olur. Bundan sonraki işlemler elde edilen bu bölge üzerinde yapılacaktır.

V. KARAKTER AYRIŞTIRMA


Görüntü ön-işleme ile elde edilen ve karakterler dışında kalan bölgelerin de bulunduğu ikilik görüntü üzerinde karakterlerin genişliğinin bulunması, gereksiz bölgelerin ortadan kaldırılması ve karakterlerin ayrıştırılarak YSA ünitesine gönderilmesi karakter ayrıştırma modülünde gerçekleştirilir.

Bu modülde görüntü ön-işlemedeki yatay sınırların belirlenmesine benzer şekilde çalışan bir karakter ayrıştırma algoritması kullanılmaktadır. Bu algoritma görüntünün bir ucundan başlayarak dikey düzlemdeki bit sayını belirler. Siyah bit sayısı belirlenmiş sınır bit sayısından büyükse karakterin başladığı anlaşılır ve bu sütun numarası karakterin başlangıcı olarak depolanır. Daha sonra bit sayma işlemi devam eder. Siyah bit sayısı sınır değerinin altına düşerse karakterin bittiği varsayılır ve bu veri de depolanır. İşlem görüntünün sonuna kadar bu şekilde devam eder. Bu işlem sonucunda görüntüdeki karakter sayısı ve bu karakterlerin genişlikleri belirlenmiş olur. Karakterlerin dışında kalan bölgeler ise ortadan kaldırılır. Son olarak her karakter ayrıştırılır ve bir sonraki modüle hazır hale gelmiş olur.

VI. KARAKTER TANIMA

Yapılan uygulama İngiliz alfabesindeki 26 harfi kapsamaktadır. Bu kapsam doğrultusunda görüntüden elde edilen son çıktılar olan karakterler YSA’ya gönderilmeden önce YSA’nın giriş vektörü olan 16x12 boyutuna indirgenir. Bu boyutun aşırı küçük olması çıkan sonucun doğruluk oranını azaltır fakat aşırı büyük olması da işlem sürecinin uzamasına ve iterasyon sayısının artmasına neden olur. Daha sonra boyutu indirgenen bu karakterler test edilmek üzere YSA’ya gönderilir. Daha önceden 26 harfin her biri için farklı girdilerle eğitilmiş olan YSA görüntüden elde edilen bu karakterleri test ederek tanımlar ve elde ettiği sonucu kullanıcıya sunar.

VII. SONUÇ

Görüntülerden karakter ayrıştırma ve tanımlama işlemleri için bir dizi görüntü işleme algoritmasının yanı sıra LVQ algoritması kullanan YSA’dan yararlanılmıştır. Sistem performansını belirlemek amacıyla iki parametreye; karakter ayrıştırabilme yeteneği,  karakter tanıma başarısını ölçmeye yönelik testler yapılmıştır. Sistemin karakter ayrıştırma başarısı %100 olarak belirlenmiştir. Karakter tanıma başarısı da %80 değerine sahiptir. Bu değerin düşük olması nedeni eğitim setinin oldukça küçük olmasıdır. YSA’nın daha zengin bir eğitim seti ile eğitilmesi bu başarı oranını daha da yukarılara çekebilir. Bu başarının artması sistemin pratik olarak kullanılabilirliğini arttıracaktır.

VIII. KAYNAK

1.             Mustafa Oral ve Umut Çelik, Motorlu Araç Plaka Görüntülerinden Karakter Ayrıştırma ve Karakter Tanıma, Mustafa Kemal Üniversitesi, Antakya, 2003        







Yorumlar

  1. arkadaş ser veriyorsunuz sır vermiyorsunuz paylaşın kodlarını da görelim

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

String Matching - Boyer-Moore Algorithm

String Matching - Brute Force

String Matching - Horspool's Algorithm