Evolución de la detección de objetivos YOLO v1-v5
Los métodos comúnmente utilizados en la detección de objetivos se pueden dividir en métodos de una etapa y métodos de dos etapas. El método de un solo paso primero ingresa imágenes y genera cuadros delimitadores (bboxes) y etiquetas de clasificación, que la red completa. YOLO y SSD son los principales representantes de este método. El método de dos etapas está representado por fast-RCNN. Después de ingresar la imagen, primero se genera una propuesta de región y luego se ingresa en el clasificador para su clasificación. Estas dos tareas son realizadas por redes diferentes.
Entre ellos, la detección de objetivos de YOLO es un algoritmo destacado. Es la abreviatura de "solo miras una vez", lo que significa que solo necesitas navegar una vez para identificar la categoría y ubicación del objeto en el. Imagen, que es perfecta. Equilibra la relación entre velocidad de detección y precisión. YOLO también ha evolucionado desde el YOLO v1 original hasta el último YOLO v5.
En 2015, se propuso la primera versión de YOLO v1, y YOLO propuso la red Darknet con referencia a GoogleNet. Darknet es un marco de red neuronal de código abierto escrito en lenguaje C y CUDA. Capa convolucional 1x1 La capa convolucional 3x3 reemplaza el módulo Inception de GoogleNet. La red consta de 24 capas convolucionales y 2 capas completamente conectadas, como se muestra en la Figura 1:
El marco de YOLO v1 se muestra en la Figura 2: primero ajuste el tamaño de la imagen a 448 × 448, y luego La imagen se introduce en la CNN y, finalmente, el cuadro de calibración final se guarda a través de NMS.
La idea central de YOLO v1 es tratar la detección de objetivos como un problema de regresión y dividir la imagen en cuadrículas SxS. Si el centro del objetivo cae en una celda de la cuadrícula, la cuadrícula es responsable de detectar el objetivo. . Cada celda de la cuadrícula predice cuadros delimitadores B (bboxes) e información de clase. Además, cada bbox necesita predecir (x, y, w, h) y confiar hasta 5 valores. Entonces, al final, cada cuadrícula necesita predecir las categorías B bbox y C, y finalmente generar el tensor de S x S x (5*B C).
Ventajas:
YOLO v2 ha realizado una serie de mejoras sobre la base de YOLO v1, lo que mejora la precisión y la tasa de recuperación del posicionamiento del objetivo mientras mantiene la precisión de la clasificación. Primero, YOLO v2 puede adaptarse a diferentes tamaños de entrada y puede compensar la precisión y la velocidad de detección según sea necesario. En segundo lugar, según la clasificación jerárquica, se propone utilizar árboles de palabras para mezclar conjuntos de datos de detección y conjuntos de datos de clasificación. Finalmente, se propone un método de entrenamiento conjunto que se puede realizar en conjuntos de datos de detección y clasificación simultáneamente. El conjunto de datos de detección se utiliza para entrenar la parte de reconocimiento del modelo y el conjunto de datos de clasificación se utiliza para entrenar la parte de clasificación del modelo para ampliar los tipos de detección.
Las mejoras más específicas de YOLO v1 incluyen los siguientes puntos:
Sin embargo, YOLO v2 aún no puede resolver el problema de la superposición de objetos en la misma cuadrícula. YOLO v3 continúa realizando algunas mejoras basadas en YOLO v2:
En abril de 2020, se lanzó YOLO v4. La precisión en el conjunto de datos de MS COCO alcanza 43,5 AP y la velocidad alcanza 65 FPS, que son 10 y 12 más que YOLO v3 respectivamente.
YOLO v4 primero resume el trabajo relacionado y divide el marco de detección de objetivos:
Detección de objetos = columna, cuello, cabeza
Además, todos los métodos de ajuste Divididos en dos categorías: "una bolsa de regalos" y "una bolsa de ofertas especiales".
YOLO v4 resume las tecnologías de ajuste anteriores para encontrar la mejor combinación. Durante el proceso de formación se verificó el impacto de los obsequios y obsequios profesionales en YOLO v4.
Más de 40 días después del lanzamiento de YOLO v4, Ultralytics ha abierto el YOLO v5 no oficial, que está completamente basado en PyTorch.
Vale la pena señalar que el tiempo de inferencia de cada imagen alcanza los 140 FPS y el tamaño del archivo de peso de YOLOv5 es solo 1/9 del de YOLOv4. ¡YOLO v5 es más rápido y más pequeño!
Se puede ver en la historia de desarrollo de YOLO anterior que la serie YOLO se centró más en la implementación de aplicaciones en las últimas etapas de desarrollo y no propuso innovaciones muy novedosas.