Talaan ng nilalaman[Tago][Ipakita]
Ang isa sa pinakasimpleng ngunit pinaka nakakaintriga na mga ideya sa malalim na pag-aaral ay ang pagtuklas ng bagay. Ang pangunahing ideya ay hatiin ang bawat item sa magkakasunod na mga klase na kumakatawan sa maihahambing na mga katangian at pagkatapos ay gumuhit ng isang kahon sa paligid nito.
Ang mga natatanging katangiang ito ay maaaring kasing simple ng anyo o kulay, na tumutulong sa ating kakayahang ikategorya ang mga ito.
Ang mga aplikasyon ng Detection ng Bagay ay malawakang nagtatrabaho sa mga medikal na agham, autonomous na pagmamaneho, depensa at militar, pampublikong pangangasiwa, at marami pang ibang larangan salamat sa malaking pagpapabuti sa Computer Vision at Image Processing.
Narito mayroon kaming MMDetection, isang kamangha-manghang open-source object detection toolset na binuo sa Pytorch. Sa artikulong ito, susuriin namin ang MMDetection nang detalyado, talakayin ang mga tampok nito, at marami pang iba.
Ano ang MMDetection?
Ang MMDetection Ang toolbox ay nilikha bilang isang Python codebase partikular para sa mga problemang kinasasangkutan ng pagkakakilanlan ng bagay at pag-segment ng halimbawa.
Ang pagpapatupad ng PyTorch ay ginagamit, at ito ay nilikha sa isang modular na paraan. Para sa pagkilala sa bagay at pag-segment ng halimbawa, isang malawak na hanay ng mga epektibong modelo ang pinagsama-sama sa iba't ibang mga pamamaraan.
Pinahihintulutan nito ang epektibong paghuhula at mabilis na pagsasanay. Sa kabilang banda, ang toolbox ay may kasamang mga timbang para sa higit sa 200 pre-trained na network, na ginagawa itong mabilis na pag-aayos sa field ng pagkilala sa bagay.
Gamit ang kakayahang iakma ang kasalukuyang mga diskarte o lumikha ng isang bagong detektor gamit ang mga magagamit na module, ang MMDetection ay gumaganap bilang isang benchmark.
Ang pangunahing tampok ng toolbox ay ang pagsasama nito ng direkta, modular na mga bahagi mula sa isang normal pagtuklas ng bagay balangkas na maaaring magamit upang lumikha ng mga natatanging pipeline o natatanging mga modelo.
Ang mga kakayahan sa pag-benchmark ng toolkit na ito ay ginagawang simple upang bumuo ng isang bagong framework ng detector sa itaas ng isang umiiral na framework at ihambing ang pagganap nito.
Mga tampok
- Direktang sinusuportahan ng toolkit ang sikat at modernong mga framework ng pagtuklas, gaya ng Faster RCNN, Mask RCNN, RetinaNet, atbp.
- Paggamit ng 360+ pre-trained na mga modelo para sa fine-tuning (o pagsasanay muli).
- Para sa mga kilalang vision dataset kabilang ang COCO, Cityscapes, LVIS, at PASCAL VOC.
- Sa mga GPU, ang lahat ng pangunahing operasyon ng bbox at mask ay isinasagawa. Ang iba pang mga codebase, gaya ng Detectron2, maskrcnn-benchmark, at SimpleDet, ay maaaring sanayin sa mas mabilis na rate kaysa o kapantay ng isang ito.
- Pinaghiwa-hiwalay ng mga mananaliksik ang pagtuklas ng bagay framework sa ilang mga module, na maaaring pagsamahin upang lumikha ng isang natatanging object detection system.
Arkitektura ng MMDetection
Tinutukoy ng MMDetection ang isang generic na disenyo na maaaring ilapat sa anumang modelo dahil ito ay isang toolbox na may iba't ibang pre-built na mga modelo, bawat isa ay may sariling arkitektura. Ang mga sumusunod na bahagi ay bumubuo sa pangkalahatang arkitektura na ito:
- Gulugod: Ang backbone, tulad ng isang ResNet-50 na walang huling ganap na konektadong layer, ay ang bahagi na nagko-convert ng isang imahe upang itampok ang mga mapa.
- Leeg: Ang leeg ay ang segment na nag-uugnay sa gulugod sa mga ulo. Sa mga raw feature na mapa ng backbone, gumagawa ito ng ilang partikular na pagsasaayos o muling pagsasaayos. Ang Feature Pyramid Network ay isang paglalarawan (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): Ito ang bahagi na gumagana sa mga siksik na lugar ng mga feature na mapa, gaya ng AnchorHead at AnchorFreeHead, gaya ng RPNHead, RetinaHead, at FCOSHead.
- RoIEextractor: Sa paggamit ng mga operator na tulad ng RoIPooling, ito ang seksyong kumukuha ng mga feature ng RoIwise mula sa isang solong o isang koleksyon ng mga feature na mapa. Kinukuha ng sample ng SingleRoIExtractor ang mga feature ng RoI mula sa katugmang antas ng feature pyramids.
- RoIHead (BBoxHead/MaskHead): Ito ang bahagi ng system na gumagamit ng mga katangian ng RoI bilang isang input at bumubuo ng mga hulang partikular sa gawain na nakabatay sa RoI, gaya ng pag-uuri/regression ng bounding box at hula sa mask.
Ang pagtatayo ng single-stage at two-stage detector ay inilalarawan gamit ang mga nabanggit na konsepto. Maaari tayong bumuo ng sarili nating mga pamamaraan sa pamamagitan lamang ng paggawa ng ilang sariwang bahagi at pagsasama-sama ng ilang mga umiiral na.
Listahan ng mga modelong kasama sa MMDetection
Nagbibigay ang MMDetection ng mga nangungunang codebase para sa ilang kilalang modelo at mga module na nakatuon sa gawain. Ang mga modelo na dati nang ginawa at mga naaangkop na pamamaraan na maaaring magamit sa toolbox ng MMDetection ay nakalista sa ibaba. Patuloy na lumalaki ang listahan habang nagdaragdag ng mga modelo at pamamaraan.
- Mabilis na R-CNN
- Mas mabilis na R-CNN
- Mask R-CNN
- RetinaNet
- DCN
- DCNv2
- Cascade R-CNN
- M2Det
- GHM
- ScratchDet
- Double-Head R-CNN
- Grid R-CNN
- FSAF
- Libra R-CNN
- GCNet
- HRNet
- Mask Scoring R-CNN
- FCOS
- SSD
- R-FCN
- Mixed Precision Training
- Standardisasyon ng Timbang
- Hybrid Task Cascade
- Pinatnubayang Pag-angkla
- Pangkalahatang Atensyon
Pagbuo ng object detection model gamit ang MMDetection
Sa tutorial na ito, tayo ang magiging Google collab notebook dahil madali itong itakda at gamitin.
instalasyon
Upang mai-install ang lahat ng kailangan namin, i-install muna namin ang mga kinakailangang aklatan at i-clone ang proyekto ng MMdetection GitHub.
Ini-import ang env
Ang kapaligiran para sa aming proyekto ay mai-import na ngayon mula sa imbakan.
Pag-import ng mga aklatan at MMdetection
Mag-i-import na kami ngayon ng mga kinakailangang aklatan, kasama ang MMdetection siyempre.
I-download ang mga pre-trained na checkpoints
Ang mga pre-trained na checkpoint ng modelo mula sa MMdetection ay dapat na ngayong i-download para sa karagdagang pagsasaayos at hinuha.
Modelo ng gusali
Bubuo na kami ngayon ng modelo at ilalapat ang mga checkpoint sa dataset.
Hinuha ang detector
Ngayong maayos na ang pagkakagawa at pagkakarga ng modelo, tingnan natin kung gaano ito kahusay. Ginagamit namin ang high-level na API inference detector ng MMDetection. Ang API na ito ay idinisenyo upang gawing mas madali ang proseso ng hinuha.
Resulta
Tingnan natin ang mga resulta.
Konklusyon
Sa konklusyon, ang MMDetection toolbox ay higit na gumaganap ng mga kamakailang inilabas na codebase tulad ng SimpleDet, Detectron, at Maskrcnn-benchmark. Sa malaking koleksyon ng modelo,
Ang MMDetection ay makabagong teknolohiya na ngayon. Nahihigitan ng MMDetection ang lahat ng iba pang mga codebase sa mga tuntunin ng kahusayan at pagganap.
Isa sa mga pinakamagandang bagay tungkol sa MMdetection ay maaari ka na ngayong tumuro sa ibang configuration file, mag-download ng ibang checkpoint, at magpatakbo ng parehong code kung gusto mong baguhin ang mga modelo.
Pinapayuhan ko ang pagtingin sa kanila tagubilin kung magkakaroon ka ng mga problema sa alinman sa mga yugto o nais na isakatuparan ang ilan sa mga ito sa ibang paraan.
Mag-iwan ng Sagot