Evaluando Modelos de Aprendizaje Profundo para Detección de Objetos en Dispositivos de Borde
Un estudio sobre el rendimiento de los modelos de detección de objetos en dispositivos de computación pequeños.
Daghash K. Alqahtani, Aamir Cheema, Adel N. Toosi
― 10 minilectura
Tabla de contenidos
- Importancia de la Detección de Objetos
- Desafíos en la Computación en el Borde
- Evaluando Modelos de Detección de Objetos
- Contribuciones Clave
- Dispositivos de Borde
- Raspberry Pi
- Acelerador TPU
- NVIDIA Jetson
- Modelos de Aprendizaje Profundo para Detección de Objetos
- You Only Look Once (YOLO)
- Single Shot Multibox Detector (SSD)
- EfficientDet
- Metodología para la Evaluación del Rendimiento
- Medición del Tiempo de Inferencia
- Medición del Consumo de Energía
- Evaluación del Modelo Usando el Conjunto de Datos COCO
- Configuración Experimental
- Configuración de Hardware
- Software y Frameworks
- Procedimiento Experimental
- Resultados
- Resultados de Consumo de Energía
- Resultados de Tiempo de Inferencia
- Resultados de Precisión
- Relaciones Entre Métricas
- Conclusiones
- Fuente original
En el mundo de hoy, muchas aplicaciones usan tecnología inteligente para hacer tareas como reconocer objetos en imágenes o videos. Esto es especialmente importante en áreas como los coches autónomos, donde las máquinas necesitan detectar peatones, otros vehículos y obstáculos para operar de manera segura. Para que estos sistemas funcionen rápido, a menudo dependen de modelos de aprendizaje profundo que pueden identificar objetos en tiempo real. Sin embargo, ejecutar estos modelos en dispositivos pequeños con recursos limitados, como la Raspberry Pi o Jetson Nano, presenta algunos desafíos.
Este artículo analiza diferentes modelos de aprendizaje profundo diseñados para la Detección de Objetos y cómo se desempeñan en varios dispositivos de computación pequeños. Evaluaremos estos modelos en términos de velocidad, eficiencia y cuán precisamente detectan objetos.
Importancia de la Detección de Objetos
La detección de objetos es un aspecto clave de la visión por computadora, que permite a las máquinas ver y entender el mundo que las rodea. Ayuda a las empresas a automatizar procesos y tiene muchos usos en diferentes campos. Por ejemplo, en el sector salud, la detección de objetos puede ayudar a analizar imágenes médicas. En la agricultura, ayuda a monitorear cultivos. En la fabricación, asegura la seguridad y el control de calidad.
En los coches autónomos, la detección de objetos es crucial para identificar el entorno del coche y tomar decisiones rápidas para evitar accidentes. Depende de computadoras y sensores a bordo para procesar información localmente, lo que permite respuestas rápidas para una navegación segura.
Desafíos en la Computación en el Borde
Con el auge de la computación en el borde, muchas aplicaciones ahora pueden ejecutarse directamente en dispositivos como smartphones y drones. Esto reduce la necesidad de enviar datos a la nube para su procesamiento, lo que puede llevar tiempo. Sin embargo, crear sistemas efectivos de detección de objetos para estos dispositivos no está libre de desafíos. Los recursos suelen ser limitados y el Consumo de energía varía ampliamente entre diferentes modelos y dispositivos.
Investigadores y desarrolladores deben elegir los modelos y dispositivos correctos para equilibrar rendimiento y eficiencia. Este artículo evalúa modelos populares de aprendizaje profundo utilizados para la detección de objetos, examinando su efectividad en varios dispositivos de borde.
Evaluando Modelos de Detección de Objetos
Este artículo se centra en evaluar tres modelos de aprendizaje profundo bien conocidos para la detección de objetos: YOLOv8, EfficientDet Lite y SSD. Estos modelos se probarán en varios dispositivos de borde, incluyendo la Raspberry Pi 3, 4 y 5, así como el Jetson Orin Nano.
Recopilaremos información importante como el consumo de energía de los modelos, la velocidad de detección (tiempo de inferencia) y la precisión (medida utilizando la Precisión Media Promedio o mAP).
Contribuciones Clave
Nuestro trabajo incluye varias contribuciones clave:
- Desarrollo de un servicio web para procesar imágenes usando detección de objetos.
- Uso de diferentes frameworks como PyTorch, TensorFlow Lite y TensorRT para desplegar modelos en dispositivos de borde.
- Evaluación de la precisión del modelo usando una herramienta llamada FiftyOne, junto con la medición de su rendimiento en varios dispositivos.
- Realización de pruebas de rendimiento para evaluar el consumo de energía y el tiempo de inferencia de diferentes modelos.
Dispositivos de Borde
Raspberry Pi
La Raspberry Pi es una computadora pequeña y económica que puede conectarse a varios accesorios como teclados y monitores. Se utiliza mucho en robótica, aplicaciones IoT y tareas de procesamiento en tiempo real. Los últimos modelos incluyen la Raspberry Pi 3, 4 y 5. Cada nueva versión mejora la velocidad, el manejo multimedia y la capacidad de memoria.
Acelerador TPU
El Coral USB Accelerator es un dispositivo que funciona como un Edge TPU. Se conecta a través de USB y ayuda a acelerar tareas de aprendizaje automático. El Edge TPU está diseñado específicamente por Google para ejecutar modelos en dispositivos pequeños como la Raspberry Pi, haciendo las computaciones más rápidas y eficientes.
NVIDIA Jetson
La serie NVIDIA Jetson Orin está diseñada para computación de alto rendimiento en máquinas que requieren inteligencia artificial. Estos dispositivos pueden manejar muchas tareas a la vez y son perfectos para robótica avanzada y aplicaciones. El Jetson Orin Nano es un modelo de nivel básico enfocado en la eficiencia energética y la relación costo-efectividad.
Modelos de Aprendizaje Profundo para Detección de Objetos
Los modelos de aprendizaje profundo para detección de objetos típicamente utilizan redes neuronales convolucionales (CNN), que imitan la forma en que funciona el cerebro humano. Estas redes consisten en diferentes capas que procesan información, permitiendo que el modelo identifique objetos con alta precisión mientras requiere ajustes manuales mínimos.
Hay dos categorías de modelos de detección de objetos: detectores de una etapa y de dos etapas. Los modelos de una etapa predicen la ubicación y categoría de un objeto en una sola pasada, haciéndolos más rápidos y más adecuados para aplicaciones en tiempo real. Ejemplos de modelos de una etapa incluyen YOLO, SSD y EfficientDet.
You Only Look Once (YOLO)
Introducido en 2015, YOLO es un desarrollo significativo en la detección de objetos en tiempo real. En lugar de examinar múltiples secciones de una imagen individualmente, YOLO procesa la imagen completa a la vez para predecir las cajas delimitadoras y clases de objetos. Este método permite una detección más rápida, haciéndolo ideal para aplicaciones sensibles al tiempo. YOLO ha evolucionado a través de varias iteraciones, siendo YOLOv8 la última versión que ofrece mejor precisión y velocidad.
Single Shot Multibox Detector (SSD)
El algoritmo SSD también predice múltiples cajas delimitadoras y puntajes de clases en una sola pasada. Utiliza mapas de características de diferentes capas de la red para permitir la detección a diferentes escalas. Esta capacidad ayuda a identificar objetos de varios tamaños de manera más efectiva.
EfficientDet
EfficientDet, desarrollado por Google, está diseñado para ser eficiente y escalable. Al usar un método que escala profundidad, ancho y resolución, equilibra el rendimiento con costos computacionales más bajos. Los modelos EfficientDet están disponibles en múltiples versiones, cada una optimizada para diferentes limitaciones de recursos.
Metodología para la Evaluación del Rendimiento
La evaluación del rendimiento incluye probar los modelos en varios dispositivos de borde, específicamente la Raspberry Pi 3, 4, 5 y Jetson Orin Nano. La evaluación se centra en tres métricas principales: tiempo de inferencia, consumo de energía y Precisión Media Promedio (mAP).
Medición del Tiempo de Inferencia
El tiempo de inferencia mide cuánto tarda un modelo en procesar una imagen de entrada y proporcionar resultados de detección. Es crucial para aplicaciones que requieren respuestas en tiempo real. Informaremos cuánto tiempo tarda cada modelo en milisegundos.
Medición del Consumo de Energía
El consumo de energía se evalúa para determinar cuán eficientemente opera cada modelo en diferentes dispositivos de borde. Compararemos el uso de energía de los dispositivos cuando están inactivos y cuando ejecutan los modelos. Esta métrica es esencial para dispositivos alimentados por batería, donde el ahorro de energía puede ser crítico.
Evaluación del Modelo Usando el Conjunto de Datos COCO
Para examinar la precisión de los modelos, utilizaremos un conjunto de datos de validación que contiene numerosas imágenes. La herramienta FiftyOne ayuda a evaluar esta precisión comparando las detecciones de los modelos con referencias conocidas. Observaremos varias métricas, incluyendo Precisión, Recall, puntaje F1 y mAP.
Configuración Experimental
Configuración de Hardware
Nuestros experimentos involucran varios dispositivos de borde para evaluar el rendimiento de los modelos. Seleccionamos dispositivos populares y asequibles como la Raspberry Pi 3, 4 y 5. Para mejorar sus capacidades computacionales, utilizamos Aceleradores USB Coral de Google. Para comparaciones de alto rendimiento, incluimos el NVIDIA Jetson Orin Nano.
Software y Frameworks
Se emplean diferentes herramientas y frameworks de software para ejecutar los modelos en los dispositivos de borde. La elección del software depende de optimizar el rendimiento para dispositivos específicos. Por ejemplo, usamos PyTorch para desplegar modelos YOLO, mientras que TensorFlow Lite se utiliza para ejecutar modelos EfficientDet y SSD en Raspberry Pi.
Procedimiento Experimental
El procedimiento experimental implica varios pasos. Primero, medimos el consumo de energía base de cada dispositivo sin ninguna carga computacional. Luego, ejecutamos nuestro servicio de detección de objetos y recopilamos datos sobre el uso total de energía mientras medimos los tiempos de inferencia para cada modelo. Finalmente, utilizamos la herramienta FiftyOne para evaluar la precisión procesando el conjunto de datos de validación COCO.
Resultados
Resultados de Consumo de Energía
Encontramos que la Raspberry Pi 3 tiene el mayor consumo de energía con 270 mWh, en comparación con 199 mWh para la Pi 4 y 217 mWh para la Pi 5. El Jetson Orin Nano tiene el mayor consumo de energía base con 362 mWh. Al examinar el consumo de energía por solicitud, los modelos YOLO tienden a consumir más energía que los modelos EfficientDet y SSD.
Resultados de Tiempo de Inferencia
El modelo SSD en la Raspberry Pi 3 tiene el tiempo de inferencia más bajo con 427 milisegundos. Los modelos YOLO son más lentos, con el tiempo máximo registrado de más de 12,000 milisegundos. La integración del TPU mejora significativamente el rendimiento, con SSD v1 logrando el tiempo más bajo de solo 61 milisegundos cuando se combina con una Raspberry Pi 3.
Resultados de Precisión
El modelo SSD mostró el mAP más bajo con 19, mientras que el modelo YOLOv8 m tuvo el más alto con 44. Al ejecutar modelos YOLO en dispositivos Raspberry Pi con aceleración TPU, la precisión disminuyó para algunas configuraciones. El Jetson Orin Nano mostró patrones de precisión comparables para los modelos YOLO, pero mostró ligeras caídas en el rendimiento para otros modelos.
Relaciones Entre Métricas
Observamos que el consumo de energía y el tiempo de inferencia a menudo están relacionados. A medida que disminuyen los tiempos de inferencia, el consumo de energía tiende a mantenerse bajo también para ciertos modelos. El Jetson Orin Nano superó a otros dispositivos en eficiencia energética al examinar los diferentes modelos.
Conclusiones
Esta evaluación muestra que existe un compromiso entre precisión, consumo de energía y tiempo de inferencia al usar diferentes modelos de detección de objetos en dispositivos de borde. El modelo SSD es el más eficiente en energía y rápido, pero no es tan preciso como otros modelos. El Jetson Orin Nano destaca como la mejor opción para equilibrar velocidad, eficiencia y precisión con los modelos YOLOv8.
La exploración futura implicará probar modelos cuantificados en dispositivos de borde, ya que las optimizaciones podrían cambiar significativamente los resultados de rendimiento. Al continuar evaluando cómo se desempeñan estos modelos en varios dispositivos, podemos proporcionar mejores recomendaciones para desarrolladores e investigadores que buscan implementar sistemas de detección de objetos en aplicaciones del mundo real.
Título: Benchmarking Deep Learning Models for Object Detection on Edge Computing Devices
Resumen: Modern applications, such as autonomous vehicles, require deploying deep learning algorithms on resource-constrained edge devices for real-time image and video processing. However, there is limited understanding of the efficiency and performance of various object detection models on these devices. In this paper, we evaluate state-of-the-art object detection models, including YOLOv8 (Nano, Small, Medium), EfficientDet Lite (Lite0, Lite1, Lite2), and SSD (SSD MobileNet V1, SSDLite MobileDet). We deployed these models on popular edge devices like the Raspberry Pi 3, 4, and 5 with/without TPU accelerators, and Jetson Orin Nano, collecting key performance metrics such as energy consumption, inference time, and Mean Average Precision (mAP). Our findings highlight that lower mAP models such as SSD MobileNet V1 are more energy-efficient and faster in inference, whereas higher mAP models like YOLOv8 Medium generally consume more energy and have slower inference, though with exceptions when accelerators like TPUs are used. Among the edge devices, Jetson Orin Nano stands out as the fastest and most energy-efficient option for request handling, despite having the highest idle energy consumption. These results emphasize the need to balance accuracy, speed, and energy efficiency when deploying deep learning models on edge devices, offering valuable guidance for practitioners and researchers selecting models and devices for their applications.
Autores: Daghash K. Alqahtani, Aamir Cheema, Adel N. Toosi
Última actualización: Sep 25, 2024
Idioma: English
Fuente URL: https://arxiv.org/abs/2409.16808
Fuente PDF: https://arxiv.org/pdf/2409.16808
Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.