Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Inizia

Distribuisci Ultralytics YOLO su MediaTek Dimensity con LiteRT

MediaTek Dimensity chip on a circuit board

Ultralytics YOLO funziona sui telefoni Android MediaTek Dimensity tramite l'esportazione LiteRT esistente. Non esiste un formato di esportazione specifico per MediaTek: esporta un modello standard .tflite ed eseguilo su Android con il plugin ufficiale Ultralytics YOLO per Flutter, che usa LiteRT per l'inferenza su CPU e GPU.

Esporta#

L'esportazione LiteRT è supportata su Linux x86_64 e macOS, ma non su host Linux aarch64 come NVIDIA Jetson. Esporta i modelli di classificazione in imgsz=224 e tutti gli altri modelli in imgsz=640.

pip install ultralytics
Esporta in 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'

Puoi verificare un modello esportato sull'host con YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg"). Questa operazione esegue LiteRT localmente e non seleziona né testa una NPU MediaTek. Consulta la guida LiteRT per la predizione, la validazione e tutti gli argomenti di esportazione.

Distribuzione su Android#

Il plugin Ultralytics YOLO per Flutter esegue su Android le esportazioni LiteRT .tflite, con inferenza dalla fotocamera e su singola immagine per tutte e sette le attività di YOLO26. Gli asset ufficiali w8a32 sono pubblicati nella release v0.7.0 di yolo-flutter-app.

Prova l'app Ultralytics YOLO per Android su Google Play. Le anteprime qui sotto mostrano l'app su iOS.

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

Get it on Google Play

Per eseguire il modello esportato, copia yolo26n_w8a32.tflite in assets/models/ in un'app Flutter e aggiungi il plugin e l'asset a pubspec.yaml:

dependencies:
    flutter:
        sdk: flutter
    ultralytics_yolo: ^0.7.1

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

Esegui flutter pub get, quindi usa il modello per l'inferenza dalla fotocamera in 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'),
        ),
      ),
    );

Imposta a 24 l'SDK minimo di Android, aggiungi l'autorizzazione per la fotocamera ed esegui flutter run sul telefono. Consulta la guida all'installazione del plugin per la configurazione Android e la guida rapida per l'inferenza su singola immagine. Il plugin prova a usare la GPU per l'inferenza e passa alla CPU se il dispositivo o il modello non possono usare la GPU.

Il supporto NPU MediaTek è un prototipo

Sui dispositivi MediaTek, il plugin Flutter rilasciato supporta l'inferenza LiteRT su CPU e GPU, ma non la NPU MediaTek. I risultati NPU qui sotto sono stati misurati con una versione prototipo non rilasciata del plugin con supporto NPU e il runtime NPU LiteRT mediatek 2.3.0, usando esportazioni FP32 (senza quantize). Gli asset w8a32 non vengono compilati completamente sulla NPU.

Prestazioni misurate#

I risultati di Xiaomi 17T Pro nella guida LiteRT coprono tutte e sette le attività di YOLO26n su un MediaTek Dimensity 9500 (MT6993) con MediaTek NPU 990 e Android 16 / API 36. Ogni valore è la media di 15 chiamate dopo 3 cicli di riscaldamento. Le misurazioni su CPU e GPU hanno usato ultralytics_yolo 0.7.1 e gli asset ufficiali v0.7.0 w8a32; le misurazioni NPU del prototipo hanno usato esportazioni FP32. Il rilevamento con YOLO26n richiede 31,4 ms sulla CPU, 25,6 ms sulla GPU e 11,0 ms sul percorso NPU prototipo. Profondità e OBB non hanno risultati NPU e vengono eseguiti sulla GPU.

Confronta altri dispositivi e modelli nella pagina dei benchmark mobile di Ultralytics.

MediaTek Genio#

Questi risultati riguardano i telefoni Android Dimensity che usano LiteRT. Le piattaforme IoT MediaTek Genio usano uno stack software Yocto e NeuroPilot separato. Ultralytics non convalida né documenta la distribuzione su Genio e i risultati Dimensity qui sopra non sono applicabili alle schede Genio.

Domande frequenti#

  • Usa model.export(format="litert", imgsz=640) o yolo export model=yolo26n.pt format=litert imgsz=640. Per la classificazione, usa imgsz=224. Il file .tflite risultante può essere eseguito con il plugin Flutter; non esiste un formato di esportazione MediaTek separato.

  • Il plugin rilasciato supporta l'inferenza LiteRT su CPU e GPU. I risultati NPU qui sopra sono stati ottenuti con un prototipo non rilasciato e modelli FP32; gli asset ufficiali w8a32 non vengono compilati completamente sulla NPU.

  • No. Le misurazioni provengono da un telefono Android, mentre Genio usa uno stack software diverso. Ultralytics non ha convalidato la distribuzione su Genio.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.