MediaPipe Interactive Image Segmenter タスクは、画像内の位置を取得し、境界線を推定 そのオブジェクトのセグメンテーションを画像として返します。 分析できます以下では、Python SDK でインタラクティブ イメージ セグメンタを使用する方法を あります。このモジュールで取り上げる機能、モデル、構成の オプションについては、概要をご覧ください。
サンプルコード
インタラクティブ画像セグメンタのコード例は、この実装の完全な実装を示しています。 タスクを示しています。このコードは、このタスクをテストして、 独自のインタラクティブな画像セグメンテーション アプリケーションの構築に着手しました。Google Chat では インタラクティブ画像 セグメンタを表示、実行、編集する サンプルコード できます。
セットアップ
このセクションでは、開発環境をセットアップする主な手順と インタラクティブ画像セグメンタを使用するためのコード プロジェクトです。一般的な情報については、 MediaPipe タスクを使用するための開発環境の設定 プラットフォーム バージョンの要件については、 Python のセットアップ ガイド この例のソースコードは、 GitHub
<ph type="x-smartling-placeholder">パッケージ
MediaPipe Interactive Image Segmenter タスクには、mediapipe
パッケージが必要です。kubectl の「get pods」
必要な依存関係を次のコマンドで置き換えてください。
$ python -m pip install mediapipe
インポート
次のクラスをインポートして、インタラクティブ画像セグメント化のタスク関数にアクセスします。
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
モデル
MediaPipe Interactive Image Segmenter タスクには、この変換と互換性のあるトレーニング済みモデルが必要です。 タスクを実行します。インタラクティブ画像セグメンテーションで使用可能なトレーニング済みモデルについて詳しくは、以下をご覧ください。 タスクの概要のモデル セクションを見ていきます。
モデルを選択してダウンロードし、プロジェクト ディレクトリに保存します。
model_path = '/absolute/path/to/model.tflite'
次に示すように、model_asset_path
パラメータ内にモデルのパスを指定します。
下にあります。
base_options = BaseOptions(model_asset_path=model_path)
タスクを作成する
MediaPipe Interactive Image Segmenter タスクは、create_from_options
関数を使用して以下を行います。
タスクを設定します。create_from_options
関数は値を受け入れる
処理する構成オプションを確認してくださいリソースの構成について
構成オプションをご覧ください。
次のコードは、このタスクをビルドして構成する方法を示しています。
BaseOptions = mp.tasks.BaseOptions InteractiveSegmenter = mp.tasks.vision.InteractiveSegmenter InteractiveSegmenterOptions = mp.tasks.vision.InteractiveSegmenterOptions VisionRunningMode = mp.tasks.vision.RunningMode # Create a image segmenter instance with the image mode: options = InteractiveSegmenterOptions( base_options=BaseOptions(model_asset_path='/path/to/model.task'), running_mode=VisionRunningMode.IMAGE, output_type=InteractiveSegmenterOptions.OutputType.CATEGORY_MASK) with InteractiveSegmenter.create_from_options(options) as segmenter: # segmenter is initialized and ready to use
output_category_mask
True
に設定すると、出力にはセグメンテーション マスクが含まれます。
uint8 イメージとして格納されます。各ピクセル値は、そのピクセルが
検出対象領域のオブジェクトです。True, False
}False
output_confidence_masks
True
に設定すると、出力にはセグメンテーション マスクが含まれます。
浮動小数点値の画像として格納され、各浮動小数点値は信頼度を
そのピクセルが対象領域にあるオブジェクトの一部であることが示されます。True, False
}True
display_names_locale
en
です。
英語。カスタムモデルのメタデータにローカライズされたラベルを追加できます。
TensorFlow Lite Metadata Writer API を使用
データの準備
入力を画像ファイルまたは numpy 配列として準備します。
mediapipe.Image
オブジェクトに変換します。
# Load the input image from an image file. mp_image = mp.Image.create_from_file('/path/to/image') # Load the input image from a numpy array. mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
RegionOfInterest = vision.InteractiveSegmenterRegionOfInterest # Perform image segmentation on the provided single image. # The image segmenter must be created with the image mode. roi = RegionOfInterest(format=RegionOfInterest.Format.KEYPOINT, keypoint=NormalizedKeypoint(x, y)) segmented_masks = segmenter.segment(mp_image, roi)