YAPAY SİNİR AĞLARI İLE KARAKTER TABANLI PLAKA TANIMA Cemil ÖZ1, Raşit KÖKER2, Serap ÇAKAR1 Sakarya Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü, Esentepe, Sakarya 2 Sakarya Üniversitesi Teknik Eğitim Fakültesi Elektronik ve Bilgisayar Eğitimi Bölümü, Esentepe, Sakarya 1 Yapay sinir ağları, son zamanlarda bilgisayar Özet Bu çalışmada kamera ile alınmış araba plakalarının yapay sinir ağı ile değerlendirilip tanınması sağlanmıştır. Plakaların tanınması genellikle çoğu güvenlik ve kontrol sistemlerinde önemlidir. Bu makalede yapay sinir ağları (YSA) açıklanmıştır ve tanıma için kullanılan görüntü işleme algoritmaları sonuçlarıyla birlikte verilmiştir. Fotoğrafı çekilen bir plaka bir takım görüntü işleme teknikleri sonucunda siyah beyaz görüntü haline getirilmektedir. Belirlenen bir eşik seviyesinden küçük olanlar siyah 0 büyük olan noktalar ise beyaz noktalar 1 olarak alınmıştır. Bu çalışmada ağ modeli olarak çok katmanlı ağ, öğrenme kuralı olarak genişletilmiş delta kuralı ve öğrenme görüşünde çok kullanılan yöntemlerden birisidir[6] Yapay sinir ağı yaklaşımında ana fikir insan beynin in işleyişinden faydalanarak bir olayı öğrenebilmektir. YSA’larda verilen girişler ve istenen çıkışlarla bir problemin çözümü öğretilir. YSA öğretildikten sonra farklı girişlere doğru cevaplar verebilecek bir yapıya kavuşur. Bu makalenin amacı gerçek zamanlı uygulamalarda yapay sinir ağları kullanılarak plakanın tanınmasıdır. Bu çalışmada kullanılan YSA’ modeli kısaca tanıtılmıştır. stratejisi olarak da eğiticili öğrenme kullanılmıştır. İleri Besleme Ağı Model YSA girişi 209 olarak seçilmiştir. 209 bir Çok katmanlı bir ileri besleme ağı Şekil 1’de karakterin 0 ve 1’lerden oluşan karakterleridir. verilmiştir. Burada, katmanlar girişten ileriye doğru Plaka üzerinde olabilecek harflerin ve rakamların L=0 (giriş katmanı), L=1 (Gizli katman), L=2 (çıkış tamamı ise 36 olarak belirlenmiştir. Plakadaki Katmanı) olarak numaralandırılmıştır. Ağırlıklar ise harfler ağa giriş katmanı ile gizli katman arasındaki ağırlıklar verilmektedir. Böylece tanınan karakterler yan yana W1,ji, gizli katman ile çıkış katmanı arasındaki dizilerek plaka tanınmış olacaktır. ağırlıklar W2,tj olarak gösterilmiştir. i=1,2,... n giriş Anahtar Kelimeler: YSA, Araç plakası tanıma, nöronları, Görüntü işleme. t=1,2,...,k çıkış katmanı nöronlarıdır. Örnek olarak ayrı ayrı dosyalanarak tek tek j=1,2,...,m gizli katman nöronları, y1,2 gizli katmanın 2. nöronun çıkışıdır. Bir basit nöronun tanımından yararlanarak her bir katman Giriş sonundaki çıkışlar şu şekilde yazılabilir. Kamera ile alınan bir plakanın yapay sinir ağları ile tanınması birçok güvenlik ve trafik sistemleri için önemlidir[1,2,3,4]. Elde edilen görüntüdeki aracın plaka numarasının tanınması görüntü işleme tekniklerinin uygun kullanımını gerektirir[4,5]. w1,11 I1 minimumlaştırılması y1,1 w2,11 w2,121 w1,12 w1,m1 w2,22 y2,2 . . . . w2,k2 y1,m w2,km w1,mn ε t = y 2H,t − y 2A,t . . . w2,k1 w1,m2 y2,k δ t = f ′( y NET 2,t )ε t (4) ∆w2n, jt = ηδ t y1,t + α∆w2n,−jt1 (5) w2n, jt = w2n,−jt1 + ∆w2n, jt n y NET 1, j = ∑ w1, ji I i [ ] (3) yenilenmesi; Gizli katman: y1, j = fj y NET 1, j ağırlık Çıkış ile gizli katman arasındaki ağırlıkların Şekil 1. Çok Katmanlı İleri Beslemeli Ağ Yapısı i =1 ağ Hata w2,2m w1,2n . . . . . . . In y1,2 ile olarak tanımlanır. w2,21 w1,21 w1,22 amacı parametrelerini yenileme işlemine geriye yayılım w2,1m w1,1n I2 y2,1 (6) (1) j = 1,2,..., m formülleri ile gerçekleştirilir. Burada, n iterasyon sayısı, η Çıkış katmanı: öğrenme katsayısı, α momentum katsayısıdır. Gizli [ y2, k = ft y NET 2,t ] ile giriş katmanı arasındaki ağırlıkların yenilenmesi ise m y NET 2,t = ∑ w2,tj y1, j i =1 katman (2) t = 1,2,..., k k δ j = y 2′ , j ∑ δ t w2, jt (7) ∆w1n,ij = ηδ j y 0,i + α∆w1n,ij−1 (8) w1n,ij = w1n,ij−1 + ∆w1n,ij (9) t =1 Burada YNET’ler aktivasyon fonksiyonudur [7]. Geri Yayılım Algoritması Bir model ağı eğitmekteki amaç, bir giriş setine karşılık olarak özel bir fonksiyonel karekteristiği elde edebilmek için çıkışlar oluşturmak üzere formülleri ile gerçekleştirilir. ağırlıkları ayarlamaktır. Eğitmenin tam olabilmesi için her bir giriş vektörüne karşılık istenen çıkış Bu basamaklar ağdaki toplam hatanın istenen belli vektörünü vektörü bir sınır değerinin altına düşünceye kadar tekrar olmalıdır. Bu giriş ve hedef çıkışı vektörleri bir edilir. Bu hata limiti elde edildiğinde ise “ağ eğitim çifti oluşturur. Eğitilmiş bir ağdaki hedef yapılacak işi öğrendi” denilir. çıktı ile ağ çıktısı eşit olmalıdır. Eşitlik olmadığı Denklem 12 ile hesaplanır. Ağ bir kere öğretildiği durumda, aralarındaki fark hatadır. Bu hatanın zaman elde edilen ağırlık değerleri saptanır ve bu gösteren bir hedef çıkış Toplam hata ağırlık değerleri ağın ihtiyacı durumunda tekrar Fotoğrafı kullanılır. işleme teknikleri sonucunda siyah beyaz görüntü Ağ daha sonraki uygulamalarda öğrenilen bu ağırlıkları kullanacaktır (Richard, çekilen bir plaka bir takım görüntü haline getirilmektedir. (Şekil 2) 1987; Abulafya, 1995). E= 1 k 2 ∑ε t 2 t =1 (10) Bu çalışmada ağ modeli olarak çok katmanlı ağ, öğrenme kuralı olarak genişletilmiş delta kuralı ve öğrenme stratejisi olarak da eğiticili öğrenme kullanılmıştır. Şekil 2. Plakası tanınacak arabanın siyah beyaz görüntüsü Genişletilmiş delta kuralına göre öğrenme aşağıdaki Belirlenen bir eşik seviyesinden küçük olanlar, aşamalarda gerçekleşir. siyah, 0 büyük olan noktalar ise beyaz, 1 olarak 1- Ağın yapısı belirlenir alınmıştır. Burada plaka üzerindeki rakamlar 11 • Giriş (nöron) sayısı sütün, 19 satır ile karakterize edilmiştir. Böylece bir • Çıkış (nöron) sayısı harf 209 parçaya bölünmektedir. Şekil 1’de plaka • Gizli katman sayısı ve gizli katmandaki üzerindeki bir karakter matrisi verilmiştir. nöron sayıları 11111111111 10011111001 10011111001 10011110011 10011100011 10011000111 10010001111 10000011111 10000111111 10000011111 10010001111 10011000111 10011100011 10011110011 10011111001 10011111001 11111111111 11111111111 11111111111 2- Ağ’ın başlangıç parametreleri belirlenir. • Başlangıç ağırlıkları • Öğrenme katsayısı • Momentum katsayısı 3- Giriş ve çıkış verileri ağın değerlendirebileceği şekilde düzenlenir (normalize edilir). 4- İleri beslemeli ağ yapısına göre ağ çıktıları hesaplanır. 5- Ağ çıktısı ile gerçek çıktı arasındaki hata bulunur. 6- Hata minimum ise ağ problemi öğrendi. Öğrenmeyi durdur. 7- Hata minimum değilse; geriye yayılım ağ yapısına göre hatayı minimize edecek şekilde ağırlıklar hesaplanır. Şekil 3. Bir plakadaki harf Plaka üzerinde olabilecek rakamların tamamı bu şekilde elde edilmiştir. Bu rakamların ve harflerin tamamı 36 olarak belirlenmiştir. 8- Adım 3’e gidilerek işleme devam edilir. Modelleme Plaka İşlemleri Plaka üzerinde karşılaşabileceğimiz karakterlere ait matrisler elde edildikten sonra bu YSA ile tanınabilmeleri için tekbir bir karakter tanıyabilen bir YSA modeli oluşturmak üzere işlemler dizayn edilmiştir. Her bir harf YSA eğitimi için 209 giriş karakterlerin karşılığı olan rakam çıktısı için 1, teşkil edecek şekilde bir satır matrisi çıkışlar ise 36 diğer rakam çıktıları için 0 olan Tablo deki kodlama olarak belirlenmiştir. Bu sayı bizim plaka üzerinde gerçekleştirilmiştir. Elde edilen girdi ve çıktı olabilecek karakter sayısı kadardır. Çıkışta her bir dosyaları Model YSA eğitiminde kullanılarak ağ karakter eğitimi gerçekleştirilmiştir.Gerçekleştirilen sisteme için bir sütün belirlenmiş girişteki karaktere göre çıkışta o karaktere ait sütün 1 diğerleri sıfır olacak şekilde bir ilişkin blok diyagramı Şekil 4’de verilmiştir. kodlama gerçekleştirilmiştir. Tablo 1’de giriş dosyası, Tablo 2’de ise çıkış dosyası verilmiştir. Tablo 1. YSA Eğitimi için giriş dosyası bilgileri Karakter matrisi (209 elemanlı) Karakter tanıma sistemi Karakter matrisi (209 elemanlı) Model YSA tablosu. Harf için Giriş dosyasına yazılacak kodlama Harf Hata Şekil 4. Model YSA. Ağ eğitimi H(1,1),H(1,2),.........,H(19,1),H(19,2),...,H(19,11) A 1 B 1 . . başarı ile tanıyan bir model YSA elde edilmiştir. . . Ancak . . bulunmaktadır. Böyle olunca plakadaki harfler ayrı 9 1 Böylece elimizde girişine verdiğimiz bir karakteri plakada çok sayıda karakter ayrı dosyalanarak tek tek ağa verilmekte böylece Tablo 2. YSA eğitimi için çıkış dosyası bilgileri. Harf bir . B C D E F G H 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 tanıma prosesinde bu model kullanılmıştır. Model 0 0 0 0 1 0 0 0 0 209 giriş, 36 çıkış ve 120 gizli nörondan 0 0 0 0 0 1 0 0 0 oluşmaktadır. 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 . 9 yana dizilerek plaka tanınmış olacaktır. A . . tanınan karakterler şekil de de görüleceği üzere yan 0 . 0 . 0 0 0 0 0 0 0 0 0 0 0 Plaka üzerindeki karakterleri tanımak amacı ile eğitilen model YSA Şekil 3’de verilen ileri beslemeli ağ olarak yeniden düzenlenmiştir. Plaka 1 Yapılan bu çalışmada Model YSA girişi 209 olarak seçilmiştir. 209 bir karakterin 0 ve 1 lerden oluşan karakterleridir. Giriş dosyasına plaka dan elde edilmiş 36 harfin düzgün ve bozuk kodlamaları 209 elemanlı bir satır vektörü olarak alt alta sıra ile girilmiştir. Çıkış dosyasında ise giriş dosyasındaki Giriş Katmanı Gizli Katman Çıkış Katmanı Şekil 5. Eğitim tanımlandıktan sonra kullanılan ileri beslemeli ağ. 34 JM 484 Bu çalışma gerçek zamanlı olarak gerçekleştirilebilir ve güvenlik sistemleri, araç kontrol vb. prosesler için ana veya yardımcı yöntem 36 çıkış 209 İleri Beslemeli Model olarak kullanılabilir. Sistem maliyet açısından kolayca uygulanabilir durumdadır. Kaynakça Şekil 6. Plakanın karakter bazlı tanınması. Şekil 6’da ise plaka tanıma sisteminin blok şeması verilmiştir. Kamera görüntülerinden çeşitli görüntü işleme teknikleri sonucu elde edilen plaka karakter karakter bölümlenir ve bu karakterler sırası ile model ileri beslemeli YSA’ya uygulanır ve elde edilen karakterler dizilir. Bu işlem plaka resmindeki karakterler bitene kadar devam ettirilir. Bu işlemin sonunda araç plakası tanınmış olmaktadır. Geliştirilen programa ait bir görüntü Şekil 7’de verilmiştir. 1- A.A. Mohamed, “Evaluating the Improvements in Traffic Operations at a Real-life Toll Plaza with Electronic Toll Collection”, Master’s thesis, Universty of central Florida, Orlando,1995, Florida. 2- M.L.Zarrilla, A.E. Raduvan, H.M. Aldeek, “Modelling Traffic Operations at Electronic Toll Collecting and Traffic Management Systems”, Computers Ind. Engng. Vol 33, pp. 857-860,1997, Progman. 3- P.Grattoni, g. Pottiti, M.L. Rostello, “Experimental set-up for the characterination of automated number-pate recognizers”, Measurement, vol 26, pp. 103-124, 1999, Elsevier. 4- M.S.Aksoy, G. Çağıl, A.K. Türker, “Number-plate recognition using inductive learning”, Robotics and Autonormous Systems, vol 33, pp.149-153., 2000, Elsevier. 5- C.Öz, R.Köker,“Vehicle Licence Plate Recognition Şekil 7. Plaka tanımaya yönelik geliştirilen programın arayüzü. Using Artificial neural Networks”, ELECO’2001, Bursa,Turkey 6- R.Köker , C.Öz, T. Çakar, “Object Recognition Based on Moment Invariants Sonuçlar ve Öneriler Yapılan bu çalışmada Şekil 7’de verilen sistem yardımı ile kamera ile alınan bir aracın plakası doğru bir şekilde tanımlanabilmiştir. Sistem gerçek zamanlı olarak dizayn edilmekle birlikte gerçek zamanlı olarak denenmiştir. Normal denemelerde %100’e varan başarılar göstermiştir. Using Neural Network”,IMS,2001, Sakarya, Turkey 7- Narendra, K.S. “Adaptive Control Using Neural Networks” in Miller, W.T., Sutton, R.S., and Werbos,P.J.(Eds.), “Neural Networks for Control”, 3 rd printing 1992 MIT, 1990.