Teknofest’19 Yapay Zeka Yarışması — Nesne Tespiti — RetinaNet

Source: Deep Learning on Medium

Nesne tespiti denildiğinde ilk akla gelen YOLO algoritması gerçek zamanlı tespit için oldukça hızlı ve başarılı sonuçlar verirken yarışma kapsamında 10 dakikalık bir videodan 4er frame atlanarak toplam 4500 frame paylaşıldı ve 90 dk içerisinde tespit sonuçlarının elde edilip paylaşılması istediğinden hızdan çok başarılı tespit etmek önemliydi.
Ayrıca üstten çekilmiş yüksek çözünürlüklü görüntüler içerisinde aranılan nesnenin küçük yer kaplamasından dolayı araştırmalarımız sonucu RetinaNet ağını kullanmaya karar verdik.

🎁 Bonus: Derin öğrenme kullanılan nesne tespiti modellerinin yıllara göre sıralanmış listesini, performans karşılaştırmalarını ve makale linklerini bulabileceğiniz güzel bir kaynak.

🎯 RetinaNet

RetinaNet, mevcut tek aşamalı nesne algılama modelleri (YOLO ve SSD gibi) üzerinde iki geliştirme yaparak kuruldu:

RetinaNet

500’den fazla alıntı içeren 2017 ICCV En İyi Öğrenci Bildirisi Ödül’üne layık görüne RetinaNet için detaylı blog yazısını aşağıdan inceleyebilirsiniz.

🦄 Keras RetinaNet

Sıddık Açıl’ın Keras RetinaNet’in kurulumu ve kendi veri kümeniz ile nasıl eğitip çalıştıracağınız ile ilgili hazırladığı tutorial tadındaki blog yazısını aşağıdan inceleyebilirsiniz.

Yarışma kapsamında RetinaNet’in Keras implementasyonu kullandık.
Drone ile çekilmiş yaklaşık 30bin görüntü üzerinden yaklaşık 88bin araç ve insanları etiketleyerek veri kümesi oluşturduk ve bu veri kümesini COCO veri kümesiyle ResNet-50 modelinin ağırlıklarını kullanarak 58 epoch eğittik.

Eğitilmiş modelimizin test görüntüleri üzerindeki tespit sonuçları

🦄 Eğitilmiş modelin ağırlık dosyasını, eğitime devam edebilmeniz için snapshot dosyasını ve verilen resim klasörü içerisindeki resimleri üzerinde prediction yaparak elde edilen tespit sonuçları resim üzerine çizen python kodunu aşağıdaki github repomuzdan erişebilirsiniz.

📬 İletişim için: huma.teknofest@gmail.com