2022年XNUMX月、私たちは 発表の AWS のお客様は、テキストから画像を生成できる 安定拡散 使用するモデル Amazon SageMaker ジャンプスタート. 本日、ユーザーが Stable Diffusion モデルを使用して画像を修復できるようにする新機能を紹介できることを嬉しく思います。 修復とは、テキスト プロンプトに基づいて、画像の一部を別の画像に置き換えるプロセスを指します。 元の画像、置き換えられる部分の輪郭を描くマスク画像、およびテキスト プロンプトを提供することにより、Stable Diffusion モデルは、マスクされた領域をテキスト プロンプトに記述されたオブジェクト、サブジェクト、または環境に置き換える新しい画像を生成できます。
修復を使用して、劣化した画像を復元したり、特定のセクションで斬新な主題やスタイルを使用して新しい画像を作成したりできます。 建築設計の分野では、Stable Diffusion インペインティングを適用して、建物の設計図の不完全または損傷した領域を修復し、建設作業員に正確な情報を提供できます。 臨床 MRI イメージングの場合、患者の頭部を拘束する必要があり、クロッピング アーティファクトがデータの損失や診断精度の低下を引き起こすため、標準以下の結果につながる可能性があります。 画像の修復は、これらの次善の結果を効果的に軽減するのに役立ちます。
この投稿では、XNUMX つの方法で Stable Diffusion 修復モデルを使用して推論をデプロイおよび実行するための包括的なガイドを紹介します。 Amazon SageMakerスタジオ、およびプログラムによって JumpStart API で利用可能 SageMaker Python SDK.
ソリューションの概要
以下の画像は修復の例です。 元の画像は左側、マスク画像は中央、モデルによって生成された修復画像は右側にあります。 最初の例では、モデルには元の画像、マスク画像、テキスト プロンプト「白い猫、青い目、セーターを着て、公園に横たわっている」、および否定的なプロンプト「足の描き方が悪い」が提供されました。 」 XNUMX 番目の例では、テキスト プロンプトは「女性モデルが、ピンクとブルーの色合いのブレンドが特徴のカジュアルなロング ドレスを優雅に披露しています」でした。
Stable Diffusion のような大きなモデルを実行するには、カスタムの推論スクリプトが必要です。 エンド ツー エンドのテストを実行して、スクリプト、モデル、および目的のインスタンスが効率的に連携することを確認する必要があります。 JumpStart は、しっかりとテストされたすぐに使えるスクリプトを提供することで、このプロセスを簡素化します。 これらのスクリプトには、Studio UI からワンクリックでアクセスできます。 JumpStart API.
次のセクションでは、Studio UI または JumpStart API を使用してモデルをデプロイし、推論を実行する方法について説明します。
このモデルを使用することにより、以下に同意することに注意してください CreativeML Open RAIL++-M ライセンス.
StudioUIからJumpStartにアクセスします
このセクションでは、Studio UI を使用した JumpStart モデルのデプロイについて説明します。 付属のビデオでは、JumpStart で事前トレーニング済みの Stable Diffusion 修復モデルを見つけてデプロイする方法を示しています。 モデル ページには、モデルとその使用法に関する重要な詳細が表示されます。 推論を実行するために、低レイテンシーの推論に必要な GPU アクセラレーションを手頃な価格で提供する ml.p3.2xlarge インスタンス タイプを採用しています。 SageMaker ホスティング インスタンスが設定されたら、選択します。 配備します. エンドポイントは約 10 分以内に操作可能になり、推論リクエストを処理する準備が整います。
JumpStart は、新しく作成されたエンドポイントで推論を実行するのにかかる時間を短縮するのに役立つサンプル ノートブックを提供します。 Studio でノートブックにアクセスするには、 ノートブックを開く セクションに StudioのEndpointを使用する モデル エンドポイント ページのセクション。
SageMakerSDKでJumpStartをプログラムで使用する
JumpStart UI を利用すると、数回クリックするだけで、事前トレーニング済みのモデルをインタラクティブにデプロイできます。 あるいは、SageMaker Python SDK 内に統合された API を使用して、プログラムで JumpStart モデルを採用することもできます。
このセクションでは、JumpStart で適切な事前トレーニング済みモデルを選択し、このモデルを SageMaker エンドポイントにデプロイし、デプロイされたエンドポイントで推論を実行します。すべて SageMaker Python SDK を使用します。 次の例には、コード スニペットが含まれています。 このデモに含まれるすべての手順を含む完全なコードにアクセスするには、 JumpStart 画像編集入門 – 安定拡散修復 ノートブックの例。
事前トレーニング済みのモデルをデプロイする
SageMaker は、さまざまなビルドおよびランタイム タスクに Docker コンテナを利用します。 JumpStart は SageMakerディープラーニングコンテナ フレームワーク固有の (DLC)。 最初に、追加のパッケージと、選択したタスクのトレーニングと推論を処理するスクリプトをフェッチします。 次に、事前トレーニング済みのモデル アーティファクトが個別にフェッチされます。 model_uris
、プラットフォームに柔軟性を提供します。 これにより、複数の事前トレーニング済みモデルを XNUMX つの推論スクリプトで使用できます。 次のコードは、このプロセスを示しています。
次に、それらのリソースを SageMakerモデル インスタンス化してエンドポイントをデプロイします。
モデルがデプロイされた後、モデルからリアルタイムの予測を取得できます!
入力
入力は、ベース イメージ、マスク イメージ、およびマスク アウトされた部分で置換されるサブジェクト、オブジェクト、または環境を記述するプロンプトです。 インペインティング エフェクト用の完璧なマスク イメージを作成するには、いくつかのベスト プラクティスが必要です。 特定のプロンプトから始めて、目的の結果を得るために、さまざまな Stable Diffusion 設定をためらわずに試してください。 修復するイメージによく似たマスク イメージを使用します。 このアプローチは、修復アルゴリズムが画像の欠落部分を補完するのに役立ち、より自然な外観になります。 通常、高品質のイメージはより良い結果をもたらすため、ベース イメージとマスク イメージが高品質で互いに似ていることを確認してください。 さらに、大きくて滑らかなマスク イメージを選択して、ディテールを保持し、アーティファクトを最小限に抑えます。
エンドポイントは、ベース イメージとマスクを生の RGB 値または base64 でエンコードされたイメージとして受け入れます。 推論ハンドラーは、に基づいて画像をデコードします。 content_type
:
-
content_type = “application/json”
、入力ペイロードは、未加工の RGB 値、テキスト プロンプト、およびその他のオプション パラメータを含む JSON ディクショナリである必要があります -
content_type = “application/json;jpeg”
、入力ペイロードは、base64 でエンコードされた画像、テキスト プロンプト、およびその他のオプション パラメータを含む JSON ディクショナリである必要があります
出力
エンドポイントは、Base64 でエンコードされた RGB 画像または生成された画像の JSON 辞書の XNUMX 種類の出力を生成できます。 を設定することで、必要な出力形式を指定できます。 accept
へのヘッダー "application/json"
or "application/json;jpeg"
それぞれ JPEG 画像または base64 の場合。
-
accept = “application/json”
、エンドポイントは画像の RGB 値を含む JSON ディクショナリを返します -
accept = “application/json;jpeg”
の場合、エンドポイントは base64.b64 エンコーディングでエンコードされたバイトとして JPEG 画像を含む JSON ディクショナリを返します
生の RGB 値でペイロードを送受信すると、入力ペイロードと応答サイズのデフォルト制限に達する可能性があることに注意してください。 したがって、base64 でエンコードされたイメージを設定して使用することをお勧めします。 content_type = “application/json;jpeg”
= "application/json;jpeg" を受け入れます。
次のコードは、推論リクエストの例です。
サポートされるパラメーター
Stable Diffusion 修復モデルは、画像生成用の多くのパラメーターをサポートしています。
- 画像 – 元の画像。
- mask – 画像生成時に黒く塗りつぶされた部分が変更されず、白い部分が置き換えられた画像。
- プロンプト – イメージ生成をガイドするプロンプト。 文字列または文字列のリストにすることができます。
- num_inference_steps (オプション) – 画像生成中のノイズ除去ステップの数。 ステップ数が多いほど、画質が向上します。 指定する場合は、正の整数にする必要があります。 推論ステップが増えると、応答時間が長くなることに注意してください。
- guide_scale (オプション) – ガイダンス スケールを高くすると、画像の品質が犠牲になりますが、プロンプトにより密接に関連する画像になります。 指定する場合は、float にする必要があります。
guidance_scale<=1
無視されます。 - negative_prompt (オプション) – これは、このプロンプトに対してイメージ生成をガイドします。 指定する場合は、文字列または文字列のリストであり、一緒に使用する必要があります
guidance_scale
。 場合guidance_scale
が無効になっている場合、これも無効になります。 さらに、プロンプトが文字列のリストの場合、negative_prompt
文字列のリストでもある必要があります。 - シード(オプション) – これにより、再現性のためにランダム化された状態が修正されます。 指定する場合は、整数にする必要があります。 同じシードで同じプロンプトを使用すると、結果のイメージは常に同じになります。
- batch_size (オプション) – XNUMX 回の転送パスで生成する画像の数。 小さいインスタンスを使用するか、多くのイメージを生成する場合は、
batch_size
小さい数 (1–2) になります。 画像の数 = プロンプトの数*num_images_per_prompt
.
制限とバイアス
Stable Diffusion は、修復において優れたパフォーマンスを発揮しますが、いくつかの制限やバイアスに悩まされています。 これらには以下が含まれますが、これらに限定されません。
- トレーニング データにこれらの特徴を備えた十分な画像が含まれていないため、モデルは正確な顔や手足を生成しない場合があります。
- モデルは、 LAION-5B データセット、成人向けコンテンツが含まれており、さらに考慮しないと製品の使用に適さない可能性があります。
- モデルは英語のテキストでトレーニングされているため、英語以外の言語ではうまく機能しない可能性があります。
- モデルは画像内に適切なテキストを生成できません。
- Stable Diffusion 修復は通常、256×256 または 512×512 ピクセルなどの低解像度の画像に最適です。 高解像度の画像 (768 x 768 以上) を扱う場合、この方法では、望ましいレベルの品質と詳細を維持するのに苦労する可能性があります。
- シードを使用すると再現性を制御できますが、Stable Diffusion 修復では、入力またはパラメーターをわずかに変更すると、さまざまな結果が得られる場合があります。 これにより、特定の要件に合わせて出力を微調整することが困難になる場合があります。
- この方法では、複雑なテクスチャとパターンを生成するのに苦労する可能性があります。特に、それらが画像内の広い領域にまたがる場合や、修復された領域の全体的な一貫性と品質を維持するために不可欠な場合です。
制限とバイアスの詳細については、 安定拡散修復モデルカード.
プロンプトを介して生成されたマスクを使用した修復ソリューション
CLIPSeq は、事前トレーニング済みの CLIP (Contrastive Language-Image Pretraining) モデルの機能を利用して、入力画像からマスクを生成する高度な深層学習手法です。 このアプローチは、画像のセグメンテーション、修復、操作などのタスク用のマスクを効率的に作成する方法を提供します。 CLIPSeq は、CLIP を使用して入力画像のテキスト記述を生成します。 次に、テキスト説明を使用して、テキスト説明に関連する画像内のピクセルを識別するマスクを生成します。 次に、マスクを使用して、画像の関連部分を分離し、さらに処理することができます。
CLIPSeq には、入力画像からマスクを生成する他の方法よりもいくつかの利点があります。 まず、別の画像セグメンテーション アルゴリズムで画像を処理する必要がないため、より効率的な方法です。 XNUMX つ目は、イメージのテキスト記述により近いマスクを生成できるため、より正確です。 第 XNUMX に、さまざまな画像からマスクを生成するために使用できるため、汎用性が高くなります。
ただし、CLIPSeq にはいくつかの欠点もあります。 まず、特定のドメインや専門分野を網羅していない可能性がある事前トレーニング済みの CLIP モデルに依存しているため、この手法には主題に関して制限がある可能性があります。 第 XNUMX に、画像のテキスト説明のエラーの影響を受けやすいため、機密性の高い方法になる可能性があります。
詳細については、 Amazon SageMaker を使用した生成 AI による仮想ファッション スタイリング.
クリーンアップ
ノートブックの実行が完了したら、プロセスで作成されたすべてのリソースを必ず削除して、請求が停止されるようにしてください。 エンドポイントをクリーンアップするコードは、関連する ノート.
まとめ
この投稿では、JumpStart を使用して事前トレーニング済みの Stable Diffusion 修復モデルをデプロイする方法を示しました。 この投稿ではコード スニペットを示しました。このデモのすべての手順を含む完全なコードは、 JumpStart の紹介 – プロンプトに従って画質を向上させる 例のノート。 ご自身で解決策を試し、ご意見をお寄せください。
モデルとその仕組みの詳細については、次のリソースを参照してください。
JumpStart の詳細については、次の投稿をご覧ください。
著者について
ヴィヴェック・マダン博士 Amazon SageMaker JumpStart チームの応用科学者です。 イリノイ大学アーバナ シャンペーン校で博士号を取得し、ジョージア工科大学で博士研究員を務めました。 彼は機械学習とアルゴリズム設計の活発な研究者であり、EMNLP、ICLR、COLT、FOCS、および SODA カンファレンスで論文を発表しています。
アルフレッド・シェン AWS のシニア AI/ML スペシャリストです。 彼はシリコンバレーで働いており、ヘルスケア、金融、ハイテクなどのさまざまな分野で技術職や管理職を務めています。 彼は専任の応用 AI/ML 研究者であり、CV、NLP、およびマルチモダリティに重点を置いています。 彼の作品は、EMNLP、ICLR、Public Health などの出版物で紹介されています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/inpaint-images-with-stable-diffusion-using-amazon-sagemaker-jumpstart/
- :は
- $UP
- 10
- 100
- 2022
- 7
- a
- 私たちについて
- 加速する
- 同意
- 受け入れる
- アクセス
- 精度
- 正確な
- 達成する
- アクティブ
- NEW
- さらに
- 成人
- 高度な
- 利点
- 手頃な価格の
- 後
- に対して
- AI
- AI / ML
- エイズ
- アルゴリズム
- 整列した
- すべて
- ことができます
- 常に
- Amazon
- アマゾンセージメーカー
- Amazon SageMaker ジャンプスタート
- および
- 別の
- API
- API
- 適用された
- アプローチ
- 適切な
- 約
- 建築の
- です
- AREA
- エリア
- AS
- At
- 自動的に
- 利用できます
- AWS
- ベース
- ベース
- BE
- なぜなら
- BEST
- ベストプラクティス
- より良いです
- バイアス
- 請求
- 青
- ビルド
- 建物
- by
- 缶
- 場合
- カジュアル
- CAT
- 原因
- センター
- 一定
- 挑戦
- チェック
- 選択する
- class
- クリック
- 臨床
- 密接に
- コード
- 注釈
- コンプリート
- 完了
- 包括的な
- 会議
- 検討事項
- 建設
- 含む
- コンテナ
- コンテナ
- コンテンツ
- コントロール
- 作ります
- 作成した
- 作成
- カスタム
- Customers
- データ
- データ損失
- 専用の
- 深いです
- 深い学習
- デフォルト
- 提供します
- 実証
- 展開します
- 展開
- 展開する
- 展開
- 記載された
- 説明
- 設計
- 希望
- 詳細
- 細部
- 無効
- 異なる
- デッカー
- そうではありません
- ドメイン
- ドント
- 間に
- 各
- 効果的に
- 効果
- 効率的な
- 効率良く
- どちら
- 可能
- 端から端まで
- エンドポイント
- 英語
- 確保
- エントリ
- 環境
- エラー
- 特に
- 本質的な
- 例
- 例
- 興奮した
- 実験
- 専門知識
- 視線
- 顔
- ファッション
- 特徴
- 特徴
- 特色
- 足
- 女性
- フェッチ
- 少数の
- File
- ファイナンス
- 名
- フィット
- 柔軟性
- フロート
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- フォワード
- から
- フル
- さらに
- 一般に
- 生成する
- 生成された
- 生成
- 世代
- 生々しい
- 生成AI
- 良い
- GPU
- ガイダンス
- ガイド
- ガイド
- ハンドル
- 持ってる
- 健康
- ヘルスケア
- 助けます
- 高品質
- 高解像度の
- より高い
- ヒット
- 開催
- ホスティング
- 認定条件
- How To
- HTML
- HTTPS
- 識別する
- イリノイ州
- 画像
- 画像
- イメージング
- 印象的
- in
- include
- 含まれました
- 含めて
- 情報
- 統合された
- インタフェース
- 紹介する
- IT
- ITS
- JPG
- JSON
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 大
- つながる
- LEARN
- 学習
- レベル
- ような
- 制限
- 限定的
- 制限
- ライン
- リスト
- 長い
- より長いです
- 損失
- 機械
- 機械学習
- 維持する
- 保守
- make
- 経営者
- 操作
- 多くの
- mask
- マスク
- 問題
- 五月..
- 方法
- メソッド
- かもしれない
- 分
- 行方不明
- 軽減する
- ML
- モデル
- 他には?
- もっと効率的
- さらに
- MRI検査
- の試合に
- ナチュラル
- 必要
- 負
- 新作
- NLP
- ノート
- 小説
- 11月
- 数
- オブジェクト
- 入手する
- of
- オファー
- on
- ONE
- 開いた
- オペレーショナル
- 注文
- オリジナル
- その他
- 輪郭
- 出力
- 全体
- 自分の
- パッケージ
- ページ
- 論文
- パラメータ
- パーク
- 部品
- パス
- パターン
- 完璧
- 実行する
- パフォーマンス
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- ポジション
- 正の
- ポスト
- 投稿
- 電力
- プラクティス
- 正確な
- 予測
- Predictor
- 準備
- 現在
- ブランド
- プロセス
- 処理済み
- 処理
- 作り出す
- プロダクト
- 提供します
- 提供
- は、大阪で
- 提供
- 公共
- 公衆衛生
- 出版物
- 公表
- Python
- 品質
- ランダム化
- Raw
- への
- realm
- 受け入れ
- 推奨する
- 減らします
- 電話代などの費用を削減
- 指し
- 地域
- 関連する
- 関連した
- 残っている
- 修理
- 置き換え
- 要求
- リクエスト
- 必要とする
- の提出が必要です
- 要件
- 必要
- 研究者
- 似てる
- リソース
- 応答
- 復元する
- 結果として
- 結果
- return
- 収益
- RGB
- ラン
- ランニング
- セージメーカー
- 同じ
- 規模
- 科学者
- スクリプト
- SDDK
- 二番
- セクション
- セクション
- セクター
- シード
- セグメンテーション
- 選択
- 送信
- シニア
- 敏感な
- 別
- 設定
- 設定
- いくつかの
- シリコン
- シリコンバレー
- サイズ
- 小さい
- より小さい
- So
- 溶液
- 一部
- スパン
- 専門家
- 特定の
- 指定の
- 安定した
- start
- 都道府県
- ステップ
- まだ
- 停止
- 文字列
- 奮闘
- 研究
- テーマ
- そのような
- 苦しみ
- 十分な
- サポート
- がち
- 取り
- 仕事
- タスク
- チーム
- テク
- 技術的
- 条件
- テスト
- それ
- したがって、
- ボーマン
- 三番
- 介して
- 時間
- 〜へ
- 今日
- 一緒に
- 訓練された
- トレーニング
- 一般的に
- ui
- 大学
- us
- 使用法
- つかいます
- ユーザー
- ユーザーインターフェース
- users
- 活用する
- 利用
- 谷
- 価値観
- 多様
- さまざまな
- 多才な
- 、
- ビデオ
- 仕方..
- WELL
- which
- 白
- ワイド
- 意志
- 以内
- 無し
- 仕事
- 共に働く
- ワーキング
- 作品
- 産出
- You
- あなたの
- ゼファーネット