Ultralytics YOLO mit LiteRT auf MediaTek Dimensity bereitstellen
Ultralytics YOLO läuft auf MediaTek Dimensity-Android-Smartphones über den vorhandenen LiteRT-Export. Es gibt kein spezielles Exportformat für MediaTek: Exportiere ein Standardmodell als .tflite und führe es unter Android mit dem offiziellen Ultralytics-YOLO-Flutter-Plug-in aus, das LiteRT für die CPU- und GPU-Inferenz verwendet.
Exportieren#
Der LiteRT-Export wird unter Linux x86_64 und macOS unterstützt, nicht jedoch auf Linux-aarch64-Hosts wie NVIDIA Jetson. Exportiere Klassifizierungsmodelle mit imgsz=224 und alle anderen Aufgaben mit imgsz=640.
pip install ultralyticsfrom ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640) # erstellt 'yolo26n.tflite' (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640) # Erstellt „yolo26n_w8a32.tflite“Du kannst ein exportiertes Modell auf dem Host mit YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg") überprüfen. Dabei wird LiteRT lokal ausgeführt; eine MediaTek-NPU wird weder ausgewählt noch getestet. Im LiteRT-Leitfaden findest du Informationen zu Vorhersagen, Validierung und allen Exportargumenten.
Unter Android bereitstellen#
Das Ultralytics-YOLO-Flutter-Plug-in führt LiteRT-.tflite-Exporte unter Android aus und unterstützt Kamera-Inferenz sowie Inferenz für einzelne Bilder bei allen sieben YOLO26-Aufgaben. Offizielle w8a32-Assets sind im Release v0.7.0 der App yolo-flutter-app verfügbar.
Probiere die Ultralytics-YOLO-Android-App bei Google Play aus. Die Vorschauen unten zeigen die App unter iOS.
Um dein exportiertes Modell auszuführen, kopiere yolo26n_w8a32.tflite in assets/models/ einer Flutter-App und füge das Plug-in und das Asset zu pubspec.yaml hinzu:
dependencies:
flutter:
sdk: flutter
ultralytics_yolo: ^0.7.1
flutter:
assets:
- assets/models/yolo26n_w8a32.tfliteFühre flutter pub get aus und verwende das Modell anschließend für die Kamera-Inferenz 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'),
),
),
);Setze die minimale SDK-Version von Android auf 24, füge die Kameraberechtigung hinzu und führe flutter run auf dem Smartphone aus. Informationen zur Android-Einrichtung findest du im Installationsleitfaden für das Plug-in, Informationen zur Inferenz für einzelne Bilder im Schnellstart. Das Plug-in versucht, die GPU für die Inferenz zu verwenden, und wechselt zur CPU, wenn das Gerät oder das Modell die GPU nicht nutzen kann.
Auf MediaTek-Geräten unterstützt das veröffentlichte Flutter-Plug-in LiteRT-Inferenz auf CPU und GPU, jedoch nicht die MediaTek-NPU. Die NPU-Ergebnisse unten wurden mit einem Prototyp einer unveröffentlichten NPU-Version des Plug-ins und der LiteRT-mediatek-NPU-Laufzeitumgebung 2.3.0 ermittelt. Dabei kamen FP32-Exporte zum Einsatz (kein quantize). Die w8a32-Assets lassen sich nicht vollständig auf der NPU kompilieren.
Gemessene Leistung#
Die Ergebnisse für das Xiaomi 17T Pro im LiteRT-Leitfaden umfassen alle sieben YOLO26n-Aufgaben auf einem MediaTek Dimensity 9500 (MT6993) mit MediaTek NPU 990 und Android 16 / API 36. Jeder Wert ist der Mittelwert aus 15 Aufrufen nach 3 Aufwärmläufen. Für die CPU- und GPU-Messungen kamen ultralytics_yolo 0.7.1 und die offiziellen Assets v0.7.0 w8a32 zum Einsatz; für die NPU-Messungen mit dem Prototyp wurden FP32-Exporte verwendet. Die YOLO26n-Detektion dauert auf der CPU 31,4 ms, auf der GPU 25,6 ms und mit dem NPU-Prototyp 11,0 ms. Für Tiefenschätzung und OBB gibt es keine NPU-Ergebnisse; diese Aufgaben werden stattdessen auf der GPU ausgeführt.
Vergleiche weitere Geräte und Modelle auf der Ultralytics-Seite mit mobilen Benchmarks.
MediaTek Genio#
Diese Ergebnisse gelten für Dimensity-Android-Smartphones, auf denen LiteRT ausgeführt wird. Die IoT-Plattformen Genio von MediaTek verwenden einen separaten Yocto- und NeuroPilot-Software-Stack. Ultralytics validiert oder dokumentiert keine Bereitstellung auf Genio; die oben genannten Dimensity-Ergebnisse gelten nicht für Genio-Boards.
Häufig gestellte Fragen#
Verwende
model.export(format="litert", imgsz=640)oderyolo export model=yolo26n.pt format=litert imgsz=640. Für die Klassifizierung verwendest duimgsz=224. Die resultierende.tflite-Datei kann mit dem Flutter-Plug-in ausgeführt werden; ein separates Exportformat für MediaTek gibt es nicht.Das veröffentlichte Plug-in unterstützt LiteRT-Inferenz auf CPU und GPU. Für die NPU-Ergebnisse oben kam ein unveröffentlichter Prototyp mit FP32-Modellen zum Einsatz; die offiziellen
w8a32-Assets lassen sich nicht vollständig auf der NPU kompilieren.Nein. Die Messungen stammen von einem Android-Smartphone, während Genio einen anderen Software-Stack verwendet. Ultralytics hat die Bereitstellung auf Genio nicht validiert.
Kommentare
Stell eine Frage, teile deine Ergebnisse oder hilf jemand anderem.