MediaPipe Image Segmenter タスクでは、事前定義されたリソースに基づいて画像をリージョンに分割 できます。この機能を使用して、特定のオブジェクトや テクスチャを作成し、背景のぼかしなどの視覚効果を適用します。このタスク には、個人および顧客をセグメント化するために特別に 次のような特徴を備えています。
- 人物と背景
- 人の髪のみ
- 人の髪、顔、肌、衣服、アクセサリー
このタスクは、画像データに対して、単一の 連続的な動画ストリームも生成できます。セグメント化されたリージョンのリストが出力されます。 使用するモデルに応じて、画像内のオブジェクトや領域を表現する 選択します。
<ph type="x-smartling-placeholder"></ph> お試しください。
使ってみる
以下の実装ガイドのいずれかに沿って、このタスクの使用を開始する ターゲット プラットフォームです。これらのプラットフォーム固有のガイドでは、基本的な このタスクの実装方法(推奨モデル、コードサンプルを含む) 推奨される構成オプションは次のとおりです。
タスクの詳細
このセクションでは、機能、入力、出力、構成について説明します。 オプションを選択できます。
機能
- 入力画像処理 - 画像の回転、サイズ変更、 色空間変換などがあります
タスクの入力 | タスク出力 |
---|---|
入力は、次のいずれかのデータ型になります。 <ph type="x-smartling-placeholder">
|
画像セグメンタは、セグメント化された画像データを出力します。これには、1 つまたは複数の
設定した構成オプションに応じて、次のいずれかを選択できます。
<ph type="x-smartling-placeholder">
|
構成オプション
このタスクには、次の構成オプションがあります。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
running_mode |
タスクの実行モードを設定します。3 つの
モード: IMAGE: 単一画像入力のモード。 VIDEO: 動画のデコードされたフレームのモード。 LIVE_STREAM: 入力のライブ配信のモード カメラからのデータなどです。 このモードでは、resultListener は 結果を受け取るリスナーを設定するために呼び出されます。 使用できます。 |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
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 |
result_callback |
セグメンテーション結果を受け取るように結果リスナーを設定します。
LIVE_STREAM モードの場合、非同期で実行できます。
実行モードが LIVE_STREAM に設定されている場合にのみ使用できます |
なし | なし |
モデル
画像セグメンタは複数の ML モデルで使用できます。次のほとんど セグメンテーション モデルが構築、トレーニングされ、 できます。ただし、DeepLab-v3 モデルは一般的なコンセプトとして構築されています。 画像セグメンタを使用できます。アプリケーションに最適なモデルを選択します。
<ph type="x-smartling-placeholder">自撮り写真のセグメンテーション モデル
このモデルは人物のポートレートをセグメント化して 画像の背景を変更できますこのモデルは 2 つのカテゴリを出力します。 背景は 0 番目、人物は 1 番目です。このモデルには、 正方形と横長のバージョンがあり、入力の形状が多様で 入力が常にこの形状になっているアプリケーションでは、 使用できます。
モデル名 | 入力シェイプ | 量子化タイプ | モデルカード | バージョン |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> SelfieSegmenter(スクエア) | 256 x 256 | 浮動小数点数 16 | <ph type="x-smartling-placeholder"></ph> 情報 | <ph type="x-smartling-placeholder"></ph> 最新 |
<ph type="x-smartling-placeholder"></ph> SelfieSegmenter(横向き) | 144×256 | 浮動小数点数 16 | <ph type="x-smartling-placeholder"></ph> 情報 | <ph type="x-smartling-placeholder"></ph> 最新 |
髪のセグメンテーション モデル
このモデルは人物の画像を撮り、その人の頭の毛を特定し、 髪の画像セグメンテーション マップを出力します。このモデルは、 髪の色の変更や、その他のヘアエフェクトの適用などです。このモデルは以下を出力する: セグメンテーション カテゴリ:
0 - background
1 - hair
モデル名 | 入力シェイプ | 量子化タイプ | モデルカード | バージョン |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> HairSegmenter | 512×512 | なし(float32) | <ph type="x-smartling-placeholder"></ph> 情報 | <ph type="x-smartling-placeholder"></ph> 最新 |
マルチクラス自撮り写真のセグメンテーション モデル
このモデルは人物の画像を撮り、次のようなさまざまな領域の位置を特定します。 髪、肌、衣服などの画像分類マップを出力します。 このモデルを使用すると、画像や映像内の人物にさまざまな効果を適用できます 動画をご覧ください。このモデルは、次のセグメンテーション カテゴリを出力します。
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
モデル名 | 入力シェイプ | 量子化タイプ | モデルカード | バージョン |
---|---|---|---|---|
<ph type="x-smartling-placeholder"></ph> SelfieMulticlass(256 x 256) | 256 x 256 | なし(float32) | <ph type="x-smartling-placeholder"></ph> 情報 | <ph type="x-smartling-placeholder"></ph> 最新 |
DeepLab-v3 モデル
このモデルは、背景、モデル、特徴など、さまざまなカテゴリのセグメントを識別します。 人、猫、犬、鉢植えの植物です。このモデルでは、遠心空間ピラミッドを使用する より長い距離の情報をキャプチャします。詳細については、次をご覧ください: DeepLab-v3。
モデル名 | 入力シェイプ | 量子化タイプ | バージョン |
---|---|---|---|
<ph type="x-smartling-placeholder"></ph> DeepLab-V3 | 257×257 | なし(float32) | <ph type="x-smartling-placeholder"></ph> 最新 |
タスク ベンチマーク
上記のトレーニング済みモデルに基づくパイプライン全体のタスク ベンチマーク 構築できますレイテンシの結果は、CPU / GPU を使用した Google Pixel 6 の平均レイテンシです。
モデル名 | CPU レイテンシ | GPU レイテンシ |
---|---|---|
SelfieSegmenter(スクエア) | 33.46 ミリ秒 | 35.15 ミリ秒 |
SelfieSegmenter(横向き) | 34.19 ミリ秒 | 33.55 ミリ秒 |
HairSegmenter | 57.90 ミリ秒 | 52.14 ミリ秒 |
SelfieMulticlass(256 x 256) | 217.76 ミリ秒 | 71.24 ミリ秒 |
DeepLab-V3 | 123.93 ミリ秒 | 103.30 ミリ秒 |