2017-06-21 35 views
6

Bu soruya cevap verilmiş olabilir ama buna basit bir cevap bulamadım. Simpsons karakterlerini (dataset here) sınıflandırmak için Keras'ı kullanarak bir konvnet oluşturdum.
20 sınıfım var ve giriş olarak bir görüntü veriyor, karakter adını döndürüyorum. Oldukça basit. Veri kümemde resimdeki ana karakterle birlikte resimler bulunur ve yalnızca karakterin bir etiket olarak ismini alır.Keras kullanarak nesne tespiti: daha hızlı R-CNN veya YOLO için basit bir yol

Şimdi bir nesne algılamayı eklemek istiyorum, örneğin resimdeki karakterlerin etrafına bir sınırlayıcı kutu çizin ve hangi karakterin olduğunu tahmin edin. Sürgülü bir pencereyi kullanmak istemiyorum çünkü gerçekten yavaş. Bu yüzden daha hızlı RCNN (github repo) veya YOLO (github repo) kullanmayı düşündüm. Eğitim setimin her bir resmi için sınırlayıcı kutunun koordinatlarını eklemem gerekir mi? Antrenman setinin koordinatlarını vermeden nesne tespiti yapmanın bir yolu var mı (ve testimde sınırlayıcı kutular olsun)?

Özetle, basit bir nesne algılama modeli oluşturmak istiyorum, daha basit bir YOLO veya daha hızlı RCNN oluşturmanın mümkün olup olmadığını bilmiyorum.

Yardımlarınız için çok teşekkür ederim.

cevap

5

Yolo veya daha hızlı rcnn hedefi, sınırlayıcı kutuları elde etmektir. Kısacası, evet, eğitmek için verileri etiketlemeniz gerekecek.) Karakteri başına 5 Diyelim (

  • 1) için sınırlama kutuları bir avuç etiketle:

    bir kısayol atın.
  • 2) Çok küçük veri kümesinde daha hızlı rcnn veya yolo eğitin.
  • 3) Modelinizi eksiksiz veri kümesine karşı çalıştırın.
  • 4) Biraz olsun, yanlış olsun.
  • 5) Daha hızlı rcnn doğru şekilde bağlı olanları eğitin, eğitim setiniz şimdi çok daha büyük olmalıdır.
  • 6) İstediğiniz sonucu alana kadar tekrarlayın.
0

Zaten şimdiden aklında uygun bir mimariye sahip olabilir: "Şimdi yani resimde karakterlerin etrafında bir sınırlayıcı kutu çizin ve onu hangi karakteri tahmin ask bir nesne algılama eklemek istiyorum"

kişinin algılama parçası sen sh 1 için zaten

eğitimli convnet kullanarak sınırlayıcı kutuları
2. sınıflandırır sınırlayıcı kutuları dönmek için
1. bir nesne detektörü ekleyin:

Yani sadece iki parça görevi bölmek bir dedektör kullanarak (COCO veya Imagenet üzerinde önceden hazırlanmış bir konvnet) insanları algılamak için bir nesne detektörü (hala YOLO ve Hızlı-RCNN) kullanarak gitmek iyi olabilir. Bununla birlikte, “çizgi film” lerdeki insanların (Simpsons olduğunu söyleyenler) doğru bir şekilde tanınmadığını görebilirsiniz çünkü özellik detektörü karikatür tabanlı görüntülerde değil, gerçek görüntülerde eğitilmiştir. Bu durumda, transfer learning metodolojisine göre, çizgi film özelliklerini öğrenmek için çizgi film resimlerindeki yeniden eğitme özelliğini çizgi film resimlerindeki birkaç katmana deneyebilirsiniz.

İlgili konular