Skip to content
/ yolo-ios-app Public template
generated from ultralytics/template

Ultralytics YOLO iOS App source code for running YOLO in your own iOS apps 🌟

License

Notifications You must be signed in to change notification settings

ultralytics/yolo-ios-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Ultralytics logo

πŸš€ Ultralytics YOLO for iOS: App and Swift Package

Ultralytics Actions Discord Ultralytics Forums Ultralytics Reddit

Welcome to the Ultralytics YOLO iOS App GitHub repository! πŸ“– Leveraging Ultralytics' advanced YOLO11 models, this repository transforms your iOS device into an intelligent detection tool. Explore our guide to get started with the Ultralytics YOLO iOS App and discover the world in a new and exciting way.

πŸ“‚ Content

This repository is a comprehensive project that includes:

A primary iOS application that allows easy real-time object detection on iOS devices. Simply drag and drop your custom model to use it in the app.

A lightweight library for iOS, iPadOS, and macOS that simplifies working with YOLO-based models like YOLO11. Easily integrate YOLO models into your app with a single line of code:

let result = model(uiImage)
var body: some View {
    YOLOCamera(
        modelPathOrName: "yolo11n-seg",
        task: .segment,
        cameraPosition: .back
    )
    .ignoresSafeArea()
}

πŸ›  Quickstart Guide

If you're new to YOLO on mobile or just want to test your own model, we recommend starting with the main YOLOiOSApp.

Ultralytics YOLO iOS App (Main App)

If you'd like to integrate YOLO into your own app, check out the Swift Package and example usage.

Swift Package (YOLO Library)

Example Apps

✨ Highlights

Real-Time Inference

Achieve high-speed, high-accuracy object detection on iPhones and iPads using CoreML models.

Multi OS Support

The Swift Package supports iOS, iPadOS, and macOS.

Flexible Tasks

Supports object detection, with segmentation, classification, pose estimation and oriented bounding box detection in the pipeline.

πŸ§ͺ Testing

The repository includes comprehensive unit tests for both the YOLO Swift Package and the example applications. These tests ensure the reliability and stability of the codebase.

Running Tests

Tests require CoreML model files which are not included in the repository due to their large size. To run the tests:

  1. Set SKIP_MODEL_TESTS = false in the test files you want to run with model testing enabled
  2. Download the required CoreML models from Ultralytics
  3. Convert them to CoreML format using the Ultralytics Python library
  4. Add the .mlpackage files to your Xcode project
  5. Run the tests using Xcode's test navigator

If you don't have the model files, you can still run the tests with SKIP_MODEL_TESTS = true, which will skip model-dependent tests.

Test Coverage

  • YOLO Swift Package: Core functionality tests for object detection, segmentation, pose estimation, etc.
  • Example Apps: Tests for each example application, verifying UI components, model integration, and real-time inference.

Test Documentation

Each test directory includes a README.md with specific instructions for testing that component, including:

  • Required model files
  • How to obtain and convert models
  • Testing strategy
  • Test case explanations

πŸ’‘ Contribute

We warmly welcome your contributions to Ultralytics' open-source projects! Your support and contributions significantly impact. Get involved by reviewing our Contributing Guide, and share your feedback through our Survey. A massive thank you πŸ™ to everyone who contributes!

Ultralytics open-source contributors

πŸ“„ License

Ultralytics offers two licensing options:

  • AGPL-3.0 License: An OSI-approved open-source license, perfect for academics, researchers, and enthusiasts. It encourages sharing knowledge and collaboration. See the LICENSE file for details.

  • Enterprise License: Designed for commercial use, this license permits integrating Ultralytics software into proprietary products and services. For commercial use, please contact us through Ultralytics Licensing.

🀝 Contact

  • Submit Ultralytics bug reports and feature requests via GitHub Issues.
  • Join our Discord for assistance, questions, and discussions with the community and team!

Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord