Saya memiliki diskusi yang menarik berdasarkan proyek yang sedang kami kerjakan: mengapa menggunakan sistem inspeksi visual CNN melalui algoritma pencocokan templat?
Latar Belakang: Saya telah menunjukkan demo sistem penglihatan CNN sederhana (webcam + laptop) yang mendeteksi jika jenis objek tertentu "rusak" / cacat atau tidak - dalam hal ini, papan sirkuit PCB. Model CNN saya ditunjukkan contoh papan sirkuit yang benar dan rusak (masing-masing sekitar 100 gambar) dengan latar belakang statis. Model kami menggunakan beberapa lapisan conv / maxpool pertama dari VGG16 pra-terlatih (pada imagenet), dan kemudian kami menambahkan beberapa conv / pool yang lebih dapat dilatih, dengan beberapa kepadatan, yang mengarah ke keluaran vektor terkodekan panas-pendek yang dikodekan untuk klasifikasi. : (is_empty, has_good_product, has_defective_product).
Model dilatih dengan cukup mudah dan mencapai validasi 99% tanpa masalah; kami juga dilatih dengan berbagai augmentasi data karena kami tahu dataset kami kecil. Dalam praktiknya, ini bekerja sekitar 9 kali dari 10, tetapi beberapa terjemahan / rotasi acak dari papan sirkuit yang sama kadang-kadang meletakkannya di kelas yang berlawanan. Mungkin augmentasi data yang lebih agresif akan membantu. Bagaimanapun, untuk proyek konsep prototipe kami senang.
Sekarang kami sedang mempresentasikan kepada insinyur lain dan rekannya, dan ia mengemukakan argumen bahwa NN terlalu banyak dalam hal ini, haruskah hanya menggunakan pencocokan templat, mengapa seseorang ingin melakukan CNN?
Kami tidak memiliki jawaban yang bagus untuk mengapa pendekatan kami bisa lebih baik dalam aplikasi tertentu (misalnya bagian lain untuk diperiksa). Beberapa poin yang kami kemukakan:
1) Lebih kuat untuk invarian (melalui misalnya augmentasi data)
2) Dapat melakukan pembelajaran online untuk meningkatkan sistem (misalnya manusia dapat memberi tahu perangkat lunak mana contoh yang salah)
3) Tidak perlu menetapkan ambang batas seperti pada algoritma visi komputer klasik Apa yang kalian pikirkan, apakah ada lebih banyak keuntungan untuk sistem CNN untuk jenis tugas inspeksi ini? Dalam kasus apa akan lebih baik daripada pencocokan templat?
Beberapa gagasan acak untuk NNs dalam bisa menjadi teknologi untuk pekerjaan itu: untuk sistem yang membutuhkan penginderaan kedalaman 3D sebagai bagian dari input, atau semua jenis objek yang dapat dideformasi / direntangkan / diperas tetapi masih "bagus" dan tidak cacat (mis. boneka binatang, kabel, dll). Penasaran mendengar pikiran Anda :)