Zaznavanje predmetov je vrsta kategorizacije slike, pri kateri nevronska mreža predvideva elemente na sliki in okoli njih nariše omejevalne okvire. Zaznavanje in lokaliziranje stvari na sliki, ki je v skladu z vnaprej nastavljenim nizom razredov, se imenuje zaznavanje objektov.
Zaznavanje predmetov (znano tudi kot prepoznavanje objektov) je še posebej pomembna poddomena računalniškega vida, ker naloge, kot so zaznavanje, identifikacija in lokalizacija, najdejo široko uporabo v kontekstih resničnega sveta.
Pristop YOLO vam lahko pomaga pri teh nalogah. V tem eseju si bomo podrobneje ogledali YOLO, vključno s tem, kaj je, kako deluje, različne različice in drugo.
Torej, kaj je YOLO?
YOLO je metoda za identifikacijo in prepoznavanje objektov na fotografijah v realnem času. To je akronim za You Only Look Once. Redmond et al. predlagal pristop v dokumentu, ki je bil prvotno objavljen leta 2015 na konferenci IEEE/CVF o računalniškem vidu in prepoznavanju vzorcev (CVPR).
Časopis je prejel nagrado OpenCV People's Choice Award. Za razliko od prejšnjih metod za identifikacijo objektov, ki so klasifikatorje preoblikovali v zaznavanje, YOLO predlaga uporabo metode od konca do konca nevronska mreža ki hkrati napoveduje omejevalne okvire in verjetnosti razreda.
YOLO ustvarja najsodobnejše rezultate s popolnoma novim pristopom k prepoznavanju predmetov, ki zlahka prekaša prejšnje metode zaznavanja predmetov v realnem času.
YOLO deluje
Metoda YOLO razdeli sliko na N mrež, od katerih ima vsaka enako velik dimenzionalni sektor SxS. Vsaka od teh N mrež je zadolžena za odkrivanje in lociranje predmeta, ki ga vsebuje.
Te mreže nato napovedujejo koordinate omejevalnega polja B glede na koordinate celice, pa tudi ime predmeta in verjetnost, da je predmet prisoten v celici. Zaradi številnih celic, ki predvidevajo isti predmet z različnimi napovedmi omejevalnega polja, ta tehnika znatno zmanjša izračune, saj tako zaznavanje kot prepoznavanje obravnavajo celice iz slike.
Vendar ustvarja veliko podvojenih napovedi. Za reševanje tega problema YOLO uporablja ne-maksimalno zatiranje. YOLO zatre vse omejevalne okvirje z nižjimi ocenami verjetnosti v Non-Maximal Suppression.
YOLO to naredi tako, da preuči ocene verjetnosti, povezane z vsako možnostjo, in izbere tisto z najvišjo oceno. Omejitveni okvirji z največjim presekom nad zvezo s trenutno visoko verjetnostjo mejnega okvirja so nato izločeni.
Ta postopek se nadaljuje, dokler niso končana omejevalna polja.
Različne različice YOLO
Ogledali si bomo nekaj najpogostejših različic YOLO. Začnimo.
1. YOLOv1
Začetna različica YOLO je bila objavljena leta 2015 v publikaciji "Pogledate samo enkrat: poenoteno zaznavanje predmetov v realnem času” avtorjev Josepha Redmona, Santosha Divvale, Rossa Girshicka in Alija Farhadija.
Zaradi svoje hitrosti, natančnosti in sposobnosti učenja je YOLO hitro prevladal na področju identifikacije objektov in postal najbolj razširjen algoritem. Namesto da bi zaznavanje objektov obravnavali kot vprašanje klasifikacije, so se ga avtorji lotili kot regresijskega problema z geografsko ločenimi mejnimi okvirji in pripadajočimi razrednimi verjetnostmi, ki so jih rešili z uporabo enega samega nevronska mreža.
YOLOv1 je obdeloval fotografije s 45 sličicami na sekundo v realnem času, medtem ko je manjša različica, Fast YOLO, obdelala s 155 sličicami na sekundo in še vedno dosegla dvojno mAP kot drugi detektorji v realnem času.
2. YOLOv2
Leto pozneje, leta 2016, sta Joseph Redmon in Ali Farhadi izdala YOLOv2 (znan tudi kot YOLO9000) v časopisu “YOLO9000: boljši, hitrejši, močnejši«.
Zmogljivost modela, da predvidi celo 9000 različnih kategorij predmetov, medtem ko še vedno deluje v realnem času, mu je prislužila oznako 9000. Ne samo, da je bila nova različica modela hkrati usposobljena za nabore podatkov za odkrivanje objektov in klasifikacijo, ampak je dobila tudi Darknet-19 kot novo izhodišče. model.
Ker je bil tudi YOLOv2 velik uspeh in je hitro postal naslednji najsodobnejši model za prepoznavanje predmetov, so drugi inženirji začeli eksperimentirati z algoritmom in izdelati svoje, edinstvene različice YOLO. O nekaterih od njih bomo razpravljali na različnih točkah prispevka.
3. YOLOv3
V časopisu "YOLOv3: Postopna izboljšava,« sta leta 2018 Joseph Redmon in Ali Farhadi objavila novo različico algoritma. Zgrajen je bil na arhitekturi Darknet-53. Neodvisni logistični klasifikatorji so nadomestili aktivacijski mehanizem softmax v YOLOv3.
Med usposabljanjem je bila uporabljena binarna navzkrižna entropijska izguba. Darknet-19 je bil izboljšan in preimenovan v Darknet-53, ki ima zdaj 53 konvolucijskih plasti. Poleg tega so bile napovedi narejene na treh različnih lestvicah, kar je pomagalo YOLOv3 povečati svojo natančnost pri napovedovanju drobnih stvari.
YOLOv3 je bila zadnja različica YOLO Josepha Redmona, saj se je odločil, da ne bo delal na nobenih nadaljnjih izboljšavah YOLO (ali celo na področju računalniškega vida), da bi preprečil, da bi njegovo delo imelo škodljiv vpliv na svet. Zdaj se večinoma uporablja kot izhodišče za gradnjo edinstvenih arhitektur za zaznavanje objektov.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang in Hong-Yuan Mark Liao so objavili "YOLOv4: Optimalna hitrost in natančnost zaznavanja predmetov” aprila 2020, kar je bila četrta ponovitev algoritma YOLO.
Ponderirane preostale povezave, medstopenjske delne povezave, navzkrižna normalizacija mini paketov, samokonkurzivno usposabljanje, aktivacija misha, spustni blok in izguba CIoU so bili predstavljeni kot del arhitekture SPDarknet53.
YOLOv4 je potomec družine YOLO, vendar so ga razvili ločeni znanstveniki (ne Joseph Redmon in Ali Farhadi). Njegovo arhitekturo sestavljajo hrbtenica SPDarknet53, združevanje prostorske piramide, združevanje poti PANet kot vrat in glava YOLOv3.
Posledično YOLOv3 v primerjavi s svojim staršem YOLOv4 dosega 10 % višjo povprečno natančnost in 12 % boljšo meritev sličic na sekundo.
5. YOLOv5
YOLOv5 je odprtokodni projekt, ki vključuje vrsto modelov za identifikacijo objektov in algoritmov, ki temeljijo na modelu YOLO, ki je bil predhodno usposobljen na naboru podatkov COCO.
YOLOv5 je zbirka modelov identifikacije objektov v sestavljenem merilu usposobljeni za nabor podatkov COCO z enostavnimi zmogljivostmi za TTA, sestavljanje modela, razvoj hiperparametrov in izvoz v ONNX, CoreML in TFLite. Ker YOLOv5 ne izvaja ali razvija nobenih edinstvenih pristopov, uradnega dokumenta ni bilo mogoče objaviti. To je preprosto razširitev PyTorch podjetja YOLOv3.
Ultranytics je uporabil ta scenarij za objavo »nove YOLO« različice pod svojim sponzorstvom. Ker je na voljo tudi pet vnaprej usposobljenih modelov, je domača stran YOLOv5 precej preprosta in profesionalno strukturirana ter napisana, s številnimi lekcijami in predlogi o usposabljanju in uporabi modelov YOLOv5.
Omejitve YOLO
Čeprav se zdi, da je YOLO najboljša tehnika za reševanje odkrivanje predmetov težave, ima številne pomanjkljivosti. Ker lahko vsaka mreža identificira le en element, ima YOLO težave pri odkrivanju in ločevanju drobnih stvari na slikah, ki se pojavljajo v skupinah. Majhne stvari v rojih, kot je roj mravelj, YOLO težko prepozna in locira.
V primerjavi z znatno počasnejšimi metodami identifikacije objektov, kot je Fast RCNN, je za YOLO značilna tudi manjša natančnost.
Začnite uporabljati YOLOv5
Če vas zanima YOLOv5 v akciji, si oglejte uradni GitHub in YOLOv5 v PyTorchu.
zaključek
Začetna različica YOLOv5 je izjemno hitra, zmogljiva in enostavna za uporabo. Čeprav YOLOv5 družini YOLO ne dodaja nobene nove arhitekture modela, zagotavlja nov okvir za usposabljanje in uvajanje PyTorch, ki izboljšuje najsodobnejše detektorje predmetov.
Poleg tega je YOLOv5 izjemno uporabniku prijazen in je pripravljen za uporabo na predmetih po meri.
Pustite Odgovori