iOS SDK

学習済みの Roboflow モデルを iOS アプリにデプロイします。

Roboflow Mobile iOS SDK は、モデルをエッジ(iPad や iPhone)で動作させる必要があり、推論を高速化したり拡張現実などの新しい機能やユースケースを実現するネイティブ iOS アプリを開発する際に優れた選択肢です。

カスタムのコンピュータビジョンモデルを組み込んだネイティブモバイルアプリは、開発者がアプリに視覚機能を与えることを可能にします。

対応タスク

ホストされた API がサポートするタスクタイプは次のとおりです:

タスクタイプ
iOS SDK 配備でのサポート

物体検出

分類

インスタンスセグメンテーション

✅(iOS 18 以降)

セマンティックセグメンテーション

モデルを iOS デバイスにデプロイする

サポートされるハードウェアとソフトウェア

すべての iOS デバイスはオンデバイス推論をサポートしますが、iPhone 8(A11 Bionic プロセッサ)より前の機種ではよりエネルギー効率の低い GPU エンジンにフォールバックします。

Roboflow は最低 iOS バージョン 15.4 を要求します(インスタンスセグメンテーションモデルは 18.0)。

プロトタイピング

次の環境に対して開発できます: Roboflow Hosted Inference APIarrow-up-right。これはオンデバイス推論と同じ学習済みモデルを使用します。

インストール

"CocoaPods は Ruby で構築されており、macOS に標準である Ruby でインストール可能です。Ruby バージョンマネージャを使用できますが、慣れていない限り macOS に標準である Ruby を使用することを推奨します。デフォルトの Ruby を使用してインストールする場合、gem をインストールする際に sudo を使用する必要があります。(ただしこれは gem インストールの期間中のみの問題です。)" - CocoaPodsarrow-up-right

このプロセスで RubyGems に管理者権限を付与したくない場合は「sudo 不要」のインストールオプションがあります。ただし、 sudo の方が一般的です。

CocoaPods が正常にインストールされているか確認するには、次を入力してください: pod --version をターミナルで実行します。

Roboflow CocoaPod のインストール

まず、次を実行します: pod init をプロジェクトディレクトリで実行します。

次に、 Podfile が次を指定していることを確認してください: platform :ios, '15.4'

次に、次を追加します: pod 'Roboflow' をあなたの Podfile.

XCode コマンドラインツールをインストールしていない場合は、次を実行します: xcode-select --install をターミナルで実行します。

これが返されます: xcode-select: error: command line tools are alreadyinstalled, use "Software Update" to install updates もしコマンドラインツールが既にシステムに存在する場合。

最後に、次を実行します: pod install そして生成された .xcworkspace ファイルを XCodearrow-up-right.

で開きます。
Podfile のインストールが成功した後のターミナルのプロジェクトディレクトリ
  • もし次のエラーが返された場合:「You may have encountered a bug in the Ruby interpreter or extension libraries,」まず次を実行してください: brew install cocoapods、そして次を実行します: pod install そして生成された .xcworkspace XCode でファイルを開きます。

    • CocoaPods が正常にインストールされているか確認するには、次を入力してください: pod --version をターミナルで実行します。

Swift での Roboflow の使用

次の場所に移動します: .xcworkspace XCode でファイルを開きます。

次に、以下を追加して Roboflow をインポートします: import Roboflow.xcworkspace ファイルに追加します。

その後、Roboflow API のインスタンスを次で作成します: let rf = Roboflow(apiKey: "API_KEY")modelVersionについては、 YOUR-MODEL-VERSION-# をモデルのバージョン番号の整数値に置き換えてください。

プロジェクト情報の確認方法

完了ハンドラの使用:

非同期の使用:

非同期で使用するには、Roboflow モデルを非同期ブロック内で呼び出す必要があります。

予測のフォーマット:

CGRectarrow-up-right

ネイティブ Swift の例

この roboflow-ios-starterarrow-up-right アプリは、roboflow モデルを使ったリアルタイム iOS アプリを作成するための優れた出発点です。カメラ設定、モデルの読み込みと処理、物体検出およびインスタンスセグメンテーションモデル両方の出力描画コードが含まれています。

React Native Expo アプリの例

また、この SDK を Expo アプリに React Native で統合する例をこちらで提供しています。自分の下流アプリケーションの構築を検討する際に役立つかもしれません。

必ず次の両方をインストールしていることを確認してください: Expoarrow-up-rightCocoaPodsarrow-up-right がインストールされています。

  • expo-cli は次の Node.js バージョンをサポートします: >=12.13.0 <15.0.0 (Maintenance LTS)と >=16.0.0 <17.0.0 (Active LTS)

  • Node.js 用に yarn パッケージをインストールする必要があります(npm install -g yarn)

例の iOS アプリ - CashCounter

ダウンロード CashCounterarrow-up-right、米国のコインと紙幣をカウントするサンプル iOS アプリで、コンピュータビジョンモデルを iPhone にデプロイする方法の例です。バウンディングボックスの可視化、FPS、オブジェクトカウント、画像アップロードなどの例を見ることができます。

Last updated

Was this helpful?