Sommario[Nascondere][Spettacolo]
Una delle idee più semplici ma più intriganti nell'apprendimento profondo è il rilevamento degli oggetti. L'idea fondamentale è quella di dividere ogni oggetto in classi successive che rappresentino tratti comparabili e poi disegnare un riquadro attorno ad esso.
Queste caratteristiche distintive possono essere semplici come la forma o il colore, il che aiuta nella nostra capacità di classificarle.
Le applicazioni di Rilevazione dell'oggetto sono ampiamente impiegati nelle scienze mediche, nella guida autonoma, nella difesa e nell'esercito, nella pubblica amministrazione e in molti altri campi grazie ai sostanziali miglioramenti nella visione artificiale e nell'elaborazione delle immagini.
Qui abbiamo MMDetection, un fantastico set di strumenti open source per il rilevamento di oggetti basato su Pytorch. In questo articolo, esamineremo MMDetection in dettaglio, lo faremo in modo pratico, ne discuteremo le caratteristiche e molto altro.
Che cosa è l' MMDtection?
I MMDtection toolbox è stato creato come base di codice Python specificatamente per problemi che coinvolgono l'identificazione di oggetti e la segmentazione delle istanze.
Viene utilizzata l'implementazione di PyTorch, creata in modo modulare. Per il riconoscimento degli oggetti e la segmentazione delle istanze, un'ampia gamma di modelli efficaci è stata compilata in una varietà di metodologie.
Consente un'efficace inferenza e un rapido addestramento. D'altra parte, la cassetta degli attrezzi include pesi per oltre 200 reti pre-addestrate, rendendola una soluzione rapida nel campo dell'identificazione degli oggetti.
Con la possibilità di adattare le tecniche attuali o creare un nuovo rivelatore utilizzando i moduli disponibili, MMDetection funge da benchmark.
La caratteristica principale della cassetta degli attrezzi è la sua inclusione di parti semplici e modulari da un normale rilevamento oggetti framework che può essere utilizzato per creare pipeline uniche o modelli unici.
Le capacità di benchmarking di questo toolkit semplificano la creazione di un nuovo framework di rivelatori su un framework esistente e il confronto delle sue prestazioni.
Caratteristiche
- Framework di rilevamento popolari e moderni, come Faster RCNN, Mask RCNN, RetinaNet, ecc., sono supportati direttamente dal toolkit.
- Utilizzo di oltre 360 modelli pre-addestrati per la messa a punto (o l'allenamento di nuovo).
- Per noti set di dati sulla visione tra cui COCO, Cityscapes, LVIS e PASCAL VOC.
- Sulle GPU, vengono eseguite tutte le operazioni fondamentali di bbox e mask. Altre basi di codice, come Detectron2, maskrcnn-benchmark e SimpleDet, possono essere addestrate a una velocità più rapida o alla pari con questa.
- I ricercatori scompongono il rilevamento oggetti framework in diversi moduli, che possono quindi essere combinati per creare un unico sistema di rilevamento degli oggetti.
Architettura di rilevamento MM
MMDetection specifica un design generico che può essere applicato a qualsiasi modello poiché è una cassetta degli attrezzi con una varietà di modelli predefiniti, ognuno dei quali ha la propria architettura. I seguenti componenti costituiscono questa architettura complessiva:
- Spina dorsale: Backbone, come un ResNet-50 senza il livello finale completamente connesso, è il componente che converte un'immagine in mappe delle caratteristiche.
- Collo: Il collo è il segmento che collega la spina dorsale alle teste. Sulle mappe delle caratteristiche grezze della spina dorsale, esegue determinate regolazioni o riconfigurazioni. Funzionalità Pyramid Network è un'illustrazione (FPN).
- Testa densa (AnchorHead/AnchorFreeHead): è il componente che opera su aree dense di mappe caratteristiche, come AnchorHead e AnchorFreeHead, come RPNHead, RetinaHead e FCOSHead.
- Estrattore RoIE: con l'uso di operatori simili a RoIPooling, è la sezione che estrae le funzionalità RoIwise da una singola o da una raccolta di mappe delle funzionalità. L'esempio SingleRoIExtractor estrae le funzionalità RoI dal livello di corrispondenza delle piramidi di funzionalità.
- RoI Head (BBoxHead/MaskHead): è la parte del sistema che utilizza le caratteristiche RoI come input e genera previsioni specifiche per attività basate su RoI, come la classificazione/regressione del riquadro di delimitazione e la previsione della maschera.
La costruzione di rivelatori monostadio e bistadio viene illustrata utilizzando i concetti summenzionati. Possiamo sviluppare le nostre procedure semplicemente costruendo alcune parti nuove e combinandone alcune esistenti.
Elenco dei modelli inclusi in MMDetection
MMDetection fornisce codebase di prim'ordine per diversi modelli noti e moduli orientati alle attività. Di seguito sono elencati i modelli che sono stati realizzati in precedenza e i metodi adattabili che possono essere utilizzati con il toolbox di MMDetection. L'elenco continua a crescere man mano che vengono aggiunti più modelli e metodi.
- R-CNN veloce
- R-CNN più veloce
- Maschera R-CNN
- Rete Retina
- DCN
- DCNv2
- Cascata R-CNN
- M2Det
- GHM
- ScratchDet
- R-CNN a doppia testa
- Griglia R-CNN
- FSAF
- Bilancia R-CNN
- Rete GC
- Rete Risorse Umane
- Punteggio maschera R-CNN
- CFSL
- SSD
- R-FCN
- Allenamento di precisione mista
- Standardizzazione del peso
- Cascata di attività ibrida
- Ancoraggio guidato
- Attenzione generalizzata
Costruzione del modello di rilevamento degli oggetti utilizzando MMDetection
In questo tutorial, saremo il taccuino della collaborazione di Google perché è facile da impostare e utilizzare.
Installazione
Per installare tutto ciò di cui abbiamo bisogno, installeremo prima le librerie necessarie e cloneremo il progetto MMdetection GitHub.
Importazione ambiente
L'ambiente per il nostro progetto verrà ora importato dal repository.
Importazione di librerie e MMdetection
Ora importeremo le librerie richieste, insieme ovviamente a MMdetection.
Scarica i checkpoint pre-addestrati
I checkpoint del modello pre-addestrati da MMdetection dovrebbero ora essere scaricati per ulteriori regolazioni e inferenze.
Modello di edificio
Ora costruiremo il modello e applicheremo i checkpoint al set di dati.
Dedurre il rivelatore
Ora che il modello è stato correttamente costruito e caricato, controlliamo quanto è eccellente. Utilizziamo il rilevatore di inferenza API di alto livello di MMDetection. Questa API è stata progettata per semplificare il processo di inferenza.
Risultato
Diamo un'occhiata ai risultati.
Conclusione
In conclusione, il toolbox di MMDetection supera le codebase rilasciate di recente come SimpleDet, Detectron e Maskrcnn-benchmark. Con una vasta collezione di modelli,
MMDetection è ora una tecnologia all'avanguardia. MMDetection supera tutte le altre basi di codice in termini di efficienza e prestazioni.
Una delle cose più belle di MMdetection è che ora puoi semplicemente puntare a un file di configurazione diverso, scaricare un checkpoint diverso ed eseguire lo stesso codice se desideri modificare i modelli.
Consiglio di guardare il loro istruzioni se riscontri problemi con una qualsiasi delle fasi o desideri eseguirne alcune in modo diverso.
Lascia un Commento