YOLO (object detection algorithm)

Оновлено: 31.07.2023

Виявлення об'єктів

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

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

Класифікація зображень проходить через низку складніших етапів.

  • Класифікація - це процес віднесення зображення до однієї з декількох категорій для того, щоб відповісти на запит "Що на цій фотографії?" (людина, тварина, предмет). Кожній фотографії присвоюється одна категорія.
  • Локалізація, тепер ми можемо точно визначити наш об'єкт на зображенні, і наш запит тепер стає "Де він знаходиться?.

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

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

Що таке YOLO (алгоритм виявлення об'єктів)?

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

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

Після не максимального придушення, яке гарантує, що алгоритм виявлення об'єктів ідентифікує кожен об'єкт лише один раз, виводяться розпізнані об'єкти та обмежувальні рамки.

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

Алгоритм YOLO

Існує кілька різних методів виявлення об'єктів, які можна розділити на дві групи:

  • Алгоритми на основі класифікації. Вони застосовуються у два кроки. Вони починаються з виявлення областей, що становлять інтерес на зображенні. Потім вони використовують згорткові нейронні мережі для класифікації цих областей. Оскільки ми повинні виконувати прогнози для кожної вказаної області, це рішення може бути повільним. Згорткова нейронна мережа на основі регіону (Region-based convolutional neural network, RCNN), а також Fast-RCNN, Faster-RCNN і Mask-RCNN є відомими прикладами такого роду алгоритмів.
.

  • Регресійні алгоритми передбачають класи та обмежувальні рамки для всього зображення за один прогін алгоритму. Алгоритми сімейства YOLO та SSD є двома найвідомішими прикладами з цієї групи. Вони широко використовуються у сфері виявлення об'єктів у реальному часі. Чому це так? Ну, просто вони поступаються невеликим відсотком точності в обмін на велику швидкість.
.

Щоб зрозуміти алгоритм YOLO, потрібно спочатку визначити, що саме прогнозується.

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

Чотири дескриптори можуть бути використані для опису кожного обмежувального поля:

  • Ширина
  • Висота
  • Центр обмежувальної рамки
  • Значення, що відповідає класу об'єкта

Як було сказано раніше, при використанні техніки YOLO ми не шукаємо на зображенні цікаві частини, які потенційно можуть містити об'єкт.

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

В результаті, для одного зображення ми отримуємо велику кількість 1805 обмежувальних рамок.

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

Виявлення об'єктів за моделлю YOLO має ряд переваг у порівнянні з іншими підходами до виявлення об'єктів:

  • Під час навчання та тестування YOLO бачить повне зображення.
  • Машинне навчання YOLO випереджає інші підходи до виявлення топів при навчанні на природних фотографіях.
  • АІ-модель YOLO працює значно швидше, ніж інші методи виявлення.