Innehållsförteckning[Dölj][Visa]
En av de enklaste men mest spännande idéerna inom djupinlärning är objektdetektering. Den grundläggande idén är att dela upp varje föremål i på varandra följande klasser som representerar jämförbara egenskaper och sedan rita en ruta runt den.
Dessa utmärkande egenskaper kan vara så enkla som form eller färg, vilket underlättar vår förmåga att kategorisera dem.
Ansökningarna av Objektdetektion är flitigt anställda inom medicinsk vetenskap, autonom körning, försvar och militär, offentlig förvaltning och många andra områden tack vare betydande förbättringar inom datorseende och bildbehandling.
Här har vi MMDetection, en fantastisk verktygsuppsättning för objektdetektering med öppen källkod byggd på Pytorch. I den här artikeln kommer vi att undersöka MMDetection i detalj, gå hands-on med det, diskutera dess funktioner och mycket mer.
Vad är MMdetektion?
Smakämnen MMdetektion verktygslådan skapades som en Python-kodbas specifikt för problem som involverade objektidentifiering och instanssegmentering.
PyTorch-implementationen används, och den skapas på ett modulärt sätt. För objektigenkänning och instanssegmentering har ett brett utbud av effektiva modeller sammanställts i en mängd olika metoder.
Det tillåter effektiv slutledning och snabb träning. Å andra sidan innehåller verktygslådan vikter för över 200 förtränade nätverk, vilket gör det till en snabb lösning i objektidentifieringsfältet.
Med möjligheten att anpassa nuvarande tekniker eller skapa en ny detektor med hjälp av tillgängliga moduler, fungerar MMDetection som ett riktmärke.
Verktygslådans nyckelfunktion är att den innehåller enkla, modulära delar från en normal objektdetektering ramverk som kan användas för att skapa unika pipelines eller unika modeller.
Benchmarking-möjligheterna i denna verktygslåda gör det enkelt att bygga ett nytt detektorramverk ovanpå ett befintligt ramverk och jämföra dess prestanda.
Funktioner
- Populära och moderna detekteringsramverk, som Faster RCNN, Mask RCNN, RetinaNet, etc., stöds direkt av verktygslådan.
- Användning av 360+ förtränade modeller för finjustering (eller träning på nytt).
- För välkända visiondatauppsättningar inklusive COCO, Cityscapes, LVIS och PASCAL VOC.
- På GPU:er exekveras alla grundläggande bbox- och maskoperationer. Andra kodbaser, som Detectron2, maskrcnn-benchmark och SimpleDet, kan tränas i en snabbare takt än eller i nivå med denna.
- Forskare bryter ner objektdetektering ram till flera moduler, som sedan kan kombineras för att skapa ett unikt objektdetekteringssystem.
MMdetektionsarkitektur
MMDetection specificerar en generisk design som kan appliceras på vilken modell som helst eftersom det är en verktygslåda med en mängd olika förbyggda modeller, som var och en har sin egen arkitektur. Följande komponenter utgör denna övergripande arkitektur:
- Backbone: Backbone, som en ResNet-50 utan det slutliga helt anslutna lagret, är den komponent som konverterar en bild till feature maps.
- Nacke: Halsen är det segment som förbinder ryggraden med huvudena. På ryggradens råa funktionskartor gör den vissa justeringar eller omkonfigureringar. Feature Pyramid Network är en illustration (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): Det är komponenten som fungerar på täta områden av funktionskartor, såsom AnchorHead och AnchorFreeHead, såsom RPNHead, RetinaHead och FCOSHead.
- RoIExtractor: Med användning av RoIPooling-liknande operatorer är det avsnittet som hämtar RoIwise-funktioner från en enda eller en samling funktionskartor. SingleRoIExtractor-provet extraherar RoI-funktioner från matchande nivå av funktionspyramider.
- RoIHead (BBoxHead/MaskHead): Det är den del av systemet som använder RoI-egenskaper som indata och genererar RoI-baserade uppgiftsspecifika förutsägelser, såsom klassificering/regression av gränsruta och maskprediktion.
Konstruktionen av enstegs- och tvåstegsdetektorer illustreras med användning av de tidigare nämnda koncepten. Vi kan utveckla våra egna procedurer helt enkelt genom att konstruera några nya delar och kombinera några befintliga.
Lista över modeller som ingår i MMDetection
MMDetection tillhandahåller förstklassiga kodbaser för flera välkända modeller och uppgiftsorienterade moduler. De modeller som tidigare har gjorts och anpassningsbara metoder som kan användas med verktygslådan MMDetection listas nedan. Listan fortsätter att växa i takt med att fler modeller och metoder läggs till.
- Snabb R-CNN
- Snabbare R-CNN
- Mask R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskad R-CNN
- M2Det
- GHM
- ScratchDet
- Dubbelhuvud R-CNN
- Grid R-CNN
- FSAF
- Vågen R-CNN
- GCNet
- HRNet
- Maskpoäng R-CNN
- FCOS
- SSD
- R-FCN
- Blandad precisionsträning
- Viktstandardisering
- Hybrid Task Cascade
- Guidad förankring
- Generaliserad uppmärksamhet
Bygga objektdetekteringsmodell med MMDetection
I den här handledningen kommer vi att vara Googles anteckningsbok eftersom det är lätt att ställa in och använda.
Installation
För att installera allt vi behöver kommer vi först att installera de nödvändiga biblioteken och klona MMdetection GitHub-projektet.
Importera env
Miljön för vårt projekt kommer nu att importeras från förvaret.
Importera bibliotek och MMdetection
Vi kommer nu att importera de nödvändiga biblioteken, tillsammans med MMdetection naturligtvis.
Ladda ner de förtränade kontrollpunkterna
De förtränade modellkontrollpunkterna från MMdetection bör nu laddas ner för ytterligare justering och slutledning.
Byggnadsmodell
Vi kommer nu att konstruera modellen och tillämpa kontrollpunkterna på datasetet.
Sluta detektorn
Nu när modellen har konstruerats och laddats ordentligt, låt oss kolla hur utmärkt den är. Vi använder MMDetections API-inferensdetektor på hög nivå. Detta API har utformats för att göra slutledningsprocessen enklare.
Resultat
Låt oss ta en titt på resultaten.
Slutsats
Sammanfattningsvis överträffar verktygslådan MMDetection nyligen släppta kodbaser som SimpleDet, Detectron och Maskrcnn-benchmark. Med en stor modellsamling,
MMDetection är nu den senaste tekniken. MMDetection överträffar alla andra kodbaser när det gäller effektivitet och prestanda.
En av de trevligaste sakerna med MMdetection är att du nu bara kan peka på en annan konfigurationsfil, ladda ner en annan kontrollpunkt och köra samma kod om du vill ändra modellerna.
Jag råder att titta på deras instruktioner om du stöter på problem med någon av stegen eller vill utföra några av dem annorlunda.
Kommentera uppropet