Ultralytics YOLO27 : Rejoins la liste d’attente.
Commencer

Déployer Ultralytics YOLO sur MediaTek Dimensity avec LiteRT

MediaTek Dimensity chip on a circuit board

Ultralytics YOLO fonctionne sur les téléphones Android MediaTek Dimensity grâce à l’export LiteRT existant. Il n’existe pas de format d’export propre à MediaTek : exporte un modèle standard .tflite et exécute-le sur Android avec le plugin Ultralytics YOLO officiel pour Flutter, qui utilise LiteRT pour l’inférence sur CPU et GPU.

Export#

L’export LiteRT est pris en charge sur Linux x86_64 et macOS, mais pas sur les hôtes Linux aarch64 tels que NVIDIA Jetson. Exporte les modèles de classification avec imgsz=224 et tous les autres types de tâches avec imgsz=640.

pip install ultralytics
Exporter vers LiteRT
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640)  # crée 'yolo26n.tflite' (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640)  # crée 'yolo26n_w8a32.tflite'

Tu peux vérifier un modèle exporté sur l’hôte avec YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg"). Cette commande exécute LiteRT localement et ne sélectionne ni ne teste un NPU MediaTek. Consulte le guide LiteRT pour la prédiction, la validation et tous les arguments d’export.

Déployer sur Android#

Le plugin Ultralytics YOLO officiel pour Flutter exécute les exports LiteRT .tflite sur Android, avec l’inférence par caméra et sur une seule image pour les sept tâches YOLO26. Les ressources officielles w8a32 sont publiées dans la version v0.7.0 de yolo-flutter-app.

Essaie l’application Ultralytics YOLO pour Android sur Google Play. Les aperçus ci-dessous montrent l’application sur iOS.

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

Get it on Google Play

Pour exécuter ton modèle exporté, copie yolo26n_w8a32.tflite dans assets/models/ d’une application Flutter, puis ajoute le plugin et la ressource à pubspec.yaml :

dependencies:
    flutter:
        sdk: flutter
    ultralytics_yolo: ^0.7.1

flutter:
    assets:
        - assets/models/yolo26n_w8a32.tflite

Exécute flutter pub get, puis utilise le modèle pour l’inférence par caméra dans 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'),
        ),
      ),
    );

Définis le SDK minimal Android sur 24, ajoute l’autorisation d’accès à la caméra et exécute flutter run sur le téléphone. Consulte le guide d’installation du plugin pour la configuration Android et le guide de démarrage rapide pour l’inférence sur une seule image. Le plugin tente d’utiliser le GPU pour l’inférence et bascule sur le CPU si l’appareil ou le modèle ne peut pas utiliser le GPU.

La prise en charge du NPU MediaTek est un prototype

Sur les appareils MediaTek, le plugin Flutter publié prend en charge l’inférence LiteRT sur CPU et GPU, mais pas sur le NPU MediaTek. Les résultats NPU ci-dessous ont été mesurés avec une version prototype non publiée du plugin, conçue pour le NPU, et le runtime NPU LiteRT mediatek 2.3.0, avec des exports FP32 (sans quantize). Les ressources w8a32 ne se compilent pas entièrement sur le NPU.

Performances mesurées#

Les résultats du Xiaomi 17T Pro dans le guide LiteRT couvrent les sept tâches YOLO26n sur un MediaTek Dimensity 9500 (MT6993) doté du MediaTek NPU 990 et d’Android 16 / API 36. Chaque valeur correspond à la moyenne de 15 appels après 3 échauffements. Les mesures CPU et GPU ont utilisé ultralytics_yolo 0.7.1 et les ressources officielles v0.7.0 w8a32 ; les mesures du prototype NPU ont utilisé des exports FP32. La détection YOLO26n prend 31.4 ms sur CPU, 25.6 ms sur GPU et 11.0 ms avec le prototype NPU. Aucun résultat NPU n’est disponible pour Depth et OBB ; ces tâches s’exécutent plutôt sur GPU.

Compare d’autres appareils et modèles sur la page des benchmarks mobiles Ultralytics.

MediaTek Genio#

Ces résultats concernent les téléphones Android Dimensity utilisant LiteRT. Les plateformes IoT MediaTek Genio reposent sur une pile logicielle Yocto et NeuroPilot distincte. Ultralytics ne valide ni ne documente le déploiement sur Genio, et les résultats Dimensity ci-dessus ne s’appliquent pas aux cartes Genio.

FAQ#

  • Utilise model.export(format="litert", imgsz=640) ou yolo export model=yolo26n.pt format=litert imgsz=640. Pour la classification, utilise imgsz=224. Le fichier .tflite obtenu peut être exécuté avec le plugin Flutter ; il n’existe pas de format d’export MediaTek distinct.

  • Le plugin publié prend en charge l’inférence LiteRT sur CPU et GPU. Les résultats NPU ci-dessus ont été obtenus avec un prototype non publié et des modèles FP32 ; les ressources officielles w8a32 ne se compilent pas entièrement sur le NPU.

  • Non. Les mesures proviennent d’un téléphone Android, tandis que Genio utilise une pile logicielle différente. Ultralytics n’a pas validé le déploiement sur Genio.

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un d’autre.