For the complete documentation index, see llms.txt. This page is also available as Markdown.

iOS SDK

학습한 Roboflow model을 iOS 앱에 배포합니다

Roboflow Mobile iOS SDK는 더 빠른 inference를 위해 또는 새로운 기능, capabilities, use case(예: augmented reality)를 활용하기 위해 edge(iPad 또는 iPhone)에서 model이 실행되어야 하는 iOS 애플리케이션을 개발하는 경우 훌륭한 옵션입니다.

커스텀 computer vision model이 내장된 네이티브 모바일 애플리케이션을 사용하면 개발자가 앱에 시각을 부여할 수 있습니다.

지원 작업

다음 작업 유형이 hosted API에서 지원됩니다:

작업 유형
iOS SDK Deployment에서 지원

Object Detection

Classification

Instance Segmentation

✅ (iOS 18 이상)

Semantic Segmentation

CoreML Export 호환성

다음 model architecture는 CoreML (.mlpackage) export를 통한 on-device deployment를 지원합니다:

Model
CoreML Export

RF-DETR

YoloLite

Classification models

iOS Device에 Model 배포하기

지원되는 Hardware 및 Software

모든 iOS device는 on-device inference를 지원하지만, iPhone 8(A11 Bionic Processor)보다 오래된 기기는 에너지 효율이 더 낮은 gpu engine으로 fallback됩니다.

Roboflow는 최소 iOS 버전 15.4를 요구합니다(instance segmentation models의 경우 18.0).

프로토타이핑

다음을 대상으로 개발할 수 있습니다 Roboflow Serverless Hosted API. 이는 on-device inference와 동일한 trained model을 사용합니다.

설치

"CocoaPods는 Ruby로 만들어졌으며 macOS에서 기본으로 제공되는 Ruby로 설치할 수 있습니다. Ruby Version manager를 사용할 수도 있지만, 무엇을 하고 있는지 잘 아는 경우가 아니라면 macOS에서 제공되는 표준 Ruby를 사용할 것을 권장합니다. 기본 Ruby 설치를 사용하면 sudo gems를 설치할 때 사용해야 합니다. (다만 이것은 gem 설치가 진행되는 동안에만 해당되는 문제입니다.)" - CocoaPods

이 과정에서 RubyGems에 admin privileges를 부여하고 싶지 않다면 "Sudo-less" 설치도 선택할 수 있습니다. 그러나 sudo 설치가 더 일반적입니다.

다음을 입력하여 CocoaPods가 성공적으로 설치되었는지 확인하세요 pod --version 를 Terminal에 입력하세요.

Roboflow CocoaPod 설치하기

먼저, pod init 를 project directory에서 실행하세요.

다음을 확인하세요 Podfile 에 다음이 지정되어 있는지 platform :ios, '15.4'

다음으로, pod 'Roboflow' 를 다음에 추가하세요 Podfile.

XCode Command Line Tools가 설치되어 있지 않다면 다음을 실행하세요 xcode-select --install 를 Terminal에 입력하세요.

그러면 다음이 반환됩니다: xcode-select: error: command line tools are alreadyinstalled, use "Software Update" to install updates 시스템에 Command Line Tools가 이미 있는 경우입니다.

마지막으로, pod install 를 실행하고 생성된 .xcworkspace 파일을 XCode.

Podfile 설치가 성공적으로 완료된 후의 Terminal
Podfile 설치가 성공적으로 완료된 후의 project directory
  • 다음 오류가 반환된다면: "You may have encountered a bug in the Ruby interpreter or extension libraries," 먼저 다음을 실행하세요 brew install cocoapods, 그런 다음 pod install 를 실행하고 생성된 .xcworkspace 파일을 XCode에서 여세요.

    • 다음을 입력하여 CocoaPods가 성공적으로 설치되었는지 확인하세요 pod --version 를 Terminal에 입력하세요.

Swift에서 Roboflow 사용하기

다음으로 이동하세요 .xcworkspace 파일을 XCode에서 여세요.

다음으로, 다음을 추가하여 Roboflow를 import하세요 import Roboflow.xcworkspace file에 추가하세요.

그런 다음 다음과 같이 Roboflow API 인스턴스를 생성하세요 let rf = Roboflow(apiKey: "API_KEY"). modelVersion의 경우, YOUR-MODEL-VERSION-# 를 model version 번호의 정수 값으로 바꾸세요.

Project 정보 찾기

Completion Handler 사용:

비동기 사용:

비동기로 사용하려면 비동기 block 내에서 Roboflow model을 호출해야 합니다.

Predictions 형식:

CGRect

네이티브 Swift 예제

해당 roboflow-ios-starter app은 Roboflow model로 realtime iOS app을 만들기 위한 훌륭한 시작점입니다. 여기에는 object-detection 및 instance segmentation model 모두에 대한 camera 설정, model loading 및 processing, output drawing code가 포함되어 있습니다.

React Native Expo App 예제

또한 여기에서 React Native를 사용한 expo app에 이 SDK를 통합하는 예제도 제공합니다. 자체 downstream application 구성을 고려할 때 유용할 수 있습니다.

다음 둘 다 설치되어 있는지 확인하세요 ExpoCocoaPods 설치되어 있습니다.

  • expo-cli 는 다음 Node.js 버전을 지원합니다: >=12.13.0 <15.0.0 (Maintenance LTS) 및 >=16.0.0 <17.0.0 (Active LTS)

  • Node.js용 yarn package가 설치되어 있어야 합니다 (npm install -g yarn)

예제 iOS 애플리케이션 - CashCounter

다운로드 CashCounter, 미국 동전과 지폐를 세는 예제 iOS app으로, computer vision model을 iPhone에 배포하는 방법의 예시입니다. bounding box 시각화, FPS, object counting, image upload 등의 예제를 볼 수 있습니다.

마지막 업데이트

도움이 되었나요?