Ultralytics YOLO27: Únete a la lista de espera.
Empezar

Despliega Ultralytics YOLO en MediaTek Dimensity con LiteRT

MediaTek Dimensity chip on a circuit board

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 ultralytics
Exportar a LiteRT
from 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.

Ultralytics YOLO app previews on iOS showing segmentation, pose, depth, oriented boxes, and detection

Get it on Google Play

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.tflite

Ejecuta 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.

La compatibilidad con NPU de MediaTek es un prototipo

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) o yolo export model=yolo26n.pt format=litert imgsz=640. Usa imgsz=224 para la clasificación. El archivo .tflite resultante 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 w8a32 no 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.