Despliega Ultralytics YOLO en MediaTek Dimensity con LiteRT
Ultralytics YOLO se ejecuta en móviles Android MediaTek Dimensity mediante la exportación a LiteRT existente. No hay ningún formato de exportación específico de MediaTek: exporta un modelo estándar .tflite y ejecútalo en Android con el complemento oficial de Ultralytics YOLO para Flutter, que usa LiteRT para la inferencia en CPU y GPU.
Exportar#
La exportación a LiteRT es compatible con Linux x86_64 y macOS, pero no con hosts Linux aarch64 como NVIDIA Jetson. Exporta los modelos de clasificación en imgsz=224 y todas las demás tareas en imgsz=640.
pip install ultralyticsfrom ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640) # crea 'yolo26n.tflite' (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640) # crea 'yolo26n_w8a32.tflite'Puedes comprobar un modelo exportado en el host con YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg"). Esto ejecuta LiteRT localmente y no selecciona ni prueba una NPU de MediaTek. Consulta la guía de LiteRT para obtener información sobre la predicción, la validación y todos los argumentos de exportación.
Despliegue en Android#
El complemento de Ultralytics YOLO para Flutter ejecuta exportaciones LiteRT .tflite en Android, con inferencia de cámara y de una sola imagen para las siete tareas de YOLO26. Los recursos oficiales w8a32 se publican en la versión v0.7.0 de yolo-flutter-app.
Prueba la aplicación Ultralytics YOLO para Android en Google Play. Las vistas previas de abajo muestran la aplicación en iOS.
Para ejecutar el modelo exportado, copia yolo26n_w8a32.tflite en assets/models/ en una aplicación Flutter y añade el complemento y el recurso a pubspec.yaml:
dependencies:
flutter:
sdk: flutter
ultralytics_yolo: ^0.7.1
flutter:
assets:
- assets/models/yolo26n_w8a32.tfliteEjecuta flutter pub get y, a continuación, usa el modelo para la inferencia de cámara en lib/main.dart:
import 'package:flutter/material.dart';
import 'package:ultralytics_yolo/ultralytics_yolo.dart';
void main() => runApp(
MaterialApp(
home: Scaffold(
body: YOLOView(modelPath: 'assets/models/yolo26n_w8a32.tflite'),
),
),
);Establece el SDK mínimo de Android en 24, añade el permiso de cámara y ejecuta flutter run en el móvil. Consulta la guía de instalación del complemento para configurar Android y la guía de inicio rápido para la inferencia de una sola imagen. El complemento intenta realizar la inferencia en GPU y recurre a la CPU si el dispositivo o el modelo no pueden usar la GPU.
En los dispositivos MediaTek, el complemento Flutter publicado admite la inferencia LiteRT en CPU y GPU, pero no en la NPU de MediaTek. Los resultados de NPU que se muestran abajo se midieron con una versión prototipo del complemento para NPU, aún no publicada, y el entorno de ejecución LiteRT mediatek 2.3.0 para NPU, usando exportaciones FP32 (sin quantize). Los recursos w8a32 no se compilan por completo en la NPU.
Rendimiento medido#
Los resultados del Xiaomi 17T Pro en la guía de LiteRT abarcan las siete tareas de YOLO26n en un MediaTek Dimensity 9500 (MT6993) con MediaTek NPU 990 y Android 16 / API 36. Cada valor es la media de 15 llamadas tras 3 calentamientos. Las mediciones de CPU y GPU usaron ultralytics_yolo 0.7.1 y los recursos oficiales v0.7.0 w8a32; las mediciones de NPU del prototipo usaron exportaciones FP32. La detección de YOLO26n tarda 31,4 ms en la CPU, 25,6 ms en la GPU y 11,0 ms en la ruta del prototipo de NPU. Depth y OBB no tienen resultados de NPU y se ejecutan en la GPU.
Compara más dispositivos y modelos en la página de pruebas de rendimiento para móviles de Ultralytics.
MediaTek Genio#
Estos resultados corresponden a móviles Android Dimensity que usan LiteRT. Las plataformas IoT MediaTek Genio utilizan una pila de software Yocto y NeuroPilot independiente. Ultralytics no valida ni documenta el despliegue en Genio, y los resultados de Dimensity anteriores no son aplicables a las placas Genio.
Preguntas frecuentes#
Usa
model.export(format="litert", imgsz=640)oyolo export model=yolo26n.pt format=litert imgsz=640. Usaimgsz=224para la clasificación. El archivo.tfliteresultante puede ejecutarse con el complemento de Flutter; no hay un formato de exportación específico para MediaTek.El complemento publicado admite la inferencia LiteRT en CPU y GPU. Los resultados de NPU anteriores se obtuvieron con un prototipo no publicado y modelos FP32; los recursos oficiales
w8a32no se compilan por completo en la NPU.No. Las mediciones corresponden a un móvil Android, mientras que Genio utiliza una pila de software distinta. Ultralytics no ha validado el despliegue en Genio.
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.