Çok Markalı Servis İstasyonları için Yapay Sinir Ağları ile Görüntü Tabanlı Araç Marka ve Modeli Tanıma Yazılımı



Benzer belgeler
Yapay Sinir Ağları. (Artificial Neural Networks) DOÇ. DR. ERSAN KABALCI

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

Geriye Yayılım ve Levenberg Marquardt Algoritmalarının YSA Eğitimlerindeki Başarımlarının Dinamik Sistemler Üzerindeki Başarımı. Mehmet Ali Çavuşlu

YAPAY SİNİR AĞLARI YÖNTEMİ İLE PAFTALARININ SAYISALLAŞTIRILMASI ARTIFICIAL NEURAL NETWORKS METHOD FOR MAP DIGITIZATION

ÇİMENTO BASMA DAYANIMI TAHMİNİ İÇİN YAPAY SİNİR AĞI MODELİ

YAPAY SĠNĠR AĞLARININ EKONOMĠK TAHMĠNLERDE KULLANILMASI

BAŞKENT ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BENZER SÜREÇLERDE ÜRETİLEN ÜRÜNLER İÇİN YAPAY ZEKA İLE ZAMAN TAHMİNİ SONER ŞÜKRÜ ALTIN

Zeki Optimizasyon Teknikleri

AMAÇ Araçlardaki Kamera Sistemleri

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ

Yapay Sinir Ağları İçin Net Platformunda Görsel Bir Eğitim Yazılımının Geliştirilmesi

Çok katmanlı ileri sürümlü YSA da standart geri yayıyım ve momentum geri yayılım algoritmalarının karşılaştırılması. (Eğitim/Hata geri yayılım)

Bazı Gömülü Sistemlerde OpenCV ile Performans Analizi

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Bilgisayarla Görme. Final

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

GÖRÜNTÜ İŞLEME - (7.Hafta) KENAR BELİRLEME ALGORİTMALARI

3.2. Raster Veriler. Satırlar. Sütunlar. Piksel/hücre büyüklüğü

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Yapay Sinir Ağları (Artificial Neural Networks)

Şifrebilimde Yapay Sinir Ağları

RENK BİLEŞENLERİ YARDIMIYLA HAREKETLİ HEDEFLERİN GERÇEK ZAMANLI TESPİTİ

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

YAPAY AÇIKLIKLI RADAR GÖRÜNTÜLERİNDE YAPAY SİNİR AĞLARI İLE HEDEF TANIMLAMA

MÜFREDAT DERS LİSTESİ

MİKROŞERİT HAT ENDÜKTANS BÜYÜKLÜĞÜNÜN BİLGİ TABANLI YAPAY SİNİR AĞLARI ile MODELLENMESİ

Kelebek Görüntülerin Sınıflandırılmasında Yeni Yerel İkili Örüntüler

POSITION DETERMINATION BY USING IMAGE PROCESSING METHOD IN INVERTED PENDULUM

İRİSTEN KİMLİK TANIMA SİSTEMİ

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

CBS ve Coğrafi Hesaplama

MapCodeX MapLand Kullanım Kılavuzu

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Şekil Tanıma Final Projesi. Selçuk BAŞAK

KÜTAHYA İLİNİN YAPAY SİNİR AĞLARI KULLANILARAK ELEKTRİK PUANT YÜK TAHMİNİ

WEB SAYFALARINA İLİŞKİN YAPAY SİNİR AĞLARI İLE SINIFLANDIRMA YÖNTEMİ

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Bilgisayarla Görme. Proje

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

Trafik Yoğunluk Harita Görüntülerinin Görüntü İşleme Yöntemleriyle İşlenmesi

Otomatik Doküman Sınıflandırma

Otomatik Doküman Sınıflandırma

K En Yakın Komşu Methodu (KNearest Neighborhood)

SİMÜLASYON-YAPAY SİNİR AĞI İLE ESNEK ÜRETİM SİSTEMİ TASARIMI

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

YAPAY ZEKA (Artificial Intelligence)

İleri Örüntü Tanıma Teknikleri Ve Uygulamaları İçerik

Bilgisayarla Görüye Giriş

İş Zekası. Hafta 6 Kestirimci Modelleme Teknikleri. Yrd. Doç. Dr. H. İbrahim CEBECİ

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

TMMOB Harita ve Kadastro Mühendisleri Odası Ulusal Coğrafi Bilgi Sistemleri Kongresi 30 Ekim 02 Kasım 2007, KTÜ, Trabzon

Sahne Geçişlerinin Geometrik Tabanlı olarak Saptanması

