Sisällysluettelo[Piilottaa][Näytä]
Yksi yksinkertaisimmista mutta kiehtovimmista ideoista syvässä oppimisessa on objektien havaitseminen. Perusideana on jakaa jokainen esine peräkkäisiin luokkiin, jotka edustavat vertailukelpoisia piirteitä, ja sitten piirtää sen ympärille laatikko.
Nämä erottavat ominaisuudet voivat olla niinkin yksinkertaisia kuin muoto tai väri, mikä auttaa kykyämme luokitella ne.
Sovellukset Objektin tunnistus ovat laajalti käytössä lääketieteissä, autonomisessa ajamisessa, puolustuksessa ja armeijassa, julkishallinnossa ja monilla muilla aloilla tietokonenäön ja kuvankäsittelyn huomattavien parannusten ansiosta.
Täällä meillä on MMDetection, upea avoimen lähdekoodin objektien tunnistustyökalusarja, joka on rakennettu Pytorchiin. Tässä artikkelissa tutkimme MMDtectionia yksityiskohtaisesti, käytämme sitä käytännössä, keskustelemme sen ominaisuuksista ja paljon muuta.
Mikä on MMD-tunnistus?
- MMD-tunnistus Toolbox luotiin Python-koodikannaksi erityisesti objektien tunnistamiseen ja ilmentymien segmentointiin liittyviin ongelmiin.
PyTorch-toteutusta käytetään, ja se luodaan modulaarisesti. Objektien tunnistamista ja ilmentymien segmentointia varten on koottu laaja valikoima tehokkaita malleja erilaisiksi menetelmiksi.
Se mahdollistaa tehokkaan päättelyn ja nopean koulutuksen. Toisaalta työkalupakki sisältää painot yli 200 esiopetettua verkkoa varten, mikä tekee siitä nopean korjauksen kohteen tunnistuskentässä.
MMDtection toimii vertailukohtana, koska sillä voidaan mukauttaa nykyisiä tekniikoita tai luoda uusi ilmaisin käytettävissä olevilla moduuleilla.
Työkalulaatikon tärkein ominaisuus on yksinkertaisten, modulaaristen osien sisällyttäminen tavallisesta esineiden havaitseminen puitteet, joita voidaan käyttää ainutlaatuisten putkien tai ainutlaatuisten mallien luomiseen.
Tämän työkalupakin benchmarking-ominaisuuksien ansiosta on helppoa rakentaa uusi ilmaisinkehys olemassa olevan kehyksen päälle ja verrata sen suorituskykyä.
Ominaisuudet
- Työkalusarja tukee suoraan suosittuja ja moderneja tunnistuskehyksiä, kuten Faster RCNN, Mask RCNN, RetinaNet jne.
- Yli 360 esiopetettujen mallien käyttö hienosäätöön (tai harjoitteluun uudelleen).
- Tunnetuille näkötietojoukoille, kuten COCO, Cityscapes, LVIS ja PASCAL VOC.
- Grafiikkasuorittimilla suoritetaan kaikki perustoiminnot bbox- ja maskeilla. Muita koodikantoja, kuten Detectron2, maskrcnn-benchmark ja SimpleDet, voidaan kouluttaa nopeammin tai samalla tasolla kuin tämä.
- Tutkijat rikkovat esineiden havaitseminen puitteet useiksi moduuleiksi, jotka voidaan sitten yhdistää ainutlaatuiseksi kohteen tunnistusjärjestelmäksi.
MMDection-arkkitehtuuri
MMDetection määrittelee yleisen suunnittelun, jota voidaan soveltaa mihin tahansa malliin, koska se on työkalupakki, jossa on useita valmiita malleja, joilla jokaisella on oma arkkitehtuurinsa. Seuraavat komponentit muodostavat tämän yleisarkkitehtuurin:
- Selkäranka: Runko, kuten ResNet-50 ilman lopullista täysin yhdistettyä kerrosta, on osa, joka muuntaa kuvan karttakohdekartoiksi.
- niska: Kaula on osa, joka yhdistää selkärangan päihin. Rungon raaka-ominaisuuskartoissa se tekee tiettyjä säätöjä tai uudelleenmäärityksiä. Feature Pyramid Network on yksi esimerkki (FPN).
- Tiheäpää (AnchorHead/AnchorFreeHead): Se on komponentti, joka toimii ominaisuuskarttojen tiheillä alueilla, kuten AnchorHead ja AnchorFreeHead, kuten RPNHead, RetinaHead ja FCOSHead.
- RoIExtractor: RoIPoolingin kaltaisia operaattoreita käytettäessä se on se osa, joka hakee RoIwisen ominaisuuksia yhdestä tai ominaisuuskarttojen kokoelmasta. SingleRoIExtractor-näyte poimii RoI-ominaisuudet vastaavan tason piirrepyramideista.
- RoIHead (BBoxHead/MaskHead): Se on järjestelmän osa, joka käyttää RoI-ominaisuuksia syötteenä ja luo RoI-pohjaisia tehtäväkohtaisia ennusteita, kuten rajauslaatikon luokittelua/regressiota ja maskin ennustetta.
Yksivaiheisten ja kaksivaiheisten ilmaisimien rakennetta havainnollistetaan edellä mainituilla käsitteillä. Voimme kehittää omia toimintatapojamme yksinkertaisesti rakentamalla muutamia uusia osia ja yhdistämällä joitain olemassa olevia.
Luettelo MMDtectioniin sisältyvistä malleista
MMDetection tarjoaa huippuluokan koodikannat useille tunnetuille malleille ja tehtäväkeskeisille moduuleille. Alla on listattu aiemmin tehdyt mallit ja mukautettavat menetelmät, joita voidaan hyödyntää MMDtection-työkalupakin kanssa. Lista kasvaa jatkuvasti, kun malleja ja menetelmiä lisätään.
- Nopea R-CNN
- Nopeampi R-CNN
- Maski R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskadi R-CNN
- M2Det
- GHM
- ScratchDet
- Kaksoispää R-CNN
- Ruudukko R-CNN
- FSAF
- Vaaka R-CNN
- GCNet
- HRNet
- Maskin pisteytys R-CNN
- FCOS
- SSD
- R-FCN
- Mixed Precision Training
- Painon standardointi
- Hybriditehtäväkaskadi
- Ohjattu ankkurointi
- Yleinen huomio
Rakenna kohteen tunnistusmalli MMDtectionin avulla
Tässä opetusohjelmassa olemme Googlen yhteistyömuistikirja, koska se on helppo määrittää ja käyttää.
Asennus
Asentaaksemme kaiken tarvitsemamme asennamme ensin tarvittavat kirjastot ja kloonaamme MMdetection GitHub -projektin.
Tuodaan env
Projektimme ympäristö tuodaan nyt arkistosta.
Kirjastojen ja MMdetectionin tuonti
Tuomme nyt tarvittavat kirjastot ja tietysti MM-tunnistuksen.
Lataa valmiiksi koulutetut tarkistuspisteet
MMdetectionin valmiiksi koulutetut mallin tarkistuspisteet pitäisi nyt ladata lisäsäätöä ja päätelmiä varten.
Rakennusmalli
Rakennamme nyt mallin ja käytämme tarkistuspisteitä tietojoukkoon.
Päättele ilmaisin
Nyt kun malli on oikein rakennettu ja ladattu, katsotaan kuinka erinomainen se on. Käytämme MMDetectionin korkean tason API-johtopäätöstunnistinta. Tämä API on suunniteltu helpottamaan päättelyprosessia.
Tulos
Katsotaanpa tuloksia.
Yhteenveto
Yhteenvetona voidaan todeta, että MMDetection-työkalupakki ylittää äskettäin julkaistut koodikannat, kuten SimpleDet, Detectron ja Maskrcnn-benchmark. Suurella mallikokoelmalla
MMDtection on nyt huipputeknologiaa. MMDtection on tehokkuudeltaan ja suorituskyvyltään parempi kuin kaikki muut koodikannat.
Yksi MMdetectionin mukavimmista asioista on, että voit nyt vain osoittaa toiseen konfigurointitiedostoon, ladata eri tarkistuspisteen ja suorittaa saman koodin, jos haluat muuttaa malleja.
Suosittelen katsomaan niitä ohjeet jos kohtaat ongelmia jonkin vaiheen kanssa tai haluat suorittaa osan niistä toisin.
Jätä vastaus