компютърно зрениеоткриване на обектикласификация на изображениядълбоко обучениеизкуствен интелектмашинно обучение
Задачи за откриване на обекти с компютърно зрение спрямо задачи за класификация на изображения
Откриването на обекти и класификацията на изображения са основни задачи на компютърното зрение, но те служат за коренно различни цели. Класификацията маркира цялото изображение с една категория, докато откриването на обекти локализира и идентифицира множество обекти в рамките на сцената. Изборът между тях зависи от това дали трябва да знаете какво има в изображението или къде са разположени конкретни елементи.
Акценти
Детекцията на обекти осигурява пространствена локализация чрез ограничаващи рамки, докато класификацията извежда само един етикет на изображение.
Моделите за класификация са значително по-бързи и изискват по-малко изчислителна мощност от моделите за откриване.
Откриването изисква скъпи анотации на ограничаващи рамки, докато класификацията се нуждае само от етикети на ниво изображение.
И двете задачи споделят фундаментални архитектури, подобни на гръбначните мрежи на ResNet, но откриването добавя глави за прогнозиране на региони за локализация.
Какво е Откриване на обекти с компютърно зрение?
Идентифицира и локализира множество обекти в изображение, използвайки ограничаващи рамки и етикети на класове.
Откриването на обекти комбинира класификация с локализация, като предсказва както кои обекти са налични, така и къде се появяват в пикселни координати.
Популярните архитектури включват YOLO, Faster R-CNN, SSD и DETR, като всяка балансира скоростта и точността по различен начин.
Наборите от данни Pascal VOC и COCO са основни бенчмаркове, като COCO съдържа над 330 000 изображения и 2,5 милиона етикетирани екземпляра.
Съвременните детектори могат да обработват видео в реално време, като YOLOv8 и YOLOv9 постигат скорости на извод над 100 FPS на подходящ хардуер.
Приложенията обхващат автономни превозни средства, системи за наблюдение, медицинска образна диагностика, анализи в търговията на дребно и мониторинг на селското стопанство.
Какво е Задачи за класификация на изображения?
Присвоява един етикет или категория на цялото изображение въз основа на доминиращото му визуално съдържание.
Класификацията на изображения извежда един или повече етикети за цялото изображение, без да посочва къде са разположени обектите пространствено.
Наборът от данни 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), изчислена при различни прагове на IoU, като например mAP@0.5 или mAP@0.5:0.95 (метриката COCO). Оценката на откриването е по-сложна, защото трябва да отчита както коректността на класификацията, така и точността на локализацията.
Могат ли трансформаторите да се използват и за двете задачи?
Да, Vision Transformers (ViT) и техните варианти работят добре както за класификация, така и за откриване. DETR (Detection Transformer) беше пионерски модел, който прилагаше трансформатори за цялостно откриване на обекти. Модели като Swin Transformer служат като гръбнак и за двете задачи, често постигайки най-съвременни резултати, когато са налични достатъчно данни за обучение.
Решение
Изберете класификация на изображения, когато трябва бързо да категоризирате изображения въз основа на цялостното им съдържание и не се нуждаете от пространствена информация, особено в среди с ограничени ресурси. Изберете откриване на обекти, когато приложението ви изисква да знаете както кои обекти са налични, така и къде се появяват, приемайки по-високите изчислителни разходи като необходим компромис за по-богат резултат.