Obsah[Skryť][Šou]
Jedným z najjednoduchších a zároveň najzaujímavejších nápadov v hlbokom učení je detekcia objektov. Základnou myšlienkou je rozdeliť každú položku do po sebe nasledujúcich tried, ktoré predstavujú porovnateľné vlastnosti, a potom okolo nej nakresliť rámček.
Tieto rozlišovacie znaky môžu byť také jednoduché ako forma alebo farba, čo nám pomáha pri ich kategorizácii.
Aplikácie z Detekcia objektov sú široko používané v lekárskych vedách, autonómnom riadení, obrane a armáde, verejnej správe a mnohých ďalších oblastiach vďaka podstatným zlepšeniam v oblasti počítačového videnia a spracovania obrazu.
Tu máme MMDetection, fantastickú sadu nástrojov na detekciu objektov s otvoreným zdrojom postavenú na Pytorch. V tomto článku podrobne preskúmame MMDetection, prejdeme si s ním ruky, prediskutujeme jeho funkcie a oveľa viac.
Čo je MMD detekcia?
MMD detekcia toolbox bol vytvorený ako kódová základňa Python špeciálne pre problémy s identifikáciou objektov a segmentáciou inštancií.
Používa sa implementácia PyTorch, ktorá je vytvorená modulárnym spôsobom. Na rozpoznávanie objektov a segmentáciu inštancií bola zostavená široká škála efektívnych modelov do rôznych metodológií.
Umožňuje efektívne vyvodzovanie a rýchly tréning. Na druhej strane, sada nástrojov obsahuje závažia pre viac ako 200 vopred pripravených sietí, čo z neho robí rýchlu opravu v oblasti identifikácie objektov.
Vďaka schopnosti prispôsobiť súčasné techniky alebo vytvoriť nový detektor pomocou dostupných modulov funguje MMDetection ako benchmark.
Kľúčovou vlastnosťou súpravy nástrojov je zahrnutie jednoduchých modulárnych častí z bežného detekcia objektov rámec, ktorý možno použiť na vytváranie jedinečných potrubí alebo jedinečných modelov.
Schopnosti benchmarkingu tejto sady nástrojov uľahčujú zostavenie nového rámca detektorov nad existujúci rámec a porovnanie jeho výkonu.
Vlastnosti
- Populárne a moderné detekčné rámce, ako napríklad Faster RCNN, Mask RCNN, RetinaNet atď., sú priamo podporované súpravou nástrojov.
- Použitie 360+ vopred trénovaných modelov na jemné doladenie (alebo nový tréning).
- Pre dobre známe súbory údajov o vízii vrátane COCO, Cityscapes, LVIS a PASCAL VOC.
- Na GPU sa vykonávajú všetky základné operácie bbox a masky. Iné kódové základne, ako napríklad Detectron2, maskrcnn-benchmark a SimpleDet, môžu byť trénované rýchlejšie alebo na rovnakej úrovni ako táto.
- Výskumníci rozoberajú detekcia objektov framework do niekoľkých modulov, ktoré je možné následne kombinovať a vytvoriť tak jedinečný systém detekcie objektov.
Architektúra MMDetection
MMDetection špecifikuje všeobecný dizajn, ktorý je možné použiť na akýkoľvek model, pretože ide o sadu nástrojov s množstvom vopred zostavených modelov, z ktorých každý má svoju vlastnú architektúru. Túto celkovú architektúru tvoria tieto komponenty:
- chrbtica: Chrbtica, ako napríklad ResNet-50 bez konečnej úplne pripojenej vrstvy, je komponent, ktorý konvertuje obrázok na mapy objektov.
- Krk: Krk je segment, ktorý spája chrbticu s hlavami. Na základných mapách základných funkcií vykonáva určité úpravy alebo rekonfigurácie. Funkcia Pyramid Network je jedna ilustrácia (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): Je to komponent, ktorý funguje na hustých oblastiach máp funkcií, ako sú AnchorHead a AnchorFreeHead, ako sú RPNHead, RetinaHead a FCOSHead.
- RoIextraktor: Pri použití operátorov podobných RoIPoolingu je to sekcia, ktorá sťahuje funkcie RoIwise z jednej alebo z kolekcie máp funkcií. Vzorka SingleRoIExtractor extrahuje funkcie ROI zo zodpovedajúcej úrovne pyramíd funkcií.
- RoIHead (BBoxHead/MaskHead): Je to časť systému, ktorá používa charakteristiky ROI ako vstup a generuje predpovede špecifické pre úlohu na základe ROI, ako je klasifikácia/regresia hraničného rámčeka a predikcia masky.
Konštrukcia jednostupňových a dvojstupňových detektorov je znázornená pomocou vyššie uvedených konceptov. Môžeme vyvinúť vlastné postupy jednoducho tak, že skonštruujeme niekoľko nových dielov a skombinujeme niektoré existujúce.
Zoznam modelov zahrnutých v MMDetection
MMDetection poskytuje špičkové kódové základne pre niekoľko známych modelov a modulov orientovaných na úlohy. Modely, ktoré už boli vyrobené, a prispôsobiteľné metódy, ktoré možno použiť so súpravou nástrojov MMDetection, sú uvedené nižšie. Zoznam sa neustále rozširuje, pretože pribúdajú ďalšie modely a metódy.
- Rýchle R-CNN
- Rýchlejšie R-CNN
- Maska R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskáda R-CNN
- M2Det
- GHM
- ScratchDet
- Dvojhlavý R-CNN
- Mriežka R-CNN
- FSAF
- Váhy R-CNN
- GCNet
- HRNet
- Bodovanie masky R-CNN
- FCOS
- SSD
- R-FCN
- Zmiešaný presný tréning
- Štandardizácia hmotnosti
- Kaskáda hybridných úloh
- Vedené kotvenie
- Všeobecná pozornosť
Budovanie modelu detekcie objektov pomocou MMDetection
V tomto návode budeme spoločným zápisníkom Google, pretože sa jednoducho nastavuje a používa.
inštalácia
Aby sme nainštalovali všetko potrebné, najprv si nainštalujeme potrebné knižnice a naklonujeme projekt MMdetection GitHub.
Import env
Prostredie pre náš projekt bude teraz importované z úložiska.
Import knižníc a MMdetection
Teraz naimportujeme požadované knižnice, samozrejme spolu s MMdetection.
Stiahnite si vopred vycvičené kontrolné body
Predtrénované kontrolné body modelu z MMdetection by sa teraz mali stiahnuť na ďalšie úpravy a odvodenie.
Model budovy
Teraz vytvoríme model a aplikujeme kontrolné body na množinu údajov.
Inferencujte detektor
Teraz, keď je model správne skonštruovaný a zaťažený, poďme skontrolovať, aký je vynikajúci. Používame vysokoúrovňový inferenčný detektor API od MMDetection. Toto rozhranie API bolo navrhnuté tak, aby zjednodušilo proces odvodzovania.
Výsledok
Poďme sa pozrieť na výsledky.
záver
Na záver, sada nástrojov MMDetection prekonáva nedávno vydané kódové základne ako SimpleDet, Detectron a Maskrcnn-benchmark. S veľkou kolekciou modelov,
MMDetection je teraz najmodernejšia technológia. MMDetection prekonáva všetky ostatné kódové základne z hľadiska efektívnosti a výkonu.
Jednou z najkrajších vecí na MMdetection je, že teraz môžete jednoducho ukázať na iný konfiguračný súbor, stiahnuť si iný kontrolný bod a spustiť rovnaký kód, ak chcete zmeniť modely.
Odporúčam pozrieť si ich inštrukcie ak narazíte na problémy s niektorou z etáp alebo chcete niektoré z nich vykonať inak.
Nechaj odpoveď