Objektide tuvastamine on kujutise kategoriseerimise tüüp, mille puhul närvivõrk näeb pildil olevaid üksusi ette ja tõmbab nende ümber piirdekastid. Asjade tuvastamist ja lokaliseerimist pildil, mis vastab eelseadistatud klasside komplektile, nimetatakse objekti tuvastamiseks.
Objektide tuvastamine (tuntud ka kui objektituvastus) on Computer Visioni eriti oluline alamdomeen, kuna sellised ülesanded nagu tuvastamine, tuvastamine ja lokaliseerimine leiavad laialdast rakendust reaalses kontekstis.
YOLO lähenemine aitab teil neid ülesandeid täita. Selles essees vaatleme YOLO-t lähemalt, sealhulgas seda, mis see on, kuidas see töötab, erinevad variatsioonid ja palju muud.
Niisiis, mis on YOLO?
YOLO on meetod objektide reaalajas tuvastamiseks ja tuvastamiseks fotodel. See on akronüüm sõnast You Only Look Once. Redmond et al. pakkus seda lähenemisviisi välja artiklis, mis avaldati algselt 2015. aastal IEEE/CVF arvutinägemise ja mustrite tuvastamise (CVPR) konverentsil.
Lehele anti OpenCV People's Choice Award. Erinevalt varasematest objektide tuvastamise meetoditest, mis määrasid klassifikaatorid tuvastamiseks ümber, teeb YOLO ettepaneku kasutada otsast lõpuni Närvivõrgus mis ennustab üheaegselt piiravaid kaste ja klasside tõenäosusi.
YOLO annab tipptasemel tulemusi, kasutades objekti tuvastamisel põhimõtteliselt uut lähenemist, ületades hõlpsalt varasemaid reaalajas objektituvastusmeetodeid.
YOLO töötab
YOLO meetod jagab pildi N ruudustikuks, millest igaühel on võrdse suurusega SxS mõõtmetega sektor. Kõik need N ruudustikud vastutavad selles sisalduva objekti tuvastamise ja asukoha määramise eest.
Need ruudud omakorda prognoosivad B piirdekasti koordinaate lahtri koordinaatide suhtes, samuti üksuse nime ja objekti lahtris esinemise tõenäosust. Kuna paljud lahtrid ennustavad sama elementi erinevate piirdekasti ennustustega, vähendab see meetod märkimisväärselt arvutusi, kuna nii tuvastamist kui ka tuvastamist käsitlevad pildi rakud.
Siiski toodab see palju topeltprognoose. Selle probleemi lahendamiseks kasutab YOLO mittemaksimaalset summutamist. YOLO summutab mittemaksimaalses summutuses kõik väiksema tõenäosusega skooriga piirdekastid.
YOLO teeb seda, uurides iga valikuga seotud tõenäosusskoore ja valides selle, millel on kõrgeim tulemus. Piirdekastid, millel on suurim ristmik liidu kohal praeguse suure tõenäosusega piirdekastiga, suletakse.
Seda protsessi jätkatakse, kuni piirdekastid on valmis.
YOLO erinevad variatsioonid
Vaatame mõningaid levinumaid YOLO versioone. Alustame.
1. YOLOv1
Esialgne YOLO versioon kuulutati välja 2015. aastal väljaandes “Vaatad vaid korra: ühtne, reaalajas objektituvastus” autorid Joseph Redmon, Santosh Divvala, Ross Girshick ja Ali Farhadi.
Tänu oma kiirusele, täpsusele ja õppimisvõimele domineeris YOLO kiiresti objektide tuvastamise valdkonnas ja sai kõige laialdasemalt kasutatavaks algoritmiks. Selle asemel, et käsitleda objektide tuvastamist klassifitseerimisprobleemina, käsitlesid autorid seda kui regressiooniprobleemi geograafiliselt eraldatud piirdekastide ja nendega seotud klassitõenäosustega, mille nad lahendasid üheainsa Närvivõrgus.
YOLOv1 töötles fotosid reaalajas kiirusega 45 kaadrit sekundis, samas kui väiksem variant Fast YOLO töödeldi kiirusega 155 kaadrit sekundis ja sai siiski topelt suurema MAP-i kui teised reaalajas detektorid.
2. YOLOv2
Aasta hiljem, 2016. aastal, avaldasid Joseph Redmon ja Ali Farhadi ajakirjas YOLOv2 (tuntud ka kui YOLO9000).YOLO9000: parem, kiirem, tugevam. "
Mudeli suutlikkus prognoosida isegi 9000 erinevat üksusekategooriat, töötades samal ajal reaalajas, andis sellele tähise 9000. Uut mudeliversiooni mitte ainult ei õpetatud samaaegselt objektide tuvastamise ja klassifitseerimise andmekogumite osas, vaid see sai uueks baasjooneks ka Darknet-19. mudel.
Kuna YOLOv2 oli samuti suur edu ja sellest sai kiiresti järgmine tipptasemel objektituvastusmudel, hakkasid teised insenerid algoritmiga katsetama ja tootma oma ainulaadseid YOLO versioone. Mõnda neist käsitletakse paberi erinevates punktides.
3. YOLOv3
Lehes "YOLOv3: järkjärguline täiustus,” avaldasid Joseph Redmon ja Ali Farhadi 2018. aastal algoritmi uue versiooni. See oli üles ehitatud Darknet-53 arhitektuurile. Sõltumatud logistilised klassifikaatorid asendasid YOLOv3-s softmaxi aktiveerimismehhanismi.
Treeningu ajal kasutati binaarset ristentroopia kadu. Darknet-19 täiustati ja nimetati ümber Darknet-53-ks, millel on nüüd 53 konvolutsioonikihti. Peale selle tehti ennustusi kolmel erineval skaalal, mis aitas YOLOv3-l suurendada oma täpsust väikeste asjade ennustamisel.
YOLOv3 oli Joseph Redmoni viimane YOLO versioon, kuna ta otsustas mitte töötada edasiste YOLO täiustuste kallal (või isegi arvutinägemise valdkonnas), et vältida oma töö kahjulikku mõju maailmale. Nüüd kasutatakse seda enamasti unikaalsete objektituvastusarhitektuuride loomise lähtepunktina.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang ja Hong-Yuan Mark Liao avaldasid "YOLOv4: objektide tuvastamise optimaalne kiirus ja täpsus” 2020. aasta aprillis, mis oli YOLO algoritmi neljas iteratsioon.
Kaalutud jääkühendused, astmetevahelised osalised ühendused, ristminipartiide normaliseerimine, vastandlik koolitus, segamise aktiveerimine, kukkumisplokk ja CIoU kadu võeti kõik SPDarknet53 arhitektuuri osana kasutusele.
YOLOv4 on YOLO perekonna järeltulija, kuid selle töötasid välja eraldi teadlased (mitte Joseph Redmon ja Ali Farhadi). SPDarknet53 selgroog, ruumilise püramiidi ühendamine, PANeti tee koondamine kaelana ja YOLOv3 pea moodustavad selle arhitektuuri.
Selle tulemusel saavutab YOLOv3 võrreldes oma emaettevõttega YOLOv4 10% kõrgema keskmise täpsusega ja 12% parema kaadrite arvu sekundis mõõdiku.
5. YOLOv5
YOLOv5 on avatud lähtekoodiga projekt, mis sisaldab mitmeid objektide tuvastamise mudeleid ja algoritme, mis põhinevad YOLO mudelil, mis on eelnevalt koolitatud COCO andmestiku põhjal.
YOLOv5 on ühendite mõõtkavas objektituvastusmudelite kogum koolitatud COCO andmestiku alal, millel on lihtsad võimalused TTA-ks, mudelite kokkupanekuks, hüperparameetrite arendamiseks ja ONNX-i, CoreML-i ja TFLite'i eksportimiseks. Kuna YOLOv5 ei rakenda ega arenda ühtegi ainulaadset lähenemisviisi, ei saanud ametlikku dokumenti välja anda. See on lihtsalt YOLOv3 PyTorchi laiendus.
Ultranytics kasutas seda stsenaariumi oma sponsorluse all oleva "uue YOLO" versiooni avalikustamiseks. Kuna saadaval on ka viis eelkoolitatud mudelit, on YOLOv5 koduleht üsna sirgjooneline ning professionaalselt üles ehitatud ja kirjutatud ning sisaldab mitmeid õppetunde ja soovitusi YOLOv5 mudelite treenimise ja kasutamise kohta.
YOLO piirangud
Kuigi YOLO näib olevat parim lahendustehnika objektide tuvastamine probleeme, on sellel mitmeid puudusi. Kuna iga ruudustik suudab tuvastada ainult ühe üksuse, on YOLO-l raskusi rühmadena esinevate piltide pisiasjade tuvastamisel ja eraldamisel. Sülemis olevaid väikseid asju, näiteks sipelgaparve, on YOLO-l raske tuvastada ja leida.
Võrreldes oluliselt aeglasemate objektituvastusmeetoditega, nagu Fast RCNN, iseloomustab YOLO-d samuti väiksem täpsus.
Alustage YOLOv5 kasutamist
Kui soovite näha YOLOv5 töös, vaadake ametlik GitHub ja YOLOv5 PyTorchis.
Järeldus
YOLOv5 esialgne versioon on äärmiselt kiire, tõhus ja lihtsalt kasutatav. Kuigi YOLOv5 ei lisa YOLO perekonda uut mudeliarhitektuuri, pakub see uut PyTorchi koolitus- ja juurutusraamistikku, mis täiustab objektidetektorite tehnika taset.
Lisaks on YOLOv5 äärmiselt kasutajasõbralik ja see on "karbist välja" valmis kasutamiseks eritellimusel valmistatud objektidel.
Jäta vastus