Sadržaj[Sakrij][Prikaži]
Jedna od najjednostavnijih, ali najintrigantnijih ideja u dubokom učenju je detekcija objekata. Osnovna ideja je da se svaki predmet podijeli u uzastopne klase koje predstavljaju uporedive osobine, a zatim se nacrta okvir oko njega.
Ove razlikovne karakteristike mogu biti jednostavne poput oblika ili boje, što pomaže u našoj sposobnosti da ih kategoriziramo.
Prijave od Object Detection široko se koriste u medicinskim naukama, autonomnoj vožnji, odbrani i vojsci, javnoj upravi i mnogim drugim poljima zahvaljujući značajnim poboljšanjima u kompjuterskom vidu i obradi slike.
Ovdje imamo MMDetection, fantastičan set alata za otkrivanje objekata otvorenog koda izgrađen na Pytorchu. U ovom članku ćemo detaljno ispitati MMDetection, prakticirati ga, razgovarati o njegovim karakteristikama i još mnogo toga.
Šta je MMDetection?
The MMDetection Toolbox je kreiran kao Python kodna baza posebno za probleme koji uključuju identifikaciju objekata i segmentaciju instance.
Koristi se implementacija PyTorch-a, a kreirana je na modularni način. Za prepoznavanje objekata i segmentaciju instanci, širok spektar efikasnih modela je sastavljen u različite metodologije.
Omogućava efikasno zaključivanje i brzu obuku. S druge strane, alatni okvir uključuje težine za preko 200 unaprijed obučenih mreža, što ga čini brzim rješenjem u polju identifikacije objekata.
Sa mogućnošću prilagođavanja trenutnih tehnika ili kreiranja novog detektora koristeći dostupne module, MMDetection funkcionira kao mjerilo.
Ključna karakteristika kutije sa alatima je njeno uključivanje jednostavnih, modularnih delova od normalnog otkrivanje objekta okvir koji se može koristiti za kreiranje jedinstvenih cjevovoda ili jedinstvenih modela.
Mogućnosti benchmarkinga ovog kompleta alata olakšavaju izgradnju novog okvira detektora na vrhu postojećeg okvira i upoređivanje njegovih performansi.
Značajke
- Popularni i moderni okviri za detekciju, kao što su Faster RCNN, Mask RCNN, RetinaNet, itd., direktno su podržani kompletom alata.
- Korištenje 360+ unaprijed obučenih modela za fino podešavanje (ili novu obuku).
- Za dobro poznate skupove podataka o viziji uključujući COCO, Cityscapes, LVIS i PASCAL VOC.
- Na GPU-ima se izvode sve osnovne operacije bbox i maske. Druge kodne baze, kao što su Detectron2, maskrcnn-benchmark i SimpleDet, mogu se trenirati bržim tempom od ove ili uporedo s njom.
- Istraživači razlažu otkrivanje objekta okvir u nekoliko modula, koji se zatim mogu kombinovati kako bi se stvorio jedinstveni sistem za detekciju objekata.
MMDetection Architecture
MMDetection specificira generički dizajn koji se može primijeniti na bilo koji model budući da je to kutija s alatima sa nizom unaprijed izgrađenih modela, od kojih svaki ima svoju arhitekturu. Sljedeće komponente čine ovu cjelokupnu arhitekturu:
- kičma: Backbone, kao što je ResNet-50 bez konačnog potpuno povezanog sloja, je komponenta koja pretvara sliku u mape karakteristika.
- vrat: Vrat je segment koji povezuje kičmu sa glavom. Na sirovim mapama karakteristika okosnice vrši određena prilagođavanja ili rekonfiguracije. Karakteristika Pyramid Network je jedna ilustracija (FPN).
- DenseHead (AnchorHead/AnchorFreeHead): To je komponenta koja radi na gustim područjima mapa karakteristika, kao što su AnchorHead i AnchorFreeHead, kao što su RPNHead, RetinaHead i FCOSHead.
- RoIExtractor: Uz korištenje operatora sličnih RoIPoolingu, to je odjeljak koji izvlači RoIwise karakteristike iz jedne ili kolekcije mapa karakteristika. Uzorak SingleRoIExtractor izdvaja RoI karakteristike iz odgovarajućeg nivoa piramida karakteristika.
- RoIHead (BBoxHead/MaskHead): To je dio sistema koji koristi karakteristike RoI kao ulaz i generiše predviđanja specifičnih zadataka zasnovana na RoI, kao što je klasifikacija/regresija graničnog okvira i predviđanje maske.
Konstrukcija jednostepenih i dvostepenih detektora ilustrovana je korišćenjem prethodno navedenih koncepata. Možemo razviti vlastite procedure jednostavno konstruirajući nekoliko svježih dijelova i kombinirajući neke od postojećih.
Lista modela uključenih u MMDetection
MMDetection pruža vrhunske baze koda za nekoliko dobro poznatih modela i modula orijentiranih na zadatke. U nastavku su navedeni modeli koji su prethodno napravljeni i prilagodljive metode koje se mogu koristiti sa MMDetection alatom. Lista raste kako se dodaje sve više modela i metoda.
- Brzi R-CNN
- Brži R-CNN
- Maska R-CNN
- RetinaNet
- DCN
- DCNv2
- Kaskadni R-CNN
- M2Det
- GHM
- ScratchDet
- Dvoglavi R-CNN
- Mreža R-CNN
- FSAF
- Vaga R-CNN
- GCNet
- HRNet
- Mask Scoring R-CNN
- FCOS
- SSD
- R-FCN
- Mešovita precizna obuka
- Standardizacija težine
- Hibridna kaskada zadataka
- Vodeno sidrenje
- Generalizovana pažnja
Izgradnja modela detekcije objekata koristeći MMDetection
U ovom vodiču mi ćemo biti Google bilježnica za saradnju jer je jednostavna za postavljanje i korištenje.
instalacija
Da bismo instalirali sve što nam je potrebno, prvo ćemo instalirati potrebne biblioteke i klonirati MMdetection GitHub projekat.
Uvoz env
Okruženje za naš projekat će sada biti uvezeno iz spremišta.
Uvoz biblioteka i MMdetection
Sada ćemo uvesti potrebne biblioteke, zajedno sa MMdetection naravno.
Preuzmite unaprijed obučene kontrolne tačke
Unaprijed obučene kontrolne točke modela iz MMdetection sada treba preuzeti radi daljnjeg prilagođavanja i zaključivanja.
Model zgrade
Sada ćemo konstruisati model i primeniti kontrolne tačke na skup podataka.
Zaključite detektor
Sada kada je model pravilno konstruisan i napunjen, hajde da proverimo koliko je odličan. Koristimo MMDetection-ov detektor za zaključivanje API visokog nivoa. Ovaj API je dizajniran da olakša proces zaključivanja.
rezultat
Hajde da pogledamo rezultate.
zaključak
U zaključku, MMDetection alatni okvir nadmašuje nedavno objavljene baze kodova kao što su SimpleDet, Detectron i Maskrcnn-benchmark. Sa velikom kolekcijom modela,
MMDetection je sada najsavremenija tehnologija. MMDetection nadmašuje sve ostale baze koda u smislu efikasnosti i performansi.
Jedna od najljepših stvari kod MMdetection-a je da sada možete jednostavno pokazati na drugu konfiguracijsku datoteku, preuzeti drugu kontrolnu tačku i pokrenuti isti kod ako želite promijeniti modele.
Savjetujem da ih pogledate instrukcije ako naiđete na probleme s bilo kojom od faza ili želite neke od njih provesti drugačije.
Ostavite odgovor