počítačové videniedetekcia objektovklasifikácia obrázkovhlboké učenieumelá inteligenciastrojové učenie
Úlohy detekcie objektov počítačového videnia vs. klasifikácie obrázkov
Detekcia objektov a klasifikácia obrázkov sú základné úlohy počítačového videnia, ale slúžia zásadne odlišným účelom. Klasifikácia označuje celý obrázok jednou kategóriou, zatiaľ čo detekcia objektov lokalizuje a identifikuje viacero objektov v scéne. Výber medzi nimi závisí od toho, či potrebujete vedieť, čo sa na obrázku nachádza, alebo kde sú umiestnené konkrétne položky.
Zvýraznenia
Detekcia objektov poskytuje priestorovú lokalizáciu pomocou ohraničujúcich rámčekov, zatiaľ čo klasifikácia vytvára iba jeden popis na obrázok.
Klasifikačné modely sú výrazne rýchlejšie a vyžadujú menej výpočtového výkonu ako detekčné modely.
Detekcia vyžaduje nákladné anotácie ohraničujúcich rámčekov, zatiaľ čo klasifikácia potrebuje iba popisky na úrovni obrazu.
Obe úlohy zdieľajú základné architektúry, ako sú chrbticové siete ResNet, ale detekcia pridáva predikčné hlavy regiónov pre lokalizáciu.
Čo je Detekcia objektov počítačovým videním?
Identifikuje a lokalizuje viacero objektov v rámci obrázka pomocou ohraničujúcich rámčekov a označení tried.
Detekcia objektov kombinuje klasifikáciu s lokalizáciou, pričom predpovedá, aké objekty sú prítomné a kde sa nachádzajú v pixelových súradniciach.
Medzi populárne architektúry patria YOLO, Faster R-CNN, SSD a DETR, pričom každá z nich vyvažuje rýchlosť a presnosť inak.
Dátové súbory Pascal VOC a COCO boli základnými benchmarkmi, pričom COCO obsahovalo viac ako 330 000 obrázkov a 2,5 milióna označených inštancií.
Moderné detektory dokážu spracovávať video v reálnom čase, pričom YOLOv8 a YOLOv9 dosahujú na vhodnom hardvéri rýchlosti inferencie presahujúce 100 FPS.
Aplikácie zahŕňajú autonómne vozidlá, systémy sledovania, lekárske zobrazovanie, analýzu maloobchodu a monitorovanie poľnohospodárstva.
Čo je Úlohy klasifikácie obrázkov?
Priradí celému obrázku jeden štítok alebo kategóriu na základe jeho dominantného vizuálneho obsahu.
Klasifikácia obrázkov vygeneruje jeden alebo viacero popisov pre celý obrázok bez toho, aby označila, kde sa objekty priestorovo nachádzajú.
Súbor údajov ImageNet s viac ako 14 miliónmi označených obrázkov v 20 000 kategóriách katalyzoval revolúciu hlbokého učenia v roku 2012, keď AlexNet vyhral súťaž ILSVRC.
Medzi základné architektúry patria ResNet, VGG, Inception, EfficientNet a Vision Transformers (ViT).
Klasifikačné modely zvyčajne fungujú rýchlejšie ako detekčné modely, pretože vyžadujú iba jeden priechod dopredu na obrázok bez návrhov oblastí.
Medzi bežné prípady použitia patrí moderovanie obsahu, lekárska diagnostika z röntgenových snímok, kontrola kvality vo výrobe a identifikácia druhov v ekológii.
Tabuľka porovnania
Funkcia
Detekcia objektov počítačovým videním
Úlohy klasifikácie obrázkov
Primárny výstup
Ohraničujúce rámčeky s označeniami tried a skóre spoľahlivosti
Jeden štítok triedy pre celý obrázok
Priestorové informácie
Poskytuje presnú polohu objektov pomocou súradníc
Neboli poskytnuté žiadne priestorové ani polohové informácie
Počet objektov
Dokáže detekovať viacero objektov súčasne
Identifikuje iba dominantný subjekt
Výpočtové náklady
Vyššie kvôli návrhom regiónov a viacerým predpovediam
Znížte s jedným prechodom dopredu na obrázok
Zložitosť modelu
Zložitejšie s komponentmi chrbtice, krku a hlavy
Jednoduchšia architektúra zameraná na extrakciu prvkov
Typický rozsah presnosti
mAP 40-65 na úrovni COCO benchmarku pre najmodernejšie modely
Špičková presnosť 85 – 91 % na ImageNet pre popredné modely
Požiadavky na tréningové údaje
Vyžaduje anotácie ohraničovacieho rámčeka, označovanie je drahšie
Vyžaduje iba popisky na úrovni obrázka, lacnejšie na anotáciu
Rýchlosť inferencie
Možný reálny čas (30 – 100+ FPS) s optimalizovanými modelmi
Veľmi rýchly, často 100+ FPS aj na skromnejšom hardvéri
Najlepší prípad použitia
Scény s viacerými objektmi, ktoré vyžadujú lokalizáciu
Obrázky jedného objektu vyžadujúce identifikáciu kategórie
Podrobné porovnanie
Hlavný účel a výstup
Základný rozdiel spočíva v tom, čo sa každá úloha snaží dosiahnuť. Klasifikácia obrázkov odpovedá na otázku „čo je na tomto obrázku?“ priradením jedného alebo viacerých označení celému obrázku. Detekcia objektov ide ďalej a odpovedá na otázku „čo je na tomto obrázku a kde presne sa to nachádza?“ pomocou ohraničujúcich rámčekov okolo každej detekovanej položky. Ak nahráte fotografiu ulice, klasifikátor ju môže označiť ako „mestská scéna“, zatiaľ čo detektor by nakreslil rámčeky okolo áut, chodcov, semaforov a značiek jednotlivo.
Architektúra a návrh modelov
Klasifikačné modely zvyčajne fungujú podľa priamočiareho postupu: chrbticová sieť extrahuje prvky a klasifikátor hlási pravdepodobnosti. Modely detekcie objektov sú vo svojej podstate zložitejšie a zvyčajne pozostávajú z chrbtice pre extrakciu prvkov, krku pre fúziu prvkov a hlavice, ktorá predpovedá triedy aj súradnice ohraničujúceho rámčeka. Táto zvýšená zložitosť je dôvodom, prečo detekčné modely vyžadujú viac parametrov a výpočtových zdrojov na dosiahnutie porovnateľnej presnosti v príslušných benchmarkoch.
Tréningové dáta a anotácie
Súbory údajov na klasifikáciu obrázkov potrebujú iba popisky na úrovni obrázkov, čo ich robí lacnejšími a rýchlejšími na vytváranie vo veľkom meradle. Detekcia objektov vyžaduje anotácie ohraničujúcich rámčekov pre každú inštanciu objektu, čo je proces, ktorý môže trvať 10 až 100-krát dlhšie na obrázok v závislosti od zložitosti scény. Dokončenie súborov údajov ako COCO trvalo tisíce hodín anotácií, zatiaľ čo klasifikačné popisky ImageNet boli získané relatívne rýchlo prostredníctvom služieb ako Amazon Mechanical Turk.
Kompromisy medzi výkonom a rýchlosťou
Klasifikačné modely vo všeobecnosti bežia rýchlejšie a dosahujú vyššiu presnosť vo svojich benchmarkoch, pretože úloha je jednoduchšia. Najmodernejšie klasifikátory prekračujú 91 % presnosť top 1 na ImageNet, zatiaľ čo detektory top objektov dosahujú okolo 63 – 65 mAP na COCO. Detekčné modely však dosiahli pozoruhodný pokrok v rýchlosti, pričom jednostupňové detektory ako YOLO prekračujú túto medzeru a umožňujú aplikácie v reálnom čase. Voľba často závisí od toho, či potrebujete priestorovú presnosť alebo maximálnu priepustnosť.
Aplikácie v reálnom svete
Klasifikácia vyniká v situáciách, kde nezáleží na polohe, ako je filtrovanie nevhodného obsahu, diagnostikovanie chorôb z lekárskych vyšetrení alebo triedenie produktov podľa kategórie. Detekcia objektov je nevyhnutná, keď záleží na polohe, vrátane autonómneho riadenia (identifikácia chodcov a iných vozidiel), správy maloobchodných zásob, monitorovania voľne žijúcich živočíchov a robotickej manipulácie. Mnohé výrobné systémy v skutočnosti kombinujú oboje a používajú klasifikáciu na rýchle filtrovanie obrázkov pred spustením detekcie na relevantných snímok.
Výhody a nevýhody
Detekcia objektov počítačovým videním
Výhody
+Poskytuje umiestnenie objektov
+Spracováva viacero objektov
+Bohatý priestorový výstup
+Umožňuje prípady použitia v reálnom čase
+Všestranné aplikácie
Cons
−Vyššie výpočtové náklady
−Potrebné drahé anotácie
−Zložitejšie na tréning
−Nižšia presnosť benchmarku
Úlohy klasifikácie obrázkov
Výhody
+Rýchla inferencia
+Jednoduchšia architektúra
+Lacnejšie anotovať
+Vysoká presnosť benchmarku
+Jednoduché nasadenie
Cons
−Žiadne priestorové informácie
−Obmedzenie jedného označenia
−Minie viacero objektov
−Obmedzené pochopenie scény
Bežné mylné predstavy
Mýtus
Detekcia objektov je len klasifikácia s ďalšími krokmi.
Realita
Zatiaľ čo klasifikácia je súčasťou detekcie, detekcia objektov pridáva lokalizačnú vetvu, ktorá predpovedá súradnice, čím sa stáva zásadne odlišnou úlohou. Architektúry, stratové funkcie a metriky hodnotenia sa výrazne líšia. Detekčné modely musia spracovať variabilný počet objektov na obrázok, s čím sa klasifikácia nikdy nestretne.
Mýtus
Vyššia presnosť klasifikácie znamená lepší výkon detekcie.
Realita
Model, ktorý vyniká v klasifikácii ImageNet, nemusí automaticky dosahovať dobré výsledky aj pri detekcii objektov. Detekcia vyžaduje, aby chrbtica zachovala priestorové informácie, a nie aby ich zhlukovala do jedného vektora, a preto existujú architektúry a tréningové stratégie špecifické pre detekciu.
Mýtus
Klasifikátor môžete ľahko premeniť na detektor.
Realita
Hoci techniky ako Grad-CAM dokážu zvýrazniť oblasti, na ktoré sa klasifikátor zameriava, tieto tepelné mapy nie sú presnými ohraničujúcimi rámčekmi. Vytvorenie skutočného detektora si vyžaduje pretrénovanie s anotáciami ohraničujúcich rámčekov a architektúrou špecifickou pre detekciu. Tieto dve úlohy nie sú zameniteľné.
Mýtus
Detekcia objektov v reálnych úlohách vždy prekonáva klasifikáciu.
Realita
Detekcia je pre mnohé aplikácie zbytočná. Ak potrebujete vedieť iba to, či obrázok obsahuje mačku, spustenie úplného detekčného modelu plytvá zdrojmi. Klasifikácia zostáva lepšou voľbou, keď je poloha irelevantná, a zbytočné používanie detekcie zvyšuje latenciu a náklady na infraštruktúru.
Mýtus
Moderné detektory objektov fungujú perfektne v akomkoľvek prostredí.
Realita
Detekčné modely majú problémy s prekrytím, malými objektmi, nezvyčajnými uhlami a posunom rozloženia. Najmodernejšie modely stále zlyhávajú v okrajových prípadoch, ktoré ľudia zvládajú bez námahy, a preto bezpečnostne kritické aplikácie, ako je autonómne riadenie, vyžadujú rozsiahlu validáciu a redundanciu.
Často kladené otázky
Aký je hlavný rozdiel medzi detekciou objektov a klasifikáciou obrazu?
Klasifikácia obrázkov priraďuje celému obrázku jeden štítok, ktorý odpovedá na otázku „čo je toto?“. Detekcia objektov ide ďalej tým, že lokalizuje objekty aj pomocou ohraničujúcich rámčekov, ktoré odpovedajú na otázku „čo je toto a kde to je?“. Kľúčovým rozdielom sú priestorové informácie: klasifikácia ignoruje, kde sa objekty nachádzajú, zatiaľ čo detekcia poskytuje presné súradnice pre každú identifikovanú položku.
Ktorá úloha je pre umelú inteligenciu ťažšia?
Detekcia objektov sa vo všeobecnosti považuje za náročnejšiu, pretože vyžaduje súčasné riešenie klasifikácie aj lokalizácie. Model musí predpovedať variabilný počet objektov, spracovať prekrývajúce sa rámčeky a zachovať priestorovú presnosť. Klasifikácia musí určiť iba dominantný obsah, čo z nej robí jednoduchší problém učenia s vyššou dosiahnuteľnou presnosťou na štandardných benchmarkoch.
Môžete použiť detekciu objektov na klasifikáciu obrázkov?
Áno, ale je to neefektívne. Môžete spustiť detektor objektov a použiť detekované triedy ako klasifikačné štítky, ale to plytvá výpočtami, pretože detekcia je drahšia. Špecializovaný klasifikátor bude rýchlejší a presnejší pre čisto klasifikačné úlohy. Detekcia sa oplatí len vtedy, keď skutočne potrebujete umiestnenie ohraničujúcich rámčekov.
Aké sú najlepšie súbory údajov na trénovanie každej úlohy?
Pokiaľ ide o klasifikáciu, ImageNet zostáva zlatým štandardom so 14 miliónmi obrázkov v tisíckach kategórií. CIFAR-10 a CIFAR-100 sú obľúbené pre experimenty v menšom rozsahu. Pre detekciu objektov je COCO (Common Objects in Context) najpoužívanejším benchmarkom s 330 000 obrázkami a 80 kategóriami objektov. Pascal VOC je ďalší klasický súbor údajov, ktorý sa často používa na učenie a prototypovanie.
S ktorými modelmi by mali začať začiatočníci?
Pre klasifikáciu začnite s ResNet-50 alebo EfficientNet-B0, ktoré ponúkajú dobrý pomer presnosti k zložitosti a rozsiahlu dokumentáciu. Pre detekciu objektov sú YOLOv5 alebo YOLOv8 vhodné pre začiatočníkov, pretože majú jednoduché API, aktívne komunity a vopred natrénované váhy. Rýchlejší R-CNN je presnejší, ale pre začiatočníkov sa ťažšie konfiguruje.
Koľko tréningových dát potrebujete pre každú úlohu?
Klasifikácia môže pracovať so stovkami až niekoľkými tisíckami obrázkov na triedu pomocou transferového učenia z vopred trénovaných modelov. Detekcia objektov zvyčajne vyžaduje viac údajov, často minimálne niekoľko tisíc anotovaných obrázkov, pretože model sa musí naučiť rozpoznávať objekty aj predpovedať presné ohraničujúce rámčeky. Detekcia niekoľkých záberov zostáva aktívnou oblasťou výskumu.
Je YOLO klasifikačný alebo detekčný model?
YOLO (You Only Look Once – Pozriete sa iba raz) je model detekcie objektov, nie klasifikátor. Predpovedá ohraničujúce rámčeky a pravdepodobnosti tried súčasne v jednom priechode dopredu, vďaka čomu je jedným z najrýchlejších dostupných detektorov v reálnom čase. Existujú klasifikačné varianty architektúr YOLO, ale pôvodné a najpopulárnejšie verzie sú určené na detekciu.
Aký hardvér potrebujete na spustenie týchto modelov?
Klasifikačné modely môžu pohodlne bežať na procesoroch pre účely inferencie, pričom ich efektívne zvládajú aj mobilné zariadenia. Detekcia objektov vyžaduje viac zdrojov, najmä pre aplikácie v reálnom čase. Na trénovanie oboch úloh sa odporúča moderný grafický procesor (GPU), ale inferencia pre optimalizované detektory, ako je YOLOv8-nano, môže bežať na okrajových zariadeniach vrátane Raspberry Pi a mobilných telefónov.
Ako hodnotíte výkon modelu pre každú úlohu?
Klasifikácia využíva metriky ako presnosť top-1, presnosť top-5, presnosť, úplnosť a skóre F1. Detekcia objektov využíva priemernú presnosť (mAP) vypočítanú pri rôznych prahových hodnotách IoU, ako napríklad mAP@0,5 alebo mAP@0,5:0,95 (metrika COCO). Vyhodnotenie detekcie je zložitejšie, pretože musí zohľadňovať správnosť klasifikácie aj presnosť lokalizácie.
Môžu sa transformátory použiť na obe úlohy?
Áno, Vision Transformers (ViT) a ich varianty fungujú dobre na klasifikáciu aj detekciu. DETR (Detection Transformer) bol priekopnícky model, ktorý aplikoval transformátory na detekciu objektov v celom rozsahu. Modely ako Swin Transformer slúžia ako chrbtica pre obe úlohy a často dosahujú najmodernejšie výsledky, keď sú k dispozícii dostatočné trénovacie údaje.
Rozsudok
Klasifikáciu obrázkov zvoľte, keď potrebujete rýchlo kategorizovať obrázky na základe ich celkového obsahu a nevyžadujete priestorové informácie, najmä v prostrediach s obmedzenými zdrojmi. Detekciu objektov zvoľte, keď vaša aplikácia vyžaduje vedieť, aké objekty sú prítomné a kde sa nachádzajú, pričom vyššie výpočtové náklady akceptujete ako nevyhnutný kompromis pre bohatší výstup.