Skip to content

Latest commit

 

History

History
146 lines (101 loc) · 10.5 KB

README.md

File metadata and controls

146 lines (101 loc) · 10.5 KB

Ultralytics logo

🚀 Ultralytics YOLO iOS App

Ultralytics Actions Discord Ultralytics Forums Ultralytics Reddit

Welcome to the Ultralytics YOLO iOS App GitHub repository! 📖 Leveraging Ultralytics' advanced YOLO11 object detection models, this app 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.

🛠 Quickstart: Setting Up the Ultralytics YOLO iOS App

Getting started with the Ultralytics YOLO iOS App is straightforward. Follow these steps to install the app on your iOS device.

Prerequisites

Ensure you have the following before you start:

  • Xcode: The Ultralytics YOLO iOS App requires Xcode installed on your macOS machine. Download it from the Mac App Store.

  • An iOS Device: For testing the app, you'll need an iPhone or iPad running iOS 14.0 or later. Note: trained models can only work on iPhone or iPad running iOS 17.0 or later.

  • An Apple Developer Account: A free Apple Developer account will suffice for device testing. Sign up here if you haven't already.

Installation

  1. Clone the Repository:

    git clone https://github.com/ultralytics/yolo-ios-app.git
  2. Open the Project in Xcode:

    Navigate to the cloned directory and open the YOLO.xcodeproj file.

    XCode load project screenshot

    In Xcode, go to the project's target settings and choose your Apple Developer account under the "Signing & Capabilities" tab.

  3. Add YOLO11 Models to the Project:

    Since the YOLO CoreML models are not versioned in this repository, you'll need to either:

    1. Create them by exporting your trained models to CoreML INT8 models using the ultralytics Python package (with pip install ultralytics).

      from ultralytics import YOLO
      
      # Load a trained YOLO11 PyTorch model
      model = YOLO("path/to/your/trained/model.pt")
      
      # Export the PyTorch model to CoreML INT8 format with NMS layers
      # The imgsz property may be adjusted when you export a trained model
      model.export(format="coreml", int8=True, nms=True, imgsz=640)
    2. Download the base models from our GitHub release assets.

      from ultralytics import YOLO
      
      # Loop through all YOLO11 model sizes and exclude any trained models from the loop
      for size in ("n", "s", "m", "l", "x"):
          # Load a base YOLO11 PyTorch model
          model = YOLO(f"yolo11{size}.pt")
      
          # Export the PyTorch model to CoreML INT8 format with NMS layers
          model.export(format="coreml", int8=True, nms=True)

    You should have 5 YOLO11 models in total. Place these in the YOLO/Models directory as seen in the Xcode screenshot below.

  4. Run the Ultralytics YOLO iOS App:

    Connect your iOS device and select it as the run target. Press the Run button to install the app on your device.

    Ultralytics YOLO XCode screenshot

🚀 Usage

The Ultralytics YOLO iOS App is designed to be intuitive:

  • Real-Time Detection: Launch the app and aim your camera at objects to detect them instantly.
  • Multiple AI Models: Select from a range of Ultralytics YOLO11 models, from YOLO11n 'nano' to YOLO11x 'x-large'.

💡 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