Plaka tanıma yazılımı konusunda bir çok denemelerim oldu. Özellikle resim üzerinden tanıma çok kolay.. İş video veya canlı video ya geldiğinde işler biraz performansı zorluyor. Bu konuda açık kaynak kodlu bir çok uygulama var. Denediklerim içinden OpenALPR (Open Source Automatic License Plate Recognition) bana oldukça faydalı gibi geldi. Hem OpenALPR yi hem de Haar Cascade ile yazılımlarını yaparak denemeler yaptım.
Biraz farklı bir şey yapıp hafta sonu İstanbul dışında seyahat ederken hazırlık için birkaç video çektim. Hem size daha sonra anlatacağım şerit asistanı yazılımları nasıl yazılıyor onun için de böyle bir video ya ihtiyacım vardı ve fırsatı kaçırmadım.
Bu video üzerinden kısa bir plaka tanıma anını animated GIF yapıp bu yazıya koydum.. Plakayı tanıdığı an plakanın etrafını kırmızı çizgi ile çiziyor ve ekrandaki bir kutucuğa o kırmızı çizgi ile olan kısmı getiriyor diğer bir kutucuğa da yazı olarak plakayı yazıyor.
Bir de bu tanımanın HaarCascade ile olanı var ki traineddata sini bile onlarca plakadan positive ve negatif leri ile oluşturup cascade dosyasını da XML olarak hazırladım. Ancak biraz yavaş kalıyor. Ancak canlı kamera dan giriş çıkışlarda kullanılabilir diye de düşünüyorum. Extra özellikle plakanın yerini bulmada problem olmuyor ancak onu crop edip bir de ocr dan geçirmek iyice kasıyor makinayı. OpenALPR nin bu açıdan performansı daha iyi.
Ancak; Eğer bunlardan daha hızlı ve tutarlı bir çözüm isterseniz o zaman CNN denilen Convolutional Neural Network prensibini kullanan bir yazılım yapmanız daha iyi olacaktır. Caffe Framework kullanarak bunu yapabilirsiniz. Ancak CNN için elinizde çok fazla veri datası olmalı ki yazılıma bunu öğretesiniz. Yani CNN i train yapmanız için çok fazla verinizin olması lazım. OpenALPR LBP (Local Binary Patterns) algoritmasını kullanıyor. O nedenle CNN her zaman daha iyidir. Objelerin dönme açılarına göre yine CNN yaklaşımı ve çalışması tutarlıdır ancak Haar tutarlı değildir.
Sıralama şöyle (işlem zamanına göre) 1- CNN, 2- LBP, 3- Haar Cascade
Not: Bazı internet kaynakları Haar ı LBP den daha iyi buluyor ancak bu belki Haar da çok fazla veri ile çalışıp öğretirseniz olabilir. Zaten bir tek işlem zamanında LBP daha iyi o kadar.
Ancak objeleri CNN e tanıtma ve öğretme aşaması uzundur.
Sizinle grafikleri de paylaşayım daha iyi anlarsınız..
Birkaç gün içinde trafik işaretlerini tanıma ve araç sürme de şerit yardımcısı yazılımları konusunda da gireceğim.
Sağlıcakla kalın
Selcuk Celik