ENDÜSTRİYEL GÖRÜNTÜ İŞLEME. atel sistem

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

GÖRÜNTÜSÜ ALINAN BİR NESNENİN REFERANS BİR NESNE YARDIMIYLA BOYUTLARININ, ALANININ VE AÇISININ HESAPLANMASI ÖZET ABSTRACT

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Yapay Sinir Ağları ve Yüksek Enerji Fiziği Uygulamaları

YAPAY ZEKA VE DERİN ÖĞRENMENİN GÜNÜMÜZDEKİ UYGULAMA ALANLARI

Uzaktan Algılama Teknolojileri

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

SÜREKLİ DOĞAL GERİLİM VERİLERİNİN YAPAY SİNİR AĞLARI İLE DEĞERLENDİRİLMESİ, DEPREM ve YAĞIŞLARLA İLİŞKİSİ

Bir Tek Nöron Kullanılarak Resimler Đçerisinde Göz Kısmının Bulunması

Fatih Kölmek. ICCI Uluslararası Enerji ve Çevre Fuarı ve Konferansı 25 Nisan 2012, İstanbul, Türkiye

Dijital (Sayısal) Fotogrametri

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

YAPAY SĠNĠR AĞLARI ĠLE KOCAELĠ ĠLĠNĠN PUANT YÜK TAHMĠNĠ. Oya DEMİRER Demet ÖZDEMİR Melih İNAL

Türkçe Dokümanlar Ġçin Yazar Tanıma

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

KİRİŞLERDE PLASTİK MAFSALIN PLASTİKLEŞME BÖLGESİNİ VEREN BİLGİSAYAR YAZILIMI

ÇATI DÖŞEMESİNDE MEYDANA GELEN YOĞUŞMA VE BUHARLAŞMA KÜTLELERİNİN YAPAY SİNİR AĞLARI İLE TAHMİN EDİLMESİ

Elena Battini SÖNMEZ Önder ÖZBEK N. Özge ÖZBEK. 2 Şubat 2007

QUANTUM CBS YE İLİŞKİN LAB TAKİP NOTLARI. 1. coğrafi olarak referanslama (registration): Coğrafi veriyi seçilen bir koordinat sisteminde

Temel Bilgisayar (Basic Computer) Yazılım (Software)

İç Basınç Altında İnce Cidarlı Kabukların Yapay Sinir Ağları ile Çözümü

Kan Damarı Genişliği Değişiminin Ölçülmesinde Medikal Görüntü İşlemenin Uygulanması

MONTE CARLO BENZETİMİ

2015/2016 Bahar Yarıyılı Bitirme Çalışması Konuları. (Doç.Dr. M. Kemal GÜLLÜ)

MERMER KESME İŞLEMİNDE KESİM SÜRESİNİN YAPAY SİNİR AĞI TABANLI MODELLENMESİ

ROBOTLARIN YAPAY SİNİR AĞLARI KULLANILARAK DENETİMİ.

Yrd.Doç. Dr. Tülin ÇETİN

Agency-1 Golf Otomasyonu

Beton Mekanik Özelliklerinin Taze Beton Özelliklerinden Yararlanılarak Yapay Sinir Ağları İle Tahmini ÖZET

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

YAPAY SĠNĠR AĞI GERĠ YAYINIM ALGORĠTMASI KULLANILARAK RÜZGÂR HIZI TAHMĠNĠ

EGE ÜNİVERSİTESİ Bilgisayar Mühendisliği. Dr. Kemal YILMAZ, Prof. Dr. Aylin KANTARCI, Prof. Dr. Cezmi AKKIN

Dr.Eyyüp GÜLBANDILAR Dr.Eyyüp GÜLBANDILAR

Electronic Letters on Science & Engineering 1(1) 2005 Available online at

Yinelemeli ve Uyarlanır Ayrıt Saptayıcı Süzgeçleri

Karaciğerde Oluşan Hastalıkların Tespitinde Makine Öğrenmesi Yöntemlerinin Kullanılması

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI

PSM 11 PEM YAKIT HÜCRELERİNİN YAPAY SİNİR AĞLARI İLE MODELLENMESİ

BBO Algoritmasının Optimizasyon Başarımının İncelenmesi Optimization Performance Investigation of BBO Algorithm

YTÜ, Yıldız Teknik Üniversitesi, Harita Müh.Bölümü, Lisans Öğrencisi, Esenler, İstanbul,

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

DERİN ÖĞRENME SONGÜL TORANOĞLU

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

GÖRÜNTÜ İŞLEME HAFTA 4 DÖNÜŞÜMLER UZAYSAL FİLTRELEME

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

