Turinys[Slėpti][Rodyti]
Viena iš paprasčiausių, tačiau labiausiai intriguojančių gilaus mokymosi idėjų yra objektų aptikimas. Pagrindinė idėja yra suskirstyti kiekvieną elementą į nuoseklias klases, kurios atspindi panašius bruožus, ir tada aplink jį nupiešti langelį.
Šios skiriamosios savybės gali būti tokios paprastos kaip forma ar spalva, o tai padeda mums jas suskirstyti į kategorijas.
Programos Objekto aptikimas yra plačiai naudojami medicinos moksluose, autonominio vairavimo, gynybos ir kariuomenės, viešojo administravimo ir daugelyje kitų sričių dėl esminių kompiuterinės vizijos ir vaizdo apdorojimo patobulinimų.
Čia mes turime MMDetection, fantastišką atvirojo kodo objektų aptikimo įrankių rinkinį, sukurtą naudojant Pytorch. Šiame straipsnyje mes išsamiai išnagrinėsime MMDtection, susipažinsime su juo, aptarsime jo funkcijas ir dar daugiau.
Kas yra MMD aptikimas?
Šios MMD aptikimas įrankių rinkinys buvo sukurtas kaip Python kodų bazė, specialiai skirta problemoms, susijusioms su objekto identifikavimu ir egzempliorių segmentavimu.
Naudojamas „PyTorch“ diegimas ir sukurtas moduliniu būdu. Objektų atpažinimui ir egzempliorių segmentavimui buvo sudaryta daugybė veiksmingų modelių pagal įvairias metodikas.
Tai leidžia efektyviai daryti išvadas ir greitai išmokti. Kita vertus, įrankių rinkinyje yra daugiau nei 200 iš anksto paruoštų tinklų svarmenys, todėl jį galima greitai pataisyti objekto identifikavimo lauke.
Su galimybe pritaikyti esamas technologijas arba sukurti naują detektorių naudojant turimus modulius, MMDtection veikia kaip etalonas.
Pagrindinė įrankių rinkinio savybė yra paprastų, modulinių dalių įtraukimas iš įprastų objekto aptikimas karkasas, kuris gali būti naudojamas kuriant unikalius vamzdynus ar unikalius modelius.
Šio įrankių rinkinio lyginamosios analizės galimybės leidžia lengvai sukurti naują detektoriaus sistemą ant esamos sistemos ir palyginti jos veikimą.
Savybės
- Įrankių rinkinys tiesiogiai palaiko populiarias ir modernias aptikimo sistemas, tokias kaip „Faster RCNN“, „Mask RCNN“, „RetinaNet“ ir kt.
- 360 ir daugiau iš anksto apmokytų modelių naudojimas tiksliam derinimui (arba mokymui iš naujo).
- Gerai žinomiems regėjimo duomenų rinkiniams, įskaitant COCO, Cityscapes, LVIS ir PASCAL VOC.
- GPU atliekamos visos pagrindinės bbox ir maskavimo operacijos. Kitos kodų bazės, tokios kaip Detectron2, maskrcnn-benchmark ir SimpleDet, gali būti treniruojamos greičiau nei ši.
- Tyrėjai suskaido objekto aptikimas sistemą į kelis modulius, kuriuos vėliau galima sujungti ir sukurti unikalią objektų aptikimo sistemą.
MMDtection architektūra
MMDtection nurodo bendrą dizainą, kuris gali būti pritaikytas bet kuriam modeliui, nes tai įrankių rinkinys su įvairiais iš anksto sukurtais modeliais, kurių kiekvienas turi savo architektūrą. Šią bendrą architektūrą sudaro šie komponentai:
- Stuburas: stuburas, pvz., ResNet-50 be galutinio visiškai prijungto sluoksnio, yra komponentas, konvertuojantis vaizdą į funkcijų žemėlapius.
- kaklas: Kaklas yra segmentas, jungiantis stuburą su galvomis. Neapdorotuose pagrindinio elemento žemėlapiuose jis atlieka tam tikrus koregavimus ar konfigūraciją. Funkcijos Pyramid Network yra viena iliustracija (FPN).
- Tanki galva („AnchorHead“ / „AnchorFreeHead“): tai komponentas, veikiantis tankiose objektų žemėlapių srityse, tokiose kaip „AnchorHead“ ir „AnchorFreeHead“, pvz., „RPNHead“, „RetinaHead“ ir „FCOSHead“.
- RoIExtractor: Naudojant į RoIPooling panašius operatorius, tai sekcija, kuri ištraukia RoIwise funkcijas iš vieno ar funkcijų žemėlapių rinkinio. „SingleRoIExtractor“ pavyzdys išskiria RoI savybes iš atitinkamo lygio piramidžių.
- RoIHead (BBoxHead/MaskHead): tai sistemos dalis, kuri kaip įvestį naudoja IG charakteristikas ir generuoja ROI pagrįstus konkrečias užduoties prognozes, pvz., ribinio langelio klasifikaciją / regresiją ir kaukės numatymą.
Vienpakopių ir dviejų pakopų detektorių konstrukcija iliustruojama naudojant anksčiau minėtas sąvokas. Mes galime sukurti savo procedūras tiesiog sukonstruodami keletą naujų dalių ir sujungdami kai kurias esamas.
Modelių, įtrauktų į MMDtection, sąrašas
MMDetection suteikia aukščiausios klasės kodų bazes keletui gerai žinomų modelių ir į užduotis orientuotų modulių. Žemiau pateikiami anksčiau sukurti modeliai ir pritaikomi metodai, kurie gali būti naudojami su MMDtection įrankių rinkiniu. Sąrašas nuolat auga, nes pridedama daugiau modelių ir metodų.
- Greitas R-CNN
- Greitesnis R-CNN
- Kaukė R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskados R-CNN
- M2Det
- GHM
- ScratchDet
- Dvigalvis R-CNN
- Tinklelis R-CNN
- FSAF
- Svarstyklės R-CNN
- GCNet
- HRNet
- Kaukės įvertinimas R-CNN
- FCOS
- VSD
- R-FCN
- Mišrus tikslumo mokymas
- Svorio standartizavimas
- Hibridinė užduočių kaskada
- Vadovaujamas inkaravimas
- Apibendrintas dėmesys
Objekto aptikimo modelio kūrimas naudojant MMDetection
Šioje pamokoje mes būsime „Google Colab“ bloknotas, nes jį lengva nustatyti ir naudoti.
montavimas
Norėdami įdiegti viską, ko mums reikia, pirmiausia įdiegsime reikiamas bibliotekas ir klonuosime MMdetection GitHub projektą.
Importuojamas env
Mūsų projekto aplinka dabar bus importuota iš saugyklos.
Bibliotekų importavimas ir MMdetection
Dabar importuosime reikiamas bibliotekas, žinoma, kartu su MMdetection.
Atsisiųskite iš anksto paruoštus kontrolinius punktus
Iš anksto apmokyti modelio patikros taškai iš MMdetection dabar turėtų būti atsisiunčiami tolesniam koregavimui ir išvadoms.
Pastato modelis
Dabar sukursime modelį ir duomenų rinkiniui pritaikysime kontrolinius taškus.
Išvada apie detektorių
Dabar, kai modelis buvo tinkamai sukonstruotas ir pakrautas, patikrinkime, koks jis puikus. Mes naudojame MMDetection aukšto lygio API išvadų detektorių. Ši API buvo sukurta siekiant palengvinti išvadų procesą.
Pasekmė
Pažvelkime į rezultatus.
Išvada
Apibendrinant galima pasakyti, kad MMDetection įrankių rinkinys lenkia neseniai išleistas kodų bazes, tokias kaip SimpleDet, Detectron ir Maskrcnn-benchmark. Turėdami didelę modelių kolekciją,
MMDtection dabar yra naujausia technologija. MMDetection efektyvumu ir našumu lenkia visas kitas kodų bazes.
Vienas iš geriausių dalykų, susijusių su MMdetection, yra tai, kad dabar galite tiesiog nukreipti į kitą konfigūracijos failą, atsisiųsti kitą patikros tašką ir paleisti tą patį kodą, jei norite pakeisti modelius.
Patariu pažiūrėti į juos instrukcijos jei kyla problemų dėl kurio nors iš etapų arba norite kai kuriuos iš jų atlikti kitaip.
Palikti atsakymą