заглушки Як працює класифікація зображень? - Об'єднуйтесь.AI
Зв'язатися з нами
Майстер-клас ШІ:

AI 101

Як працює класифікація зображень?

mm
оновлений on

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

Розпізнавання та класифікація зображень — це те, що дає змогу досягти багатьох найбільш вражаючих досягнень штучного інтелекту. Але як комп’ютери навчаються виявляти та класифікувати зображення? У цій статті ми розглянемо загальні методи, які використовують комп’ютери для інтерпретації та виявлення зображень, а потім розглянемо деякі з найпопулярніших методів класифікації цих зображень.

Класифікація на рівні пікселів проти об’єктної

Методи класифікації зображень в основному можна розділити на дві різні категорії: класифікація на основі пікселів і об'єктна класифікація.

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

Для класифікації на основі пікселів використовуються різні методи класифікації. До них відносяться мінімальна відстань до середнього, максимальна ймовірність і мінімальна відстань Махаланобіса. Ці методи вимагають, щоб були відомі середні значення та дисперсії класів, і всі вони працюють шляхом дослідження «відстані» між середніми значеннями класу та цільовими пікселями.

Методи класифікації на основі пікселів обмежені тим фактом, що вони не можуть використовувати інформацію з інших сусідніх пікселів. Навпаки, методи класифікації на основі об’єктів можуть включати інші пікселі, і тому вони також використовують просторову інформацію для класифікації елементів. Зауважте, що «об’єкт» відноситься лише до суміжних областей пікселів, а не до того, чи є цільовий об’єкт у цій області пікселів.

Попередня обробка даних зображення для виявлення об’єктів

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

Перш ніж зображення та об’єкти/області в цьому зображенні можна буде класифікувати, комп’ютер має інтерпретувати дані, які містять це зображення. Зображення потрібно попередньо обробити та підготувати для введення в алгоритм класифікації, і це робиться за допомогою виявлення об’єктів. Це важлива частина підготовки даних і зображень для навчання класифікатора машинного навчання.

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

Фото: Adrian Rosebrock через Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

Ще один спосіб попередньої обробки – сегментація зображення. Сегментація зображення функціонує шляхом поділу всього зображення на сегменти на основі подібних ознак. Різні області зображення матимуть однакові значення пікселів порівняно з іншими областями зображення, тому ці пікселі групуються разом у маски зображення, які відповідають формі та межам відповідних об’єктів у зображенні. Сегментація зображення допомагає комп’ютеру виділити особливості зображення, які допоможуть йому класифікувати об’єкт, подібно до обмежувальних рамок, але вони забезпечують набагато точніші мітки на рівні пікселів.

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

Алгоритми машинного навчання

Коли дані підготовлені та позначені, вони завантажуються в алгоритм машинного навчання, який навчається на цих даних. Ми розглянемо деякі з найпоширеніших видів машинного навчання алгоритми класифікації зображень нижче.

K-найближчі сусіди

K-Nearest Neighbors — це алгоритм класифікації, який вивчає найближчі навчальні приклади та переглядає їхні мітки, щоб визначити найімовірнішу мітку для певного тестового прикладу. Коли йдеться про класифікацію зображень за допомогою KNN, вектори ознак і мітки навчальних зображень зберігаються, і під час тестування в алгоритм передається лише вектор ознак. Потім вектори ознак навчання та тестування порівнюються один з одним на подібність.

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

Підтримка векторних машин

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

Багатошарові перцептрони (нейронні мережі)

Багатошарові персептрони, також звані моделями нейронних мереж, — це алгоритми машинного навчання, створені за мотивами людського мозку. Багатошарові перцептрони складаються з різних шарів, які з’єднані один з одним, подібно до того, як нейрони в людському мозку з’єднані разом. Нейронні мережі роблять припущення про те, як вхідні характеристики пов’язані з класами даних, і ці припущення коригуються протягом навчання. Прості моделі нейронних мереж, такі як багатошаровий персептрон, здатні вивчати нелінійні зв’язки, і, як наслідок, вони можуть бути набагато точнішими, ніж інші моделі. Однак моделі MLP страждають від деяких помітних проблем, таких як наявність невипуклих функцій втрат.

Алгоритми глибокого навчання (CNN)

Фото: APhex34 через Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

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

Згорткові нейронні мережі отримали свою назву через те, що вони створюють «згортки». CNN працюють, беручи фільтр і ковзаючи ним по зображенню. Ви можете думати про це як про перегляд частин пейзажу через рухоме вікно, зосереджуючись лише на об’єктах, які можна переглядати через вікно в будь-який момент часу. Фільтр містить числові значення, які множаться на значення самих пікселів. Результатом є новий кадр або матриця, повна чисел, які представляють вихідне зображення. Цей процес повторюється для вибраної кількості фільтрів, а потім кадри об’єднуються в нове зображення, яке є трохи меншим і менш складним, ніж вихідне зображення. Техніка, яка називається об’єднанням, використовується для вибору лише найважливіших значень у зображенні, і мета полягає в тому, щоб згорткові шари врешті-решт виділили лише найбільш помітні частини зображення, які допоможуть нейронній мережі розпізнати об’єкти на зображенні.

Конволюційні нейронні мережі складаються з двох різних частин. Згорткові шари – це те, що виділяє особливості зображення та перетворює їх у формат, який шари нейронної мережі можуть інтерпретувати та навчатися. Ранні згорткові шари відповідають за виділення основних елементів зображення, таких як прості лінії та межі. Середні згорткові шари починають захоплювати більш складні форми, такі як прості криві та кути. Пізніші, глибші згорткові шари витягують високорівневі характеристики зображення, які передаються в нейронну мережеву частину CNN і які вивчає класифікатор.

Блогер і програміст зі спеціальностями в машинне навчання та Глибоке навчання теми. Деніел сподівається допомогти іншим використовувати силу ШІ для суспільного блага.