Detekcija objekata je vrsta kategorizacije slike u kojoj neuronska mreža predviđa stavke na slici i crta granične okvire oko njih. Otkrivanje i lokaliziranje stvari na slici koja je u skladu s unaprijed postavljenim skupom klasa naziva se detekcija objekata.
Otkrivanje objekata (također poznato kao prepoznavanje objekata) posebno je značajna poddomena računalnog vida jer zadaci poput otkrivanja, identifikacije i lokalizacije nalaze široku primjenu u stvarnom svijetu.
YOLO pristup vam može pomoći u obavljanju ovih zadataka. U ovom eseju pobliže ćemo pogledati YOLO, uključujući što je, kako radi, različite varijacije i još mnogo toga.
Dakle, što je YOLO?
YOLO je metoda za identifikaciju i prepoznavanje objekata u stvarnom vremenu na fotografijama. To je akronim za You Only Look Once. Redmond i sur. predložio je pristup u radu koji je prvotno objavljen 2015. na IEEE/CVF konferenciji o računalnom vidu i prepoznavanju uzoraka (CVPR).
Listu je dodijeljena nagrada OpenCV People's Choice. Za razliku od prethodnih metoda identifikacije objekata, koje su prenamijenile klasifikatore za otkrivanje, YOLO predlaže korištenje end-to-end neuronska mreža koji istovremeno predviđa granične okvire i vjerojatnosti klasa.
YOLO proizvodi vrhunske rezultate primjenom temeljno novog pristupa prepoznavanju objekata, lako nadmašujući prethodne metode detekcije objekata u stvarnom vremenu.
YOLO radi
YOLO metoda dijeli sliku na N mreža, svaka sa SxS dimenzijskim sektorom jednake veličine. Svaka od ovih N mreža zadužena je za otkrivanje i lociranje objekta koji sadrži.
Ove mreže, zauzvrat, predviđaju koordinate graničnog okvira B u odnosu na koordinate ćelije, kao i naziv stavke i vjerojatnost da je objekt prisutan u ćeliji. Zbog mnogih ćelija koje predviđaju istu stavku s različitim predviđanjima graničnih okvira, ova tehnika značajno smanjuje izračunavanje jer i detekcijom i prepoznavanjem rukuju ćelije sa slike.
Međutim, proizvodi puno duplikata predviđanja. Kako bi riješio ovaj problem, YOLO koristi ne-maksimalno potiskivanje. YOLO potiskuje sve granične okvire s nižim ocjenama vjerojatnosti u nemaksimalnom potiskivanju.
YOLO to čini ispitivanjem bodova vjerojatnosti povezanih sa svakom opcijom i odabirom one s najvećim rezultatom. Granični okviri s najvećim raskrižjem preko Unije s trenutnim graničnim okvirom velike vjerojatnosti se tada potiskuju.
Ovaj proces se nastavlja sve dok se granični okviri ne dovrše.
Različite varijacije YOLO-a
Pogledat ćemo neke od najčešćih YOLO verzija. Započnimo.
1. YOLOv1
Početna verzija YOLO objavljena je 2015. godine u publikaciji “Gledate samo jednom: objedinjeno otkrivanje objekata u stvarnom vremenu” Josepha Redmona, Santosha Divvale, Rossa Girshicka i Alija Farhadija.
Zbog svoje brzine, točnosti i sposobnosti učenja, YOLO je brzo dominirao područjem identifikacije objekata i postao najrašireniji algoritam. Umjesto da otkrivaju objekte kao problem klasifikacije, autori su mu pristupili kao problemu regresije s geografski odvojenim graničnim okvirima i pridruženim vjerojatnostima klasa, koji su riješili pomoću jednog neuronska mreža.
YOLOv1 je obrađivao fotografije brzinom od 45 sličica u sekundi u stvarnom vremenu, dok je manja varijanta, Fast YOLO, obrađivala pri 155 sličica u sekundi i još uvijek dobivala dvostruko veći mAP od ostalih detektora u stvarnom vremenu.
2. YOLOv2
Godinu dana kasnije, 2016., Joseph Redmon i Ali Farhadi objavili su YOLOv2 (također poznat kao YOLO9000) u novinama “YOLO9000: Bolji, brži, jači".
Kapacitet modela da predvidi čak 9000 različitih kategorija stavki dok još uvijek radi u stvarnom vremenu donio mu je oznaku 9000. Ne samo da je nova verzija modela istovremeno obučena za skupove podataka za otkrivanje i klasifikaciju objekata, već je također dobila Darknet-19 kao novu osnovnu liniju model.
Budući da je YOLOv2 također bio veliki uspjeh i brzo je postao sljedeći najsuvremeniji model prepoznavanja objekata, drugi su inženjeri počeli eksperimentirati s algoritmom i proizvoditi vlastite, jedinstvene YOLO verzije. O nekima od njih će se raspravljati na različitim mjestima u radu.
3. YOLOv3
U novinama “YOLOv3: Inkrementalno poboljšanje”, Joseph Redmon i Ali Farhadi objavili su novu verziju algoritma 2018. Izgrađen je na Darknet-53 arhitekturi. Nezavisni logistički klasifikatori zamijenili su softmax aktivacijski mehanizam u YOLOv3.
Binarni gubitak unakrsne entropije korišten je tijekom treninga. Darknet-19 je poboljšan i preimenovan u Darknet-53, koji sada ima 53 konvolucijska sloja. Osim toga, predviđanja su napravljena na tri različite skale, što je pomoglo YOLOv3 da poboljša svoju točnost u predviđanju sićušnih stvari.
YOLOv3 je bila posljednja YOLO verzija Josepha Redmona, budući da je odlučio ne raditi na daljnjim poboljšanjima YOLO-a (pa čak ni u području računalnog vida) kako bi izbjegao da njegov rad ima štetan utjecaj na svijet. Danas se uglavnom koristi kao početna točka za izgradnju jedinstvenih arhitektura za detekciju objekata.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang i Hong-Yuan Mark Liao objavili su “YOLOv4: Optimalna brzina i točnost detekcije objekata” u travnju 2020., što je bila četvrta iteracija YOLO algoritma.
Ponderirane preostale veze, međufazne-djelomične veze, unakrsna normalizacija mini-serije, samo-konkurentni trening, mish aktivacija, pad bloka i gubitak CIoU-a uvedeni su kao dio SPDarknet53 arhitekture.
YOLOv4 je potomak obitelji YOLO, međutim, razvili su ga odvojeni znanstvenici (ne Joseph Redmon i Ali Farhadi). SPDarknet53 kralježnica, prostorno piramidalno udruživanje, PANet path-aggregation kao vrat i YOLOv3 glava čine njegovu arhitekturu.
Kao posljedica toga, u usporedbi sa svojim roditeljem, YOLOv3, YOLOv4 postiže 10% veću prosječnu preciznost i 12% bolje metrike okvira u sekundi.
5. YOLOv5
YOLOv5 je projekt otvorenog koda koji uključuje niz modela i algoritama za identifikaciju objekata temeljenih na YOLO modelu koji je prethodno obučen na COCO skupu podataka.
YOLOv5 je zbirka složenih modela identifikacije objekata obučeni za skup podataka COCO, s jednostavnim mogućnostima za TTA, sastavljanje modela, razvoj hiperparametara i izvoz u ONNX, CoreML i TFLite. Budući da YOLOv5 ne implementira niti razvija nikakve jedinstvene pristupe, službeni dokument nije mogao biti objavljen. To je jednostavno YOLOv3 PyTorch ekstenzija.
Ultranytics je iskoristio ovaj scenarij za objavljivanje “nove YOLO” verzije pod svojim sponzorstvom. Budući da je također dostupno pet unaprijed obučenih modela, početna stranica YOLOv5 prilično je jednostavna i profesionalno strukturirana i napisana, s brojnim lekcijama i prijedlozima o obuci i korištenju YOLOv5 modela.
YOLO ograničenja
Iako se čini da je YOLO najbolja tehnika za rješavanje otkrivanje objekta problema, ima niz nedostataka. Budući da svaka mreža može identificirati samo jednu stavku, YOLO ima poteškoća s otkrivanjem i izdvajanjem sitnih stvari na slikama koje se pojavljuju u skupinama. Male stvari u rojevima, kao što je roj mrava, YOLO teško identificira i locira.
U usporedbi sa znatno sporijim metodama identifikacije objekata kao što je Fast RCNN, YOLO se također odlikuje manjom preciznošću.
Počnite koristiti YOLOv5
Ako ste zainteresirani vidjeti YOLOv5 u akciji, pogledajte službeni GitHub i YOLOv5 u PyTorchu.
Zaključak
Početna verzija YOLOv5 iznimno je brza, učinkovita i jednostavna za korištenje. Iako YOLOv5 ne dodaje nikakvu novu arhitekturu modela u YOLO obitelj, on pruža novi okvir za obuku i implementaciju PyTorcha koji poboljšava stanje tehnike za detektore objekata.
Nadalje, YOLOv5 je iznimno jednostavan za korištenje i dolazi "iz kutije" spreman za korištenje na objektima po narudžbi.
Ostavi odgovor