Ühena arvutinägemise peamistest rakendustest on objektide tuvastamine muutumas üha olulisemaks stsenaariumides, mis nõuavad suurt täpsust, kuid millel on piiratud arvutusressursid, näiteks robootika ja juhita autod. Kahjuks ei vasta paljud tänapäevased ülitäpsed detektorid nendele piirangutele. Veelgi olulisem on see, et reaalse maailma objektide tuvastamise rakendused töötavad erinevatel platvormidel, mis nõuavad sageli erinevaid ressursse.
Nii et loomulik küsimus on, kuidas kujundada täpseid ja tõhusaid objektidetektoreid, mis suudaksid kohaneda ka paljude ressursside piirangutega?
CVPR 2020-l vastu võetud EfficientDet: skaleeritav ja tõhus objektide tuvastamine tutvustab uut skaleeritavate ja tõhusate objektidetektorite perekonda. Tuginedes varasemale närvivõrkude skaleerimise tööle (EfficientNet) ning lisades uue kahesuunalise funktsionaalse võrgu (BiFPN) ja uued skaleerimisreeglid, saavutab EfficientDet kaasaegse täpsuse, olles samas 9 korda väiksem ja kasutab oluliselt vähem arvutust kui teadaolevad kaasaegsed detektorid. Järgmine joonis näitab mudelite üldist võrguarhitektuuri.
Mudelarhitektuuri optimeerimine
EfficientDeti idee tuleneb püüdest leida lahendusi arvutustõhususe parandamiseks, uurides süstemaatiliselt varasemaid tipptasemel tuvastusmudeleid. Üldiselt on objektidetektoritel kolm põhikomponenti: selgroog, mis eraldab antud pildilt tunnused; objektide võrk, mis võtab selgroolt sisendina mitu tasandi funktsioone ja väljastab loendi kombineeritud funktsioonidest, mis esindavad pildi iseloomulikke omadusi; ja lõplik klassi / kasti võrk, mis kasutab kombineeritud funktsioone iga objekti klassi ja asukoha ennustamiseks.
Pärast nende komponentide kujundusvõimaluste ülevaatamist leidsime jõudluse ja tõhususe parandamiseks mitu peamist optimeerimist. Varasemad detektorid kasutavad selgroogudena enamasti ResNetsi, ResNeXti või AmoebaNeti, mis on kas vähem võimsad või madalama efektiivsusega kui EfficientNets. EfficientNeti selgroo esialgse rakendamisega on võimalik saavutada palju suurem tõhusus. Näiteks alustades RetinaNeti baasjoonest, mis kasutab selgroogu ResNet-50, näitab meie ablatsiooniuuring, et lihtsalt ResNet-50 asendamine EfficientNet-B3-ga võib täpsust parandada 3% võrra, vähendades samal ajal arvutamist 20%. Teine optimeerimine on funktsionaalsete võrkude tõhususe parandamine. Kui enamik eelmistest detektoritest kasutab lihtsalt allalüli püramiidvõrku (FPN), leiame, et allavoolu asuv FPN on oma olemuselt piiratud ühesuunalise teabevooga. Alternatiivsed FPN-id nagu PANet lisavad täiendavat ülesvoolu täiendava arvutamise hinnaga.
Hiljutised katsed kasutada Neural Architecture Searchi (NAS) on avastanud keerukama NAS-FPN arhitektuuri. Kuigi see võrgustruktuur on tõhus, on see ka ebaregulaarne ja konkreetse ülesande jaoks väga optimeeritud, mistõttu on teiste ülesannetega kohanemine keeruline. Nende probleemide lahendamiseks pakume välja uue kahesuunaliste funktsioonide võrgustiku BiFPN, mis rakendab ideed ühendada FPN / PANet / NAS-FPN mitmekihilised funktsioonid, mis võimaldab teavet edastada nii ülalt alla kui ka alt üles. regulaarsete ja tõhusate ühenduste abil.
Efektiivsuse edasiseks parandamiseks pakume välja uue kiiresti normaliseeritud sünteesitehnika. Traditsioonilised lähenemisviisid käsitlevad kõiki FPN-i sisendeid ühtemoodi, isegi erineva resolutsiooniga. Siiski täheldame, et erineva eraldusvõimega sisendfunktsioonid aitavad väljundfunktsioonidele sageli ebavõrdselt kaasa. Seega lisame igale sisendfunktsioonile lisaraskuse ja laseme võrgul igaühe olulisuse selgeks õppida. Samuti asendame kõik tavalised keerutused odavamate, sügavalt eraldatavate keeristustega. Selle optimeerimisega parandab meie BiFPN täpsust veel 4%, vähendades samal ajal arvutuskulusid 50%.
Kolmas optimeerimine hõlmab täpsuse ja efektiivsuse vahel parima kompromissi saavutamist ressursside erinevate piirangute korral. Meie eelmine töö on näidanud, et võrgu sügavuse, laiuse ja eraldusvõime ühiskaalamine võib pildituvastuse jõudlust märkimisväärselt parandada. Sellest ideest inspireerituna pakume välja objektidetektorite uue komposiitskaala meetodi, mis suurendab ühiselt eraldusvõimet / sügavust / laiust. Igal võrgukomponendil, st selgrool, objektil ja ploki / klassi ennustaval võrgul, on üks keeruline skaleerimistegur, mis kontrollib kõiki skaleerimise mõõtmeid heuristiliste reeglite abil. Selle lähenemisviisi abil on lihtne kindlaks määrata, kuidas mudelit skaleerida, arvutades konkreetse sihtressurssi piirangu skaalateguri.
Uue selgroo ja BiFPN-i kombineerimisel kujundame kõigepealt väikese EfficientDet-D0 baasjoone ja seejärel rakendame ühendi skaleerimist, et saada EfficientDet-D1 kuni D7. Igal seeriamudelil on suuremad arvutuslikud kulud, mis hõlmavad mitmesuguseid ressursside piiranguid alates 3 miljardist FLOP-st kuni 300 miljardi FLOPS-ni ja tagab suurema täpsuse.
Performance mudel
EfficientDeti hindamine objektide tuvastamiseks laialdaselt kasutatavast viiteandmekogumist COCO andmekogumil. EfficientDet-D7 saavutab keskmise keskmise täpsuse (mAP) 52,2, mis on 1,5 punkti kõrgem kui eelmine kaasaegne mudel, kasutades 4 korda vähem parameetreid ja 9,4 korda vähem arvutusi
Võrdlesime ka EfficientDeti ja eelmiste mudelite parameetrite suurust ning protsessori / GPU latentsust. Sarnaste täpsusepiirangutega töötavad EfficientDet mudelid GPU-l 2–4 korda ja protsessoril 5–11 korda kiiremini kui muud detektorid. Kui EfficientDeti mudelid on mõeldud peamiselt objektide tuvastamiseks, siis testime nende efektiivsust ka muude ülesannete täitmisel, näiteks semantiline segmentimine. Segmenteerimisülesannete täitmiseks modifitseerime veidi EfficientDet-D4, asendades tuvastuspea ja pea kaotuse ja kaotuse, säilitades samasuguse skaleeritud selgroo ja BiFPN. Me võrdleme seda mudelit Pascal VOC 2012, laialt kasutatava segmenteerimise testimise andmekogumi varasemate kaasaegsete segmentimismudelitega.
Arvestades nende erakordset jõudlust, on EfficientDet eeldatavasti tulevase objektide tuvastamise uurimise uus alus ja muudab potentsiaalselt ülitäpsed objektide tuvastamise mudelid paljudes reaalsetes rakendustes kasulikuks. Nii avasite saidil Github.com kõik koodi ja eelkoostatud mudeli murdepunktid.