Sisällysluettelo[Piilottaa][Näytä]
Objektin tunnistus on eräänlainen kuvien luokittelu, jossa hermoverkko ennakoi kuvan kohteet ja piirtää niiden ympärille rajauslaatikoita. Esiasetettuja luokkia noudattavien asioiden havaitsemista ja lokalisointia kuvassa kutsutaan objektien havaitsemiseksi.
Objektin tunnistus (tunnetaan myös nimellä objektintunnistus) on erityisen merkittävä Computer Visionin aliverkkoalue, koska tunnistus-, tunnistus- ja lokalisoinnin kaltaiset tehtävät löytävät laajan sovelluksen reaalimaailmassa.
YOLO-lähestymistapa voi auttaa sinua näiden tehtävien suorittamisessa. Tässä esseessä tarkastelemme YOLOa lähemmin, mukaan lukien mitä se on, miten se toimii, erilaisia muunnelmia ja paljon muuta.
Joten mikä on YOLO?
YOLO on menetelmä kohteen reaaliaikaiseen tunnistamiseen ja tunnistamiseen valokuvissa. Se on lyhenne sanoista You Only Look Once. Redmond et ai. ehdotti lähestymistapaa asiakirjassa, joka julkaistiin alun perin vuonna 2015 IEEE/CVF-konferenssissa Computer Vision and Pattern Recognition (CVPR).
Lehdelle myönnettiin OpenCV People's Choice Award -palkinto. Toisin kuin aikaisemmissa objektien tunnistusmenetelmissä, joissa luokittelijat käytettiin uudelleen havaitsemaan, YOLO ehdottaa päästä päähän -menetelmän käyttöä. neuroverkkomallien joka ennustaa rajaavat laatikot ja luokkatodennäköisyydet samanaikaisesti.
YOLO tuottaa huippuluokan tuloksia ottamalla täysin uudenlaisen lähestymistavan objektien tunnistukseen, joka on helposti parempi kuin aikaisemmat reaaliaikaiset objektintunnistusmenetelmät.
YOLO toimii
YOLO-menetelmä jakaa kuvan N:ksi ruudukoksi, joissa jokaisessa on samankokoinen SxS-ulotteinen sektori. Jokainen näistä N ruudukosta on vastuussa sisältämän kohteen havaitsemisesta ja paikantamisesta.
Nämä ruudukot puolestaan ennustavat B-rajoituslaatikon koordinaatteja suhteessa solun koordinaatteihin sekä kohteen nimen ja todennäköisyyden, että objekti on läsnä solussa. Koska monet solut ennustavat saman kohteen vaihtelevilla rajauslaatikoiden ennusteilla, tämä tekniikka vähentää huomattavasti laskentaa, koska kuvasta tulevat solut käsittelevät sekä ilmaisun että tunnistuksen.
Se tuottaa kuitenkin paljon päällekkäisiä ennusteita. Tämän ongelman ratkaisemiseksi YOLO käyttää ei-maksimaalista vaimennusta. YOLO vaimentaa kaikki rajaavat laatikot pienemmillä todennäköisyyspisteillä ei-maksimaalisessa vaimennustilassa.
YOLO tekee tämän tutkimalla kuhunkin vaihtoehtoon liittyviä todennäköisyyspisteitä ja valitsemalla korkeimman pistemäärän saaneen vaihtoehdon. Rajoituslaatikot, joilla on suurin risteys Unionin yli nykyisen suuren todennäköisyyden rajauslaatikon kanssa, poistetaan sitten.
Tätä prosessia jatketaan, kunnes rajoitusruudut ovat valmiit.
YOLOn eri muunnelmia
Tarkastellaan joitain yleisimmistä YOLO-versioista. Aloitetaan.
1. YOLOv1
Ensimmäinen YOLO-versio julkistettiin vuonna 2015 julkaisussa "Katsot vain kerran: yhtenäinen, reaaliaikainen objektien tunnistusJoseph Redmon, Santosh Divvala, Ross Girshick ja Ali Farhadi.
Nopeutensa, tarkkuutensa ja oppimiskykynsä ansiosta YOLO hallitsi nopeasti objektien tunnistamisen aluetta ja siitä tuli laajimmin käytetty algoritmi. Sen sijaan, että käsittelivät objektien havaitsemista luokitusongelmana, kirjoittajat käsittelivät sitä regressioongelmana maantieteellisesti erotetuilla rajauslaatikoilla ja niihin liittyvillä luokkatodennäköisyyksillä, jotka he ratkaisivat yhdellä neuroverkkomallien.
YOLOv1 käsitteli valokuvia 45 ruudulla sekunnissa reaaliajassa, kun taas pienempi variantti, Fast YOLO, käsitteli 155 kuvaa sekunnissa ja sai silti kaksinkertaisen mAP:n muihin reaaliaikaisiin ilmaisimiin verrattuna.
2. YOLOv2
Vuotta myöhemmin, vuonna 2016, Joseph Redmon ja Ali Farhadi julkaisivat YOLOv2:n (tunnetaan myös nimellä YOLO9000) lehdessä.YOLO9000: Parempi, nopeampi, vahvempi"
Mallin kyky ennustaa jopa 9000 9000 erilaista tuoteluokkaa samalla kun se oli käynnissä reaaliajassa, sai sille merkinnän 19 XNUMX. Sen lisäksi, että uutta malliversiota koulutettiin samanaikaisesti esineiden havaitsemis- ja luokittelutietosarjoihin, se sai myös Darknet-XNUMX:n uudeksi perusviivaksi. malli.
Koska YOLOv2 oli myös suuri menestys ja siitä tuli nopeasti seuraava huippuluokan objektintunnistusmalli, muut insinöörit alkoivat kokeilla algoritmia ja tuottaa omia, ainutlaatuisia YOLO-versioitaan. Joitakin niistä käsitellään lehden eri kohdissa.
3. YOLOv3
Lehdessä "YOLOv3: asteittainen parannus”, Joseph Redmon ja Ali Farhadi julkaisivat algoritmista uuden version vuonna 2018. Se rakennettiin Darknet-53-arkkitehtuurille. Riippumattomat logistiset luokittelijat korvasivat softmax-aktivointimekanismin YOLOv3:ssa.
Harjoittelun aikana käytettiin binaarista ristientropiahäviötä. Darknet-19 parannettiin ja nimettiin uudelleen Darknet-53, jossa on nyt 53 konvoluutiotasoa. Sen lisäksi ennusteet tehtiin kolmella eri asteikolla, mikä auttoi YOLOv3:a parantamaan tarkkuuttaan pienten asioiden ennustamisessa.
YOLOv3 oli Joseph Redmonin viimeinen YOLO-versio, koska hän päätti olla tekemättä muita YOLO-parannuksia (tai edes tietokonenäön alueella), jotta hänen työllään ei olisi haitallista vaikutusta maailmaan. Sitä käytetään nykyään enimmäkseen lähtökohtana ainutlaatuisten objektientunnistusarkkitehtuurien rakentamiseen.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang ja Hong-Yuan Mark Liao julkaisivat "YOLOv4: Kohteen tunnistuksen optimaalinen nopeus ja tarkkuus” huhtikuussa 2020, joka oli YOLO-algoritmin neljäs iteraatio.
Painotetut jäännösyhteydet, Cross-Stage-Partial Connections, cross-mini-batch normalisointi, itsevastuuharjoittelu, mish-aktivointi, drop block ja CIoU-häviö otettiin kaikki käyttöön osana SPDarknet53-arkkitehtuuria.
YOLOv4 on YOLO-perheen jälkeläinen, mutta sen ovat kehittäneet erilliset tutkijat (ei Joseph Redmon ja Ali Farhadi). SPDarknet53-runko, spatiaalinen pyramidin yhdistäminen, PANet-polun yhdistäminen kaulana ja YOLOv3-pää muodostavat sen arkkitehtuurin.
Tämän seurauksena YOLOv3 saavuttaa 4 % korkeamman keskimääräisen tarkkuuden ja 10 % paremman kehyksen sekunnissa -mittarin verrattuna emoyritykseensä YOLOv12:een.
5. YOLOv5
YOLOV5 on avoimen lähdekoodin projekti, joka sisältää joukon esineiden tunnistusmalleja ja algoritmeja, jotka perustuvat COCO-tietoaineistoon valmiiksi koulutettuun YOLO-malliin.
YOLOv5 on kokoelma yhdistelmäskaalattuja objektintunnistusmalleja koulutettu COCO-tietojoukossa, jossa on helppoja ominaisuuksia TTA:ta, mallin kokoonpanoa, hyperparametrien kehitystä ja vientiä ONNX-, CoreML- ja TFLite-muotoihin. Koska YOLOv5 ei toteuta tai kehitä ainutlaatuisia lähestymistapoja, virallista asiakirjaa ei voitu julkaista. Se on yksinkertaisesti YOLOv3:n PyTorch-laajennus.
Ultranytics käytti tätä skenaariota julkistaakseen sponsoroimansa "uuden YOLO"-version. Koska saatavilla on myös viisi esikoulutettua mallia, YOLOv5-kotisivu on melko suoraviivainen ja ammattimaisesti jäsennelty ja kirjoitettu, ja siellä on useita oppitunteja ja ehdotuksia YOLOv5-mallien koulutuksesta ja hyödyntämisestä.
YOLO-rajoitukset
Vaikka YOLO näyttää olevan paras ratkaisutekniikka esineiden havaitseminen ongelmia, sillä on useita haittoja. Koska kukin ruudukko voi tunnistaa vain yhden kohteen, YOLOn on vaikea havaita ja erottaa pieniä asioita ryhmissä esiintyvistä kuvista. YOLOn on vaikea tunnistaa ja paikantaa parveissa olevia pieniä asioita, kuten muurahaisparvi.
Verrattuna huomattavasti hitaampiin objektien tunnistusmenetelmiin, kuten Fast RCNN, YOLO:lle on myös ominaista pienempi tarkkuus.
Aloita YOLOv5:n käyttö
Jos olet kiinnostunut näkemään YOLOv5:n toiminnassa, tutustu virallinen GitHub ja YOLOv5 PyTorchissa.
Yhteenveto
YOLOv5:n alkuperäinen versio on erittäin nopea, tehokas ja helppokäyttöinen. Vaikka YOLOv5 ei lisää mitään uutta malliarkkitehtuuria YOLO-perheeseen, se tarjoaa uuden PyTorch-koulutus- ja käyttöönottokehyksen, joka parantaa objektinilmaisimien huipputekniikkaa.
Lisäksi YOLOv5 on erittäin käyttäjäystävällinen ja tulee "pakkauksesta" valmiina käytettäväksi mittatilaustyönä tehdyissä esineissä.
Jätä vastaus