комп'ютерний зірвиявлення об'єктівкласифікація зображеньглибоке навчанняштучний інтелектмашинне навчання
Завдання виявлення об'єктів комп'ютерного зору проти задач класифікації зображень
Виявлення об'єктів та класифікація зображень є основними завданнями комп'ютерного зору, але вони служать принципово різним цілям. Класифікація позначає все зображення однією категорією, тоді як виявлення об'єктів знаходить та ідентифікує кілька об'єктів у сцені. Вибір між ними залежить від того, чи потрібно вам знати, що знаходиться на зображенні, чи де розташовані певні елементи.
Найважливіше
Виявлення об'єктів забезпечує просторову локалізацію за допомогою обмежувальних рамок, тоді як класифікація видає лише одну мітку для кожного зображення.
Моделі класифікації значно швидші та потребують меншої обчислювальної потужності, ніж моделі виявлення.
Виявлення вимагає дорогих анотацій обмежувальних рамок, тоді як класифікація потребує лише міток на рівні зображення.
Обидва завдання мають спільні базові архітектури, такі як магістралі ResNet, але виявлення додає головки прогнозування регіонів для локалізації.
Що таке Виявлення об'єктів комп'ютерного зору?
Ідентифікує та локалізує кілька об'єктів на зображенні за допомогою обмежувальних рамок та міток класів.
Виявлення об'єктів поєднує класифікацію з локалізацією, прогнозуючи як присутність об'єктів, так і їх розташування в піксельних координатах.
Популярні архітектури включають YOLO, Faster R-CNN, SSD та DETR, кожна з яких по-різному балансує швидкість і точність.
Набори даних Pascal VOC та COCO стали фундаментальними еталонами, причому COCO містить понад 330 000 зображень та 2,5 мільйона позначених екземплярів.
Сучасні детектори можуть обробляти відео в режимі реального часу, причому YOLOv8 та YOLOv9 досягають швидкості виведення даних понад 100 кадрів в секунду на відповідному обладнанні.
Застосування охоплюють автономні транспортні засоби, системи спостереження, медичну візуалізацію, аналітику роздрібної торгівлі та моніторинг сільського господарства.
Що таке Завдання класифікації зображень?
Призначає одну мітку або категорію всьому зображенню на основі його домінуючого візуального змісту.
Класифікація зображень видає одну або декілька міток для всього зображення без вказівки просторового розташування об'єктів.
Набір даних ImageNet, що містить понад 14 мільйонів позначених зображень у 20 000 категоріях, каталізував революцію глибокого навчання у 2012 році, коли AlexNet виграв конкурс ILSVRC.
До базових архітектур належать ResNet, VGG, Inception, EfficientNet та Vision Transformers (ViT).
Моделі класифікації зазвичай працюють швидше, ніж моделі виявлення, оскільки вони вимагають лише одного прямого проходу на зображення без пропозицій регіонів.
Звичайні випадки використання включають модерацію контенту, медичну діагностику за допомогою рентгенівських знімків, контроль якості у виробництві та ідентифікацію видів в екології.
Таблиця порівняння
Функція
Виявлення об'єктів комп'ютерного зору
Завдання класифікації зображень
Основний вихід
Обмежувальні рамки з мітками класів та показниками достовірності
Єдина мітка класу для всього зображення
Просторова інформація
Забезпечує точне розташування об'єктів за допомогою координат
Просторова або позиційна інформація не надана
Кількість об'єктів
Може виявляти кілька об'єктів одночасно
Визначає лише домінантний суб'єкт
Обчислювальні витрати
Вища через пропозиції регіонів та численні прогнози
Опускати одним проходом вперед на кожне зображення
Складність моделі
Більш складний з компонентами хребта, шиї та голови
Простіша архітектура, орієнтована на вилучення ознак
Типовий діапазон точності
mAP 40-65 за показником COCO для найсучасніших моделей
Найвища точність 85-91% на ImageNet для провідних моделей
Вимоги до навчальних даних
Потрібні анотації обмежувальної рамки, дорожче їх маркувати
Потрібні лише підписи на рівні зображення, дешевше анотувати
Швидкість виведення
Можливість гри в реальному часі (30-100+ FPS) з оптимізованими моделями
Дуже швидко, часто 100+ FPS навіть на скромному обладнанні
Найкращий варіант використання
Сцени з кількома об'єктами, що потребують локалізації
Зображення одного об'єкта, що потребують ідентифікації категорії
Детальне порівняння
Основна мета та результат
Фундаментальна відмінність полягає в тому, чого прагне кожне завдання. Класифікація зображень відповідає на питання «що на цьому зображенні?», призначаючи одну або кілька міток усьому зображенню. Виявлення об’єктів йде далі, відповідаючи на питання «що на цьому зображенні і де саме це знаходиться?», використовуючи обмежувальні рамки навколо кожного виявленого об’єкта. Якщо ви завантажуєте фотографію вулиці, класифікатор може позначити її як «міський пейзаж», тоді як детектор намалює рамки навколо автомобілів, пішоходів, світлофорів і знаків окремо.
Архітектура та дизайн моделей
Моделі класифікації, як правило, дотримуються прямого конвеєра: магістральна мережа витягує ознаки, а головка класифікатора видає ймовірності. Моделі виявлення об'єктів за своєю суттю складніші, зазвичай складаються з магістралі для вилучення ознак, шийки для об'єднання ознак та голови, яка передбачає як класи, так і координати обмежувальної рамки. Ця додаткова складність пояснює, чому моделі виявлення потребують більше параметрів та обчислювальних ресурсів для досягнення порівнянної точності у відповідних контрольних показниках.
Навчальні дані та анотації
Набори даних класифікації зображень потребують лише міток на рівні зображення, що робить їх створення у великих масштабах дешевшим та швидшим. Виявлення об'єктів вимагає анотацій обмежувальних рамок для кожного екземпляра об'єкта, процес, який може тривати від 10 до 100 разів довше для кожного зображення залежно від складності сцени. Набори даних, такі як COCO, потребували тисяч годин анотацій, тоді як мітки класифікації ImageNet були відносно швидко зібрані за допомогою таких сервісів, як Amazon Mechanical Turk.
Компроміси між продуктивністю та швидкістю
Моделі класифікації зазвичай працюють швидше та досягають вищої точності у своїх тестах, оскільки завдання простіше. Сучасні класифікатори перевищують 91% точності топ-1 на ImageNet, тоді як детектори топових об'єктів досягають близько 63-65 mAP на COCO. Однак моделі виявлення досягли значного прогресу в швидкості, а одноступеневі детектори, такі як YOLO, скорочують розрив, забезпечуючи можливості роботи в режимі реального часу. Вибір часто зводиться до того, чи потрібна вам просторова точність, чи максимальна пропускна здатність.
Реальні застосування
Класифікація є суттєвою у сценаріях, де місцезнаходження не має значення, таких як фільтрація неприйнятного контенту, діагностика захворювань за медичними скануваннями або сортування продуктів за категоріями. Виявлення об'єктів є важливим, коли має значення місцезнаходження, включаючи автономне керування (ідентифікація пішоходів та інших транспортних засобів), управління запасами в роздрібній торгівлі, моніторинг дикої природи та роботизовані маніпуляції. Багато виробничих систем фактично поєднують обидва методи, використовуючи класифікацію для швидкої фільтрації зображень перед запуском виявлення на відповідних.
Переваги та недоліки
Виявлення об'єктів комп'ютерного зору
Переваги
+Надає розташування об'єктів
+Обробляє кілька об'єктів
+Багатий просторовий вихід
+Дозволяє використовувати випадки в режимі реального часу
+Універсальне застосування
Збережено
−Вищі обчислювальні витрати
−Потрібні дорогі анотації
−Складніше дресирувати
−Нижча точність еталонів
Завдання класифікації зображень
Переваги
+Висока швидкість висновків
+Простіша архітектура
+Дешевше робити анотації
+Висока точність еталонів
+Легко розгортати
Збережено
−Немає просторової інформації
−Обмеження на одну мітку
−Пропускає кілька об'єктів
−Обмежене розуміння сцени
Поширені помилкові уявлення
Міф
Виявлення об'єктів - це просто класифікація з додатковими кроками.
Реальність
Хоча класифікація є компонентом виявлення, виявлення об'єктів додає гілку локалізації, яка передбачає координати, що робить його принципово іншим завданням. Архітектури, функції втрат та метрики оцінки суттєво відрізняються. Моделі виявлення повинні обробляти змінну кількість об'єктів на зображення, з чим класифікація ніколи не стикається.
Міф
Вища точність класифікації означає кращу ефективність виявлення.
Реальність
Модель, яка чудово справляється з класифікацією ImageNet, не автоматично добре справляється з виявленням об'єктів. Виявлення вимагає, щоб основна структура зберігала просторову інформацію, а не згортала її в один вектор, саме тому існують архітектури та стратегії навчання, специфічні для виявлення.
Міф
Ви можете легко перетворити класифікатор на детектор.
Реальність
Хоча такі методи, як Grad-CAM, можуть виділяти області, на яких зосереджується класифікатор, ці теплові карти не є точними обмежувальними рамками. Побудова справжнього детектора вимагає перенавчання з анотаціями обмежувальних рамок та архітектурою, специфічною для детектування. Ці два завдання не є взаємозамінними.
Міф
Виявлення об'єктів завжди перевершує класифікацію в реальних завданнях.
Реальність
Виявлення є надмірним для багатьох застосувань. Якщо вам потрібно лише знати, чи містить зображення кота, запуск повної моделі виявлення витрачає ресурси. Класифікація залишається кращим вибором, коли місцезнаходження не має значення, а використання виявлення без потреби збільшує затримку та витрати на інфраструктуру.
Міф
Сучасні детектори об'єктів чудово працюють у будь-якому середовищі.
Реальність
Моделі виявлення мають проблеми з перекриттями, малими об'єктами, незвичайними кутами та зміщенням розподілу. Сучасні моделі все ще дають збій у крайніх випадках, з якими люди справляються без зусиль, тому критично важливі для безпеки програми, такі як автономне водіння, потребують ретельної перевірки та резервування.
Часті запитання
Яка основна відмінність між виявленням об'єктів та класифікацією зображень?
Класифікація зображень призначає єдину мітку всьому зображенню, відповідаючи на питання «що це?». Виявлення об'єктів йде далі, також знаходячи об'єкти за допомогою обмежувальних рамок, відповідаючи на питання «що це і де це?». Ключовою відмінністю є просторова інформація: класифікація ігнорує розташування об'єктів, тоді як виявлення надає точні координати для кожного ідентифікованого елемента.
Яке завдання важче виконати для ШІ?
Виявлення об'єктів зазвичай вважається складнішим, оскільки воно вимагає одночасного вирішення задач класифікації та локалізації. Модель повинна передбачати змінну кількість об'єктів, обробляти перекриваючі блоки та підтримувати просторову точність. Класифікації потрібно лише визначати домінуючий вміст, що робить її простішою задачею навчання з вищою досяжною точністю на стандартних тестах.
Чи можна використовувати розпізнавання об'єктів для класифікації зображень?
Так, але це неефективно. Ви можете запустити детектор об'єктів і використовувати виявлені класи як мітки класифікації, але це призводить до марнування обчислень, оскільки виявлення є дорожчим. Спеціалізований класифікатор буде швидшим і точнішим для чистих завдань класифікації. Виявлення виправдовує накладні витрати лише тоді, коли вам дійсно потрібні розташування обмежувальних рамок.
Які найкращі набори даних для навчання кожного завдання?
Для класифікації ImageNet залишається золотим стандартом з 14 мільйонами зображень у тисячах категорій. CIFAR-10 та CIFAR-100 популярні для експериментів меншого масштабу. Для виявлення об'єктів COCO (Common Objects in Context) є найпоширенішим бенчмарком з 330 000 зображень та 80 категоріями об'єктів. Pascal VOC – ще один класичний набір даних, який часто використовується для навчання та створення прототипів.
З яких моделей варто почати новачкам?
Для класифікації почніть з ResNet-50 або EfficientNet-B0, які пропонують хороше співвідношення точності до складності та обширну документацію. Для виявлення об'єктів YOLOv5 або YOLOv8 зручні для початківців, оскільки вони мають прості API, активні спільноти та попередньо навчені ваги. Швидший R-CNN точніший, але його складніше налаштувати для новачків.
Скільки навчальних даних потрібно для кожного завдання?
Класифікація може працювати з сотнями та кількома тисячами зображень на клас, використовуючи трансферне навчання з попередньо навчених моделей. Виявлення об'єктів зазвичай вимагає більше даних, часто щонайменше кілька тисяч анотованих зображень, оскільки модель повинна навчитися як розпізнавати об'єкти, так і передбачати точні обмежувальні рамки. Виявлення кількох кадрів залишається активною галуззю досліджень.
YOLO є моделлю класифікації чи виявлення?
YOLO (You Only Look Once — Ви дивитесь лише один раз) — це модель виявлення об'єктів, а не класифікатор. Вона одночасно прогнозує обмежувальні рамки та ймовірності класів за один прохід, що робить її одним із найшвидших доступних детекторів реального часу. Існують варіанти класифікації архітектур YOLO, але оригінальні та найпопулярніші версії розроблені для виявлення.
Яке обладнання потрібне для роботи цих моделей?
Моделі класифікації можуть комфортно працювати на процесорах для логічного виведення, навіть мобільні пристрої ефективно з ними справляються. Виявлення об'єктів вимагає більше ресурсів, особливо для програм реального часу. Для навчання обох завдань рекомендується сучасний графічний процесор, але логічний висновок для оптимізованих детекторів, таких як YOLOv8-nano, може працювати на периферійних пристроях, включаючи Raspberry Pi та мобільні телефони.
Як оцінювати продуктивність моделі для кожного завдання?
Класифікація використовує такі показники, як точність топ-1, точність топ-5, прецизійність, повнота та F1-оцінка. Виявлення об'єктів використовує середню середню точність (mAP), розраховану для різних порогових значень IO, таких як mAP@0.5 або mAP@0.5:0.95 (метрика COCO). Оцінювання виявлення є складнішим, оскільки воно має враховувати як правильність класифікації, так і точність локалізації.
Чи можна використовувати трансформатори для обох завдань?
Так, трансформатори зору (ViT) та їхні варіанти добре працюють як для класифікації, так і для виявлення. DETR (трансформатор виявлення) був новаторською моделлю, яка застосовувала трансформатори для комплексного виявлення об'єктів. Моделі, такі як Swin Transformer, служать основою для обох завдань, часто досягаючи найсучасніших результатів, коли доступно достатньо навчальних даних.
Висновок
Оберіть класифікацію зображень, коли вам потрібно швидко класифікувати зображення на основі їхнього загального вмісту та не потребує просторової інформації, особливо в середовищах з обмеженими ресурсами. Оберіть виявлення об'єктів, коли ваша програма вимагає знання як про присутність об'єктів, так і про те, де вони знаходяться, погоджуючись на вищі обчислювальні витрати як необхідний компроміс для отримання більш якісного результату.