Logo tespit etme


#1

Merhaba

Elimde 10 tane logo var. Kamera logolardan birini görürse tespit edecek. Örnek vermek gerekirse logolar bir paketin üstünde veya bir kartonun üstünde olabilir. Kamera ile uzaktan değil, direk yakından çekeceğim. Ortalama 30 cm uzakliktan. Ancak dediğim gibi 10 logo içinden paketin üstünde hangi logo varsa onu bana söyleyecek. OpenCV ile bunu yapmak için template matching yapayım dedim ancak o da tek resim tanıtmak şeklinde oluyor. Bunu OpenCV ile nasıl yapabilirim? veya başka bir alternatifiniz var mı? fikirlerinizi merak ediyorum.


#2

Merhaba,
OpenCV ile bir template için yaptığını 10 kere 10 template için yapmayı deneyebilirsin.
Veya senin için hız da önemliyse, YOLO algoritmasını deneyebilirsin.
Elindeki logoları farklı yerleştirip veya veri arttırma yöntemleri ile logolu örnek sayısını arttırman gerekir. Sonra da kendi logolarınla eğitebilirsin.


Resnet-Tensorflow
#3

Merhaba,

@yavuzkomecoglu kesinlikle çok haklı. Paylaştığı biçimde eğitim yapmanız gerekiyor. Yavuz beye ufak bir ekleme yapmak gerekirse;

Anladığım kadarıyla yaptığınız eğitimin çalışmasından öte pratikte de sizi tatmin etmesi gerekiyor. Bir kaç teknik ekleme yapmak gerekirse,

  • Eğitimi yapacağınız logolar ile pratikte kameradan çekeceğiniz fotoğrafın aynı kaynaktan alınması gerekiyor.(ikiside aynı kameradan)

  • Pratikte uygularken ışık oranı, bulanıklık, mesafe gibi faktörleri göz önünde bulundurarak eğitim kümenizdeki verilerle oynayarak çoğaltmanız gerekiyor

  • Profesyönel ve pratikte çalışan bir proje ortaya koyabilmek için öncelikle hedef hata oranı (bayes error) belirlemeniz gerekir. Benim önerim human-level ki buda 30cm den insanların logoları mutlaka yakın tanıyabileceği için %0 olmalıdır.

  • Daha sonrasında sadece eğitim ve test kümesi kullanmanızın yanı sıra cross-validation(dev set) kullanmanızı da tavsiye ederim. Böylece elinizde train,dev(cross-validation),test setiniz mevcut olur.

  • Ek olarak pratikte olabilecek yanlış eşleşlemeri ölçebilmek adına eğitim kümeniz ile oluşturacağınız dev seti kullanarak training-dev set oluşturmanızı öneririm.

  • Oluşturacağınız veri adedine göre train,training-dev,dev ve test set miktarlarını belirlemeniz sonrasında ölçümleri gerçekleştirerek. bias, variance, data-mismatch oranlarını bayes error göre optimize ederek sonuca ulaşabilirsiniz.

Murat