Articulo de referencia

Solo miras una vez

Objetos detectados con el módulo de red neuronal profunda de OpenCV mediante un modelo YOLOv3 entrenado en el conjunto de datos COCO , capaz de detectar objetos de 80 clases com...

Objetos detectados con el módulo de red neuronal profunda de OpenCV mediante un modelo YOLOv3 entrenado en el conjunto de datos COCO , capaz de detectar objetos de 80 clases comunes.

You Only Look Once ( YOLO ) es una serie de sistemas de detección de objetos en tiempo real basados ​​en redes neuronales convolucionales . Presentado por primera vez por Joseph Redmon et al. en 2015, [ 1 ] YOLO ha experimentado varias iteraciones y mejoras, convirtiéndose en uno de los marcos de detección de objetos más populares. [ 2 ]

El nombre "You Only Look Once" hace referencia al hecho de que el algoritmo requiere solo una pasada de propagación hacia adelante a través de la red neuronal para hacer predicciones, a diferencia de las técnicas anteriores basadas en propuestas de regiones como R-CNN que requieren miles para una sola imagen. [ 3 ] [ 4 ]

Descripción general

En comparación con métodos anteriores como R-CNN y OverFeat , [ 5 ] en lugar de aplicar el modelo a una imagen en múltiples ubicaciones y escalas, YOLO aplica una única red neuronal a la imagen completa. Esta red divide la imagen en regiones y predice cuadros delimitadores y probabilidades para cada región. Estos cuadros delimitadores se ponderan según las probabilidades predichas.

Overfeat

OverFeat fue un modelo influyente inicial para la clasificación y localización simultánea de objetos. [ 5 ] [ 6 ] Su arquitectura es la siguiente:

  • Entrena una red neuronal exclusivamente para la clasificación de imágenes ("red entrenada para clasificación"). Podría ser una como AlexNet .
  • Se elimina la última capa de la red entrenada y, para cada posible clase de objeto, se inicializa un módulo de red en la última capa ("red de regresión"). Los parámetros de la red base se congelan. La red de regresión se entrena para predecir el(incógnita,y){\displaystyle (x,y)}coordenadas de dos vértices del cuadro delimitador del objeto.
  • Durante la inferencia, la red neuronal entrenada para la clasificación se ejecuta sobre la misma imagen con diferentes niveles de zoom y recortes. Para cada uno, genera una etiqueta de clase y una probabilidad asociada. Cada salida se procesa mediante la red de regresión de la clase correspondiente. Esto da como resultado miles de cuadros delimitadores con etiquetas de clase y probabilidades. Estos cuadros se combinan hasta que solo queda uno con una única etiqueta de clase.

Versiones

La serie YOLO consta de dos partes. La parte original contenía YOLOv1, v2 y v3, todas publicadas en un sitio web mantenido por Joseph Redmon. [ 7 ]

YOLOv1

El algoritmo YOLO original, introducido en 2015, [ 1 ] divide la imagen en unaS×S{\displaystyle S\times S}Cuadrícula de celdas. Si el centro del cuadro delimitador de un objeto cae dentro de una celda de la cuadrícula, se dice que esa celda "contiene" dicho objeto. Cada celda de la cuadrícula predice B cuadros delimitadores y puntuaciones de confianza para esos cuadros. Estas puntuaciones de confianza reflejan la certeza del modelo de que el cuadro contiene un objeto y la precisión de la predicción.

En más detalle, la red realiza la misma operación convolucional sobre cada uno de losS2{\displaystyle S^{2}}parches. La salida de la red en cada parche es una tupla como la siguiente:(pag1,,pagdo,do1,incógnita1,y1,w1,h1,,doB,incógnitaB,yB,wB,hB){\displaystyle (p_{1},\dots ,p_{C},c_{1},x_{1},y_{1},w_{1},h_{1},\dots ,c_{B},x_{B},y_{B},w_{B},h_{B})}dónde

  • pagi{\displaystyle p_{i}}es la probabilidad condicional de que la celda contenga un objeto de clasei{\displaystyle i}, condicionado a que la celda contenga al menos un objeto.
  • incógnitaj,yj,wj,hj{\ Displaystyle x_ {j}, y_ {j}, w_ {j}, h_ {j}}son las coordenadas del centro, el ancho y la altura delj{\displaystyle j}-enésimo cuadro delimitador predicho que está centrado en la celda. Se predicen múltiples cuadros delimitadores para permitir que cada predicción se especialice en un tipo de cuadro delimitador. Por ejemplo, los objetos delgados podrían predecirse mediantej=2{\displaystyle j=2}mientras que los objetos robustos podrían predecirse porj=1{\displaystyle j=1}.
  • doj{\displaystyle c_{j}}es la intersección sobre unión (IoU) prevista de cada cuadro delimitador con su correspondiente verdad fundamental.

La arquitectura de la red consta de 24 capas convolucionales seguidas de 2 capas totalmente conectadas.

Durante el entrenamiento, para cada celda, si contiene un cuadro delimitador de verdad fundamental, entonces solo se utilizan para el descenso de gradiente los cuadros delimitadores predichos con el IoU más alto con los cuadros delimitadores de verdad fundamental. Concretamente, seaj{\displaystyle j}sea ​​ese cuadro delimitador predicho, y dejemosi{\displaystyle i}sea ​​la etiqueta de clase de verdad fundamental, entoncesincógnitaj,yj,wj,hj{\ Displaystyle x_ {j}, y_ {j}, w_ {j}, h_ {j}}se entrenan mediante descenso de gradiente para aproximarse a la verdad fundamental,pagi{\displaystyle p_{i}}está entrenado para1{\displaystyle 1}, otropagi{\displaystyle p_{i'}}están entrenados para apuntar a cero.

Si una celda no contiene información de referencia, entonces solodo1,do2,,doB{\displaystyle c_{1},c_{2},\dots ,c_{B}}se entrenan mediante descenso de gradiente para aproximarse a cero.

YOLOv2

Lanzado en 2016, YOLOv2 (también conocido como YOLO9000) [ 8 ] [ 9 ] mejoró el modelo original al incorporar normalización por lotes, un clasificador de mayor resolución y el uso de cuadros de anclaje para predecir cuadros delimitadores. Podía detectar más de 9000 categorías de objetos. También se publicó en GitHub bajo la licencia Apache 2.0. [ 10 ]

YOLOv3

YOLOv3, introducido en 2018, contenía únicamente mejoras "incrementales", incluyendo el uso de una red base más compleja, múltiples escalas para la detección y una función de pérdida más sofisticada. [ 11 ]

YOLOv4 y más allá

Las versiones posteriores de YOLO (v4, v5, etc.) [ 12 ] [ 13 ] [ 14 ] [ 15 ] han sido desarrolladas por diferentes investigadores, mejorando aún más el rendimiento e introduciendo nuevas características. Estas versiones no están asociadas oficialmente con los autores originales de YOLO, pero se basan en su trabajo. [ 7 ] A partir de 2026Se han publicado versiones hasta YOLO26. [ 2 ] [ 16 ]

Véase también

Referencias

  1. 1 2 Redmon, Joseph; Divvala, Santosh; Girshick, Ross; Farhadi, Ali (2016-05-09). "You Only Look Once: Unified, Real-Time Object Detection". arXiv : 1506.02640 [ cs.CV ].
  2. 1 2 Terven, Juan; Córdova-Esparza, Diana-Margarita; Romero-González, Julio-Alejandro (2023-11-20). "Una revisión exhaustiva de las arquitecturas YOLO en visión por computadora: de YOLOv1 a YOLOv8 y YOLO-NAS" . Machine Learning and Knowledge Extraction . 5 (4): 1680– 1716. arXiv : 2304.00501 . doi : 10.3390/make5040083 . ISSN 2504-4990 . 
  3. https://www.mdpi.com/2673-4117/6/11/302
  4. Duarte, João; Claro, Manuel Fernández; Vitoriano, Pedro MA; Amaral, Tito G.; Pires, Vitor Fernão (2025). "Detección y clasificación de defectos en superficies metálicas basada en una red ligera YOLOX-Tiny COCO" . Ing . 6 (11): 302. doi : 10.3390/ENG6110302 .
  5. 1 2 Sermanet, Pierre; Eigen, David; Zhang, Xiang; Mathieu, Michael; Fergus, Rob; LeCun, Yann (2014-02-23), OverFeat: Reconocimiento, localización y detección integrados mediante redes neuronales convolucionales , arXiv : 1312.6229
  6. sermanet (09/09/2024), sermanet/OverFeat , consultado el 15/09/2024
  7. 1 2 "YOLO: Detección de objetos en tiempo real" . pjreddie.com . Consultado el 12 de septiembre de 2024 .
  8. Redmon, Joseph; Farhadi, Ali (25-12-2016). "YOLO9000: Mejor, más rápido, más fuerte". arXiv : 1612.08242 [ cs.CV ].
  9. "YOLOv2: Detección de objetos en tiempo real" . pjreddie.com . Consultado el 12 de septiembre de 2024 .
  10. ^ Rémy, Philippe (5 de septiembre de 2024), philipperemy/yolo-9000 , consultado el 12 de septiembre de 2024
  11. Redmon, Joseph; Farhadi, Ali (2018-04-08). "YOLOv3: Una mejora incremental". arXiv : 1804.02767 [ cs.CV ].
  12. Bochkovskiy, Alexey; Wang, Chien-Yao; Liao, Hong-Yuan Mark (22 de abril de 2020). "YOLOv4: Velocidad y precisión óptimas de la detección de objetos". arXiv : 2004.10934 [ cs.CV ].
  13. Wang, Chien-Yao; Bochkovskiy, Alexey; Liao, Hong-Yuan Mark (2021-02-21). "Scaled-YOLOv4: Escalado de red parcial entre etapas". arXiv : 2011.08036 [ cs.CV ].
  14. ^ Li, Chuyi; Li, Lulú; Jiang, Hongliang; Weng, Kaiheng; Geng, Yifei; Li, Liang; Ke, Zaidán; Li, Qingyuan; Cheng, Meng; Nie, Weiqiang; Li, Yiduo; Zhang, Bo; Liang, Yufei; Zhou, Linyuan; Xu, Xiaoming (7 de septiembre de 2022). "YOLOv6: un marco de detección de objetos de una sola etapa para aplicaciones industriales". arXiv : 2209.02976 [ cs.CV ].
  15. Wang, Chien-Yao; Bochkovskiy, Alexey; Liao, Hong-Yuan Mark (2022-07-06). "YOLOv7: Trainable bag-of-freebies establece un nuevo estado del arte para detectores de objetos en tiempo real". arXiv : 2207.02696 [ cs.CV ].
  16. "Ultralytics YOLO26" . Documentación de Ultralytics . 25 de septiembre de 2025. Consultado el 1 de junio de 2026 .
  • Sitio web oficial de YOLO
  • Implementación de YOLO en la Darknet