Ultralytics YOLO27: Tham gia danh sách chờ.
Bắt đầu

Triển khai Ultralytics YOLO trên MediaTek Dimensity với LiteRT

MediaTek Dimensity chip on a circuit board

Ultralytics YOLO chạy trên điện thoại Android MediaTek Dimensity thông qua bản export LiteRT hiện có. Không có định dạng export riêng cho MediaTek: hãy export model .tflite tiêu chuẩn rồi chạy trên Android bằng plugin Ultralytics YOLO Flutter chính thức, sử dụng LiteRT để suy luận trên CPU và GPU.

Export#

Hỗ trợ export LiteRT trên Linux x86_64 và macOS, nhưng không hỗ trợ trên máy chủ Linux aarch64 như NVIDIA Jetson. Export model phân loại tại imgsz=224 và tất cả tác vụ khác tại imgsz=640.

pip install ultralytics
Export sang LiteRT
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640)  # tạo 'yolo26n.tflite' (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640)  # tạo tệp 'yolo26n_w8a32.tflite'

Bạn có thể kiểm tra model đã export trên máy chủ bằng YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg"). Thao tác này chạy LiteRT cục bộ, không chọn hoặc kiểm tra NPU MediaTek. Xem hướng dẫn LiteRT để biết cách dự đoán, xác thực và tất cả tham số export.

Triển khai trên Android#

Plugin Ultralytics YOLO Flutter chạy các bản export LiteRT .tflite trên Android, hỗ trợ suy luận qua camera và ảnh đơn cho cả bảy tác vụ YOLO26. Các tài nguyên w8a32 chính thức được phát hành trong bản phát hành v0.7.0 của yolo-flutter-app.

Dùng thử ứng dụng Ultralytics YOLO Android trên Google Play. Các ảnh xem trước bên dưới hiển thị ứng dụng trên iOS.

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

Get it on Google Play

Để chạy model đã export, hãy sao chép yolo26n_w8a32.tflite vào assets/models/ trong ứng dụng Flutter, rồi thêm plugin và tài nguyên vào pubspec.yaml:

dependencies:
    flutter:
        sdk: flutter
    ultralytics_yolo: ^0.7.1

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

Chạy flutter pub get, sau đó dùng model để suy luận qua camera trong 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'),
        ),
      ),
    );

Đặt SDK tối thiểu của Android là 24, thêm quyền truy cập camera và chạy flutter run trên điện thoại. Xem hướng dẫn cài đặt plugin để thiết lập Android và hướng dẫn bắt đầu nhanh để suy luận ảnh đơn. Plugin thử suy luận bằng GPU và chuyển sang CPU nếu thiết bị hoặc model không thể sử dụng GPU.

Hỗ trợ NPU MediaTek đang ở giai đoạn nguyên mẫu

Trên thiết bị MediaTek, plugin Flutter đã phát hành hỗ trợ suy luận LiteRT trên CPU và GPU, nhưng không hỗ trợ NPU MediaTek. Kết quả NPU bên dưới được đo bằng bản dựng NPU nguyên mẫu chưa phát hành của plugin và runtime NPU LiteRT mediatek 2.3.0, sử dụng các bản export FP32 (không có quantize). Các tài nguyên w8a32 không thể biên dịch hoàn toàn trên NPU.

Hiệu năng đo được#

Kết quả Xiaomi 17T Pro trong hướng dẫn LiteRT bao gồm cả bảy tác vụ YOLO26n trên MediaTek Dimensity 9500 (MT6993), với MediaTek NPU 990 và Android 16 / API 36. Mỗi giá trị là trung bình của 15 lần gọi sau 3 lần chạy làm nóng. Các phép đo CPU và GPU sử dụng ultralytics_yolo 0.7.1 và các tài nguyên v0.7.0 w8a32 chính thức; các phép đo NPU nguyên mẫu sử dụng bản export FP32. Tác vụ phát hiện YOLO26n mất 31.4 ms trên CPU, 25.6 ms trên GPU và 11.0 ms trên đường chạy NPU nguyên mẫu. Depth và OBB không có kết quả NPU mà chạy trên GPU.

So sánh thêm thiết bị và model trên trang benchmark di động của Ultralytics.

MediaTek Genio#

Các kết quả này dành cho điện thoại Android Dimensity sử dụng LiteRT. Các nền tảng IoT MediaTek Genio sử dụng ngăn xếp phần mềm Yocto và NeuroPilot riêng. Ultralytics không xác thực hoặc tài liệu hóa việc triển khai trên Genio, và các kết quả Dimensity ở trên không áp dụng cho bo mạch Genio.

Câu hỏi thường gặp#

  • Dùng model.export(format="litert", imgsz=640) hoặc yolo export model=yolo26n.pt format=litert imgsz=640. Dùng imgsz=224 cho tác vụ phân loại. Tệp .tflite được tạo ra có thể chạy bằng plugin Flutter; không có định dạng export riêng cho MediaTek.

  • Plugin đã phát hành hỗ trợ suy luận LiteRT trên CPU và GPU. Các kết quả NPU ở trên sử dụng bản nguyên mẫu chưa phát hành với model FP32; các tài nguyên w8a32 chính thức không thể biên dịch hoàn toàn trên NPU.

  • Không. Các phép đo được thực hiện trên điện thoại Android, còn Genio sử dụng một ngăn xếp phần mềm khác. Ultralytics chưa xác thực việc triển khai trên Genio.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.