Transkript:

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) Çok Markalı Servis İstasyonları için Yapay Sinir Ağları ile Görüntü Tabanlı Araç Marka ve Modeli Tanıma Yazılımı Gürkan TUNA 1 Trakya Üniversitesi, Edirne Teknik Bilimler Meslek Yüksekokulu, Edirne. Özet Bu çalıșmada çok markalı araç servis istasyonları için görüntü tabanlı araç marka ve modeli tanıma uygulaması geliștirilmiștir. Akıllı otoyol sistemleri için geliștirilmiș uygulamalardan farklı olarak bu uygulamada tablet pc gibi düșük performanslı sistemlerde ve farklı ișletim sistemleri yüklü kișisel bilgisayarda hızlı ve etkili bir biçimde çalıșabilecek bir araç tanıma sistemi geliștirilmesi amaçlanmıștır. Bu nedenle uygulama Java ile geliștirilmiștir. Ağı eğitirken iyi bir eğitim setinin kullanılması önemlidir. Test sonuçlarından elde edilen verilere göre % 99 un üstünde bașarı elde edilmiștir. Anahtar kelimeler: Araç Tanıma, YSA, Görüntü İșleme, Prewitt Operatörü, Geriye Yayılım Algoritması. A Vision Based Car Brand and Model Recognition Software with Artificial Neural Networks for Multi-Brand Service Stations Abstract In this study, a vision based vehicle type recognition software for multi-brand service stations has been developed. Different from the applications developed for intelligent motorway systems, in this application it is aimed to develop a vehicle recognition system to run on low performance systems like tablet PCs and PCs with different operating systems. So the application has been developed with Java. It is important to use a good training set while training the network. According to the data acquired from the test results, a success over % 99 has been attained. Keywords: Vehicle Recognition, ANN, Image Processing, Prewitt Operator, Back Propagation Algorithm. 1 Gürkan TUNA, gurkantuna@trakya.edu.tr 88

