Saltar al contenido

Ultralytics Aplicaci贸n Android: Detecci贸n de Objetos en Tiempo Real con Modelos YOLO

Ultralytics Imagen previa del HUB

Ultralytics GitHub espacio Ultralytics LinkedIn espacio Ultralytics Twitter espacio Ultralytics YouTube espacio Ultralytics TikTok espacio Ultralytics Instagram espacio Ultralytics Discordia

Tienda Google Play

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



Observa: C贸mo empezar con la aplicaci贸n Ultralytics HUB (IOS y 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 del modelo y los requisitos de c谩lculo 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

Hay diferentes delegados disponibles en los dispositivos Android para acelerar la inferencia del modelo. Estos delegados incluyen CPU, GPU, Hexagon 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 la 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 de Redes Neuronales de 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, el Edge de Google 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:

Vendedor L铆neas de productos Dispositivos populares Delegados apoyados
Qualcomm Snapdragon (por ejemplo, serie 800) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Hexagon, NNAPI
Samsung Exynos (por ejemplo, Exynos 2100) Samsung Galaxy S21 (versi贸n Global) CPU, GPU, NNAPI
MediaTek Dimensidad (por ejemplo, Dimensidad 1200) Realme GT, Xiaomi Redmi Note CPU, GPU, NNAPI
HiSilicon Kirin (por ejemplo, Kirin 990) Huawei P40 Pro, Huawei Mate 30 Pro CPU, GPU, NNAPI
NVIDIA Tegra (por ejemplo, Tegra X1) NVIDIA Shield TV, Nintendo Switch CPU, 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.

Primeros pasos con la aplicaci贸n Android Ultralytics

Para empezar a utilizar la aplicaci贸n Android Ultralytics , 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 para Android, ahora tienes al alcance de la mano la potencia de la detecci贸n de objetos en tiempo real mediante 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.



Creado 2023-11-12, Actualizado 2024-03-01
Autores: RizwanMunawar (1), glenn-jocher (3)

Comentarios