У мене була цікава дискусія на основі проекту, над яким ми працювали: навіщо використовувати систему візуального огляду CNN над алгоритмом відповідності шаблонів?
Передумови: я показав демонстрацію простої системи бачення CNN (веб-камера + ноутбук), яка виявила, чи певний тип об'єкта був "зламаний" / несправний чи ні - в цьому випадку плати друкованої плати. Моїй моделі CNN були показані приклади правильних та розбитих плат (близько 100 зображень на кожній) на статичному тлі. Наша модель використовувала перші кілька шарів conv / maxpool заздалегідь підготовленого VGG16 (на imagenet), а потім ми додали ще декілька тренованих convs / пулів, з кількома заглибленнями, що призводить до dim-3 one hot-encoded vectored output для класифікації : (is_empty, has_good_product, has_defective_product).
Модель навчалася досить легко і досягала 99% валідизації, без проблем; ми також навчалися з різним доповненням даних, оскільки знаємо, що наш набір даних був невеликим. На практиці він працював приблизно 9 разів з 10, але кілька випадкових перекладів / обертань однієї і тієї ж плати періодично поміщали б її в протилежний клас. Можливо, допоможе більш агресивне збільшення даних. У будь-якому випадку, для проектного концептуального проекту ми були задоволені.
Зараз ми представляли іншому інженеру та його колезі, і він висунув аргумент, що NN є надмірними для цього, слід просто використовувати відповідність шаблонів, чому б хотіли робити CNN?
Ми не мали чудової відповіді, чому наш підхід може бути кращим у певних додатках (наприклад, в інших частинах для перевірки). Деякі моменти, які ми підвели:
1) Більш надійний для інваріантів (наприклад, шляхом збільшення даних)
2) Може зробити навчання в Інтернеті для вдосконалення системи (наприклад, людина може розповісти програмному забезпеченню, які приклади помилилися)
3) Не потрібно встановлювати порогові показники, як у класичних алгоритмах комп'ютерного зору. Як ви думаєте, чи є більше переваг для системи CNN для цього виду перевірки? У яких випадках було б краще, ніж відповідність шаблонів?
Ще кілька випадкових ідей про те, коли глибокі мережеві мережі можуть стати технологією для роботи: для систем, які потребують 3D-зондування глибини як частина вводу, або будь-якого типу об'єкта, який може бути деформований / розтягнутий / скошений, але все ще бути "хорошим" і не несправний (наприклад, опудала тварини, дроти тощо). Цікаво почути ваші думки :)