Com a una de les principals aplicacions en visió per computador, la detecció d’objectes és cada vegada més important en escenaris que requereixen una alta precisió però que tenen recursos informàtics limitats, com ara robòtica i cotxes sense conductor. Malauradament, molts detectors moderns d'alta precisió no compleixen aquestes limitacions. Més important encara, les aplicacions de detecció d’objectes del món real s’executen en plataformes diferents, que sovint requereixen recursos diferents.
Per tant, la pregunta natural és com dissenyar detectors d’objectes precisos i eficients que també s’adaptin a una àmplia gamma de restriccions de recursos?
EfficientDet: la detecció d’objectes escalable i eficient, adoptada a CVPR 2020, introdueix una nova família de detectors d’objectes escalables i eficients. Basant-se en treballs anteriors sobre l’escala de xarxes neuronals (EfficientNet) i incorporant una nova xarxa funcional bidireccional (BiFPN) i noves regles d’escala, EfficientDet aconsegueix una precisió moderna mentre que 9 vegades més petita i utilitza un càlcul significativament menor que els detectors moderns coneguts. La següent figura mostra l'arquitectura general de la xarxa dels models.
Optimització de l'arquitectura de models
La idea darrere d'EfficientDet neix d'un esforç per trobar solucions per millorar l'eficiència computacional mitjançant l'examen sistemàtic de models de detecció d'última generació. En general, els detectors d’objectes tenen tres components principals: una columna vertebral que extreu característiques d’una imatge determinada; una xarxa d'objectes que pren diversos nivells de funcions de la columna vertebral com a entrada i sortida d'una llista de funcions combinades que representen les característiques característiques de la imatge; i una xarxa de classe / caixa final que utilitza funcions combinades per predir la classe i la ubicació de cada objecte.
Després de revisar les opcions de disseny d'aquests components, vam identificar diverses optimitzacions clau per millorar el rendiment i l'eficiència. Els detectors anteriors utilitzen principalment ResNets, ResNeXt o AmoebaNet com a eixos vertebradors, que són menys potents o tenen una eficiència inferior a EfficientNets. Amb la implementació inicial de la columna vertebral EfficientNet, es pot aconseguir molta més eficiència. Per exemple, començant per una línia de base de RetinaNet que utilitza una columna vertebral de ResNet-50, el nostre estudi d’ablació demostra que simplement substituir ResNet-50 per EfficientNet-B3 pot millorar la precisió un 3% i reduir la computació un 20%. Una altra optimització és millorar l’eficiència de les xarxes funcionals. Tot i que la majoria dels detectors anteriors simplement utilitzen la xarxa de piràmides d’enllaç descendent (FPN), trobem que l’FPN de baixada es limita intrínsecament a un flux d’informació unidireccional. FPN alternatius com PANet afegeixen addicionals aigües amunt a costa d’un càlcul addicional.
Els darrers intents d’utilitzar Neural Architecture Search (NAS) han descobert una arquitectura NAS-FPN més complexa. Tanmateix, si bé aquesta estructura de xarxa és eficaç, també és irregular i està molt optimitzada per a una tasca específica, cosa que dificulta l’adaptació a altres tasques. Per resoldre aquests problemes, proposem una nova xarxa de funcions bidireccionals BiFPN, que implementa la idea de combinar funcions multicapa de FPN / PANet / NAS-FPN, que permet transmetre informació tant de dalt a baix com de baix a dalt. utilitzant connexions regulars i efectives.
Per millorar encara més l’eficiència, proposem una nova tècnica de síntesi ràpidament normalitzada. Els enfocaments tradicionals solen tractar totes les entrades a FPN de la mateixa manera, fins i tot amb resolucions diferents. Tot i això, observem que les funcions d’entrada amb resolucions diferents sovint contribueixen de manera desigual a les funcions de sortida. Per tant, afegim pes addicional a cada funció d’entrada i permetem que la xarxa aprengui la importància de cadascuna. També substituirem totes les circumvolucions regulars per circumvolucions menys costoses i profundament separables. Amb aquesta optimització, el nostre BiFPN millora encara més la precisió un 4% i redueix els costos computacionals en un 50%.
La tercera optimització consisteix a aconseguir el millor compromís entre precisió i eficiència sota diverses restriccions de recursos. El nostre treball anterior ha demostrat que la coescala de la profunditat, amplada i resolució d’una xarxa pot millorar significativament el rendiment del reconeixement d’imatges. Inspirats en aquesta idea, proposem un nou mètode d’escala composta per a detectors d’objectes que augmenta col·lectivament la resolució / profunditat / amplada. Cada component de xarxa, és a dir, xarxa predicta de troncal, objecte i bloc / classe, tindrà un complex factor d’escala que controla totes les dimensions d’escala mitjançant regles heurístiques. Aquest enfocament facilita la determinació de com escalar el model calculant un factor d’escala per a una determinada restricció de recursos objectiu.
Combinant la nova columna vertebral i BiFPN, primer dissenyem una petita línia de base EfficientDet-D0 i després apliquem una escala composta per obtenir EfficientDet-D1 a D7. Cada model en sèrie té un cost computacional més alt, que cobreix una àmplia gamma de restriccions de recursos, des de 3.000 milions de FLOP a 300.000 milions de FLOPS, i proporciona una precisió més alta.
Model de rendiment
Avaluant EfficientDet al conjunt de dades COCO, un conjunt de dades de referència àmpliament utilitzat per a la detecció d’objectes. EfficientDet-D7 aconsegueix una precisió mitjana mitjana (MAP) de 52,2, que és 1,5 punts superior al model anterior anterior, utilitzant 4 vegades menys paràmetres i 9,4 vegades menys càlculs
També hem comparat la mida dels paràmetres i la latència de la CPU / GPU entre EfficientDet i els models anteriors. Amb restriccions de precisió similars, els models EfficientDet funcionen 2–4 vegades més ràpid a la GPU i 5–11 vegades més ràpid al processador que altres detectors. Tot i que els models EfficientDet estan destinats principalment a la detecció d’objectes, també comprovem la seva eficàcia en altres tasques com la segmentació semàntica. Per realitzar tasques de segmentació, modifiquem lleugerament EfficientDet-D4 substituint el cap de detecció i la pèrdua i pèrdua de cap, mantenint la mateixa columna vertebral escalada i BiFPN. Comparem aquest model amb models de segmentació moderns anteriors per a Pascal VOC 2012, un conjunt de dades de proves de segmentació àmpliament utilitzat.
Donat el seu rendiment excepcional, s’espera que EfficientDet serveixi com a nova base per a futures investigacions sobre detecció d’objectes i que potencialment faci útils models de detecció d’objectes d’alta precisió en moltes aplicacions del món real. Així es van obrir tots els punts d'interrupció del codi i del model pretrenat a Github.com.