このページでは、iOS アプリで MediaPipe Tasks を使用するための開発環境を設定する方法について説明します。
サポートされているデバイスとプラットフォーム
MediaPipe Tasks を使用して iOS アプリを作成するには、開発環境に以下が必要です。
macOS Mojave 10.14.3 以降。
Xcode 10.3 以降。
iOS デバイス(iOS 12.0 以降)また、iOS シミュレータでは、デバイスのカメラを必要としないアプリを処理できます。
開発環境の設定
iOS アプリで MediaPipe タスクを実行する前に、既存の Xcode プロジェクトを用意するか、ローカルマシンで新しい Xcode プロジェクトを作成する必要があります。
MediaPipe Tasks は、CocoaPods を使用してのみインストールできます。始める前に、CocoaPods 1.12.1 以降をインストールする必要があります。macOS に CocoaPods をインストールする手順については、CocoaPods インストール ガイドをご覧ください。
コードのセットアップ例
MediaPipe サンプル リポジトリには、MediaPipe タスク用の iOS アプリのサンプルが含まれています。
サンプルコードからプロジェクトを作成し、プロジェクトをビルドして、タスクを実行できます。次の手順では、テキスト分類タスクを作成します。
サンプルコード プロジェクトをインポートしてビルドするには:
ターミナルを開いて MediaPipeExamples リポジトリのクローンを作成し、
TextClassifier.xcodeproj
とPodfile
を含むディレクトリに移動します。git clone https://github.com/google-ai-edge/mediapipe-samples cd mediapipe/examples/text_classification/ios
CocoaPods を使用して MediaPipe Tasks をインストールします。
pod install
このコマンドにより、サンプル プロジェクト ディレクトリに
TextClassifier.xcworkspace
ファイルが作成されます。TextClassifier.xcworkspace
ファイルをダブルクリックして Xcode でプロジェクトを開きます。TextClassifier.xcodeproj
ファイルがすでに開いている場合は、TextClassifier.xcworkspace
ファイルを開く前に閉じます。TextClassifier
スキームを選択し、プロジェクト ウィンドウのツールバーから物理 iOS デバイスまたはシミュレータを選択します。物理 iOS デバイスを使用する場合は、Mac に接続していることを確認します。プロジェクトのツールバーの
Run
ボタンをクリックします。
Xcode でアプリを実行する手順については、アプリをビルドして実行するをご覧ください。
MediaPipe タスクの依存関係
MediaPipe Tasks には、ビジョン用とテキスト用の 2 つのビルド済みライブラリが用意されています。.tflite
モデルファイルは、モデルを使用する iOS アプリのバンドルに配置する必要があります。MediaPipe Tas に応じて、CocoaPods Podfile
内の Pod のリストにビジョン ライブラリまたはテキスト ライブラリのいずれかを追加します。アプリに必要な Pod で Podfile
を作成する手順については、CocoaPods の使用をご覧ください。
生成 AI のタスク
MediaPipe Tasks の生成 AI ライブラリには、画像またはテキストの生成を処理するタスクが含まれています。MediaPipe Tasks の生成 AI ライブラリをインストールするには、MediaPipeTasksGenAI
Pod と MediaPipeTasksGenAIC
Pod を Podfile
内のアプリのターゲットに追加します。
LLM 推論 API
MediaPipe LLM 推論タスクは、MediaPipeTasksGenAI
Pod と MediaPipeTasksGenAIC
Pod に含まれています。
target 'MyLlmInferenceApp' do
use_frameworks!
pod 'MediaPipeTasksGenAI'
pod 'MediaPipeTasksGenAIC'
end
視覚タスク
MediaPipe Tasks ビジョン ライブラリには、画像や動画の入力を処理するタスクが含まれています。MediaPipe Tasks ビジョン ライブラリをインストールするには、Podfile
内のアプリのターゲットに MediaPipeTasksVision
Pod を追加します。
target 'MyAppWithMediaPipeTasksVision' do
use_frameworks!
pod 'MediaPipeTasksVision'
end
テキストタスク
MediaPipe Tasks テキスト ライブラリには、言語データをテキスト形式で処理するタスクが含まれています。MediaPipe Tasks テキスト ライブラリをインストールするには、Podfile
でアプリのターゲットに MediaPipeTasksText
Pod を追加します。
target 'MyAppWithMediaPipeTasksText' do
use_frameworks!
pod 'MediaPipeTasksText'
end
テスト ターゲットを構成する
アプリにテスト ターゲットがある場合は、MediaPipe タスク ライブラリの使用時に望ましくない動作が発生しないように、Podfile が次のいずれかの実装に準拠していることを確認してください。
最も簡単な実装は、MediaPipe タスク Pod を追加するメインアプリ ターゲット内にテスト ターゲットをネストしないことです。
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
end
target 'MyAppWithMediaPipeTasksTests' do
end
テスト ターゲットをメインアプリ ターゲット内にネストする必要がある場合、Podfile は次の実装に準拠している必要があります。
target 'MyAppWithMediaPipeTasks' do
pod 'MediaPipeTasksVision'
target 'MyAppWithMediaPipeTasksTests' do
inherit! :none
end
end
BaseOptions 構成
BaseOptions を使用すると、MediaPipe Task API の一般的な構成が可能になります。
オプション名 | 説明 | 指定可能な値 |
---|---|---|
modelAssetPath |
iOS アプリケーション バンドル内のモデルファイルへのモデルパス。 | 文字列としてのパス。 |
ハードウェア アクセラレーション
iOS では、MediaPipe Tasks は標準の CPU プロセッサ上でのモデルの実行のみをサポートします。
トラブルシューティング
MediaPipe に関する技術的な質問については、ディスカッション グループまたは Stack Overflow にアクセスして、コミュニティからサポートを受けてください。バグの報告や機能リクエストを行うには、GitHub で問題を報告してください。
iOS 開発環境の設定については、Apple Developer ドキュメントをご覧ください。