TUNA G. 1. Giriș Araç tipi tanıma uygulamaları akıllı otoyol sistemleri bașta olmak üzere farklı alanlarda kullanılmaktadır. Araç tipi tanıma uygulamaları görüntü ișleme teknikleri ile gerçekleștirilmekle beraber bu uygulamalarda YSA yaygın olarak kullanılmaya bașlanmıștır. Farklı YSA tipleri kullanılan araç tipi tanıma uygulamaları geliștirilmiș olmasına rağmen genelde kullanılan ağ tipi İleri Beslemeli Geriye Yayılımlı YSA dır. Bu çalıșmada çok markalı araç servis istasyonları için görüntü tabanlı araç marka ve modeli tanıma uygulaması geliștirilmiștir. Yazılım servis istasyonları için geliștirilmiș olup resim dosyalarından araç tanıma yapmaktadır. Akıllı otoyol sistemleri [1-5] için geliștirilmiș olan uygulamalar ücretlendirme esaslı yazılımlar olduğu için bu yazılımlar araçları marka ve model olarak sınıflandırmamakta, boyutlarına göre araba, kamyonet, kamyon, otobüs olarak sınıflandırmaktadırlar. Bu çalıșma kapsamında geliștirilmiș olan uygulama araçları markalarına göre sınıflandırmakta ve yazılımın servis istasyonlarında kullanılması öngörülmektedir. Akıllı otoyol sistemleri için geliștirilmiș uygulamalardan [1-5] farklı olarak bu uygulamanın düșük performanslı sistemlerde ve farklı ișletim sistemleri yüklü kișisel bilgisayarda hızlı ve etkili bir biçimde çalıșabilmesi amaçlanmıștır. Uygulama bu gereksinimleri sağlayan bir dil olduğu için Java ile geliștirilmiștir. Makalede önce nesne tanıma, daha sonra yapay sinir ağları ele alınarak yapay sinir ağlarının nesne tanıma uygulamalarındaki önemi vurgulanmıș ve geliștirilen uygulamada kullanımları açıklanmıștır. Makale Giriș bölümü ile bașlamakta ve Nesnelerin tanınması bölümüyle devam etmektedir. Nesnelerin tanınması bölümünde örüntü tanıma, kenar tespiti ve yapay sinir ağlarının örüntü tanıma uygulamarında kullanımı ele alınmıștır. Üçüncü bölümde geliștirilen yazılımın çalıșma tekniği hakkında bilgiler verilerek bir örnek uygulama ile yazılımın çalıșması gösterilmiștir. Makale Sonuçlar ve öneriler bölümü ile tamamlanmaktadır. 2. Nesnelerin tanınması 2.1 Örüntü Tanıma Örüntü tanıma yapay zekânın alt dalı olan makine öğrenmesinin bir koludur. Örüntü tanımada amaç makinenin gördüğü örüntülerin özniteliklerini kullanarak daha önceden eğitildiği ya da öğrendiği șekilde bu örüntüleri sınıflandırmasını sağlamaktır. Șekil 1, örüntü tanıma adımlarını göstermektedir. Örüntü tanımanın birinci așaması örüntülerin elde edilmesidir. Farklı teknikler ile örüntüler elde edilebilir. İkinci așama özellik çıkartımıdır. Bu așamada amaç örüntüler arasındaki ayırt edici özelliklerin tespitidir. Araç tanıma uygulamasındaki amaç görüntülerden aracın tanınması olduğundan aracın kenar noktalarından hareketle aracın șeklinin bulunması amaçlanmaktadır. Dolayısıyla her aracın kenar noktalarının x ve y koordinatlarındaki değerlerinin elde edilmesi gerekmektedir. Bu așamada kenar tespiti ișlemi yapılacaktır. Üçüncü așamada gerekirse giriș verilerine ön ișlemler uygulanır. Dördüncü așama sınıflandırmadır. Bu așamada örüntü bir sınıfa atanır. Araç tanıma uygulamasının bu așamasında İleri Beslemeli Geriye Yayılımlı YSA (İBGYYSA) ile 89

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) sınıflandırma yapılacaktır. Sınıflandırma yapılabilmesi için ağın önceden bir eğitim seti ile eğitilmesi gerekmektedir. Örüntü tanımanın son așamasında gerekliyse karar verme așamasından önce performansı arttırmak için son ișlemler uygulanır. Șekil 1. Örüntü tanıma adımları Araç tanıma uygulamasının en önemli așamaları araçların resimlerinden kenar noktalarının tespit edilmesi ve farklı araçlar kullanılarak ağın eğitilmesidir. Böylece sistem önceden girilmiș olan bir eğitim setine göre YSA kullanarak resmi girilen aracın hangi model olduğunu otomatik olarak tespit edecektir. Sistem resmi girilen aracın yüzde kaç oranında hangi model olabileceğini de belirtmektedir. 2.2 Kenar tespiti Kenar tespiti görüntü ișlemenin özellik bulma ve özellik çıkartma așamalarında kullanılan bir yöntemdir. Kenar tespiti dijital bir görüntüde parlaklığının keskin olarak değiștiği yerler olan kesikliklerin olduğu noktaların bulunmasıdır [7]. Farklı yöntemler ile kenar tespiti yapılabilir. Bu uygulamada kenar tespiti için Prewitt operatörü kullanılmıștır. Kenar tespitindeki en önemli kavram gradyendir. Gradyenin gösterimi așağıdaki gibidir. 90

TUNA G. df dx f = df dy df df magnitude( f ) = ( ) + ( ) = M x + M y dx dy 2 2 2 2 Hesaplamaları azaltmak için genelde așağıdaki gibi kabul edilir. magnitude( f ) M + M x y Gradyen değerinin büyüklüğü bir kenarın gücü hakkında bilgi verir. Gradyenin yönü daima kenara diktir. Buradaki temel fikir x ve y yönlerinde türevleri hesaplamak, gradyen değerini bulmak ve eșik değerine göre kontrol etmektir. Șekil 2, kenar ve gradyen ilișkisini göstermektedir. Șekil 2. Kenar-gradyen ilișkisi Gradyen așağıdaki gibi hesaplanmaktadır. df f ( x + h, y) f ( x, y) = lim dx h 0 h df f ( x, y + h) f ( x, y) = lim dy h 0 h df f ( x + hx, y) f ( x, y) = = f ( x + 1, y) f ( x, y) (h x =1) dx h y df f ( x, y + hy ) f ( x, y) = = f ( x, y + 1) f ( x, y) (h y =1) dy h y Piksel-koordinat yaklașımı kullanılırsa (j, x yönünü ve i negatif y yönünü göstermektedir) așağıdaki gibi hesaplamalar yapılır. df f ( i, j 1) f ( i, j) dx = + 91

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) df f ( i 1, j) f ( i, j) dy = Așağıda Z5 in gradyen değerine yaklașmak için hesaplamalar yapılmaktadır. di z dx = z 6 5 di z z dy = 5 8 magnitude( I) = ( z z ) + ( z z ) 2 2 6 5 5 8 Araç tanıma uygulamasında kenar tespiti için Prewitt kenar tespit yöntemi kullanılmaktadır. Yöntemi çalıșması așağıdaki gibidir. a 0 a 1 a 2 a 7 [i,j] a 3 a 6 a 5 a 4 Kısmi türevler hesaplanırsa; M = ( a + ca + a ) ( a + ca + a ) x 2 3 4 0 7 6 M = ( a + ca + a ) ( a + ca + a ) y 6 5 4 0 1 2 C sabiti merkezdeki piksellere ağırlık verildiğini göstermektedir. C = 1 alınırsa Prewitt operatörü elde edilir. Operatör yatay ve dikey değișimleri tespit edebilmek için așağıdaki maskları kullanmaktadır [8]. M x 1 0 1 = 1 0 1 1 0 1 M y 1 1 1 = 0 0 0 1 1 1 Șekil 3 ve Șekil 4 Prewitt operatörü kullanılarak yapılan bir kenar tespit uygulamasını göstermektedir. 92

