Навіщо використовувати згорнуті NN для завдання візуального огляду над класичним узгодженням шаблону CV?


9

У мене була цікава дискусія на основі проекту, над яким ми працювали: навіщо використовувати систему візуального огляду 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-зондування глибини як частина вводу, або будь-якого типу об'єкта, який може бути деформований / розтягнутий / скошений, але все ще бути "хорошим" і не несправний (наприклад, опудала тварини, дроти тощо). Цікаво почути ваші думки :)


Мені подобаються глибокі підходи до навчання і я знаю, що вони є майбутнім. Однак, коли вам потрібні результати високої точності, скажімо точне обертання та точний масштаб, відповідність шаблону все одно дає кращі результати. Я говорю про 0,1 градус / похибку факторної шкали або менше. Глибоке навчання продовжує давати вам "ймовірність" того, що, мабуть, "найкращий" результат, тому його недостатньо, коли потрібна висока точність. Я хотів би знайти спосіб отримати таку точність за допомогою глибокого навчання, але я все ще не можу знайти жодного алгоритму для висока точність відповідності шаблонів із використанням глибокого навчання. Я відкритий для будь-якої думки / пропозиції або
Пабло Гонсалес

Відповіді:


3

Проблемний інженер, який запропонував традиційні методи резюме для вашої програми, просто зробив це за звичкою. Використання відповідності шаблонів вкрай застаріло, і було показано, що воно працює дуже погано. Однак я думаю, що CNN є надмірним в залежності від розміру вашого набору даних.

Як працює відповідність шаблонів?

Відповідність шаблону ковзає вікно по вашому зображенню, яке забезпечить відсоткову відповідність шаблону. Якщо відсоткова відповідність перевищує певний заздалегідь визначений поріг, тоді це передбачається збігом. Наприклад, якщо у вас є зображення собаки, і ви хочете визначити, чи є на зображенні собака, ви пересунете шаблон собаки по всій області зображення і побачите, чи є достатньо великий відсотковий збіг. Це, ймовірно, призведе до дуже низької продуктивності, оскільки вимагає, щоб шаблон накладав зображення однаково . Яка ймовірність цього на практиці? Не дуже високий.

Єдиний час узгодження шаблону є достатньою технікою, якщо ви точно знаєте, що шукаєте, і впевнені, що воно з’явиться майже однаково у кожному прикладі даного класу.

Навіщо використовувати машинне навчання замість цього?

Методи машинного навчання не є жорсткими. На відміну від сказаного stmax, CNN здатні дуже добре узагальнити набір даних . Ось чому вони такі потужні. Використовуючи приклад собаки, CNN не потрібно бачити зображення кожної існуючої собаки, щоб зрозуміти, що являє собою собаку. Ви можете показати це, можливо, 1000 зображень із пошуку в Google, і тоді алгоритм зможе виявити, що ваша собака насправді є собакою. Те, що алгоритми машинного навчання дуже добре узагальнюють, є причиною того, що вони замінили всі старовинні методи резюме. Тепер проблема полягає в кількості даних, які вам потрібні для підготовки CNN. Вони надзвичайно об'ємні дані .

Я не думаю, що 100 точок даних є достатніми для підготовки надійної CNN. Через глибоку складність моделі для обмеження упередженості потрібно збільшити кількість прикладів. Зазвичай я пропоную 100 прикладів для кожної функції для глибоких моделей та 10 прикладів для кожної функції для дрібних моделей. Це дійсно все залежить від вашого простору.

Що я пропоную.

Що ви справді робите, це виявлення аномалії . У вас є маса прикладів, які будуть представлені друкованими платами, які в іншому випадку знаходяться в хорошій формі. Ви хочете виявити порушені. Таким чином, я б спробував кілька методів виявлення аномалії. Вони набагато простіші у здійсненні, і ви можете отримати хороші результати, використовуючи неглибокі моделі, особливо у косих наборах даних (1 клас представлений понад).


Дякуємо за ваш всебічний коментар! Чи можете ви навести приклади проектів чи робіт, які пояснюють (і, можливо, демо) виявлення аномалії? Ура
JDS

1
Ось літературний огляд виявлення аномалії В. Чандола, А. Банерджі та В. Кумар, «Виявлення аномалії: опитування», обстеження обчислень ACM, т. 41, ні. 3, стор. 15, 2009.
JahKnows

5

Відповідь залежить від завдання. Відповідність шаблонів може працювати для деяких завдань, але не для всіх. CNN потенційно можуть узагальнювати невидимі вхідні дані, які не відповідають жодному із ваших шаблонів, тому потенційно можуть узагальнюватися краще.

Але від того, чи будуть CNN бити відповідність шаблонів, буде залежати від конкретної задачі та того, що конкретно ви намагаєтеся досягти. Це емпірична наука; Зрештою, спосіб дізнатися, що працює краще, - спробувати їх обидва - або навчитися у інших, хто їх випробував (наприклад, читаючи літературу). Я не думаю, що ти знайдеш якусь теорію чи систематику, яка замінить емпіричну оцінку даних реального світу.


5

Одна з проблем, з якою ви можете зіткнутися з NN (та іншими методами класифікації), полягає в тому, що, оскільки ви показали лише певні дефекти, він може не знати, як реагувати на абсолютно нові / ще небачені дефекти, які можуть з’явитися в майбутньому.

Ви хочете, щоб NN дізнався "все, що не схоже на несправну друковану плату - це несправна плата". Але що робити, якщо він дізнався, що "все, що не схоже на несправну друковану плату, є несправною платою"?

Ви можете спробувати змінити деякі зображення неефективних друкованих плат, додавши до них невелику білу пляму (або інше невелике збурення) у випадкових місцях і нейронна мережа класифікує ці модифіковані зображення. Це безумовно повинно класифікувати їх як несправні, правда? Але, мабуть, пропустять деякі (або зовсім багато), оскільки раніше подібних дефектів ще не бачили.

Для виявлення абсолютно нових дефектів методів виявлення аномалій / класифікаторів одного класу може бути більше .. trustworty, тому що вони повинні підбирати все, що ніколи раніше не було.

Як сказав DW, вам просто доведеться спробувати обидва методи і з’ясувати, який з них працює краще. Просто переконайтеся, що у вас є справді хороший тестовий набір, який також містить абсолютно нові дефекти!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.