Üzerinde çalıştığımız bir projeye dayanarak ilginç bir tartışma yaşadım: neden bir şablon eşleştirme algoritması üzerinde CNN görsel denetim sistemi kullanıyorsunuz?
Arka plan: Belirli bir nesne tipi "bozuk" / arızalı veya arızalıysa - bu durumda bir PCB devre kartı olup olmadığını saptayan basit bir CNN görüş sisteminin (web kamerası + dizüstü bilgisayar) bir demosunu göstermiştim. CNN modelim, statik bir arka plan üzerinde düzgün ve bozuk devre kartlarının (her birinin yaklaşık 100 görüntüsü) örneklerini gösterdi. Modelimiz, önceden eğitilmiş VGG16'nın ilk birkaç konv / maxpool katmanını kullandı (imagenet üzerinde) ve daha sonra birkaç yoğunlukla birkaç eğitilebilir dışbükey / havuz ekledik ve sınıflandırma için dim-3 bir sıcak kodlanmış vektörlü çıkışa yol açtık : (is_empty, has_good_product, has_defective_product).
Model oldukça kolay bir şekilde eğitildi ve sorun olmadan% 99 validasyona ulaştı; veri setimizin küçük olduğunu bildiğimiz için çeşitli veri artırımı konusunda da eğitim aldık. Pratikte, 10 üzerinden yaklaşık 9 kez çalıştı, ancak aynı devre kartının birkaç rastgele çevirisi / rotasyonu bazen karşı sınıfa yerleştirir. Belki de daha agresif veri artırımı yardımcı olabilirdi. Her neyse, bir prototip konsept projesi için mutluyduk.
Şimdi başka bir mühendis ve meslektaşına sunum yapıyorduk ve NN'lerin bunun için aşırıya kaçtığı argümanını gündeme getirdi, sadece şablon eşleşmesini kullanmalı, neden CNN yapmak istesin ki?
Bazı uygulamalarda (örneğin denetlenecek diğer parçalar) yaklaşımımızın neden daha iyi olabileceğine dair harika bir yanıtımız olmadı. Ortaya koyduğumuz bazı noktalar:
1) Değişmezliklere karşı daha sağlam (örneğin veri genişletme yoluyla)
2) Sistemi geliştirmek için çevrimiçi öğrenme yapabilir (örn. İnsan yazılıma hangi örneklerin yanlış olduğunu söyleyebilir)
3) Klasik bilgisayar görme algoritmalarında olduğu gibi eşikler ayarlamaya gerek yok Sizce bu tür bir denetim görevi için bir CNN sistemi için daha fazla avantaj var mı? Hangi durumlarda şablon eşleşmesinden daha iyi olur?
Derin NN'lerin iş için teknoloji olabileceği zamanlar için birkaç rastgele fikir daha: girişin bir parçası olarak 3D derinlik algılaması gerektiren veya deforme olabilen / gerilebilen / ezilen, ancak yine de "iyi" olabilecek herhangi bir nesne türü ve kusurlu değil (örneğin, doldurulmuş bir hayvan, teller, vb.). Düşüncelerinizi duymak meraklı :)