TUNA G. Șekil 3. Prewitt operatörü uygulanacak resim Șekil 4. Prewitt operatörü ile kenar noktalarının tespiti 2.3 Yapay sinir ağları ve örüntü tanıma ișleminde kullanımları YSA lar insan beyninin özelliklerinden olan öğrenme yolu ile yeni bilgiler türetebilme, yeni bilgiler olușturabilme ve keșfedebilme gibi yetenekleri herhangi bir yardım almadan otomatik olarak gerçekleștirmek amacı ile geliștirilen bilgisayar sistemleridir. Bu yetenekleri geleneksel programlama yöntemleri ile gerçekleștirmek oldukça zordur veya mümkün değildir. Birçok YSA tipi bulunmakla birlikte, en çok kullanılan sinir ağı yapısı, İleri Beslemeli Geri Yayılımlı modeldir. Belirsiz, gürültülü ve eksik bilgilerin ișlenmesinde yapay sinir ağları bașarıyla kullanılmaktadır. YSA ların avantajları lineer olmayan özelliğe sahip olmaları, öğrenme kabiliyetleri, genelleme yapabilmeleri, adaptasyon kabiliyetleri, gürültüye karșı toleranslı olmaları ve donanım olarak gerçekleștirilebilmeleri olarak sıralanabilir. Temel bir YSA hücresi biyolojik sinir hücresine göre çok daha basit bir yapıya sahiptir. Bir YSA hücresinde girișler, ağırlıklar, toplama fonksiyonu, aktivasyon fonksiyonu ve çıkıșlar bulunur. İleri beslemeli YSA da hücreler katmanlar șeklinde düzenlenir ve bir katmandaki hücrelerin çıkıșları bir sonraki katmana ağırlıklar üzerinden giriș olarak verilir. Giriș katmanı, dıș ortamlardan aldığı bilgileri hiçbir değișikliğe uğratmadan gizli katmandaki hücrelere iletir. Bilgi, gizli katmanda ve çıkıș katmanında ișlenerek ağ çıkıșı belirlenir. Bu yapısı ile ileri beslemeli ağlar doğrusal olmayan statik bir ișlevi gerçekleștirir. İleri beslemeli üç katmanlı YSA nın gizli katmanında yeterli sayıda hücre olmak kaydıyla, herhangi bir sürekli fonksiyonu istenilen doğrulukta yaklaștırabileceği 93

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) gösterilmiștir. YSA ların eğitiminde geriye yayılımlı öğrenme algoritması etkin olarak kullanılmaktadır. İBGYYSA larda transfer fonksiyonları kullanılarak her bir katmanın giriș durumları elde edilir. Hem girișler hem de çıkıșlar hakkında bilgi sahibi olunduğu için son katmandaki ağırlıklar ayarlanır ve hata geriye yayılır. Böylece önceki katmandaki ağırlıklar güncellenir ve hata hesaplanır. Bu süreç giriș katmanına kadar devam eder [6]. Bu çalıșma kapsamında geliștirilen araç tanıma uygulamasında İBGYYSA nın görevi verilen bir eğitim setindeki araçların kenar tanıma yöntemiyle elde edilen kenar noktalarının x ve y koordinatlarına göre girilecek aracın modeline karar vermektir. Karar verme adımı olan tanıma ișleminden önce eğitim setleri girilir, Kenar belirleyici nokta olarak adlandırılan iki kenar noktası arası değerler bulunur ve ağ eğitilir. 3. Araç tanıma yazılımı Araç tanıma yazılımı çok markalı servis istasyonlarının otomasyonu için geliștirilmiștir. Yazılımın amacı aracın servis noktasına kaydının yapılmasından sonra servis alanına giriș sırasında aracın sistem tarafından tanınarak araç sahibini ilgili servis noktasına yönlendirilmesidir. Böylece ișlemler hızlanacak ve otomatik hale gelecektir. Yazılım üç modülden olușmaktadır. Bu modüller Image Processing (Görüntü İșleme), Neural Network Training & Error Graph (Yapay Sinir Ağı Eğitimi ve Hata Grafiği) ve Recognition (Tanıma) modülleridir. Image Processing modülü eğitim setini olușturacak araçlara ait.jpeg,.gif veya.tiff uzantılı resim dosyalarının programa girilmesini ve resimlerdeki kenar noktalarından enar belirleyici noktaların elde edilmesini sağlayan modüldür. Bir kenar belirleyici nokta oluștuğu iki noktanın koordinatları, kosinüs ve sinüs açılarıyla temsil edilir. Bu modül araç tanıma ișleminde ilk kullanılması gereken modüldür. Image Processing modülünde kenar tespitinde ișlem yapılacak minimum mesafe, kenar belirleyici noktalar arası uzunluk ve Prewitt yöntemi kullanılarak yapılan kenar tespitindeki eșik değeri belirtilir. Șekil 5, modülün ekran görüntüsünü göstermektedir. Neural Network Training & Error Graph modülü Image Processing modülü ile programa girilerek kenar belirleyici noktaları bulunmuș olan eğitim seti kullanılarak ağın eğitilmesini ve hata grafiğinin elde edilmesini sağlayan modüldür. Ağın eğitilmesi için en az 5 adet araç görüntüsünün Image Processing modülünde girilmiș ve kenar belirleyici noktalarının bulunmuș olması gereklidir. Bu modülde giriș katmanındaki nöron sayısı, çıkıș katmanındaki nöron sayısı, gizli katmandaki nöron sayısı, öğrenme oranı, momentum ve maksimum adım sayısı belirtilir. Șekil 6, modülün ekran görüntüsünü göstermektedir. Recognition modülü ise girilecek bir araç görüntüsünün yazılıma daha önceden girilmiș olan eğitim seti kullanılarak hangi araçlara ait olabileceğini bulan modüldür. Bu modülde kenar tespitinde ișlem yapılacak minimum mesafe, kenar belirleyici noktalar arası uzunluk ve Prewitt yöntemi kullanılarak yapılan kenar tespitindeki eșik değeri belirtilir. Șekil 7, modülün ekran görüntüsünü göstermektedir. 94

