适用于 iOS 的 开源Ultralytics YOLO:应用程序和 Swift 软件包,用于在您自己的 iOS 应用程序中运行 YOLO

news2025/5/16 6:08:22

​一、软件介绍

文末提供程序和源码下载

       该项目利用 Ultralytics 最先进的 YOLO11 模型将您的 iOS 设备转变为用于对象检测的强大实时推理工具。直接从 App Store 下载该应用程序,或浏览我们的指南,将 YOLO 功能集成到您自己的 Swift 应用程序中。 

二、Ultralytics YOLO iOS 应用程序(主应用程序)

     主要的 iOS 应用程序允许使用设备的相机或图像库轻松进行实时对象检测。您只需将自定义 CoreML 模型拖放到应用程序中,即可轻松测试这些模型。

三、Swift 包(YOLO 库)

专为 iOS、iPadOS 和 macOS 设计的轻量级 Swift 软件包。它简化了基于 YOLO 的模型(如 YOLO11)在您自己的应用程序中的集成和使用。使用 SwiftUI 以最少的代码轻松集成 YOLO 模型:

// Perform inference on a UIImage
let result = model(uiImage)
// Use the built-in camera view for real-time detection
var body: some View {
    YOLOCamera(
        modelPathOrName: "yolo11n-seg", // Specify model name or path
        task: .segment,                // Define the task (detect, segment, classify, pose)
        cameraPosition: .back          // Choose camera (back or front)
    )
    .ignoresSafeArea()
}

四、快速入门指南

首次在移动设备上使用 YOLO 或想要快速测试您的自定义模型?从主 YOLOiOSApp 开始。

  • Ultralytics YOLO iOS App (Main App): The easiest way to experience YOLO detection on iOS.
    Ultralytics YOLO iOS 应用程序(主应用程序):在 iOS 上体验 YOLO 检测的最简单方法。

Ready to integrate YOLO into your own project? Explore the Swift Package and example applications.
准备好将 YOLO 集成到您自己的项目中了吗?探索 Swift Package 和示例应用程序。

  • Swift Package (YOLO Library): Integrate YOLO capabilities into your Swift app.
    Swift 软件包(YOLO 库):将 YOLO 功能集成到您的 Swift 应用程序中。
  • Example Apps: See practical implementations using the YOLO Swift Package.
    示例应用程序:查看使用 YOLO Swift Package 的实际实现。

五、 主要亮点

  • Real-Time Inference: Achieve high-speed, high-accuracy object detection on iPhones and iPads using optimized CoreML models, potentially enhanced through techniques like model quantization.
    实时推理:使用优化的 CoreML 模型在 iPhone 和 iPad 上实现高速、高精度的对象检测,并可能通过模型量化等技术得到增强。
  • Multi-OS Support: The Swift Package is compatible with iOS, iPadOS, and macOS, enabling broad application deployment.
    多作系统支持:Swift 套件与 iOS、iPadOS 和 macOS 兼容,支持广泛的应用程序部署。
  • Flexible Tasks: Supports object detection, with segmentation, classification, pose estimation, and oriented bounding box (OBB) detection planned for future updates.
    灵活的任务:支持对象检测,并计划在未来更新中进行分割、分类、姿势估计和定向边界框 (OBB) 检测。

🧪 Testing Procedures 🧪 测试程序

This repository includes comprehensive unit tests for both the YOLO Swift Package and the example applications, ensuring code reliability and stability.
此存储库包括针对 YOLO Swift Package 和示例应用程序的全面单元测试,确保代码的可靠性和稳定性。

Running Tests 运行测试

Tests require CoreML model files (.mlpackage), which are not included in the repository due to their size. To run the tests with model validation:
测试需要 CoreML 模型文件 ( .mlpackage ),由于大小的原因,这些文件未包含在存储库中。要使用模型验证运行测试:

  1. Set SKIP_MODEL_TESTS = false in the relevant test files (e.g., YOLOv11Tests.swift).
    在 SKIP_MODEL_TESTS = false 相关测试文件中设置(例如 YOLOv11Tests.swift )。
  2. Download the required models from the Ultralytics releases or train your own using tools like Ultralytics HUB.
    从 Ultralytics 版本下载所需的模型,或使用 Ultralytics HUB 等工具训练您自己的模型。
  3. Convert the models to CoreML format using the Ultralytics Python library's export function.
    使用 Ultralytics Python 库的导出功能将模型转换为 CoreML 格式。
  4. Add the exported .mlpackage files to your Xcode project, ensuring they are included in the test targets.
    将导出 .mlpackage 的文件添加到您的 Xcode 项目中,确保它们包含在测试目标中。
  5. Run the tests using Xcode's Test Navigator (Cmd+U).
    使用 Xcode 的 Test Navigator (Cmd+U) 运行测试。

