Índice del contenido[Esconder][Espectáculo]
La detección de objetos es un tipo de categorización de imágenes en la que una red neuronal anticipa elementos en una imagen y dibuja cuadros delimitadores a su alrededor. La detección y localización de cosas en una imagen que se ajusta a un conjunto preestablecido de clases se conoce como detección de objetos.
La detección de objetos (también conocida como reconocimiento de objetos) es un subdominio particularmente importante de Computer Vision porque tareas como detección, identificación y localización encuentran una amplia aplicación en contextos del mundo real.
El enfoque de YOLO puede ayudarlo a realizar estas tareas. En este ensayo, veremos más de cerca a YOLO, incluido qué es, cómo funciona, las diferentes variaciones y más.
Entonces, ¿qué es YOLO?
YOLO es un método para la identificación y el reconocimiento de objetos en tiempo real en fotografías. Es un acrónimo de You Only Look Once. Redmond et al. propuso el enfoque en un artículo que se publicó inicialmente en 2015 en la Conferencia IEEE/CVF sobre visión artificial y reconocimiento de patrones (CVPR).
El premio OpenCV People's Choice Award se le otorgó al periódico. A diferencia de los métodos de identificación de objetos anteriores, que reutilizaron los clasificadores para realizar la detección, YOLO propone el uso de un punto a punto. red neural que predice cuadros delimitadores y probabilidades de clase simultáneamente.
YOLO produce resultados de vanguardia al adoptar un enfoque fundamentalmente nuevo para el reconocimiento de objetos, superando fácilmente los métodos anteriores de detección de objetos en tiempo real.
yolo trabajando
El método YOLO divide la imagen en N cuadrículas, cada una con un sector dimensional SxS de igual tamaño. Cada una de estas N grillas se encarga de detectar y localizar el objeto que contiene.
Estas cuadrículas, a su vez, pronostican las coordenadas del cuadro delimitador B en relación con las coordenadas de la celda, así como el nombre del elemento y la probabilidad de que el objeto esté presente en la celda. Debido a que muchas celdas predicen el mismo elemento con diversas predicciones de cuadro delimitador, esta técnica reduce considerablemente el cálculo porque tanto la detección como el reconocimiento son manejados por celdas de la imagen.
Sin embargo, produce muchas predicciones duplicadas. Para abordar este problema, YOLO emplea la supresión no máxima. YOLO suprime todos los cuadros delimitadores con puntajes de probabilidad más bajos en Supresión no máxima.
YOLO hace esto examinando los puntajes de probabilidad vinculados con cada opción y seleccionando el que tiene el puntaje más alto. A continuación, se suprimen los cuadros delimitadores con la intersección más grande sobre la unión con el cuadro delimitador actual de alta probabilidad.
Este proceso continúa hasta que se completan los cuadros delimitadores.
Diferentes variaciones de YOLO
Veremos algunas de las versiones más comunes de YOLO. Empecemos.
1. YOLOv1
La versión inicial de YOLO se anunció en 2015 en la publicación “Solo mira una vez: Detección unificada de objetos en tiempo real” de Joseph Redmon, Santosh Divvala, Ross Girshick y Ali Farhadi.
Debido a su velocidad, precisión y capacidad de aprendizaje, YOLO dominó rápidamente el área de identificación de objetos y se convirtió en el algoritmo más utilizado. En lugar de abordar la detección de objetos como un problema de clasificación, los autores lo abordaron como un problema de regresión con cuadros delimitadores separados geográficamente y probabilidades de clase asociadas, que resolvieron utilizando un solo red neural.
El YOLOv1 procesó fotos a 45 cuadros por segundo en tiempo real, mientras que una variante más pequeña, Fast YOLO, procesó a 155 cuadros por segundo y aun así obtuvo el doble de mAP que otros detectores en tiempo real.
2. YOLOv2
Un año después, en 2016, Joseph Redmon y Ali Farhadi publicaron YOLOv2 (también conocido como YOLO9000) en el periódico “YOLO9000: Mejor, Más Rápido, Más Fuerte."
La capacidad del modelo para pronosticar hasta 9000 categorías de artículos distintas mientras aún se ejecuta en tiempo real le valió la designación 9000. La nueva versión del modelo no solo se entrenó simultáneamente en conjuntos de datos de clasificación y detección de objetos, sino que también obtuvo Darknet-19 como la nueva línea de base. modelo.
Debido a que YOLOv2 también fue un gran éxito y rápidamente se convirtió en el siguiente modelo de reconocimiento de objetos de última generación, otros ingenieros comenzaron a experimentar con el algoritmo y produjeron sus propias versiones únicas de YOLO. Algunos de ellos serán discutidos en varios puntos del documento.
3. YOLOv3
En el papel "YOLOv3: una mejora incremental”, Joseph Redmon y Ali Farhadi publicaron una nueva versión del algoritmo en 2018. Se construyó sobre la arquitectura Darknet-53. Los clasificadores logísticos independientes reemplazaron el mecanismo de activación softmax en YOLOv3.
Durante el entrenamiento se utilizó la pérdida de entropía cruzada binaria. Darknet-19 se mejoró y pasó a llamarse Darknet-53, que ahora tiene 53 capas convolucionales. Aparte de eso, las predicciones se realizaron en tres escalas distintas, lo que ayudó a YOLOv3 a mejorar su precisión en la predicción de cosas diminutas.
YOLOv3 fue la última versión de YOLO de Joseph Redmon, ya que optó por no trabajar en más mejoras de YOLO (o incluso en el área de visión por computadora) para evitar que su trabajo tuviera una influencia perjudicial en el mundo. Ahora se usa principalmente como punto de partida para construir arquitecturas únicas de detección de objetos.
4. Yolov4
Alexey Bochkovskiy, Chien-Yao Wang y Hong-Yuan Mark Liao publicaron “YOLOv4: velocidad y precisión óptimas en la detección de objetos” en abril de 2020, que fue la cuarta iteración del algoritmo YOLO.
Las conexiones residuales ponderadas, las conexiones parciales entre etapas, la normalización cruzada de mini lotes, el entrenamiento de auto-adversario, la activación de Mish, el bloqueo de caída y la pérdida de CIoU se introdujeron como parte de la arquitectura SPDarknet53.
YOLOv4 es un descendiente de la familia YOLO, sin embargo, fue desarrollado por científicos separados (no Joseph Redmon y Ali Farhadi). La red troncal SPDarknet53, la agrupación de pirámide espacial, la agregación de ruta PANet como cuello y la cabeza YOLOv3 conforman su arquitectura.
Como consecuencia, en comparación con su padre, YOLOv3, YOLOv4 logra una precisión promedio un 10 % más alta y unas métricas de fotogramas por segundo un 12 % mejores.
5. YOLOv5
YOLOv5 es un proyecto de código abierto que incluye una gama de modelos y algoritmos de identificación de objetos basados en el modelo YOLO que ha sido entrenado previamente en el conjunto de datos COCO.
YOLOv5 es una colección de modelos de identificación de objetos a escala compuesta entrenado en el conjunto de datos COCO, con capacidades sencillas para TTA, ensamblaje de modelos, desarrollo de hiperparámetros y exportación a ONNX, CoreML y TFLite. Debido a que YOLOv5 no implementa ni desarrolla ningún enfoque único, el documento formal no pudo publicarse. Es simplemente la extensión PyTorch de YOLOv3.
Ultranytics aprovechó este escenario para dar a conocer la versión “nueva YOLO” bajo su patrocinio. Debido a que también hay cinco modelos preentrenados disponibles, la página de inicio de YOLOv5 es bastante sencilla y está estructurada y escrita profesionalmente, con una serie de lecciones y sugerencias sobre el entrenamiento y el uso de los modelos YOLOv5.
limitaciones de YOLO
Aunque YOLO parece ser la mejor técnica para resolver detección de objetos problemas, tiene una serie de inconvenientes. Debido a que cada cuadrícula solo puede identificar un elemento, YOLO tiene dificultades para detectar y segregar cosas diminutas en imágenes que ocurren en grupos. Las cosas pequeñas en los enjambres, como un enjambre de hormigas, son difíciles de identificar y localizar para YOLO.
En comparación con métodos de identificación de objetos significativamente más lentos como Fast RCNN, YOLO también se caracteriza por una menor precisión.
Empezar a usar YOLOv5
Si está interesado en ver un YOLOv5 en acción, consulte el github oficial y YOLOv5 en PyTorch.
Conclusión
La versión inicial de YOLOv5 es extremadamente rápida, eficaz y fácil de usar. Si bien YOLOv5 no agrega ninguna arquitectura de modelo nueva a la familia YOLO, proporciona un nuevo marco de implementación y capacitación de PyTorch que mejora el estado del arte para los detectores de objetos.
Además, YOLOv5 es extremadamente fácil de usar y viene listo para usar en objetos personalizados.
Deje un comentario