TUNA G. Șekil 5. Image processing modülü Șekil 6. Neural network training & error graph modülü 95

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) Șekil 7. Recognition modülü 3.1 Araç tanıma yazılımı hakkında teknik bilgiler Yazılım Fedora ișletim sisteminde Borland JBuilder 2005 Foundation ile Java dilinde geliștirilmiștir. Kenar Tespiti: Programın en önemli așamalarından birisi girilmiș olan resim dosyasından kenar belirleyici nokta adı verilen değerlerin bulunmasıdır. Bu kenar belirleyici noktalar yapay sinir ağının hesaplamalarında temel teșkil etmektedir. Kenar tespiti için farklı yöntemler bulunmaktadır. Araç tanıma yazılımında kenar tespiti için Prewitt operatörü kullanılmaktadır. Prewitt kenar tespiti yönteminde yüksek gri seviyeleri iki nesne arasındaki kenarı ișaret etmektedir [8]. Prewitt operatörü tarafından kullanılan filtre gradyen değerini hesaplamak için iki adet 3x3 lük șablon kullanmaktadır. +-------------+ -1 0 1 1 1 1 a1 a2 a3-1 0 1 0 0 0 a4 a5 a6-1 0 1-1 -1-1 a7 a8 a9 X Y +-------------+ a1..a9 : filtre penceresindeki her bir pikselin gri renk seviyeleri X = -1*a1 + 1*a3-1*a4 + 1*a6-1*a7 + 1*a9 Y = 1*a1 + 1*a2 + 1*a3-1*a7-1*a8-1*a9 2 2 PREWITT gradient = x + y Bütün pikseller filtrelenir. Kenar noktaları yakınlarında bulunan piksellerin filtrelenmesi için kenar piksel değerleri kopyalanarak arttırılır. 96

