インタラクティブ画像セグメンテーション タスクガイド

椅子の写真と、モデルが椅子を検出したことを示して椅子がハイライト表示された同じ画像を並べて表示した画像

MediaPipe インタラクティブ画像セグメンテーション タスクを使用すると、画像を選択したオブジェクトとそれ以外の 2 つの領域に分割できます。このタスクは、画像内の位置を取り、その位置にあるオブジェクトの境界を推定し、オブジェクトの領域を定義する画像データを返します。このタスクを使用すると、画像内のオブジェクトをインタラクティブに選択し、出力を使用して、オブジェクトをハイライト表示するカラー オーバーレイや、オブジェクトの周囲の背景をぼかすなどの効果を画像に適用できます。このタスクは、機械学習(ML)モデルを使用して画像データを処理します。単一の画像、動画ファイル、連続動画ストリームで使用できます。

試してみる

使ってみる

このタスクを使用するには、対象プラットフォーム向けの次のいずれかの実装ガイドに沿って操作します。以下のプラットフォーム固有のガイドでは、推奨モデルや、推奨構成オプションを含むコード例など、このタスクの基本的な実装について説明します。

タスクの詳細

このセクションでは、このタスクの機能、入力、出力、構成オプションについて説明します。

機能

  • 入力画像の処理 - 処理には、画像の回転、サイズ変更、正規化、色空間変換が含まれます。
タスク入力 タスクの出力
  • 画像内のオブジェクトのスポットの座標
  • 処理する画像ファイル
インタラクティブ画像セグメンテーションは、セグメント化された画像データを出力します。このデータには、設定した構成オプションに応じて、次の 1 つまたは両方が含まれます。
  • CATEGORY_MASK: セグメント化されたマスクを uint8 形式の画像として格納するリスト。各ピクセル値は、対象領域にあるオブジェクトの一部であるかどうかを示します。
  • CONFIDENCE_MASK: ピクセル値が float32 形式のセグメント化されたマスクを含むチャネルのリスト。各ピクセル値は、対象領域にあるオブジェクトの一部である信頼度を示します。

構成オプション

このタスクには、次の構成オプションがあります。

オプション名 説明 値の範囲 デフォルト値
output_category_mask True に設定した場合、出力には uint8 画像としてセグメンテーション マスクが含まれます。各ピクセル値は、ピクセルが関心領域にあるオブジェクトの一部であるかどうかを示します。 {True, False} False
output_confidence_masks True に設定すると、出力には浮動小数点値画像としてセグメンテーション マスクが含まれます。各浮動小数点値は、ピクセルが対象領域にあるオブジェクトの一部であるという信頼度を表します。 {True, False} True
display_names_locale タスクのモデルのメタデータで指定されている表示名に使用するラベルの言語を設定します(利用可能な場合)。デフォルトは英語で en です。TensorFlow Lite Metadata Writer API を使用して、カスタムモデルのメタデータにローカライズされたラベルを追加できます。言語 / 地域コード en

モデル

インタラクティブ画像セグメンテーションは、複数の ML モデルで使用できます。このタスクで開発を開始する際は、ターゲット プラットフォームのデフォルトの推奨モデルから始めます。使用可能な他のモデルでは通常、パフォーマンス、精度、解像度、リソース要件のトレードオフが行われます。また、追加機能が含まれている場合もあります。

このモデルは、対象領域の画像座標が指定されたセグメントを特定します。このモデルは、MobileNetV3 アーキテクチャに似た畳み込みニューラル ネットワークとカスタマイズされたデコーダを使用します。

モデル名 入力シェイプ 量子化のタイプ モデルカード バージョン
MagicTouch 512 x 512 x 4 なし(float32) 情報 最新

タスクのベンチマーク

上記の事前トレーニング済みモデルに基づくパイプライン全体のタスクのベンチマークは次のとおりです。レイテンシの結果は、CPU / GPU を使用した Google Pixel 6 の平均レイテンシです。

モデル名 CPU レイテンシ GPU レイテンシ
MagicTouch 130.11 ミリ秒 67.25 ミリ秒