Objektdetektion er en type billedkategorisering, hvor et neuralt netværk forudser elementer i et billede og tegner afgrænsningsfelter omkring dem. Detektering og lokalisering af ting i et billede, der er i overensstemmelse med et forudindstillet sæt klasser, kaldes objektdetektion.
Objektgenkendelse (også kendt som objektgenkendelse) er et særligt betydningsfuldt underdomæne af Computer Vision, fordi opgaver som detektion, identifikation og lokalisering finder bred anvendelse i den virkelige verden.
YOLO-tilgangen kan hjælpe dig med at udføre disse opgaver. I dette essay vil vi se nærmere på YOLO, herunder hvad det er, hvordan det virker, forskellige variationer og mere.
Så hvad er YOLO?
YOLO er en metode til real-time objektidentifikation og genkendelse i fotografier. Det er et akronym for You Only Look Once. Redmond et al. foreslog tilgangen i et papir, der oprindeligt blev offentliggjort i 2015 på IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).
OpenCV People's Choice Award blev givet til avisen. I modsætning til tidligere objektidentifikationsmetoder, som omvendte klassifikatorer til at foretage detektion, foreslår YOLO brugen af en ende-til-ende neurale netværk der forudsiger grænsefelter og klassesandsynligheder samtidigt.
YOLO producerer state-of-the-art resultater ved at tage en fundamentalt ny tilgang til objektgenkendelse, der nemt overgår tidligere real-time objektdetektionsmetoder.
YOLO arbejder
YOLO-metoden opdeler billedet i N gitter, hver med en lige stor SxS dimensionssektor. Hvert af disse N gitter har ansvaret for at detektere og lokalisere det objekt, det indeholder.
Disse gitter forudsiger til gengæld B-afgrænsningsrammens koordinater i forhold til cellekoordinater, såvel som elementnavnet og sandsynligheden for, at objektet er til stede i cellen. På grund af mange celler, der forudsiger det samme element med forskellige afgrænsningsboksforudsigelser, reducerer denne teknik beregningen betydeligt, fordi både detektering og genkendelse håndteres af celler fra billedet.
Det producerer dog en masse dobbelte forudsigelser. For at løse dette problem anvender YOLO Non-Maximal Suppression. YOLO undertrykker alle afgrænsningsfelter med lavere sandsynlighedsscore i ikke-maksimal undertrykkelse.
YOLO gør dette ved at undersøge sandsynlighedsscorerne forbundet med hver mulighed og vælge den med den højeste score. De afgrænsningskasser med det største skæringspunkt over forening med den aktuelle afgrænsningsramme med høj sandsynlighed undertrykkes derefter.
Denne proces fortsættes, indtil afgrænsningsfelterne er færdige.
Forskellige variationer af YOLO
Vi vil se på nogle af de mest almindelige YOLO-versioner. Lad os komme igang.
1. YOLOv1
Den første YOLO-version blev annonceret i 2015 i publikationen "Du ser kun én gang: Ensartet objektgenkendelse i realtid” af Joseph Redmon, Santosh Divvala, Ross Girshick og Ali Farhadi.
På grund af sin hastighed, nøjagtighed og indlæringsevne dominerede YOLO hurtigt området for objektidentifikation og blev den mest udbredte algoritme. I stedet for at adressere objektdetektering som et klassifikationsproblem, nærmede forfatterne det som et regressionsproblem med geografisk adskilte afgrænsningsfelter og tilhørende klassesandsynligheder, som de løste ved hjælp af en enkelt neurale netværk.
YOLOv1 behandlede billeder med 45 billeder i sekundet i realtid, hvorimod en mindre variant, Fast YOLO, behandlede med 155 billeder i sekundet og stadig opnåede det dobbelte af mAP af andre realtidsdetektorer.
2. YOLOv2
Et år senere, i 2016, udgav Joseph Redmon og Ali Farhadi YOLOv2 (også kendt som YOLO9000) i avisen "YOLO9000: Bedre, hurtigere, stærkere".
Modellens kapacitet til at forudsige selv 9000 forskellige varekategorier, mens den stadig kører i realtid, gav den betegnelsen 9000. Ikke kun blev den nye modelversion samtidigt trænet i objektdetektering og klassifikationsdatasæt, men den fik også Darknet-19 som den nye baseline model.
Fordi YOLOv2 også var en stor succes og hurtigt blev den næste state-of-the-art objektgenkendelsesmodel, begyndte andre ingeniører at eksperimentere med algoritmen og producere deres egne, unikke YOLO-versioner. Nogle af dem vil blive diskuteret på forskellige punkter i papiret.
3. YOLOv3
I avisen "YOLOv3: En inkrementel forbedring,” Joseph Redmon og Ali Farhadi udgav en ny version af algoritmen i 2018. Den blev bygget på Darknet-53-arkitekturen. Uafhængige logistiske klassifikatorer erstattede softmax-aktiveringsmekanismen i YOLOv3.
Det binære krydsentropitab blev brugt under træning. Darknet-19 blev forbedret og omdøbt til Darknet-53, som nu har 53 foldede lag. Bortset fra det blev forudsigelserne lavet på tre forskellige skalaer, hvilket hjalp YOLOv3 med at forbedre dens nøjagtighed i at forudsige små ting.
YOLOv3 var Joseph Redmons endelige YOLO-version, da han valgte ikke at arbejde på yderligere YOLO-forbedringer (eller endda inden for computersynsområdet) for at undgå, at hans arbejde havde en skadelig indflydelse på verden. Det bruges nu mest som udgangspunkt for at konstruere unikke objektdetekteringsarkitekturer.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang og Hong-Yuan Mark Liao udgav "YOLOv4: Optimal hastighed og nøjagtighed af objektdetektion” i april 2020, som var den fjerde iteration af YOLO-algoritmen.
Vægtede Residual Connections, Cross-Stage-Partial Connections, cross mini-batch normalization, self-adversarial training, mish aktivering, drop block og CIoU tab blev alle introduceret som en del af SPDarknet53 arkitekturen.
YOLOv4 er en efterkommer af YOLO-familien, men den blev udviklet af separate videnskabsmænd (ikke Joseph Redmon og Ali Farhadi). SPDarknet53-rygrad, rumlig pyramidepooling, PANet-sti-aggregation som hals og YOLOv3-hoved udgør dens arkitektur.
Som en konsekvens heraf opnår YOLOv3 4 % højere gennemsnitspræcision og 10 % bedre rammer pr. sekund, sammenlignet med dets moderselskab, YOLOv12.
5. YOLOv5
YOLOv5 er et open source-projekt, der omfatter en række objektidentifikationsmodeller og algoritmer baseret på YOLO-modellen, der er blevet fortrænet på COCO-datasættet.
YOLOv5 er en samling af sammensatte-skalerede objektidentifikationsmodeller trænet på COCO-datasættet med nemme muligheder for TTA, modelsamling, hyperparameterudvikling og eksport til ONNX, CoreML og TFLite. Fordi YOLOv5 ikke implementerer eller udvikler nogen unikke tilgange, kunne det formelle papir ikke frigives. Det er simpelthen YOLOv3's PyTorch-udvidelse.
Ultranytics brugte dette scenarie til at offentliggøre den "nye YOLO"-version under sit sponsorat. Fordi der også er fem fortrænede modeller tilgængelige, er YOLOv5-hjemmesiden ret ligetil og professionelt struktureret og skrevet med en række lektioner og forslag til træning og brug af YOLOv5-modellerne.
YOLO begrænsninger
Selvom YOLO ser ud til at være den bedste teknik til at løse objektdetektion problemer, har det en række ulemper. Fordi hvert gitter kun kan identificere én genstand, har YOLO svært ved at opdage og adskille små ting i billeder, der forekommer i grupper. Små ting i sværme, såsom en sværm af myrer, er svære for YOLO at identificere og lokalisere.
Sammenlignet med væsentligt langsommere objektidentifikationsmetoder som Fast RCNN, er YOLO ligeledes karakteriseret ved mindre nøjagtighed.
Begynd at bruge YOLOv5
Hvis du er interesseret i at se en YOLOv5 i aktion, så tjek den officiel GitHub , YOLOv5 i PyTorch.
Konklusion
YOLOv5s oprindelige version er ekstremt hurtig, effektiv og nem at bruge. Selvom YOLOv5 ikke tilføjer nogen ny modelarkitektur til YOLO-familien, giver den en ny PyTorch-trænings- og implementeringsramme, der forbedrer det nyeste inden for objektdetektorer.
Ydermere er YOLOv5 ekstremt brugervenlig og kommer "ud af æsken" klar til brug på skræddersyede genstande.
Giv en kommentar