Distribuisci Ultralytics YOLO su MediaTek Dimensity con LiteRT
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 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'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.
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.tfliteEsegui 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.
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)oyolo export model=yolo26n.pt format=litert imgsz=640. Per la classificazione, usaimgsz=224. Il file.tfliterisultante 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
w8a32non 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.