Objektu noteikšana ir attēla kategorizēšanas veids, kurā neironu tīkls paredz vienumus attēlā un ap tiem zīmē ierobežojošos lodziņus. Lietu noteikšanu un lokalizēšanu attēlā, kas atbilst iepriekš iestatītai klašu kopai, sauc par objektu noteikšanu.
Objektu noteikšana (pazīstama arī kā objektu atpazīšana) ir īpaši nozīmīgs Computer Vision apakšdomēns, jo tādi uzdevumi kā noteikšana, identifikācija un lokalizācija tiek plaši pielietoti reālās pasaules kontekstos.
YOLO pieeja var palīdzēt jums veikt šos uzdevumus. Šajā esejā mēs sīkāk aplūkosim YOLO, tostarp to, kas tas ir, kā tas darbojas, dažādas variācijas un daudz ko citu.
Tātad, kas ir YOLO?
YOLO ir metode objektu identificēšanai un atpazīšanai fotogrāfijās reāllaikā. Tas ir akronīms vārdam You Only Look Once. Redmond et al. ierosināja šo pieeju dokumentā, kas sākotnēji tika publicēts 2015. gadā IEEE/CVF konferencē par datoru redzējumu un modeļu atpazīšanu (CVPR).
Laikrakstam tika piešķirta OpenCV People's Choice balva. Atšķirībā no iepriekšējām objektu identifikācijas metodēm, kurās klasifikatori tika atkārtoti paredzēti noteikšanai, YOLO piedāvā izmantot pilnīgu neironu tīklu kas prognozē ierobežojošos lodziņus un klases varbūtības vienlaicīgi.
YOLO rada vismodernākos rezultātus, izmantojot principiāli jaunu pieeju objektu atpazīšanai, viegli pārspējot iepriekšējās reāllaika objektu noteikšanas metodes.
YOLO strādā
YOLO metode attēlu sadala N režģī, katrs ar vienāda izmēra SxS dimensiju sektoru. Katrs no šiem N režģiem ir atbildīgs par tajā esošā objekta noteikšanu un atrašanu.
Šie režģi savukārt prognozē B ierobežojošā lodziņa koordinātas attiecībā pret šūnas koordinātām, kā arī vienuma nosaukumu un iespējamību, ka objekts atrodas šūnā. Tā kā daudzas šūnas paredz vienu un to pašu vienumu ar dažādām ierobežojošo lodziņu prognozēm, šī metode ievērojami samazina aprēķinu, jo gan noteikšanu, gan atpazīšanu apstrādā attēla šūnas.
Tomēr tas rada daudz dublētu prognožu. Lai risinātu šo problēmu, YOLO izmanto nemaksimālu slāpēšanu. YOLO nomāc visus ierobežojošos lodziņus ar zemākiem varbūtības rādītājiem nemaksimālajā slāpēšanā.
YOLO to dara, pārbaudot ar katru opciju saistītos varbūtības rādītājus un atlasot to ar augstāko punktu skaitu. Ierobežojošās kastes ar lielāko krustojumu virs Savienības ar pašreizējo augstas varbūtības ierobežojošo rūtiņu tiek apspiestas.
Šis process tiek turpināts, līdz ir pabeigtas ierobežojošās kastes.
Dažādas YOLO variācijas
Mēs apskatīsim dažas no visizplatītākajām YOLO versijām. Sāksim.
1. YOLOv1
Sākotnējā YOLO versija tika paziņota 2015. gadā publikācijā “Jūs skatāties tikai vienreiz: vienota, reāllaika objektu noteikšana” autori Džozefs Redmons, Santosh Divvala, Ross Girshick un Ali Farhadi.
Ātruma, precizitātes un mācīšanās spēju dēļ YOLO ātri dominēja objektu identifikācijas jomā un kļuva par visplašāk izmantoto algoritmu. Tā vietā, lai objektu noteikšanu risinātu kā klasifikācijas problēmu, autori to uztvēra kā regresijas problēmu ar ģeogrāfiski atdalītām robežlodzēm un saistītām klases varbūtībām, ko viņi atrisināja, izmantojot vienu neironu tīklu.
YOLOv1 apstrādāja fotoattēlus ar ātrumu 45 kadri sekundē reāllaikā, savukārt mazāks variants Fast YOLO apstrādāja ar 155 kadriem sekundē un joprojām ieguva divreiz lielāku MAP nekā citi reāllaika detektori.
2. YOLOv2
Gadu vēlāk, 2016. gadā, Džozefs Redmons un Ali Farhadi izlaida YOLOv2 (pazīstams arī kā YOLO9000) rakstā “YOLO9000: labāks, ātrāks, spēcīgāks. "
Modeļa spēja prognozēt pat 9000 atšķirīgu vienumu kategoriju, vienlaikus darbojoties reāllaikā, ieguva apzīmējumu 9000. Jaunā modeļa versija ne tikai vienlaikus tika apmācīta objektu noteikšanas un klasifikācijas datu kopās, bet arī Darknet-19 kā jaunā bāzes līnija. modelis.
Tā kā YOLOv2 arī guva lielus panākumus un ātri kļuva par nākamo vismodernāko objektu atpazīšanas modeli, citi inženieri sāka eksperimentēt ar algoritmu un ražot savas unikālās YOLO versijas. Daži no tiem tiks apspriesti dažādos raksta punktos.
3. YOLOv3
Papīrā "YOLOv3: pakāpenisks uzlabojums”, Džozefs Redmons un Ali Farhadi 2018. gadā publicēja jaunu algoritma versiju. Tā tika veidota uz Darknet-53 arhitektūras. Neatkarīgi loģistikas klasifikatori aizstāj softmax aktivizācijas mehānismu YOLOv3.
Apmācības laikā tika izmantots binārais krustentropijas zudums. Darknet-19 tika uzlabots un pārdēvēts par Darknet-53, kuram tagad ir 53 konvolucionālie slāņi. Bez tam, prognozes tika veiktas trīs atšķirīgās skalās, kas palīdzēja YOLOv3 uzlabot tā precizitāti, paredzot sīkas lietas.
YOLOv3 bija Džozefa Redmona pēdējā YOLO versija, jo viņš izvēlējās nestrādāt pie turpmākiem YOLO uzlabojumiem (vai pat datora redzes jomā), lai izvairītos no viņa darba negatīvas ietekmes uz pasauli. Tagad to galvenokārt izmanto kā sākumpunktu unikālu objektu noteikšanas arhitektūru konstruēšanai.
4. Jolovs4
Aleksejs Bočkovskis, Chien-Yao Wang un Hong-Yuan Mark Liao publicēja "YOLOv4: optimāls objektu noteikšanas ātrums un precizitāte” 2020. gada aprīlī, kas bija ceturtā YOLO algoritma iterācija.
Svērtie atlikušie savienojumi, starpposmu-daļējie savienojumi, pārrobežu mini-partiju normalizācija, pašsacensību apmācība, mish aktivizēšana, kritiena bloķēšana un CIoU zudumi tika ieviesti kā daļa no SPDarknet53 arhitektūras.
YOLOv4 ir YOLO ģimenes pēcnācējs, tomēr to izstrādāja atsevišķi zinātnieki (nevis Džozefs Redmons un Ali Farhadi). SPDarknet53 mugurkauls, telpiskās piramīdas apvienošana, PANet ceļu apkopošana kā kakls un YOLOv3 galva veido tā arhitektūru.
Tā rezultātā, salīdzinot ar tā vecāko YOLOv3, YOLOv4 sasniedz par 10% lielāku vidējo precizitāti un par 12% labāku kadru skaitu sekundē.
5. YOLOv5
YOLOv5 ir atvērtā koda projekts, kas ietver virkni objektu identifikācijas modeļu un algoritmu, kuru pamatā ir YOLO modelis, kas ir iepriekš apmācīts, izmantojot COCO datu kopu.
YOLOv5 ir salikta mēroga objektu identifikācijas modeļu kolekcija apmācīts par COCO datu kopu ar vienkāršām iespējām TTA, modeļu montāžai, hiperparametru izstrādei un eksportēšanai uz ONNX, CoreML un TFLite. Tā kā YOLOv5 neievieš un neizstrādā nekādas unikālas pieejas, oficiālo dokumentu nevarēja izdot. Tas ir vienkārši YOLOv3 PyTorch paplašinājums.
Ultranytics izmantoja šo scenāriju, lai ar savu sponsorēšanu publicētu “jauno YOLO” versiju. Tā kā ir pieejami arī pieci iepriekš apmācīti modeļi, YOLOv5 mājas lapa ir diezgan vienkārša, profesionāli strukturēta un uzrakstīta, un tajā ir vairākas nodarbības un ieteikumi par YOLOv5 modeļu apmācību un izmantošanu.
YOLO ierobežojumi
Lai gan šķiet, ka YOLO ir vislabākā risināšanas tehnika objektu noteikšana problēmas, tai ir vairāki trūkumi. Tā kā katrs režģis var identificēt tikai vienu vienumu, YOLO ir grūti noteikt un nodalīt sīkas lietas attēlos, kas parādās grupās. Sīkas lietas baros, piemēram, skudru bars, YOLO ir grūti identificēt un atrast.
Salīdzinot ar ievērojami lēnākām objektu identifikācijas metodēm, piemēram, Fast RCNN, YOLO ir arī raksturīga mazāka precizitāte.
Sāciet lietot YOLOv5
Ja vēlaties redzēt YOLOv5 darbībā, pārbaudiet oficiālais GitHub un YOLOv5 programmā PyTorch.
Secinājumi
YOLOv5 sākotnējā versija ir ļoti ātra, efektīva un vienkārši lietojama. Lai gan YOLOv5 YOLO saimei nepievieno jaunu modeļu arhitektūru, tas nodrošina jaunu PyTorch apmācības un izvietošanas sistēmu, kas uzlabo objektu detektoru jaunākās tehnoloģijas.
Turklāt YOLOv5 ir ārkārtīgi lietotājam draudzīgs un ir gatavs lietošanai uz īpaši pielāgotiem objektiem.
Atstāj atbildi