ultralytics/yolo-flutter-app

Official Ultralytics YOLO Flutter plugin for real-time inference on Android and iOS across major vision tasks.

What it solves

This project provides an official Flutter plugin that allows developers to integrate YOLO (You Only Look Once) models into iOS and Android applications. It simplifies the process of running computer vision tasks on-device, removing the need for complex native code for each platform.

How it works

The plugin provides a unified Dart API to handle different vision tasks. It supports three primary model loading flows: using official model IDs (which are downloaded and cached automatically), using custom exported models (TFLite for Android and Core ML for iOS), or loading models from a remote URL.

For inference, it offers two main entry points: YOLO for single-image processing and YOLOView for real-time camera streams. On Android, it utilizes LiteRT (TFLite) with an automatic GPU/CPU accelerator ladder, and optionally supports Qualcomm NPU (QNN) for Snapdragon devices.

Who it’s for

Flutter developers who want to add real-time object detection, segmentation, or pose estimation to their mobile apps without writing native Swift or Kotlin code.

Highlights

  • Multi-task Support: Supports object detection, instance and semantic segmentation, depth estimation, classification, pose estimation, and oriented bounding boxes (OBB).
  • Cross-Platform: A single Dart API for both iOS and Android.
  • Metadata-Driven: Automatically infers the task and class labels from embedded model metadata.
  • Hardware Acceleration: Supports GPU acceleration and opt-in Qualcomm NPU (QNN) support for high-performance Android inference.
  • Flexible Model Loading: Supports official, custom, and remote models.