Kazalo[Skrij][Pokaži]
Ena najpreprostejših, a najbolj zanimivih idej pri globokem učenju je zaznavanje predmetov. Temeljna ideja je razdeliti vsak element v zaporedne razrede, ki predstavljajo primerljive lastnosti, nato pa okoli njega narisati okvir.
Te razlikovalne lastnosti so lahko tako preproste kot oblika ali barva, kar nam pomaga pri njihovi zmožnosti kategoriziranja.
Aplikacije za Zaznavanje objektov se pogosto uporabljajo v medicinskih znanostih, avtonomni vožnji, obrambi in vojski, javni upravi in na številnih drugih področjih zahvaljujoč bistvenim izboljšavam računalniškega vida in obdelave slik.
Tukaj imamo MMDetection, fantastičen odprtokodni nabor orodij za odkrivanje predmetov, zgrajen na Pytorchu. V tem članku bomo podrobno preučili MMDetection, ga preizkusili, razpravljali o njegovih funkcijah in še veliko več.
Kaj je MMDetection?
O MMDetection Toolbox je bil ustvarjen kot kodna baza Python posebej za težave, ki vključujejo identifikacijo objektov in segmentacijo primerkov.
Uporabljena je implementacija PyTorch, ki je ustvarjena na modularni način. Za prepoznavanje objektov in segmentacijo primerkov je bil v različne metodologije sestavljen širok nabor učinkovitih modelov.
Omogoča učinkovito sklepanje in hitro usposabljanje. Po drugi strani pa zbirka orodij vključuje uteži za več kot 200 vnaprej usposobljenih omrežij, zaradi česar je hitra rešitev v polju za identifikacijo objektov.
Z možnostjo prilagajanja trenutnih tehnik ali ustvarjanja novega detektorja z uporabo razpoložljivih modulov MMDetection deluje kot merilo.
Ključna značilnost orodjarne je, da vključuje enostavne, modularne dele običajnega odkrivanje predmetov ogrodje, ki ga je mogoče uporabiti za ustvarjanje edinstvenih cevovodov ali edinstvenih modelov.
Zmožnosti primerjalne analize tega kompleta orodij poenostavijo izdelavo novega ogrodja detektorja na obstoječem ogrodju in primerjavo njegove učinkovitosti.
Lastnosti
- Priljubljena in sodobna ogrodja za odkrivanje, kot so Faster RCNN, Mask RCNN, RetinaNet itd., so neposredno podprta s kompletom orodij.
- Uporaba 360+ predhodno usposobljenih modelov za natančno nastavitev (ali ponovno usposabljanje).
- Za dobro znane nabore podatkov o vidu, vključno s COCO, Cityscapes, LVIS in PASCAL VOC.
- Na grafičnih procesorjih se izvajajo vse osnovne operacije bbox in maske. Druge kodne baze, kot so Detectron2, maskrcnn-benchmark in SimpleDet, je mogoče usposabljati hitreje ali enakovredno tej.
- Raziskovalci razčlenjujejo odkrivanje predmetov okvir v več modulov, ki jih je mogoče nato združiti v edinstven sistem za zaznavanje objektov.
Arhitektura MMDetection
MMDetection določa generično zasnovo, ki jo je mogoče uporabiti za kateri koli model, saj gre za zbirko orodij z različnimi vnaprej zgrajenimi modeli, od katerih ima vsak svojo arhitekturo. Naslednje komponente sestavljajo to splošno arhitekturo:
- Hrbtenica: Hrbtenica, kot je ResNet-50 brez končne popolnoma povezane plasti, je komponenta, ki pretvori sliko v zemljevide funkcij.
- Neck: Vrat je segment, ki povezuje hrbtenico z glavami. Na neobdelanih zemljevidih funkcij hrbtenice izvaja določene prilagoditve ali rekonfiguracije. Feature Pyramid Network je ena ilustracija (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): To je komponenta, ki deluje na gostih območjih zemljevidov funkcij, kot sta AnchorHead in AnchorFreeHead, kot so RPNHead, RetinaHead in FCOSHead.
- RoIExtractor: Z uporabo operaterjev, podobnih RoIPoolingu, je razdelek tisti, ki črpa funkcije RoIwise iz ene same ali zbirke zemljevidov funkcij. Vzorec SingleRoIExtractor izvleče funkcije ROI iz ujemajoče se ravni piramid funkcij.
- RoIHed (BBoxHead/MaskHead): To je del sistema, ki uporablja značilnosti RoI kot vhod in generira napovedi, ki temeljijo na RoI, specifične za nalogo, kot je klasifikacija/regresija omejevalnega polja in napoved maske.
Konstrukcija enostopenjskih in dvostopenjskih detektorjev je prikazana z uporabo zgoraj omenjenih konceptov. Svoje postopke lahko razvijemo preprosto tako, da sestavimo nekaj svežih delov in združimo nekaj obstoječih.
Seznam modelov, vključenih v MMDetection
MMDetection zagotavlja vrhunske kodne baze za več dobro znanih modelov in nalogo usmerjenih modulov. Modeli, ki so bili predhodno izdelani, in prilagodljive metode, ki jih je mogoče uporabiti z orodjem MMDetection, so navedeni spodaj. Seznam se povečuje, saj se dodaja več modelov in metod.
- Hiter R-CNN
- Hitrejši R-CNN
- Maska R-CNN
- RetinaNet
- DCN
- DCNv2
- Cascade R-CNN
- M2Det
- GHM
- ScratchDet
- Dvoglavi R-CNN
- Mreža R-CNN
- FSAF
- Tehtnica R-CNN
- GCNet
- HRNet
- Točkovanje mask R-CNN
- FCOS
- SSD
- R-FCN
- Usposabljanje mešane natančnosti
- Standardizacija teže
- Hibridna kaskada opravil
- Vodeno sidranje
- Splošna pozornost
Gradnja modela zaznavanja objektov z uporabo MMDetection
V tej vadnici bomo Google Collab Notebook, ker ga je enostavno nastaviti in uporabljati.
namestitev
Za namestitev vsega, kar potrebujemo, bomo najprej namestili potrebne knjižnice in klonirali projekt MMdetection GitHub.
Uvažanje env
Okolje za naš projekt bo zdaj uvoženo iz repozitorija.
Uvažanje knjižnic in MMdetection
Zdaj bomo uvozili zahtevane knjižnice, seveda skupaj z MMdetection.
Prenesite vnaprej pripravljene kontrolne točke
Vnaprej pripravljene kontrolne točke modela iz MMdetection je treba zdaj prenesti za nadaljnje prilagajanje in sklepanje.
Gradbeni model
Zdaj bomo zgradili model in uporabili kontrolne točke v naboru podatkov.
Sklepaj detektor
Sedaj, ko je model pravilno sestavljen in naložen, preverimo, kako odličen je. Uporabljamo visokonivojski detektor sklepanja API MMDetection. Ta API je bil zasnovan za lažji postopek sklepanja.
Rezultat
Poglejmo si rezultate.
zaključek
Skratka, orodje MMDetection prekaša nedavno izdane baze kod, kot so SimpleDet, Detectron in Maskrcnn-benchmark. Z veliko zbirko modelov,
MMDetection je zdaj najsodobnejša tehnologija. MMDetection prekaša vse druge baze kod v smislu učinkovitosti in zmogljivosti.
Ena izmed najlepših stvari pri MMdetection je, da lahko zdaj preprosto pokažete na drugo konfiguracijsko datoteko, prenesete drugo kontrolno točko in zaženete isto kodo, če želite spremeniti modele.
Svetujem ogled njihovih Navodila če naletite na težave pri kateri od stopenj ali želite nekatere izmed njih izvesti drugače.
Pustite Odgovori