¿Por qué YOLO-NAS es el mejor modelo de detección de objetos de la serie YOLO?
YOLO-NAS es el pináculo de los modelos de detección de objetos de la serie YOLO. Pero ¿por qué se considera el mejor?
Después de YOLOv8, existe todavía un nuevo y mejor modelo de detección de objetos de última generación, YOLO-NAS. Es un algoritmo de detección de objetos desarrollado por Deci AI para abordar las limitaciones de los modelos YOLO (You Only Look Once) anteriores.
El modelo está construido a partir de AutoNAC, un motor de búsqueda de arquitectura neuronal. Supera la velocidad y el rendimiento de los modelos SOTA, lo que presenta un gran salto en la detección de objetos al mejorar las compensaciones entre precisión, latencia y soporte de cuantificación.
Este artículo analizará las fortalezas y características de YOLO-NAS y explorará por qué es el mejor modelo de detección de objetos de la serie YOLO.
Comprender cómo funciona YOLO-NAS
AutoNAC (Construcción automatizada de arquitectura neuronal) de Deci genera la arquitectura de YOLO-NAS. AutoNAC es un proceso fluido que proporciona un aumento de rendimiento a las redes neuronales profundas existentes.
El proceso AutoNAC toma una red neuronal profunda entrenada por el usuario como entrada, un conjunto de datos y acceso a un sistema de inferencia. Luego, la red neuronal profunda entrenada por el usuario se rediseña utilizando la canalización. De esta manera se logra una arquitectura optimizada con menor latencia sin comprometer la precisión.
YOLO-NAS utiliza RepVGG. RepVGG lo pone a disposición para la optimización posterior al entrenamiento mediante reparametrización o cuantificación posterior al entrenamiento. Es un tipo de arquitectura de red neuronal basada en VGG. Utiliza técnicas de regularización diseñadas para mejorar la capacidad de generalización de los modelos de aprendizaje profundo.
El diseño de la arquitectura es más eficiente en velocidad y memoria. RepVGG se capacita utilizando una arquitectura de múltiples ramas para lograr una inferencia más rápida. Luego se convierte en una única rama mediante reparametrización.
Esta característica hace que YOLO-NAS sea muy útil para la implementación de producción. Esto se debe a que es posible entrenar y optimizar el modelo con total precisión para la velocidad de inferencia y el uso de la memoria.
Características clave de YOLO-NAS
Las características clave de YOLO-NAS incluyen las siguientes:
- Entrenamiento compatible con la cuantificación: el modelo utiliza QSP y QCI (módulos compatibles con la cuantificación) para reducir la pérdida de precisión durante la cuantificación posterior al entrenamiento mediante la combinación de la reparametrización de la cuantificación de 8 bits.
- Diseño de arquitectura automática: AutoNAC, la tecnología NAS patentada de Deci, busca una arquitectura de modelo óptima que integre las arquitecturas fundamentales de los modelos YOLO para generar un modelo optimizado.
- Técnica de cuantificación híbrida: el método de cuantificación estándar afecta a todo el modelo. Por el contrario, la técnica de cuantificación híbrida cuantifica una sección de un modelo para equilibrar la latencia y la precisión del modelo.
- Utilice enfoques únicos para preparar el modelo para el entrenamiento mediante el uso de datos etiquetados automáticamente. Luego, el modelo aprende de sus predicciones y accede a grandes cantidades de datos.
Análisis comparativo: YOLO-NAS frente a otros modelos YOLO
A continuación se muestra una comparación entre varios modelos de la serie YOLO.
YOLO-NAS es mejor que los modelos de detección de objetos preexistentes, pero tiene sus desventajas. Aquí hay una lista de los beneficios y desventajas de YOLO-NAS:
Ventajas
- Es de código abierto.
- Es entre un 10% y un 20% más rápido que los modelos YOLO preexistentes.
- Es más preciso en comparación con los modelos YOLO preexistentes.
- Utiliza una mejor arquitectura, AutoNAC. Esto establece un nuevo récord en detección de objetos, proporcionando la mejor precisión y rendimiento de compensación de latencia.
- Soporte perfecto para motores de inferencia como NVIDIA. Esta característica lo convierte en un modelo listo para producción.
- Tiene una mejor eficiencia de la memoria y mayores velocidades de inferencia.
Desventajas
- Todavía no es estable ya que la tecnología aún es nueva y no se ha utilizado mucho en la producción.
Implementación de YOLO-NAS
Utilizará Google Colab para escribir y ejecutar los códigos en esta implementación. Una alternativa para Google Colab sería crear un entorno virtual y utilizar un IDE en su máquina local.
El modelo requiere muchos recursos. Asegúrese de tener al menos 8 GB de RAM antes de ejecutarlo en su máquina. Cuanto mayor sea el tamaño del vídeo, más memoria utilizará.
Instalación de dependencias
Instale la dependencia YOLO-NAS, supergradientes usando el siguiente comando:
pip install super-gradients==3.1.2
Después de una instalación exitosa, ahora podrá entrenar el modelo YOLO-NAS.
Entrenamiento modelo
Para entrenar el modelo, ejecute el siguiente bloque de código:
from super_gradients.training import models
yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="coco")
Está importando el modelo de entrenamiento desde la biblioteca SuperGradients instalada en este código. Luego, estará utilizando los pesos del modelo previamente entrenado del conjunto de datos COCO.
Inferencia del modelo
La inferencia del modelo tiene aplicaciones potenciales para tareas de detección, clasificación y segmentación de imágenes.
En este caso, te centrarás en la tarea de detección de objetos para vídeos e imágenes. Para detectar un objeto en una imagen, ejecute el siguiente bloque de código:
url = "img_path"
yolo_nas_l.predict(url, conf=0.25).show()
Asegúrese de utilizar la ruta precisa a su imagen. En este caso, cargue la imagen en el entorno de Google Colab y luego copie la ruta de la imagen.
Rendimiento esperado:
Para detectar objetos en un video, ejecute el siguiente bloque de código:
import torch
input_video_path = "path_to_video"
output_video_path = "detected.mp4"
device = 'cuda' if torch.cuda.is_available() else "cpu"
yolo_nas_l.to(device).predict(input_video_path).save(output_video_path)
Al igual que los datos de la imagen, cargue el video cuyos objetos desea que se detecten en el entorno de Google Colab y copie la ruta a la variable de video. Se podrá acceder al vídeo previsto desde el entorno de Google Colab con el nombre detected.mp4. Descargue el video a su máquina local antes de finalizar su sesión.
Rendimiento esperado:
YOLO-NAS también admite el ajuste de modelos y el entrenamiento con datos personalizados. La documentación está disponible en el cuaderno de inicio de ajuste fino de Deci.
Aplicaciones del mundo real de YOLO-NAS
Se puede acceder al código fuente de YOLO-NAS bajo la licencia Apache 2.0, a la que se puede acceder para uso no comercial. Para uso comercial, el modelo debe volver a entrenarse desde cero para obtener pesos personalizados.
Es un modelo versátil cuya aplicación es posible en varios campos, tales como:
Vehículos autónomos y robótica
YOLO-NAS puede mejorar las capacidades de percepción de los vehículos autónomos, permitiéndoles detectar y rastrear objetos de forma más rápida y precisa en tiempo real. Esta capacidad ayuda a garantizar la seguridad vial y una experiencia de conducción fluida.
Sistemas de Vigilancia y Seguridad
El modelo puede proporcionar una detección de objetos rápida, precisa y en tiempo real para sistemas de vigilancia y seguridad, lo que ayuda a identificar amenazas potenciales o actividades sospechosas, lo que resulta en mejores sistemas de seguridad.
Gestión minorista y de inventario
El modelo puede proporcionar capacidades de detección de objetos rápidas y precisas que permiten una gestión de inventario, seguimiento de existencias y optimización de estantes automatizados y eficientes en tiempo real. Este modelo ayuda a reducir los costos operativos y aumentar las ganancias.
Atención sanitaria e imágenes médicas
En el ámbito sanitario, YOLO-NAS es capaz de ayudar en la detección y análisis eficiente de anomalías de enfermedades o áreas de interés específicas. El modelo puede ayudar a los médicos a diagnosticar enfermedades con precisión y controlar a los pacientes, mejorando así el sector sanitario.
Comida para llevar de YOLO-NAS
YOLO-NAS es un nuevo modelo de detección de objetos que es pionero en una nueva forma de realizar la detección de objetos. Es mejor que los modelos SOTA. Su rendimiento en la detección de objetos es un gran salto para los proyectos de visión por computadora.