yapay sinir ağları plaka tanıma raporu

advertisement
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.
Download