Innholdsfortegnelse[Gjemme seg][Forestilling]
En av de enkleste, men mest spennende ideene innen dyp læring er objektdeteksjon. Den grunnleggende ideen er å dele hvert element inn i påfølgende klasser som representerer sammenlignbare egenskaper og deretter tegne en boks rundt det.
Disse kjennetegnene kan være så enkle som form eller farge, noe som bidrar til vår evne til å kategorisere dem.
Søknadene til Objektdeteksjon er mye ansatt innen medisinske vitenskaper, autonom kjøring, forsvar og militær, offentlig administrasjon og mange andre felt takket være betydelige forbedringer innen datasyn og bildebehandling.
Her har vi MMDetection, et fantastisk verktøysett for gjenkjenning av åpen kildekode bygget på Pytorch. I denne artikkelen vil vi undersøke MMDetection i detalj, gå hands-on med den, diskutere funksjonene og mye mer.
Hva er MMdeteksjon?
De MMdeteksjon verktøykasse ble opprettet som en Python-kodebase spesielt for problemer som involverer objektidentifikasjon og instanssegmentering.
PyTorch-implementeringen brukes, og den er laget på en modulær måte. For objektgjenkjenning og instanssegmentering har et bredt spekter av effektive modeller blitt satt sammen til en rekke metoder.
Det tillater effektiv slutning og rask trening. På den annen side inkluderer verktøykassen vekter for over 200 forhåndstrente nettverk, noe som gjør det til en rask løsning i objektidentifikasjonsfeltet.
Med muligheten til å tilpasse dagens teknikker eller lage en ny detektor ved hjelp av de tilgjengelige modulene, fungerer MMDetection som en målestokk.
Verktøykassens nøkkelfunksjon er dens inkludering av enkle, modulære deler fra en normal objektdeteksjon rammeverk som kan brukes til å lage unike rørledninger eller unike modeller.
Benchmarking-funksjonene til dette verktøysettet gjør det enkelt å bygge et nytt detektorrammeverk på toppen av et eksisterende rammeverk og sammenligne ytelsen.
Egenskaper
- Populære og moderne deteksjonsrammer, som Faster RCNN, Mask RCNN, RetinaNet, etc., støttes direkte av verktøysettet.
- Bruk av 360+ forhåndstrente modeller for finjustering (eller trening på nytt).
- For kjente visjonsdatasett inkludert COCO, Cityscapes, LVIS og PASCAL VOC.
- På GPUer blir alle grunnleggende bbox- og maskeoperasjoner utført. Andre kodebaser, som Detectron2, maskrcnn-benchmark og SimpleDet, kan trenes raskere enn eller på nivå med denne.
- Forskere bryter ned objektdeteksjon rammeverket inn i flere moduler, som deretter kan kombineres for å lage et unikt objektdeteksjonssystem.
MMdeteksjonsarkitektur
MMDetection spesifiserer et generisk design som kan brukes på enhver modell siden det er en verktøykasse med en rekke forhåndsbygde modeller, som hver har sin egen arkitektur. Følgende komponenter utgjør denne overordnede arkitekturen:
- Backbone: Backbone, for eksempel en ResNet-50 uten det endelige fullt tilkoblede laget, er komponenten som konverterer et bilde til funksjonskart.
- Nakke: Halsen er segmentet som forbinder ryggraden til hodene. På ryggradens rå funksjonskart gjør den visse justeringer eller rekonfigurasjoner. Feature Pyramid Network er en illustrasjon (FPN).
- Tetthode (AnchorHead/AnchorFreeHead): Det er komponenten som opererer på tette områder av funksjonskart, som AnchorHead og AnchorFreeHead, som RPNHead, RetinaHead og FCOSHead.
- RoIExtractor: Med bruk av RoIPooling-lignende operatører, er det seksjonen som henter RoIwise-funksjoner fra en enkelt eller en samling funksjonskart. SingleRoIExtractor-prøven trekker ut RoI-funksjoner fra det matchende nivået til funksjonspyramider.
- RoIHead (BBoxHead/MaskHead): Det er den delen av systemet som bruker RoI-karakteristikker som input og genererer RoI-baserte oppgavespesifikke prediksjoner, for eksempel grenseboksklassifisering/regresjon og maskeprediksjon.
Konstruksjonen av ett- og totrinns detektorer er illustrert ved hjelp av de nevnte konseptene. Vi kan utvikle våre egne prosedyrer ganske enkelt ved å konstruere noen få nye deler og kombinere noen eksisterende.
Liste over modeller inkludert i MMDetection
MMDetection gir førsteklasses kodebaser for flere kjente modeller og oppgaveorienterte moduler. Modellene som tidligere har blitt laget og tilpasningsbare metoder som kan brukes med MMDetection-verktøykassen er listet opp nedenfor. Listen fortsetter å vokse etter hvert som flere modeller og metoder legges til.
- Rask R-CNN
- Raskere R-CNN
- Maske R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskade R-CNN
- M2DET
- GHM
- ScratchDet
- Dobbelthode R-CNN
- Rutenett R-CNN
- Fsaf
- Vekten R-CNN
- GCNet
- HRNET
- Maskepoeng R-CNN
- Fcos
- SSD
- R-FCN
- Blandet presisjonstrening
- Vektstandardisering
- Hybrid Task Cascade
- Guidet forankring
- Generalisert oppmerksomhet
Byggeobjektdeteksjonsmodell ved hjelp av MMDetection
I denne opplæringen vil vi være Googles samarbeidsnotatbok fordi den er enkel å sette og bruke.
Installasjon
For å installere alt vi trenger, vil vi først installere de nødvendige bibliotekene og klone MMdetection GitHub-prosjektet.
Importerer env
Miljøet for prosjektet vårt vil nå importeres fra depotet.
Importerer biblioteker og MMdetection
Vi vil nå importere de nødvendige bibliotekene, sammen med MMdetection selvfølgelig.
Last ned de forhåndstrente sjekkpunktene
De forhåndstrente modellsjekkpunktene fra MMdetection skal nå lastes ned for ytterligere justering og slutning.
Byggemodell
Vi skal nå konstruere modellen og bruke sjekkpunktene til datasettet.
Inferer detektoren
Nå som modellen er riktig konstruert og lastet, la oss sjekke hvor utmerket den er. Vi bruker MMDetections høynivå API-slutningsdetektor. Denne API-en ble designet for å gjøre slutningsprosessen enklere.
Resultat
La oss ta en titt på resultatene.
konklusjonen
Konklusjonen er at MMDetection-verktøykassen overgår nylig utgitte kodebaser som SimpleDet, Detectron og Maskrcnn-benchmark. Med en stor modellsamling,
MMDetection er nå state-of-the-art teknologi. MMDetection utkonkurrerer alle andre kodebaser når det gjelder effektivitet og ytelse.
Noe av det fineste med MMdetection er at du nå bare kan peke på en annen konfigurasjonsfil, laste ned et annet sjekkpunkt og kjøre den samme koden hvis du ønsker å endre modellene.
Jeg anbefaler å se på deres instruksjoner hvis du får problemer med noen av stadiene eller ønsker å utføre noen av dem annerledes.
Legg igjen en kommentar