If you don't have the model files, you can still run tests by keeping SKIP_MODEL_TESTS = true. This will skip tests that require loading and running a model.
如果您没有模型文件,您仍然可以通过保留 SKIP_MODEL_TESTS = true 来运行测试。这将跳过需要加载和运行模型的测试。

Test Coverage 测试覆盖率

  • YOLO Swift Package: Includes tests for core functionalities like model loading, preprocessing, inference, and postprocessing across different tasks.
    YOLO Swift 软件包:包括对核心功能的测试,例如跨不同任务的模型加载、预处理、推理和后处理。
  • Example Apps: Contains tests verifying UI components, model integration, and real-time inference performance within the sample applications.
    示例应用程序:包含验证示例应用程序中的 UI 组件、模型集成和实时推理性能的测试。

Test Documentation 测试文档

Each test directory (e.g., Tests/YOLOTests) may include a README.md with specific instructions for testing that component, covering:
每个测试目录(例如) Tests/YOLOTests 可能包含一个 README.md ,其中包含用于测试该组件的具体说明,包括:

  • Required model files and where to obtain them.
    所需的模型文件以及获取它们的位置。
  • Steps for model conversion and setup.
    模型转换和设置的步骤。
  • Overview of the testing strategy.
    测试策略概述。
  • Explanation of key test cases.
    关键测试用例的解释。

六、软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:GitHub - ultralytics/yolo-ios-app: Ultralytics YOLO iOS App source code for running YOLO in your own iOS apps 🌟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java零基础学习Day12——集合ArrayList

一、基本使用 1. 集合与数组 集合只存引用数据类型&#xff1b;长度可变 数组可存基本数据类型、引用数据类型&#xff1b;长度固定 2. 基本格式 ArrayList<String> list new ArrayList<>(); 3. 方法 增、删 import java.util.ArrayList; public class St…

[论文阅读]Formalizing and Benchmarking Prompt Injection Attacks and Defenses

Formalizing and Benchmarking Prompt Injection Attacks and Defenses Formalizing and Benchmarking Prompt Injection Attacks and Defenses | USENIX 33rd USENIX Security Symposium (USENIX Security 24) 提出了一个框架来形式化提示注入攻击&#xff0c;对提示注入攻击…

JavaScript性能优化实战,从理论到落地的全面指南

在前端开发领域&#xff0c;JavaScript的性能优化是提升用户体验的核心环节。随着Web应用复杂度的提升&#xff0c;开发者面临的性能瓶颈也日益多样化。本文将从理论分析、代码实践和工具使用三个维度&#xff0c;系统性地讲解JavaScript性能优化的实战技巧&#xff0c;并通过大…