TUNA G. İnceltme: İnceltme algoritması eșik değerine bağlı olan kenarı tek çizgi çerçevesine indirgemek için kullanılır. Böylece kenar belirleyici noktalara bağlı tanıma yapmak kolaylașır. Programdaki inceltme algoritması resim dosyasını ardı ardına ișleyerek ve mevut piksel durumunu belirli örüntülerle karșılaștırarak bulunmuș olan kenar çizgilerini bir piksel genișliğe indirir. Geriye Yayılımlı Yapay Sinir Ağı: Yapay Sinir Ağı programda önemli bir görev üstlenmektedir. Araç resimlerinden elde edilen kenar belirleyici nokta lar yapay sinir ağının giriș verilerini olușturmaktadır. Kenar belirleyici noktalar koordinat noktaları ve bu noktalar arasındaki kosinüs ve sinüs değerlerinden olușmaktadır. Ağ yapısı için giriș katmanındaki nöronların sayısı kenar belirleyici noktaların sayısının iki katıdır. Programda çıkıș nöronlarının sayısı araç markalarının sayısına bağlı olarak seçilir. 3.1.1 Yazılımın çalıșma tekniği Görüntünün İșlenmesi: Programın bu așamasında farklı marka ve modellerden araçlara ait görüntüler eklenerek kenar tespiti ve inceltme algoritmasıyla kenar belirleyici noktalar bulunur ve her bir kenar belirleyici noktaya ait kosinüs ve sinüs değerleri hesaplanır. Kenar belirleyici nokta: Programın ișleyiși sırasında kullandığı temel veriler kenar belirleyici noktalardır. Kenar belirleyici noktaların elde edilmesinde amaç araç resimlerinden yapay sinir ağına giriș değerleri sağlamaktır. Kenar belirleyici noktaların koordinatları, kosinüs ve sinüs açıları tanıma ișleminin temel verilerini olușturmaktadır. Șekil 8 de kenar belirleyici noktanın daha ayrıntılı bir görüntüsü bulunmaktadır. Elde edilen tüm kenar belirleyici noktalar yapay sinir ağının hesaplamalarında kullanılacaktır. Șekil 8. Kenar belirleyici noktayı olușturan iki nokta Eğitim: Bu așama geriye yayılım algoritması ile gerçekleștirilir. Algoritma devir sayısı kere tekrar eder. Bașlangıçta ağırlık dizilerine rastgele değerler atanır. Görüntü ișlemeden gelen giriș verileri ile ağ eğitilir. Her bir devirde ağırlıklar güncellenir. Eğitim ișlemi belirli bir hata değerinin altına düșünceye kadar devam eder. Tanıma: Bu așamada tanınacak olan aracın resmi programa yüklenir. Ağ tarafından aracın hangi markaya ait olduğu belirlenir. 97

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) Geriye Yayılım: Bu așama girilen eğitim setlerine göre ağın eğitilmesini gerçekleștirir. Giriș verilerinden eğitim örneklerini alır ve karșılık gelen çıkıș değerlerini elde eder. Gerçek değer ile arzu edilen değer arasındaki hatayı da hesaplar. Bu hata değeri ağırlıkların ayarlanmasında kullanılır. 3.2 Araç tanıma yazılımının kullanımı Yazılım çalıștırıldığında ekrana ilk olarak Image Processing modülü gelir. Bu modülde araç marka ve modellerinin resim dosyalarından olușan eğitim setinin yüklenmesi ve kenar belirleyici noktaların bulunması ișlemi gerçekleștirilir. Șekil 9, 7 farklı markanın toplam 33 modeli için eğitim setinin yüklenmesi ișlemini ve Șekil 10 ise kenar belirleyici noktaların bulunması ișlemini göstermektedir. Otomobil, kamyonet, kamyon, otobüs gibi farklı tür araçlarla eğitim yapılması durumunda uygulama çok az nöronla bile aracın marka ve modelini belirleyebilmektedir. Dolayısıyla uygulamada sadece otomobiller kullanılmıștır. 33 otomobil resmi eğitme için kullanılmıștır. Tanıma ișlemi ise 3 farklı otomobil resmi ile denenmiștir. Șekil 9. Araçların yüklenmesi Șekil 10. Kenar belirleyici noktaların bulunması 98

TUNA G. İkinci așamada kenar belirleyici noktaları bulunmuș olan giriș seti için ağın eğitilmesi ișlemi gerçekleștirilmiștir. Bu ișlem Neural Network Training & Error Graph modülü ile gerçekleștirilmiștir. Bu așamada ağın eğitiminde kullanılan giriș nöronlarının sayısı, gizli katmanda bulunan nöronların sayısı, çıkıș nöronlarının sayısı, öğrenme oranı, momentum ve maksimum adım değerleri belirlenmiștir. Șekil 11, ağın eğitilmesini göstermektedir. Șekil 11. Ağın eğitilmesi Son așamada tanıma ișlemi gerçekleștirilmiștir. Recognition modülü kullanılarak eğitim setinde girilmiș olan Toyota Corolla, Volkswagen Passat ve Renault Megane marka otomobillere ait resimler yüklenmiș ve tanıma ișlemi gerçekleștirilmiștir. Tanıma ișlemi sonunda elde edilen bașarı oranları Toyota Corolla için % 99.546, Volkswagen Passat için % 99.784 ve Renault Megane için % 98.351 dir. Bu ișlem Șekil 12 de gösterilmektedir. Araç tanıma ișlemi sonunda, tanıma ișlemi uygulanan aracın olabileceği alternatif markalar ihtimalleriyle birlikte belirtilmektedir. Șekil 12. Aracın tanınması 99

