EfficientDet: Op Weg Naar Schaalbare En Efficiënte Objectdetectie

Inhoudsopgave:

EfficientDet: Op Weg Naar Schaalbare En Efficiënte Objectdetectie
EfficientDet: Op Weg Naar Schaalbare En Efficiënte Objectdetectie

Video: EfficientDet: Op Weg Naar Schaalbare En Efficiënte Objectdetectie

Video: EfficientDet: Op Weg Naar Schaalbare En Efficiënte Objectdetectie
Video: Medische technologie faciliteert kost-efficiënte patiënt-specifieke behandelingen 2024, November
Anonim

Als een van de belangrijkste toepassingen in computervisie wordt objectdetectie steeds belangrijker in scenario's die hoge precisie vereisen maar beperkte computerbronnen hebben, zoals robotica en auto's zonder bestuurder. Helaas voldoen veel moderne zeer nauwkeurige detectoren niet aan deze beperkingen. Wat nog belangrijker is, is dat toepassingen voor objectdetectie in de echte wereld op verschillende platforms worden uitgevoerd, waarvoor vaak verschillende bronnen nodig zijn.

Schaalbare en efficiënte objectdetectie
Schaalbare en efficiënte objectdetectie

Dus de natuurlijke vraag is hoe nauwkeurige en efficiënte objectdetectoren te ontwerpen die zich ook kunnen aanpassen aan een breed scala aan resourcebeperkingen?

EfficientDet: schaalbare en efficiënte objectdetectie, aangenomen op CVPR 2020, introduceert een nieuwe familie van schaalbare en efficiënte objectdetectoren. Voortbouwend op eerder werk aan het schalen van neurale netwerken (EfficientNet) en het opnemen van een nieuw bidirectioneel functioneel netwerk (BiFPN) en nieuwe schaalregels, bereikt EfficientDet moderne precisie terwijl het 9 keer kleiner is en aanzienlijk minder rekenkracht gebruikt dan bekende moderne detectoren. De volgende afbeelding toont de algemene netwerkarchitectuur van de modellen.

Beeld
Beeld

Modelarchitectuur optimaliseren

Het idee achter EfficientDet komt voort uit een poging om oplossingen te vinden om de rekenefficiëntie te verbeteren door systematisch eerdere state-of-the-art detectiemodellen te onderzoeken. Over het algemeen hebben objectdetectoren drie hoofdcomponenten: een backbone die kenmerken uit een bepaald beeld haalt; een netwerk van objecten dat meerdere functieniveaus van de backbone als invoer neemt en een lijst met gecombineerde functies uitvoert die karakteristieke kenmerken van het beeld vertegenwoordigen; en een laatste klasse / box-netwerk dat gecombineerde functies gebruikt om de klasse en locatie van elk object te voorspellen.

Na de ontwerpopties voor deze componenten te hebben bekeken, hebben we verschillende belangrijke optimalisaties geïdentificeerd om de prestaties en efficiëntie te verbeteren. Eerdere detectoren gebruiken meestal ResNets, ResNeXt of AmoebaNet als backbones, die ofwel minder krachtig zijn of een lagere efficiëntie hebben dan EfficientNets. Met de eerste implementatie van de EfficientNet-backbone kan veel meer efficiëntie worden bereikt. Als we bijvoorbeeld beginnen met een RetinaNet-basislijn die een ResNet-50-backbone gebruikt, toont ons ablatie-onderzoek aan dat het eenvoudigweg vervangen van ResNet-50 door EfficientNet-B3 de nauwkeurigheid met 3% kan verbeteren en de berekening met 20% kan verminderen. Een andere optimalisatie is het verbeteren van de efficiëntie van functionele netwerken. Hoewel de meeste van de vorige detectoren eenvoudigweg het Downlink Pyramid Network (FPN) gebruiken, vinden we dat de downstream-FPN inherent beperkt is tot een eenrichtingsstroom van informatie. Alternatieve FPN's zoals PANet voegen extra upstream toe ten koste van extra berekeningen.