MySQL 8.0 OCP 英文题库解析(三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题16~25 试题16:…

Docker容器启动失败?无法启动?

Docker容器无法启动的疑难杂症解析与解决方案 一、问题现象 Docker容器无法启动是开发者在容器化部署中最常见的故障之一。尽管Docker提供了丰富的调试工具&#xff0c;但问题的根源往往隐藏在复杂的配置、环境依赖或资源限制中。本文将从环境变量配置错误这一细节问题入手&am…

MySQL 数据类型全面指南:从理论到实践

在数据库设计和开发中&#xff0c;数据类型的选择是构建高效、可靠系统的基石。MySQL作为最流行的关系型数据库之一&#xff0c;提供了丰富的数据类型以满足各种数据存储需求。本文将全面介绍MySQL的数据类型体系&#xff0c;通过理论讲解和实际示例&#xff0c;帮助开发者做出…

uniapp(微信小程序)>关于父子组件的样式传递问题(自定义组件样式穿透)

在父组件中给子组件添加类名,子组件的样式由父组件决定 由于"微信小程序"存在【样式隔离机制】&#xff0c;且默认设置为isolated(启用样式隔离)&#xff0c;因此这里给出以下两种解决方案&#xff1a; // 小程序编译机制 1. 当 <style scoped> 存在时&#…

【HCIA】BFD

前言 前面我们介绍了浮动路由以及出口路由器的默认路由配置&#xff0c;可如此配置会存在隐患&#xff0c;就是出口路由器直连的网络设备并不是运营商的路由器&#xff0c;而是交换机。此时我们就需要感知路由器的存活状态&#xff0c;这就需要用到 BFD&#xff08;Bidirectio…

计算机视觉最不卷的方向:三维重建学习路线梳理

提到计算机视觉&#xff08;CV&#xff09;&#xff0c;大多数人脑海中会立马浮现出一个字&#xff1a;“卷”。卷到什么程度呢&#xff1f;2022年秋招CV工程师岗位数下降了16%&#xff0c;但求职人数增加了23%&#xff0c;求职人数与招聘岗位的比例达到了恐怖的15:1&#xff0…

android抓包踩坑记录

​ 由于需要公司业务需求&#xff0c;需要抓取APP中摄像机插件的网络包&#xff0c;踩了两天坑&#xff0c;这里做个总结吧。 事先准备 android-studio emulatesdk 需要android模拟器和adb调试工具。如果已经有其他模拟器的话&#xff0c;可以只安装adb调试工具即可 mitmproxy…

Webpack其他插件

安装html打包插件 const path require(path); const HtmlWebpackPlugin require(html-webpack-plugin) module.exports {entry: path.resolve(__dirname,src/login/index.js),output: {path: path.resolve(__dirname, dist),filename: ./login/index.js,clean:true},Plugin:…

Python Matplotlib 库【绘图基础库】全面解析

让AI成为我们的得力助手&#xff1a;《用Cursor玩转AI辅助编程——不写代码也能做软件开发》 一、发展历程 Matplotlib 由 John D. Hunter 于 2003 年创建&#xff0c;灵感来源于 MATLAB 的绘图系统。作为 Python 生态中最早的可视化工具之一&#xff0c;它逐渐成为科学计算领…

C++ string数据查找、string数据替换、string子串获取

string查找示例见下&#xff0c;代码见下&#xff0c;以及对应运行结果见下&#xff1a; #include<iostream>using namespace std;int main() {// 1string s1 "hellooooworld";cout << s1.find("oooo") << endl;// 2cout << (in…

关于甲骨文(oracle cloud)丢失MFA的解决方案

前两年&#xff0c;申请了一个招商的多币种信用卡&#xff0c;然后就从网上撸了一个oracle的免费1h1g的服务器。 用了一段时间&#xff0c;人家要启用MFA验证。 啥叫MFA验证&#xff0c;类似与短信验证吧&#xff0c;就是绑定一个手机&#xff0c;然后下载一个app&#xff0c;每…

【网络编程】七、详解HTTP 搭建HTTP服务器

文章目录 Ⅰ. HTTP协议的由来 -- 万维网Ⅱ. 认识URL1、URL的格式协议方案名登录信息 -- 忽略服务器地址服务器端口号文件路径查询字符串片段标识符 2、URL的编码和解码 Ⅲ. HTTP的报文结构1、请求协议格式2、响应协议格式&#x1f38f; 写代码的时候&#xff0c;怎么保证请求和…

[Java实战]Spring Boot 快速配置 HTTPS 并实现 HTTP 自动跳转(八)

[Java实战]Spring Boot 快速配置 HTTPS 并实现 HTTP 自动跳转(八) 引言 在当今网络安全威胁日益严峻的背景下&#xff0c;为 Web 应用启用 HTTPS 已成为基本要求。Spring Boot 提供了简单高效的方式集成 HTTPS 支持&#xff0c;无论是开发环境测试还是生产环境部署&#xff0…

CVPR计算机视觉顶会论文解读:IPC-Dehaze 如何解决真实场景去雾难题

【CVPR 2025】迭代预测-评判编解码网络&#xff1a;突破真实场景去雾的极限 摘要 本文提出了一种名为IPC-Dehaze的创新去雾方法&#xff0c;通过迭代预测-评判框架和码本解码机制&#xff0c;有效解决了现有去雾算法在复杂场景下的性能瓶颈。该方法在多个基准测试中取得了SOT…

ppy/osu构建 ipad作为osu按键xz笔记2 deepwiki websokect

ipad当x和z键玩osu #无声打osu#没磁轴怎么打osu 下载 .NET (Linux、macOS 和 Windows) | .NET dotnet还行 构建&#xff1a;f5 运行&#xff1a;dotnet run --project osu.Desktop -c Debug deepwiki就是nb uinput是ubuntu的我现在没法调试&#xff0c;放着 import asyn…

.NET程序启动就报错,如何截获初期化时的问题json

一&#xff1a;背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候&#xff0c;程序一跑就报错&#xff0c;截图如下&#xff1a; 从给出的错误信息看大概是因为json格式无效导致的&#xff0c;在早期的训练营里曾经也有一例这样的报错&#xff0c;最后定位下来是公司…

nacos:服务注册原理

目录 NaCos服务注册原理1、AbstractAutoServiceRegistration功能和作用onApplicationEvent()方法start()方法 2、NacosAutoServiceRegistration功能和作用NacosAutoServiceRegistration.register()方法AbstractAutoServiceRegistration.register()方法 3、NacosServiceRegistry…