Saltar al contenido

Ultralytics Android App: Detección de Objetos en Tiempo Real con Modelos YOLO

Ultralytics Imagen previa del HUB

Ultralytics GitHubespacioUltralytics LinkedInespacioUltralytics TwitterespacioUltralytics YouTubeespacioUltralytics TikTokespacioUltralytics BiliBiliespacioUltralytics Discordia

Google Play Store 

La aplicación Ultralytics Android es una potente herramienta que te permite ejecutar modelos YOLO directamente en tu dispositivo Android para detectar objetos en tiempo real. Esta app utiliza TensorFlow Lite para la optimización de modelos y varios delegados de hardware para la aceleración, lo que permite una detección de objetos rápida y eficaz.



Observa: Primeros pasos con la aplicación Ultralytics HUB (IOS & Android)

Cuantización y aceleración

Para conseguir un rendimiento en tiempo real en tu dispositivo Android , los modelos YOLO se cuantizan a una precisión FP16 o INT8. La cuantización es un proceso que reduce la precisión numérica del modelo weights and biases, reduciendo así el tamaño del modelo y la cantidad de cálculo necesaria. Así se consiguen tiempos de inferencia más rápidos sin afectar significativamente a la precisión del modelo.

Cuantización FP16

La cuantización FP16 (o de media precisión) convierte los números de coma flotante de 32 bits del modelo en números de coma flotante de 16 bits. Esto reduce el tamaño del modelo a la mitad y acelera el proceso de inferencia, manteniendo un buen equilibrio entre precisión y rendimiento.

Cuantización INT8

La cuantización INT8 (o entero de 8 bits) reduce aún más el tamaño y los requisitos de cálculo del modelo al convertir sus números de coma flotante de 32 bits en enteros de 8 bits. Este método de cuantización puede suponer un aumento significativo de la velocidad, pero puede conllevar una ligera reducción de la precisión media (mAP) debido a la menor precisión numérica.

Reducción del mAP en los modelos INT8

La menor precisión numérica de los modelos INT8 puede provocar cierta pérdida de información durante el proceso de cuantización, lo que puede dar lugar a una ligera disminución del mAP. Sin embargo, esta compensación suele ser aceptable teniendo en cuenta las sustanciales ganancias de rendimiento que ofrece la cuantización INT8.

Delegados y variabilidad del rendimiento

Existen diferentes delegados en los dispositivos Android para acelerar la inferencia del modelo. Estos delegados incluyen CPU, GPUHexagon y NNAPI. El rendimiento de estos delegados varía en función del proveedor de hardware del dispositivo, la línea de productos y los chipsets específicos utilizados en el dispositivo.

  1. CPU: La opción por defecto, con un rendimiento razonable en la mayoría de los dispositivos.
  2. GPU: Utiliza el GPU del dispositivo para una inferencia más rápida. Puede proporcionar un aumento significativo del rendimiento en dispositivos con GPU potentes.
  3. Hexagon: Aprovecha el DSP Hexagon de Qualcomm para un procesamiento más rápido y eficiente. Esta opción está disponible en dispositivos con procesadores Qualcomm Snapdragon.
  4. NNAPI: La API deredes neuronales Android (NNAPI) sirve como capa de abstracción para ejecutar modelos ML en dispositivos Android . La NNAPI puede utilizar varios aceleradores de hardware, como CPU, GPU, y chips de IA dedicados (por ejemplo, Google's Edge TPU, o el Pixel Neural Core).

Aquí tienes una tabla que muestra los principales proveedores, sus líneas de productos, los dispositivos más populares y los delegados compatibles:

VendedorLíneas de productosDispositivos popularesDelegados apoyados
QualcommSnapdragon (por ejemplo, serie 800)Samsung Galaxy S21, OnePlus 9, Google Pixel 6CPU, GPU, Hexágono, NNAPI
SamsungExynos (por ejemplo, Exynos 2100)Samsung Galaxy S21 (versión Global)CPU, GPU, NNAPI
MediaTekDimensidad (por ejemplo, Dimensidad 1200)Realme GT, Xiaomi Redmi NoteCPU, GPU, NNAPI
HiSiliconKirin (por ejemplo, Kirin 990)Huawei P40 Pro, Huawei Mate 30 ProCPU, GPU, NNAPI
NVIDIATegra (por ejemplo, Tegra X1)NVIDIA Shield TV, Nintendo SwitchCPU, GPU, NNAPI

Ten en cuenta que la lista de dispositivos mencionada no es exhaustiva y puede variar en función de los chipsets y modelos de dispositivos concretos. Prueba siempre tus modelos en los dispositivos de destino para garantizar la compatibilidad y un rendimiento óptimo.

Ten en cuenta que la elección del delegado puede afectar al rendimiento y a la compatibilidad del modelo. Por ejemplo, algunos modelos pueden no funcionar con determinados delegados, o un delegado puede no estar disponible en un dispositivo concreto. Por ello, es esencial que pruebes tu modelo y el delegado elegido en los dispositivos de destino para obtener los mejores resultados.

Cómo empezar a utilizar la aplicación Ultralytics Android

Para empezar a utilizar la aplicación Ultralytics Android , sigue estos pasos:

  1. Descarga la aplicación Ultralytics en Google Play Store.

  2. Abre la aplicación en tu dispositivo Android e inicia sesión con tu cuenta de Ultralytics . Si aún no tienes una cuenta, créala aquí.

  3. Una vez iniciada la sesión, verás una lista de tus modelos entrenados YOLO . Selecciona un modelo para utilizarlo en la detección de objetos.

  4. Concede a la aplicación permiso para acceder a la cámara de tu dispositivo.

  5. Apunta con la cámara de tu dispositivo a los objetos que quieras detectar. La aplicación mostrará cuadros delimitadores y etiquetas de clase en tiempo real a medida que detecte objetos.

  6. Explora la configuración de la aplicación para ajustar el umbral de detección, activar o desactivar clases específicas de objetos y mucho más.

Con la aplicación Ultralytics Android , ahora tienes al alcance de la mano el poder de la detección de objetos en tiempo real utilizando los modelos YOLO . Disfruta explorando las funciones de la aplicación y optimizando su configuración para adaptarla a tus casos de uso específicos.

📅 C reado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios