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.
Detekcija objekata (također poznata kao prepoznavanje objekata) je posebno značajna poddomena kompjuterskog vida jer zadaci kao što su otkrivanje, identifikacija i lokalizacija nalaze široku primenu u kontekstu stvarnog sveta.
YOLO pristup vam može pomoći da obavite ove zadatke. U ovom eseju ćemo detaljnije pogledati YOLO, uključujući šta je to, kako radi, različite varijacije i još mnogo toga.
Dakle, šta je YOLO?
YOLO je metoda za identifikaciju i prepoznavanje objekata u realnom vremenu na fotografijama. To je akronim za You Only Look Once. Redmond et al. predložio je pristup u radu koji je prvobitno objavljen 2015. na IEEE/CVF konferenciji o kompjuterskom vidu i prepoznavanju uzoraka (CVPR).
List je dobio nagradu OpenCV People's Choice. Za razliku od prethodnih metoda identifikacije objekata, koji su prenamijenili klasifikatore za otkrivanje, YOLO predlaže korištenje end-to-end neuronska mreža koji istovremeno predviđa granične kutije i vjerovatnoće klasa.
YOLO proizvodi vrhunske rezultate uzimajući fundamentalno novi pristup prepoznavanju objekata, lako nadmašujući prethodne metode detekcije objekata u realnom vremenu.
YOLO radi
YOLO metoda dijeli sliku na N mreža, svaka sa SxS dimenzionalnim 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 B koordinate graničnog okvira u odnosu na koordinate ćelije, kao i naziv stavke i vjerovatnoću da je objekat prisutan u ćeliji. Zbog mnogih ćelija koje predviđaju istu stavku sa 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 mnogo duplih predviđanja. Da bi riješio ovaj problem, YOLO koristi ne-maksimalno potiskivanje. YOLO potiskuje sve granične okvire sa nižim rezultatima vjerovatnoće u nemaksimalnom potiskivanju.
YOLO to čini tako što ispituje rezultate vjerovatnoće povezane sa svakom opcijom i odabira onu sa najvećim rezultatom. Granični okviri s najvećim raskrižjem preko unije sa trenutnom graničnom kutijom velike vjerovatnoće se tada potiskuju.
Ovaj proces se nastavlja sve dok se granični okviri ne završe.
Različite varijacije YOLO-a
Pogledat ćemo neke od najčešćih YOLO verzija. Hajde da počnemo.
1. YOLOv1
Početna verzija YOLO objavljena je 2015. godine u publikaciji “Gledate samo jednom: objedinjeno otkrivanje objekata u realnom vremenu” od Josepha Redmona, Santosha Divvale, Rossa Girshicka i Alija Farhadija.
Zbog svoje brzine, tačnosti i sposobnosti učenja, YOLO je brzo dominirao u oblasti identifikacije objekata i postao najrašireniji algoritam. Umjesto da se bave otkrivanjem objekata kao problemom klasifikacije, autori su mu pristupili kao regresijskom problemu s geografski odvojenim graničnim okvirima i pripadajućim vjerovatnoćama klasa, koji su riješili koristeći jednu neuronska mreža.
YOLOv1 je obrađivao fotografije brzinom od 45 kadrova u sekundi u realnom vremenu, dok je manja varijanta, Fast YOLO, obrađivala pri 155 sličica u sekundi i još uvijek je dobila dvostruko veći mAP od ostalih detektora u realnom vremenu.
2. YOLOv2
Godinu dana kasnije, 2016., Joseph Redmon i Ali Farhadi objavili su YOLOv2 (također poznat kao YOLO9000) u novinama “YOLO9000: Bolje, brže, jače. "
Kapacitet modela da predvidi čak 9000 različitih kategorija stavki dok još uvijek radi u realnom 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 dobila i Darknet-19 kao novu osnovnu liniju model.
Budući da je YOLOv2 također bio veliki uspjeh i brzo je postao sljedeći najmoderniji model za prepoznavanje objekata, drugi inženjeri su počeli eksperimentirati s algoritmom i proizvoditi vlastite, jedinstvene YOLO verzije. Neki od njih će biti razmotreni na različitim mestima u radu.
3. YOLOv3
U listu “YOLOv3: Inkrementalno poboljšanje”, Joseph Redmon i Ali Farhadi objavili su novu verziju algoritma 2018. godine. Izgrađen je na Darknet-53 arhitekturi. Nezavisni logistički klasifikatori zamijenili su softmax aktivacijski mehanizam u YOLOv3.
Binarni gubitak unakrsne entropije je korišten tokom treninga. Darknet-19 je poboljšan i preimenovan u Darknet-53, koji sada ima 53 konvoluciona sloja. Osim toga, predviđanja su rađena na tri različite skale, što je pomoglo YOLOv3 da poboljša svoju tačnost u predviđanju sićušnih stvari.
YOLOv3 je bila posljednja YOLO verzija Josepha Redmona, budući da je odlučio da ne radi na daljim poboljšanjima YOLO-a (pa čak ni na području kompjuterskog vida) kako bi izbjegao da njegov rad ima štetan utjecaj na svijet. Sada se uglavnom koristi kao polazna tač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 tačnost detekcije objekata” u aprilu 2020., što je bila četvrta iteracija YOLO algoritma.
Ponderisane preostale veze, unakrsne-djelimične veze, unakrsna mini-batch normalizacija, samo-suparnički trening, mish aktivacija, pad blok i gubitak CIoU-a su uvedeni kao dio SPDarknet53 arhitekture.
YOLOv4 je potomak porodice YOLO, međutim, razvili su ga odvojeni naučnici (ne Joseph Redmon i Ali Farhadi). SPDarknet53 kičma, prostorno piramidalno objedinjavanje, PANet path-aggregation kao vrat i YOLOv3 glava čine njegovu arhitekturu.
Kao posljedica toga, u poređenju sa svojim roditeljem, YOLOv3, YOLOv4 postiže 10% veću prosječnu preciznost i 12% bolju metriku okvira u sekundi.
5. YOLOv5
YOLOv5 je projekat otvorenog koda koji uključuje niz modela i algoritama identifikacije objekata zasnovanih na YOLO modelu koji je prethodno obučen na COCO skupu podataka.
YOLOv5 je kolekcija modela identifikacije objekata u složenoj skali obučen na COCO skupu podataka, sa lakim 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, formalni dokument nije mogao biti objavljen. To je jednostavno YOLOv3-ova PyTorch ekstenzija.
Ultranytics je iskoristio ovaj scenario da objavi "novu YOLO" verziju pod svojim sponzorstvom. Budući da je dostupno i pet unaprijed obučenih modela, početna stranica YOLOv5 je prilično jasna i profesionalno strukturirana i napisana, sa 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 u otkrivanju i odvajanju sitnih stvari na slikama koje se pojavljuju u grupama. Male stvari u rojevima, kao što je roj mrava, YOLO je teško identificirati i locirati.
U poređenju 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 da vidite YOLOv5 u akciji, pogledajte zvanični GitHub i YOLOv5 u PyTorchu.
zaključak
Početna verzija YOLOv5 je izuzetno brza, učinkovita i jednostavna za korištenje. Iako YOLOv5 ne dodaje nikakvu novu arhitekturu modela porodici YOLO, on pruža novi okvir za obuku i implementaciju PyTorch-a koji poboljšava stanje tehnike za detektore objekata.
Nadalje, YOLOv5 je izuzetno jednostavan za korištenje i dolazi "iz kutije" spreman za korištenje na objektima po narudžbi.
Ostavite odgovor