La detecció d'objectes és un tipus de categorització d'imatges en què una xarxa neuronal anticipa els elements d'una imatge i dibuixa quadres delimitadors al seu voltant. Detectar i localitzar coses en una imatge que s'ajusta a un conjunt preestablert de classes s'anomena detecció d'objectes.
La detecció d'objectes (també coneguda com a reconeixement d'objectes) és un subdomini especialment significatiu de la visió per computador perquè tasques com la detecció, la identificació i la localització troben una àmplia aplicació en contextos del món real.
L'enfocament YOLO us pot ajudar a fer aquestes tasques. En aquest assaig, veurem més de prop YOLO, incloent-hi què és, com funciona, diferents variacions i molt més.
Aleshores, què és YOLO?
YOLO és un mètode per a la identificació i reconeixement d'objectes en temps real en fotografies. És l'acrònim de You Only Look Once. Redmond et al. va proposar l'enfocament en un article que es va publicar inicialment el 2015 a la Conferència IEEE/CVF sobre Visió per Computadora i Reconeixement de Patrons (CVPR).
L'OpenCV People's Choice Award es va lliurar al diari. A diferència dels mètodes anteriors d'identificació d'objectes, que reutilitzaven els classificadors per fer la detecció, YOLO proposa l'ús d'un extrem a extrem. xarxa neural que prediu quadres delimitadors i probabilitats de classe simultàniament.
YOLO produeix resultats d'última generació adoptant un enfocament fonamentalment nou per al reconeixement d'objectes, superant fàcilment els mètodes anteriors de detecció d'objectes en temps real.
YOLO treballant
El mètode YOLO divideix la imatge en N quadrícules, cadascuna amb un sector dimensional SxS de la mateixa mida. Cadascuna d'aquestes N graelles s'encarrega de detectar i localitzar l'objecte que conté.
Aquestes quadrícules, al seu torn, preveuen les coordenades del quadre delimitador B relatives a les coordenades de la cel·la, així com el nom de l'element i la probabilitat que l'objecte estigui present a la cel·la. A causa del fet que moltes cel·les prediuen el mateix ítem amb prediccions de quadres delimitadors variats, aquesta tècnica redueix considerablement el càlcul perquè tant la detecció com el reconeixement són gestionades per cèl·lules de la imatge.
Tanmateix, produeix moltes prediccions duplicades. Per solucionar aquest problema, YOLO utilitza la supressió no màxima. YOLO suprimeix tots els quadres delimitadors amb puntuacions de probabilitat més baixes en la supressió no màxima.
YOLO ho fa examinant les puntuacions de probabilitat vinculades a cada opció i seleccionant la que tingui la puntuació més alta. Aleshores se suprimeixen els quadres delimitadors amb la intersecció més gran sobre Union amb el quadre delimitador actual d'alta probabilitat.
Aquest procés es continua fins que s'han completat els quadres delimitadors.
Diferents variacions de YOLO
Veurem algunes de les versions més comunes de YOLO. Comencem.
1. YOLOv1
La versió inicial de YOLO es va anunciar el 2015 a la publicació "Només mireu una vegada: detecció unificada d'objectes en temps real” de Joseph Redmon, Santosh Divvala, Ross Girshick i Ali Farhadi.
A causa de la seva velocitat, precisió i capacitat d'aprenentatge, YOLO va dominar ràpidament l'àrea d'identificació d'objectes i es va convertir en l'algorisme més utilitzat. En lloc d'abordar la detecció d'objectes com un problema de classificació, els autors el van abordar com un problema de regressió amb quadres delimitadors separats geogràficament i probabilitats de classe associades, que van resoldre amb un sol xarxa neural.
El YOLOv1 va processar fotos a 45 fotogrames per segon en temps real, mentre que una variant més petita, Fast YOLO, va processar a 155 fotogrames per segon i encara va obtenir el doble del mapa d'altres detectors en temps real.
2. YOLOv2
Un any més tard, el 2016, Joseph Redmon i Ali Farhadi van publicar YOLOv2 (també conegut com YOLO9000) al paper "YOLO9000: Millor, més ràpid, més fort".
La capacitat del model de preveure fins i tot 9000 categories d'articles diferents mentre encara funcionava en temps real li va valer la designació de 9000. La nova versió del model no només es va entrenar simultàniament en conjunts de dades de detecció i classificació d'objectes, sinó que també va obtenir Darknet-19 com a nova línia de base. model.
Com que YOLOv2 també va ser un gran èxit i es va convertir ràpidament en el següent model de reconeixement d'objectes d'última generació, altres enginyers van començar a experimentar amb l'algorisme i produir les seves pròpies versions úniques de YOLO. Alguns d'ells es parlaran en diversos punts del document.
3. YOLOv3
En el paper "YOLOv3: una millora incremental”, Joseph Redmon i Ali Farhadi van publicar una nova versió de l'algoritme el 2018. Es va construir sobre l'arquitectura Darknet-53. Els classificadors logístics independents van substituir el mecanisme d'activació de softmax a YOLOv3.
La pèrdua d'entropia creuada binària es va utilitzar durant l'entrenament. Darknet-19 es va millorar i es va rebatejar com a Darknet-53, que ara té 53 capes convolucionals. A part d'això, les prediccions es van fer en tres escales diferents, cosa que va ajudar a YOLOv3 a millorar la seva precisió a l'hora de predir coses petites.
YOLOv3 va ser la versió final de YOLO de Joseph Redmon, ja que va optar per no treballar en cap millora YOLO més (o fins i tot en l'àrea de visió per ordinador) per evitar que el seu treball tingués una influència perjudicial en el món. Ara s'utilitza principalment com a punt de partida per construir arquitectures úniques de detecció d'objectes.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang i Hong-Yuan Mark Liao van publicar "YOLOv4: Velocitat i precisió òptimes de detecció d'objectes” l'abril de 2020, que va ser la quarta iteració de l'algoritme YOLO.
Com a part de l'arquitectura SPDarknet53, es van introduir connexions residuals ponderades, connexions parcials entre fases, normalització de mini-lots creuats, entrenament autocontractual, activació de mish, bloqueig de caiguda i pèrdua de CIoU.
YOLOv4 és un descendent de la família YOLO, però, va ser desenvolupat per científics separats (no Joseph Redmon i Ali Farhadi). La columna vertebral SPDarknet53, l'agrupació de piràmides espacials, l'agregació de camins PANet com a coll i el cap YOLOv3 conformen la seva arquitectura.
Com a conseqüència, en comparació amb el seu pare, YOLOv3, YOLOv4 aconsegueix un 10% més de precisió mitjana i un 12% millors mètriques de fotogrames per segon.
5. YOLOv5
YOLOv5 és un projecte de codi obert que inclou una sèrie de models i algorismes d'identificació d'objectes basats en el model YOLO que s'ha entrenat prèviament al conjunt de dades COCO.
YOLOv5 és una col·lecció de models d'identificació d'objectes a escala composta entrenat en el conjunt de dades COCO, amb capacitats fàcils per a TTA, muntatge de models, desenvolupament d'hiperparàmetres i exportació a ONNX, CoreML i TFLite. Com que YOLOv5 no implementa ni desenvolupa cap enfocament únic, el document formal no s'ha pogut publicar. És simplement l'extensió PyTorch de YOLOv3.
Ultranytics va aprofitar aquest escenari per donar a conèixer la "nova versió de YOLO" sota el seu patrocini. Com que també hi ha cinc models pre-entrenats accessibles, la pàgina d'inici de YOLOv5 és bastant senzilla i està estructurada i escrita de manera professional, amb una sèrie de lliçons i suggeriments sobre la formació i l'ús dels models YOLOv5.
Limitacions de YOLO
Encara que YOLO sembla ser la millor tècnica per resoldre detecció d'objectes problemes, té una sèrie d'inconvenients. Com que cada graella només pot identificar un element, YOLO té dificultats per detectar i segregar coses petites en imatges que es produeixen en grups. Les coses petites dels eixams, com ara un eixam de formigues, són difícils d'identificar i localitzar per a YOLO.
En comparació amb mètodes d'identificació d'objectes significativament més lents com el Fast RCNN, YOLO també es caracteritza per una menor precisió.
Comenceu a utilitzar YOLOv5
Si estàs interessat a veure un YOLOv5 en acció, fes una ullada a GitHub oficial i YOLOv5 a PyTorch.
Conclusió
La versió inicial de YOLOv5 és extremadament ràpida, eficient i senzilla d'utilitzar. Tot i que YOLOv5 no afegeix cap arquitectura de model nova a la família YOLO, sí que proporciona un nou marc de formació i desplegament de PyTorch que millora l'estat de l'art dels detectors d'objectes.
A més, YOLOv5 és extremadament fàcil d'utilitzar i surt "de la caixa" llest per utilitzar-se en objectes a mida.
Deixa un comentari