Bilang isa sa mga pangunahing application sa paningin sa computer, ang pagtuklas ng bagay ay lalong nagiging mahalaga sa mga sitwasyon na nangangailangan ng mataas na katumpakan ngunit may limitadong mga mapagkukunan sa computing, tulad ng mga robot at kotse na walang driver. Sa kasamaang palad, maraming mga modernong detektor na may mataas na katumpakan ang hindi nakakatugon sa mga limitasyong ito. Mas mahalaga, ang mga application ng pagtuklas ng bagay na totoong-mundo ay tumatakbo sa iba't ibang mga platform, na madalas ay nangangailangan ng iba't ibang mga mapagkukunan.
Kaya't ang natural na katanungan ay kung paano mag-disenyo ng tumpak at mahusay na mga detektor ng bagay na maaari ring umangkop sa isang malawak na hanay ng mga hadlang sa mapagkukunan?
Mahusay na Det: Nasusukat at Mahusay na Pagtuklas ng Bagay, na pinagtibay sa CVPR 2020, ay nagpapakilala ng isang bagong pamilya ng nasusukat at mahusay na mga detektor ng bagay. Ang pagbuo sa nakaraang gawain sa pag-scale ng mga neural network (EfficientNet) at pagsasama ng isang bagong bi-directional functional network (BiFPN) at mga bagong panuntunan sa pag-scale, nakakamit ng EfficientDet ang modernong katumpakan habang 9 na beses na mas maliit at gumagamit ng mas kaunting pagkalkula kaysa sa mga kilalang modernong detektor. Ipinapakita ng sumusunod na pigura ang pangkalahatang arkitektura ng network ng mga modelo.
Pag-optimize ng Model Architecture
Ang ideya sa likod ng EfficientDet ay nagmumula sa isang pagsisikap na makahanap ng mga solusyon upang mapabuti ang kahusayan sa computational sa pamamagitan ng sistematikong pagsuri sa mga nakaraang mga modelo ng detection ng state-of-the-art Sa pangkalahatan, ang mga detektor ng bagay ay may tatlong pangunahing mga sangkap: isang gulugod na kumukuha ng mga tampok mula sa isang naibigay na imahe; isang network ng mga bagay na tumatagal ng maraming mga antas ng pag-andar mula sa gulugod bilang input at naglalabas ng isang listahan ng mga pinagsamang pag-andar na kumakatawan sa mga katangian ng katangian ng imahe; at isang pangwakas na network ng kahon / kahon na gumagamit ng pinagsamang mga pagpapaandar upang mahulaan ang klase at lokasyon ng bawat bagay.
Matapos suriin ang mga pagpipilian sa disenyo para sa mga sangkap na ito, nakilala namin ang maraming pangunahing pag-optimize upang mapabuti ang pagganap at kahusayan. Ang mga nakaraang detektor ay kadalasang gumagamit ng ResNets, ResNeXt o AmoebaNet bilang mga backbone, na alinman sa hindi gaanong malakas o may mas mababang kahusayan kaysa sa EfficientNets. Gamit ang paunang pagpapatupad ng EfficientNet backbone, higit na kahusayan ang maaaring makamit. Halimbawa Ang isa pang pag-optimize ay upang mapabuti ang kahusayan ng mga functional network. Habang ang karamihan sa mga nakaraang detektor ay ginagamit lamang ang Downlink Pyramid Network (FPN), nalaman namin na ang downstream FPN ay likas na limitado sa isang isang-daloy ng impormasyon. Ang mga kahaliling FPN tulad ng PANet ay nagdaragdag ng karagdagang upstream sa gastos ng karagdagang pagkalkula.
Kamakailang mga pagtatangka na gamitin ang Neural Architecture Search (NAS) ay natuklasan ang isang mas kumplikadong arkitektura ng NAS-FPN. Gayunpaman, habang ang istraktura ng network na ito ay epektibo, irregular din ito at lubos na na-optimize para sa isang tukoy na gawain, na ginagawang mahirap na umangkop sa iba pang mga gawain. Upang malutas ang mga problemang ito, imungkahi namin ang isang bagong network ng mga bi-directional function na BiFPN, na nagpapatupad ng ideya ng pagsasama-sama ng mga pagpapaandar na multi-layer mula sa FPN / PANet / NAS-FPN, na nagpapahintulot sa impormasyon na mailipat pareho mula sa itaas hanggang sa ibaba at mula sa ibaba hanggang sa itaas. gamit ang regular at mabisang koneksyon.
Upang higit na mapabuti ang kahusayan, imungkahi namin ang isang bagong mabilis na gawing normal na pamamaraan ng pagbubuo. Karaniwan na tinatrato ng mga tradisyunal na diskarte ang lahat ng mga input sa FPN sa parehong paraan, kahit na sa iba't ibang mga resolusyon. Gayunpaman, sinusunod namin na ang mga tampok sa pag-input na may iba't ibang mga resolusyon ay madalas na nag-aambag nang hindi pantay sa mga pagpapaandar na output. Sa gayon, nagdagdag kami ng labis na timbang sa bawat pag-andar ng pag-input at hayaan ang network na malaman ang kahalagahan ng bawat isa. Papalitan din namin ang lahat ng regular na convolutions na may mas mura, malalim na magkakahiwalay na convolutions. Sa pag-optimize na ito, ang aming BiFPN ay lalong nagpapabuti sa kawastuhan ng 4% habang binabawasan ang mga gastos sa computational ng 50%.
Ang pangatlong pag-optimize ay nagsasangkot ng pagkamit ng pinakamahusay na kompromiso sa pagitan ng kawastuhan at kahusayan sa ilalim ng iba't ibang mga hadlang sa mapagkukunan. Ipinakita ng aming nakaraang trabaho na ang co-scale ng lalim, lapad, at resolusyon ng isang network ay maaaring mapabuti ang pagganap ng pagkilala sa imahe. May inspirasyon ng ideyang ito, imungkahi namin ang isang bagong pamamaraan ng pagsasama ng pag-scale para sa mga detektor ng bagay na sama-sama na nagdaragdag ng resolusyon / lalim / lapad. Ang bawat bahagi ng network, ie backbone, object at block / class predictive network, ay magkakaroon ng isang kumplikadong kadahilanan sa pag-scale na kumokontrol sa lahat ng sukat ng pag-scale gamit ang mga heuristic na patakaran. Ginagawang madali ng pamamaraang ito upang matukoy kung paano sukatin ang modelo sa pamamagitan ng pagkalkula ng isang scale factor para sa isang naibigay na pagpipigil sa mapagkukunan.
Sa pamamagitan ng pagsasama-sama ng bagong gulugod at BiFPN, unang dinisenyo namin ang isang maliit na baseline ng EfficientDet-D0 at pagkatapos ay ilapat ang pag-scale ng compound upang makakuha ng EfficientDet-D1 hanggang D7. Ang bawat serial model ay may mas mataas na gastos sa computational, na sumasakop sa isang malawak na hanay ng mga hadlang sa mapagkukunan mula sa 3 bilyong FLOP hanggang 300 bilyong FLOPS, at nagbibigay ng mas mataas na kawastuhan.
Modelo ng pagganap
Sinusuri ang EfficientDet sa COCO dataset, isang malawak na ginamit na sanggunian na data para sa pagtuklas ng bagay. Ang EfficientDet-D7 ay nakakamit ng isang average average average (mAP) na 52.2, na mas mataas na 1.5 puntos kaysa sa nakaraang modernong modelo, na gumagamit ng 4 na beses na mas kaunting mga parameter at 9.4 beses na mas kaunting mga kalkulasyon
Inihambing din namin ang laki ng parameter at latency ng CPU / GPU sa pagitan ng EfficientDet at mga nakaraang modelo. Na may katulad na mga hadlang sa katumpakan, ang mga modelo ng EfficientDet ay tumatakbo nang 2-4 beses na mas mabilis sa GPU at 5-11 beses na mas mabilis sa processor kaysa sa iba pang mga detektor. Habang ang mga modelo ng EfficientDet ay pangunahing inilaan para sa pagtuklas ng bagay, sinusubukan din namin ang kanilang pagiging epektibo sa iba pang mga gawain tulad ng paghati sa semantiko. Upang maisagawa ang mga gawain sa paghihiwalay, binago namin nang bahagya ang EfficientDet-D4 sa pamamagitan ng pagpapalit sa pagkawala ng ulo at pagkawala ng pagkawala ng ulo at pagkawala habang pinapanatili ang parehong naka-scale na gulugod at BiFPN. Inihambing namin ang modelong ito sa nakaraang mga modernong modelo ng paghihiwalay para sa Pascal VOC 2012, isang malawak na ginamit na segmentation na pagsubok sa segmentation.
Dahil sa kanilang pambihirang pagganap, ang EfficientDet ay inaasahang magsisilbing isang bagong pundasyon para sa pagsasaliksik sa pagtuklas ng object sa hinaharap at potensyal na gagawing kapaki-pakinabang ang mga tumpak na tumpak na modelo ng object sa maraming mga application sa totoong mundo. Kaya't binuksan ang lahat ng mga breakpoint ng code at pretrained na modelo sa Github.com.