BAÜ Fen Bil. Enst. Dergisi Cilt 13(1) 88-101 (2011) Uygulama katmanlardaki nöron sayısının, öğrenme oranının, momentum değerinin ve maksimum adım sayısının kullanıcı tarafından belirlenmesine izin vermektedir. Örnek çalıșmada giriș katmanındaki nöron sayısı 3184, gizli katmandaki nöron sayısı 200, çıkıș katmanındaki nöron sayısı 4, öğrenme oranı 0.3, momentum 1.0 ve maksimum adım sayısı 500 kullanılmıștır. Örnek uygulamada eğitim sonunda olușan hata değeri 0,00268144 tür. Daha iyi bir eğitim seti kullanılarak ve parametrelerde değișim yapılarak daha düșük hata değerleri elde edilebilir. Șekil 13, hata değișimini göstermektedir. 4. Sonuçlar ve öneriler Șekil 13. Hata değișim grafiği Bu çalıșmada çok markalı araç servis istasyonları için görüntü tabanlı araç marka ve modeli tanıma uygulaması geliștirilmiștir. Uygulamanın düșük kapasiteli sistemlerde ve farklı ișletim sistemleri yüklü kișisel bilgisayarda hızlı ve etkili bir biçimde çalıșabilmesi amaçlandığı için uygulama JAVA ile geliștirilmiștir. Yazılım servis istasyonları için geliștirilmiș olup resim dosyalarından araç tanıma yapmaktadır. Yazılım farklı araç marka ve modelleri ile denenmiștir. Bozucu etkilerin az olduğu görüntü dosyalarında çok yüksek hassasiyetle aracın hangi marka olduğunu tespit edebilmektedir. Test sonuçlarından elde edilen verilere göre % 99 un üstünde bașarı elde edilmiștir. Uygulamanın yüksek tanıma oranı elde edilebilmesi için iyi bir eğitim seti kullanılması ve eğitim setindeki bozucu etkilerin az olması gereklidir. Uygulamanın düșük ișlemci ve düșük bellek kullanımı gerektirmesi ve platform bağımsız olması benzer uygulamalara göre en önemli avantajlarıdır. Bir sonraki adım olarak direkt olarak kameradan görüntünün alınması sırasında aracın marka ve modelinin belirlenerek aracın servis istasyonuna giriște ilgili bölgeye sistem tarafından yönlendirilmesi hedeflenmektedir. Aracın kameranın önünde çok kısa bir süre durması görüntüsünün alınması için yeterli olacak ve aracın marka ve modeli belirlenebilecektir. 100

TUNA G. Kaynaklar [1] Zhang X., Jiang L., Vehicle Types Recognition Based on Neural Network, Proceedings, CINC '09. International Conference on Computational Intelligence and Natural Computing, 1, 3-6, (2009). [2] Wang, W., Vehicle Type Recognition Based on Radial Basis Function Neural Networks, Proceedings, JCAI '09. International Joint Conference on Artificial Intelligence, 444-447, (2009). [3] Wang, W., A Study on Contour Feature Algorithm for Vehicle Type Recognition, Proceedings, JCAI '09. International Joint Conference on Artificial Intelligence, 452-455, (2009). [4] Wu, W., Qisen Z., Mingjun, W., A method of vehicle classification using models and neural networks, Proceedings, JCAI '09. International Joint Conference on Artificial Intelligence, 4, 3022-3026, (2001). [5] Lan, L.W., Kuo, A.Y., Development of a fuzzy neural network color image vehicular detection, Proceedings, The IEEE 5th International Conference on Intelligent Transportation Systems, 88-93, (2002). [6] Haykin S., Neural Networks, 2 nd ed., Pearson Education, New Jersey, (1999). [7] Liu, J., Sun, J., and Wang, S., Pattern Recognition: An Overview, Proceedings, IJCSNS International Journal of Computer Science and Network Security, 6, (2006). [8] Prewitt, http://en.wikipedia.org/wiki/prewitt (4.5.2009). 101