適用于 iOS 的 開源Ultralytics YOLO:應用程序和 Swift 軟件包,用于在您自己的 iOS 應用程序中運行 YOLO

?一、軟件介紹

文末提供程序和源碼下載

? ? ? ?該項目利用 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 pathtask: .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.pswp.cn/news/905593.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905593.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905593.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js關于number類型的計算問題

js中關于number類型的計算 因:在js中,number類型是用于表示數值的基本類型,它遵循 IEEE 754 雙精度浮點數(64 位)標準。這導致在某些計算中可能出現精度問題。 例:console.log(0.1 0.2); // 0.300000000…

RAG之大規模解析 PDF 文檔全流程實戰

PDF 文檔在商業、學術和政府領域無處不在,蘊含著大量寶貴信息。然而,從 PDF 中提取結構化數據卻面臨著獨特的挑戰,尤其是在處理數千甚至數百萬個文檔時。本指南探討了大規模解析 PDF 的策略和工具。 PDF解析挑戰 PDF 的設計初衷是為了提供一致的視覺呈現,而非數據提取。這…

TypeScript:類

一、基本概念 TypeScript 類是基于 ES6 類的語法擴展,增加了類型注解和訪問修飾符等特性,提供了更強大的面向對象編程能力。 二、基本語法 class Person {name: string;age: number;constructor(name: string, age: number) {this.name name;this.ag…

搶購Python代碼示例與技術解析

引言:搶購系統的技術挑戰 在當今電子商務高度發達的時代,搶購活動已成為各大電商平臺吸引用戶的重要手段。然而,高并發、低延遲的搶購場景對系統設計提出了嚴峻挑戰。本文將提供一個完整的Python搶購代碼示例,并深入分析其技術實…

實戰分析Cpython逆向

Cpython逆向 Python代碼轉換為C代碼的時候,將會大大增加框架代碼量。 1、正向py->c 先有正向,再有逆向 pip install cython 寫一個簡單的pyx文件 .pyx 文件是由 Cython 編程語言 "編寫" 而成的 Python 擴展模塊源代碼文件 print(&qu…

Modbus轉IEC104網關(三格電子)

產品概述 Modbus轉IE104網關型號SG-TCP-IEC104,是三格電子推出的工業級網關(以下簡稱網關),主要用于Modbus RTU/TCP/ASCII數據采集、DLT645-1997/2007數據采集,可接多功能電力儀表、溫控儀、電表等,將采集…

智能工具協同賦能STEM教育科研|探索LLM大語言模型和數學軟件Maple的創新實踐

LLM 與 Maple:開啟 STEM 教育科研新范式 在當今數字化浪潮下,教育與科研領域正面臨著前所未有的變革機遇。大語言模型(LLM)的橫空出世,為知識生成、問題求解等帶來了全新思路;而數學軟件 Maple 以其強大的…

專項智能練習(定義判斷)_DA_01

1. 單選題 熱傳導是介質內無宏觀運動時的傳熱現象,其在固體、液體和氣體中均可發生。但嚴格而言,只有在固體中才是純粹的熱傳導,在流體(泛指液體和氣體)中又是另外一種情況,流體即使處于靜止狀態&#xff0…

pandas讀取pymysql和解析excel的一系列問題(版本不匹配)

pandas讀取pymysql和解析excel的一系列問題,大部分都是版本不匹配導致的 尤其是pandas,numpy,pymysql,openpyxl不匹配導致 from sqlalchemy import create_engine import numpy as np import pandas as pd conncreate_engine("mysqlpymysql://user:passhost:3…

【中級軟件設計師】網絡攻擊(附軟考真題)

【中級軟件設計師】網絡攻擊(附軟考真題) 目錄 【中級軟件設計師】網絡攻擊(附軟考真題)一、歷年真題二、考點:網絡攻擊1、拒絕服務攻擊(DoS攻擊)2、重放攻擊3、特洛伊木馬4、網絡監聽5、SQL注入…

20250515配置聯想筆記本電腦IdeaPad總是使用獨立顯卡的步驟

20250515配置聯想筆記本電腦IdeaPad總是使用獨立顯卡的步驟 2025/5/15 19:55 百度:intel 集成顯卡 NVIDIA 配置成為 總是用獨立顯卡 百度為您找到以下結果 ?要將Intel集成顯卡和NVIDIA獨立顯卡配置為總是使用獨立顯卡,可以通過以下步驟實現?&#xff…

【C++ | 內存管理】C++ 智能指針 std::shared_ptr 詳解及使用例子代碼

😁博客主頁😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客內容🤑:🍭嵌入式開發、Linux、C語言、C、數據結構、音視頻🍭 🤣本文內容🤣&a…

【CF】Day59——Codeforces Round 914 (Div. 2) D

D. Set To Max 題目: Easy 思路: 簡單題 由于題目的數據給的很小,所以我們可以用 n 的復雜度過,那我們來觀察一下我們應該怎么操作 顯然,如果 a[i] > b[i] 時是無法構造的,同時 a[i] b[i] 時就不用管…

解密企業級大模型智能體Agentic AI 關鍵技術:MCP、A2A、Reasoning LLMs- GPT源代碼解析

解密企業級大模型智能體Agentic AI 關鍵技術:MCP、A2A、Reasoning LLMs- GPT源代碼解析 我們可以稍微看一下, 這是我們GPT的基于它的源代碼產生的可視化的內容。 這邊是model ,我們在談這個sampling的時候,本身首先就是說它這個probability distribution ,會有很多的參數…

AI 推理 | vLLM 快速部署指南

本文是 AI 推理系列的第一篇,近期將更新與 vLLM 的相關內容。本篇從 vLLM 的部署開始,介紹 vLLM GPU/CPU 后端的安裝方式,后續將陸續講解 vLLM 的核心特性,如 PD 分離、Speculative Decoding、Prefix Caching 等,敬請關…

Python-MCPInspector調試

Python-MCPInspector調試 使用FastMCP開發MCPServer,熟悉【McpServer編碼過程】【MCPInspector調試方法】-> 可以這樣理解:只編寫一個McpServer,然后使用MCPInspector作為McpClient進行McpServer的調試 1-核心知識點 1-熟悉【McpServer編…

Linux 常用命令 -hostnamectl【主機名控制】

簡介 hostnamectl 命令中的 “hostname” 顧名思義,指的是計算機在網絡上的名稱,“ctl” 是 “control” 的縮寫,意味著控制。hostnamectl 命令用于查詢和修改系統主機名以及相關的設置。它通過與 systemd 系統管理器交互,允許用…

力扣-二叉樹-101 對稱二叉樹

思路 分解問題為,該節點的左孩子的左子樹和右孩子的右子樹是不是同一棵樹 && 該節點的左孩子的右字數和右孩子的左子樹是不是同一課樹 && 該節點的左右孩子的值相不相同 代碼 class Solution {public boolean isSymmetric(TreeNode root) {// 層…

Nginx技術方案【學習記錄】

文章目錄 1. 需求分析1.1 應用場景1.2 實現目標 2. Nginx反向代理與實現均衡負載2.1 部署架構2.2 架構描述2.2.1 Nginx代理服務器2.2.2 API服務器與API服務器(Backup)2.2.3 nginx.conf配置文件2.2.4 測試方法 3. 高速會話緩存技術3.1 問題背景3.2 使用 R…

Ubuntu22.04怎么退出Emergency Mode(緊急模式)

1.使用nano /etc/fstab命令進入fstab文件下; 2.將掛載項首行加#注釋掉,修改完之后使用ctrlX退出; 3.重啟即可退出緊急模式!