MediaPipe Image Generator タスクを使用すると、テキスト プロンプトに基づいて画像を生成できます。この テキストから画像へのモデルを使用して、拡散技術を使用して画像を生成します。
タスクは入力としてテキスト プロンプトと、オプションの条件画像を受け取ります。 モデルが拡張し、生成用の参照として使用できるようにします。詳しくは、 条件付けされた text-to-image 生成については、On-Device Diffusion plugins for 条件付けされたテキストから画像への変換 生成します。
画像生成ツール モデルに提供された特定のコンセプトに基づいて画像を生成することもできます。 再トレーニングをします詳細については、 LoRA。
使ってみる
以下の実装ガイドのいずれかに沿って、このタスクの使用を開始する ターゲット プラットフォームです。これらのプラットフォーム固有のガイドでは、基本的な デフォルト モデルを使用したコードサンプルと、 推奨される構成オプションは次のとおりです。
タスクの詳細
このセクションでは、機能、入力、出力、構成について説明します。 オプションを選択できます。
機能
画像生成ツールを使用して次のものを実装できます。
- テキストから画像の生成 - テキスト プロンプトで画像を生成します。
- 条件画像による画像生成 - テキストから画像を生成します 生成します。Image Generator では、状態画像をさまざまな方法で使用します。 ControlNet に似ています。
- LoRA の重みによる画像生成 - 特定の人物の画像を生成します。 テキスト プロンプトで、カスタマイズしたモデルの重み付けを使用して、オブジェクト、オブジェクト、スタイルを作成します。
タスクの入力 | タスク出力 |
---|---|
画像生成ツールでは、次の入力を使用できます。 <ph type="x-smartling-placeholder">
|
画像生成ツールは次の結果を出力します。 <ph type="x-smartling-placeholder">
|
構成オプション
このタスクには、次の構成オプションがあります。
オプション名 | 説明 | 値の範囲 |
---|---|---|
imageGeneratorModelDirectory |
モデルの重みを保存する画像生成ツールのモデル ディレクトリ。 | PATH |
loraWeightsFilePath |
LoRA 重みファイルのパスを設定します。省略可。次の場合のみ該当 モデルは LoRA でカスタマイズされています | PATH |
errorListener |
オプションのエラーリスナーを設定します。 | N/A |
このタスクはプラグイン モデルもサポートしており、ユーザーは条件画像を含めることができます。 タスク入力に生成され、基盤モデルがそれを補強してリファレンスとして使用 生成します。これらの状態画像は、顔のランドマーク、端の輪郭、 深度推定。モデルはこれを追加のコンテキストや情報として 画像を生成できます。
基盤モデルにプラグイン モデルを追加する場合は、プラグインの構成も行う
。Face ランドマーク プラグインが faceConditionOptions
(Canny エッジ)を使用する
プラグインでは edgeConditionOptions
を使用し、Depth プラグインでは
depthConditionOptions
。
Canny Edge のオプション
edgeConditionOptions
で次のオプションを構成します。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
threshold1 |
ヒステリシス手順の 1 つ目のしきい値。 | Float |
100 |
threshold2 |
ヒステリシス手順の 2 番目のしきい値。 | Float |
200 |
apertureSize |
Sobel オペレーターの絞りサイズ。一般的な範囲は 3 ~ 7 です。 | Integer |
3 |
l2Gradient |
L2 ノルムを使用して画像勾配の大きさを計算するかどうか デフォルトの L1 ノルムではなく | BOOLEAN |
False |
EdgePluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
これらの構成オプションの仕組みについて詳しくは、 Canny エッジ検出機能。
顔のランドマークのオプション
faceConditionOptions
で次のオプションを構成します。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
minFaceDetectionConfidence |
顔検出に必要な最小信頼スコア 成功したとみなされます。 | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
顔存在の最小信頼スコア 顔のランドマーク検出のスコアが出力されます。 | Float [0.0,1.0] |
0.5 |
faceModelBaseOptions |
パスを設定する BaseOptions オブジェクト
モデルに対して条件の画像を作成します。 |
BaseOptions オブジェクト |
N/A |
FacePluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
これらの設定オプションの仕組みについて詳しくは、 顔認識ツールタスク:
奥行きのオプション
depthConditionOptions
で次のオプションを構成します。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
depthModelBaseOptions |
パスを設定する BaseOptions オブジェクト
モデルに対して条件の画像を作成します。 |
BaseOptions オブジェクト |
N/A |
depthPluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
モデル
画像生成ツールには、テキストから画像を生成する AI モデルである基盤モデルが必要 拡散技術を使って新しい画像を生成します。基盤モデル ここで説明するのは、ハイエンド アプリケーションで実行するよう最適化された軽量なモデルです。 対応しています。
プラグイン モデルはオプションであり、基盤モデルを補完するものであり、 ユーザーは、テキスト プロンプトとともに追加の条件画像を指定できます。 より限定された画像生成が可能になります。LoRA を使用して基盤モデルをカスタマイズする 重みは、基盤モデルに特定のコンセプトを教えるためのオプションです。 オブジェクト、人物、スタイルなどの特徴を追加し、生成された画像にそれらを注入します。
基盤モデル
基盤モデルは、テキストから画像を生成する潜在拡散モデルであり、
生成します。画像生成ツールを使用するには、基盤モデルに
に基づいて、runwayml/stable-diffusion-v1-5 EMA-only
モデル形式と一致する必要があります。
次のモデル:
Image Generator は、次の基盤モデルにも対応しています。
基盤モデルをダウンロードしたら、 image_generator_converter アプリケーションに適したオンデバイス形式に変換する 画像生成ツール
必要な依存関係をインストールします。
$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py
次のコマンドを実行します。
convert.py
スクリプト:
$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>
プラグイン モデル
このセクションのプラグイン モデルは Google が開発しており、 基盤モデルの組み合わせです。プラグイン モデルでは、Image Generator が 条件画像とテキスト プロンプトを入力として受け取り、 生成する画像の構造を制御します。プラグイン モデルは、 ControlNet と類似した機能を備え、 新しいアーキテクチャを採用する オンデバイス拡散。
プラグイン モデルは基本オプションで指定する必要があります。また、 追加のモデルファイルをダウンロードできます。プラグインごとに固有の要件があります。 状態画像(Image Generator で生成できます)。
Canny Edge プラグイン
Canny Edge プラグインは、意図するエッジの枠線を示す条件画像を受け入れます。 必要があります。基盤モデルは、モデル定義によって暗黙の 生成し、テキスト プロンプトに基づいて新しい画像を生成します。「 Image Generator には、状態画像を作成する機能が組み込まれています。 プラグイン モデルのダウンロードのみが必要です。
<ph type="x-smartling-placeholder"></ph> Canny Edge プラグインをダウンロード
Canny Edge プラグインには、次の構成オプションが含まれています。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
threshold1 |
ヒステリシス手順の 1 つ目のしきい値。 | Float |
100 |
threshold2 |
ヒステリシス手順の 2 番目のしきい値。 | Float |
200 |
apertureSize |
Sobel オペレーターの絞りサイズ。一般的な範囲は 3 ~ 7 です。 | Integer |
3 |
l2Gradient |
L2 ノルムを使用して画像勾配の大きさを計算するかどうか デフォルトの L1 ノルムではなく | BOOLEAN |
False |
EdgePluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
これらの構成オプションの仕組みについて詳しくは、 Canny エッジ検出機能。
Face Landmark プラグイン
Face Landmark プラグインは、MediaPipe からの出力を受け入れます。 Landmarker を状態画像として使用します。ザ フェイス Landmarker は 1 つの面の詳細なメッシュ メッシュを提供し、 顔の特徴の存在と位置を特定します基盤モデルでは、顔の顔の画像を マッピングされ、メッシュ上に新しい顔が生成されます。
<ph type="x-smartling-placeholder"></ph> 顔ランドマーク プラグインをダウンロード
顔ランドマーク プラグインには顔ランドマークモデルも必要です bundle を使用して条件イメージを作成します。この モデルバンドルと同じバンドルを 顔認識地マーカータスクを実行します。
<ph type="x-smartling-placeholder"></ph> 顔ランドマーク モデルのバンドルをダウンロード
顔のランドマーク プラグインには、次の構成オプションが含まれています。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
minFaceDetectionConfidence |
顔検出に必要な最小信頼スコア 成功したとみなされます。 | Float [0.0,1.0] |
0.5 |
minFacePresenceConfidence |
顔存在の最小信頼スコア 顔のランドマーク検出のスコアが出力されます。 | Float [0.0,1.0] |
0.5 |
faceModelBaseOptions |
パスを設定する BaseOptions オブジェクト
モデルに対して条件の画像を作成します。 |
BaseOptions オブジェクト |
N/A |
FacePluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
これらの設定オプションの仕組みについて詳しくは、 顔認識ツールタスク:
Depth プラグイン
Depth プラグインは、画角の単眼深度を指定する条件画像を受け入れます。 作成します。基盤モデルは状態画像を使用してサイズと状態を推測し、 生成するオブジェクトの深度を指定し、テキストに基づいて新しい画像を生成します。 表示されます。
<ph type="x-smartling-placeholder"></ph> Depth プラグインをダウンロードする
Depth プラグインには、条件を作成するための Depth 推定モデルも必要です 説明します。
<ph type="x-smartling-placeholder"></ph> 深度推定モデルをダウンロード
Depth プラグインには、次の構成オプションが含まれています。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
depthModelBaseOptions |
パスを設定する BaseOptions オブジェクト
モデルに対して条件の画像を作成します。 |
BaseOptions オブジェクト |
N/A |
depthPluginModelBaseOptions |
パスを設定する BaseOptions オブジェクト
使用します。 |
BaseOptions オブジェクト |
N/A |
LoRA によるカスタマイズ
LoRA を使用してモデルをカスタマイズすると、 画像生成ツールを使用し、特定のコンセプトに基づいて画像を生成 一意のトークンで識別されます。その後の新しい LoRA 重みでは、 新しいコンセプトが生成された時点で、モデルは新しいコンセプトの画像を テキスト プロンプトで指定します。
LoRA の重みを作成するには、 特定のオブジェクト、人物、スタイルを表現できます。これにより、モデルは新しい 画像を生成する際に適用しますLoRa の重みを作成して 使用する場合は、このソリューションは 許可した人物の顔。
以下は、画像でトレーニングされたカスタマイズされたモデルからの出力です。 ティーポット: DreamBooth データセットをご覧ください。 トークン「monadikos Tepot」を使用します。
プロンプト: 鏡の横にあるモナディコスのティーポット
カスタマイズされたモデルはプロンプトでトークンを受け取り、ティーポットを注入し、 LoRA の重みから描画するよう学習し、それを プロンプトでリクエストされたとおりにミラーリングします。
<ph type="x-smartling-placeholder"></ph> Vertex AI での LoRA
詳細については、このモジュールのカスタマイズ ガイド、 これは Vertex AI の Model Garden 基盤モデルに LoRA の重みを適用してモデルをカスタマイズする。