Recente pogingen om Neural Architecture Search (NAS) te gebruiken, hebben een complexere NAS-FPN-architectuur ontdekt. Hoewel deze netwerkstructuur effectief is, is deze ook onregelmatig en sterk geoptimaliseerd voor een specifieke taak, waardoor het moeilijk is om deze aan te passen aan andere taken. Om deze problemen op te lossen, stellen we een nieuw netwerk van bidirectionele functies BiFPN voor, dat het idee implementeert om meerlaagse functies van FPN / PANet / NAS-FPN te combineren, waardoor informatie zowel van boven naar beneden als van beneden naar boven. met behulp van regelmatige en effectieve verbindingen.

Beeld
Beeld

Om de efficiëntie verder te verbeteren, stellen we een nieuwe snelle genormaliseerde synthesetechniek voor. Traditionele benaderingen behandelen gewoonlijk alle input voor FPN op dezelfde manier, zelfs bij verschillende resoluties. We zien echter dat invoerfuncties met verschillende resoluties vaak ongelijk bijdragen aan de uitvoerfuncties. We voegen dus extra gewicht toe aan elke invoerfunctie en laten het netwerk het belang van elke functie leren. We zullen ook alle reguliere windingen vervangen door goedkopere, diep scheidbare windingen. Met deze optimalisatie verbetert onze BiFPN de nauwkeurigheid verder met 4%, terwijl de rekenkosten met 50% worden verlaagd.

De derde optimalisatie omvat het bereiken van het beste compromis tussen nauwkeurigheid en efficiëntie onder verschillende resourcebeperkingen. Ons eerdere werk heeft aangetoond dat co-scaling van de diepte, breedte en resolutie van een netwerk de prestaties van beeldherkenning aanzienlijk kan verbeteren. Geïnspireerd door dit idee stellen we een nieuwe composietschaalmethode voor objectdetectoren voor die gezamenlijk de resolutie / diepte / breedte vergroten. Elke netwerkcomponent, dwz backbone, object en block/class voorspellend netwerk, zal één complexe schaalfactor hebben die alle schaaldimensies bestuurt met behulp van heuristische regels. Deze benadering maakt het gemakkelijk om te bepalen hoe het model moet worden geschaald door een schaalfactor te berekenen voor een bepaalde beperking van de doelresource.

Door de nieuwe backbone en BiFPN te combineren, ontwerpen we eerst een kleine EfficientDet-D0-basislijn en passen we vervolgens samengestelde schaling toe om EfficientDet-D1 tot D7 te krijgen. Elk serieel model heeft hogere rekenkosten, dekt een breed scala aan resourcebeperkingen van 3 miljard FLOP's tot 300 miljard FLOPS, en biedt een hogere nauwkeurigheid.

Prestatiemodel

EfficientDet evalueren op de COCO-dataset, een veelgebruikte referentiedataset voor objectdetectie. EfficientDet-D7 behaalt een gemiddelde gemiddelde nauwkeurigheid (mAP) van 52,2, wat 1,5 punt hoger is dan het vorige moderne model, met 4 keer minder parameters en 9,4 keer minder berekeningen

Beeld
Beeld

We vergeleken ook de parametergrootte en CPU / GPU-latentie tussen EfficientDet en eerdere modellen. Met vergelijkbare nauwkeurigheidsbeperkingen werken EfficientDet-modellen 2-4 keer sneller op de GPU en 5-11 keer sneller op de processor dan andere detectoren. Hoewel EfficientDet-modellen in de eerste plaats bedoeld zijn voor objectdetectie, testen we ook hun effectiviteit bij andere taken, zoals semantische segmentatie. Om segmentatietaken uit te voeren, passen we EfficientDet-D4 enigszins aan door de detectiekop en hoofdverlies en -verlies te vervangen, terwijl we dezelfde geschaalde backbone en BiFPN behouden. We vergelijken dit model met eerdere moderne segmentatiemodellen voor Pascal VOC 2012, een veelgebruikte dataset voor segmentatietests.

Beeld
Beeld

Gezien hun uitzonderlijke prestaties, zal EfficientDet naar verwachting dienen als een nieuwe basis voor toekomstig onderzoek naar objectdetectie en mogelijk zeer nauwkeurige objectdetectiemodellen maken die bruikbaar zijn in veel real-world toepassingen. Dus opende alle breekpunten van de code en het vooraf getrainde model op Github.com.

Aanbevolen: