EfficientDet: Către O Detectare A Obiectelor Scalabilă și Eficientă

Cuprins:

EfficientDet: Către O Detectare A Obiectelor Scalabilă și Eficientă
EfficientDet: Către O Detectare A Obiectelor Scalabilă și Eficientă

Video: EfficientDet: Către O Detectare A Obiectelor Scalabilă și Eficientă

Video: EfficientDet: Către O Detectare A Obiectelor Scalabilă și Eficientă
Video: [DeepReader] EfficientDet: Scalable and Efficient Object Detection 2024, Noiembrie
Anonim

Fiind una dintre principalele aplicații în viziunea computerizată, detectarea obiectelor devine din ce în ce mai importantă în scenarii care necesită o precizie ridicată, dar care au resurse de calcul limitate, cum ar fi robotica și mașinile fără șofer. Din păcate, mulți detectori moderni de înaltă precizie nu îndeplinesc aceste limitări. Mai important, aplicațiile de detectare a obiectelor din lumea reală rulează pe platforme diferite, care deseori necesită resurse diferite.

Detectarea obiectelor scalabilă și eficientă
Detectarea obiectelor scalabilă și eficientă

Deci, întrebarea firească este cum să proiectăm detectoare de obiecte precise și eficiente care să se poată adapta și la o gamă largă de constrângeri de resurse?

EfficientDet: Detectarea obiectelor scalabile și eficiente, adoptată la CVPR 2020, introduce o nouă familie de detectoare de obiecte scalabile și eficiente. Bazându-se pe lucrările anterioare privind scalarea rețelelor neuronale (EfficientNet) și încorporând o nouă rețea funcțională bidirecțională (BiFPN) și noi reguli de scalare, EfficientDet realizează o precizie modernă în timp ce de 9 ori mai mică și folosește un calcul semnificativ mai mic decât detectoarele moderne cunoscute. Figura următoare prezintă arhitectura generală a rețelei modelelor.

Imagine
Imagine

Optimizarea arhitecturii modelului

Ideea din spatele EfficientDet provine dintr-un efort de a găsi soluții pentru îmbunătățirea eficienței computaționale prin examinarea sistematică a modelelor anterioare de detecție de ultimă generație. În general, detectoarele de obiecte au trei componente principale: o coloană vertebrală care extrage caracteristici dintr-o anumită imagine; o rețea de obiecte care preia mai multe niveluri de funcții din coloana vertebrală ca intrare și ieșire o listă de funcții combinate care reprezintă caracteristicile caracteristice ale imaginii; și o rețea finală de clasă / cutie care utilizează funcții combinate pentru a prezice clasa și locația fiecărui obiect.

După examinarea opțiunilor de proiectare pentru aceste componente, am identificat câteva optimizări cheie pentru a îmbunătăți performanța și eficiența. Detectoarele anterioare folosesc în mare parte ResNets, ResNeXt sau AmoebaNet ca coloane vertebrale, care sunt fie mai puțin puternice, fie au o eficiență mai mică decât EfficientNets. Odată cu implementarea inițială a coloanei vertebrale EfficientNet, se poate obține mult mai multă eficiență. De exemplu, începând cu o linie de bază RetinaNet care utilizează o coloană vertebrală ResNet-50, studiul nostru de ablație arată că simpla înlocuire a ResNet-50 cu EfficientNet-B3 poate îmbunătăți precizia cu 3%, reducând în același timp calculul cu 20%. O altă optimizare este îmbunătățirea eficienței rețelelor funcționale. În timp ce majoritatea detectoarelor anterioare folosesc pur și simplu rețeaua piramidală de legătură descendentă (FPN), descoperim că FPN din aval este inerent limitată la un flux de informații într-un singur sens. FPN-urile alternative, cum ar fi PANet, adaugă în amonte suplimentar, la costul unor calcule suplimentare.

Încercările recente de a utiliza Neural Architecture Search (NAS) au descoperit o arhitectură NAS-FPN mai complexă. Cu toate acestea, deși această structură de rețea este eficientă, este, de asemenea, neregulată și extrem de optimizată pentru o sarcină specifică, ceea ce face dificilă adaptarea la alte sarcini. Pentru a rezolva aceste probleme, propunem o nouă rețea de funcții bidirecționale BiFPN, care pune în aplicare ideea combinării funcțiilor multi-strat din FPN / PANet / NAS-FPN, care permite transmiterea informațiilor atât de sus până jos, cât și de jos în sus. folosind conexiuni regulate și eficiente.

Imagine
Imagine

Pentru a îmbunătăți în continuare eficiența, propunem o nouă tehnică de sinteză rapid normalizată. Abordările tradiționale tratează de obicei toate intrările la FPN în același mod, chiar și la rezoluții diferite. Cu toate acestea, observăm că caracteristicile de intrare cu rezoluții diferite contribuie adesea inegal la funcțiile de ieșire. Astfel, adăugăm greutate suplimentară fiecărei funcții de intrare și lăsăm rețeaua să învețe importanța fiecăreia. De asemenea, vom înlocui toate circumvoluțiile obișnuite cu circumvoluții mai puțin costisitoare, profund separabile. Cu această optimizare, BiFPN-ul nostru îmbunătățește în continuare precizia cu 4%, reducând în același timp costurile de calcul cu 50%.

A treia optimizare implică realizarea celui mai bun compromis între acuratețe și eficiență sub diferite constrângeri de resurse. Munca noastră anterioară a arătat că co-redimensionarea adâncimii, lățimii și rezoluției unei rețele poate îmbunătăți semnificativ performanța de recunoaștere a imaginii. Inspirați de această idee, propunem o nouă metodă de scalare compozită pentru detectoarele de obiecte care mărește în mod colectiv rezoluția / adâncimea / lățimea. Fiecare componentă a rețelei, adică rețeaua predictivă a coloanei vertebrale, a obiectelor și a blocurilor / clasei, va avea un factor de scalare complex care controlează toate dimensiunile de scalare folosind reguli euristice. Această abordare facilitează determinarea modului de scalare a modelului prin calcularea unui factor de scară pentru o constrângere de resursă țintă dată.

Combinând noua coloană vertebrală și BiFPN, proiectăm mai întâi o mică linie de bază EfficientDet-D0 și apoi aplicăm scalarea compusă pentru a obține EfficientDet-D1 la D7. Fiecare model serial are un cost de calcul mai mare, acoperind o gamă largă de constrângeri de resurse de la 3 miliarde FLOP la 300 miliarde FLOPS și oferă o precizie mai mare.

Model de performanță

Evaluarea EfficientDet pe setul de date COCO, un set de date de referință utilizat pe scară largă pentru detectarea obiectelor. EfficientDet-D7 obține o precizie medie medie (MAP) de 52,2, care este cu 1,5 puncte mai mare decât modelul modern anterior, folosind 4 ori mai puțini parametri și 9,4 ori mai puține calcule

Imagine
Imagine

De asemenea, am comparat dimensiunea parametrilor și latența CPU / GPU între EfficientDet și modelele anterioare. Cu constrângeri de precizie similare, modelele EfficientDet rulează de 2-4 ori mai rapid pe GPU și de 5-11 ori mai rapid pe procesor decât alte detectoare. În timp ce modelele EfficientDet sunt destinate în principal detectării obiectelor, le testăm eficacitatea și în alte sarcini, cum ar fi segmentarea semantică. Pentru a efectua sarcini de segmentare, modificăm ușor EfficientDet-D4 prin înlocuirea capului de detecție și a pierderii și pierderii capului, menținând în același timp coloana vertebrală scalată și BiFPN. Comparăm acest model cu modelele de segmentare moderne anterioare pentru Pascal VOC 2012, un set de date de testare a segmentării utilizat pe scară largă.

Imagine
Imagine

Având în vedere performanțele lor excepționale, se așteaptă ca EfficientDet să servească drept o nouă bază pentru cercetarea viitoare a detectării obiectelor și să facă potențial modele de detectare a obiectelor foarte precise în multe aplicații din lumea reală. Așa că s-au deschis toate punctele de întrerupere ale codului și ale modelului predeterminat pe Github.com.

Recomandat: