Teknofest’19 Yapay Zeka Yarışması — Nesne Tespiti — RetinaNet
HÜMA Takımı olarak Teknofest 2019 Yapay Zeka Yarışması’nda drone görüntüleri üzerindeki araç ve insan tespiti için kullandığımız derin öğrenme modelimiz
🚀 İstanbul Havacılık, Uzay ve Teknoloji Festivali’nde (TEKNOFEST İstanbul) bu sene yapay zeka kategorisindeki yarışma, bir drone ile önceden kaydedilmiş görüntüler üzerinden araç ve insan tespitini yapılması üzerineydi.
HÜMA takımı olarak 167 takım arasından ilk 50 takım arasına kalarak 17–22 Eylül tarihlerinde iki raunt yarı final ve dört raunt final olmak üzere belirlenen süre içerisinde en çok nesne tespitini yapabilmek için yarıştık.
Final rauntları sonucu toplamda 7.sırada tamamladık.
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:
- Nesne Tespiti için Özellik Piramit Ağları (Feature Pyramid Networks for Object Detection)
- Yoğun Nesne Tespiti İçin Odak Kaybı (Focal Loss for Dense Object Detection)
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ş 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