ホームページ >テクノロジー周辺機器 >AI >初めて、生成モデルに依存せず、AI にたった 1 文で写真を編集させます。
2022 年は、人工知能生成コンテンツ (AIGC) が爆発的に増加した年です。一般的な方向性の 1 つは、テキストの説明 (テキスト プロンプト) を通じて画像を編集することです。既存の手法は通常、大規模なデータセットでトレーニングされた生成モデルに依存しているため、データの取得とトレーニングのコストが高くなるだけでなく、モデルのサイズも大きくなります。これらの要因により、実際のテクノロジーの開発と応用には高い敷居が生じ、AIGC の開発と創造性が制限されてきました。
上記の問題点に対応して、NetEase Interactive Entertainment AI Lab は上海交通大学と協力して研究を実施し、微分可能なベクトル レンダラ - CLIPVG に基づくソリューションを初めて革新的に提案しました。生成モデルに依存せず、テキストガイドによる画像編集を実現します。このソリューションは、ベクトル要素の特性を巧みに利用して最適化プロセスを制限するため、大量のデータ要件と高いトレーニング オーバーヘッドを回避できるだけでなく、最適なレベルの生成効果も達成できます。対応する論文「CLIPVG: Text-Guided Image Manipulation using Differentiable Vector Graphics」は、AAAI 2023 に含まれています。
効果の一部は次のとおりです。 (順に)顔編集、車種変更、建物生成、色変更、パターン変更、フォント変更)。
アイデアと技術的背景
プロセス全体の観点から、CLIPVG は最初に、ピクセル画像をベクトル領域に堅牢に変換して適応できるマルチラウンドベクトル化手法を提案しました。その後の画像編集ニーズに対応します。次に、関心領域 (ROI) ごとに異なるテキストによるガイダンスをサポートするために、ROI CLIP 損失が損失関数として定義されます。最適化プロセス全体では、微分可能なベクトル レンダラーを使用して、ベクトル パラメーター (カラー ブロックの色、コントロール ポイントなど) の勾配計算を実行します。CLIPVG は 2 つの分野のテクノロジーを組み合わせています。1 つはピクセル領域でのテキストガイドによる画像編集で、もう 1 つはベクター画像の生成です。次に、関連する技術的背景を順番に紹介します。
テキストガイド付き画像翻訳
画像編集中に AI がテキストガイドを「理解」できるようにする一般的な方法Contrastive Language-Image Pre-Training (CLIP) モデルを使用します。 CLIP モデルは、テキストと画像を比較可能な潜在空間にエンコードし、「画像がテキストの説明に準拠しているかどうか」に関するクロスモーダル類似性情報を提供することで、テキストと画像の間に意味論的な接続を確立できます。しかし、実際には、CLIP モデルのみを使用して画像編集を直接効果的にガイドすることは困難です。これは、CLIP が主に画像の高レベルの意味情報に焦点を当てており、ピクセル レベルの詳細に対する制約がないため、最適化プロセスが局所最適 (局所最小値) または敵対的な解決策に簡単に陥ります。既存の一般的な方法は、CLIP を、StyleCLIP (Patashnik et al、2021)、StyleGAN-NADA (Gal et al、2022)、Disco Diffusion などの GAN または Diffusion に基づくピクセル ドメイン生成モデルと組み合わせることです。 (alembics 2022)、DiffusionCLIP (Kim, Kwon, and Ye 2022)、DALL・E 2 (Ramesh et al、2022) など。これらのスキームは生成モデルを利用して画像の詳細を制限し、CLIP を単独で使用する場合の欠点を補います。しかし同時に、これらの生成モデルはトレーニング データとコンピューティング リソースに大きく依存しており、画像編集の有効範囲がトレーニング セット画像によって制限されてしまいます。 StyleCLIP、StyleGAN-NADA、DiffusionCLIP などのメソッドは、モデルを生成する機能によって制限されているため、単一のモデルを顔画像などの特定のフィールドにのみ制限できます。 Disco Diffusion や DALL・E 2 などの手法はあらゆる画像を編集できますが、対応する生成モデルをトレーニングするには大量のデータとコンピューティング リソースが必要です。 現在、CLIPstyler など、生成モデルに依存しないソリューションはほとんどありません (Kwon and Ye 2022)。最適化中、CLIPstyler は編集対象の画像をランダムなパッチに分割し、各パッチで CLIP ガイダンスを使用して画像の詳細に対する制約を強化します。問題は、各パッチが入力テキストによって定義されたセマンティクスを個別に反映することであるため、このソリューションではスタイルの転送のみが実行でき、画像の全体的な高レベルのセマンティクス編集は実行できません。 上記のピクセル ドメイン手法とは異なり、NetEase Interactive Entertainment AI Lab によって提案された CLIPVG ソリューションは、ベクトル グラフィックスの特性を使用して画像の詳細を制限し、生成モデルを置き換えます。 CLIPVG はあらゆる入力画像をサポートし、汎用の画像編集を行うことができます。出力は標準の svg 形式のベクター グラフィックであり、解像度による制限はありません。 CLIPdraw (Frans, Soros, and Witkowski 2021)、StyleCLIPdraw (Schaldenbrand, Liu) など、一部の既存の作品ではテキストガイドによるベクター グラフィック生成が考慮されています。 、および Oh 2022) et al。典型的なアプローチは、CLIP を微分可能なベクトル レンダラーと組み合わせ、ランダムに初期化されたベクトル グラフィックスから開始して、テキストによって表現されるセマンティクスに徐々に近づけることです。使用される微分可能ベクトル レンダラーは Diffvg (Li et al. 2020) で、微分可能レンダリングを通じてベクトル グラフィックスをピクセル イメージにラスタライズできます。 CLIPVG はベクトル画像とピクセル画像の間の接続を確立するために Diffvg も使用します。既存の方法とは異なり、CLIPVG は既存の画像を直接生成するのではなく、既存の画像を編集する方法に焦点を当てています。 既存の画像のほとんどはピクセル画像であるため、ベクター グラフィックスの特性を使用して編集する前に、ベクター化する必要があります。既存のベクトル化手法には、Adobe Image Trace (AIT)、LIVE (Ma et al. 2022) などが含まれますが、これらの手法ではその後の編集のニーズが考慮されていません。 CLIPVG は、特に画像編集の堅牢性を向上させるために、既存の方法に基づいた複数ラウンドのベクトル化強化方法を導入しています。 技術的な実装 CLIPVG の全体的なプロセスを次の図に示します。まず、入力ピクセル画像はさまざまな精度でマルチラウンドベクトル化 (Multi-round Vectorization) を受けます。ここで、i 番目のラウンドで取得されたベクトル要素のセットは Θi としてマークされます。各ラウンドで得られた結果は最適化オブジェクトとして重ね合わされ、微分可能なベクトル レンダリング (微分可能なラスター化) を通じてピクセル ドメインに変換されます。出力画像の開始状態は入力画像のベクトル化された再構成であり、その後、本文で説明されている方向で反復的な最適化が実行されます。最適化プロセスでは、各 ROI の領域範囲と関連テキストに基づいて ROI CLIP 損失 (下図の #) が計算され、カラー パラメータやカラー パラメータなどの各ベクトル要素が勾配に従って最適化されます。形状パラメータ。 反復最適化プロセス全体を次の例で見ることができます。ガイド テキストは「Jocker, Heath Ledger」(ジョーカー、ヒース) です。台帳)。 ベクトル化 ベクター グラフィックスはベクター要素のコレクションとして定義でき、各ベクター要素は一連のパラメーターによって制御されます。ベクトル要素のパラメータはそのタイプによって異なります。塗りつぶされた曲線を例にとると、そのパラメータは です。ここで、 はコントロール ポイント パラメータ、# は、RGB カラーと不透明度のパラメータです。ベクトル要素を最適化する場合、要素内の色は常に一貫しており、制御点間のトポロジ関係も固定されるなど、自然な制約がいくつかあります。これらの機能は、CLIP の詳細な制約の欠如を補い、最適化プロセスの堅牢性を大幅に強化できます。 理論的には、CLIPVG は既存の任意の方法を使用してベクトル化できます。しかし、調査によると、そうするとその後の画像編集でいくつかの問題が発生する可能性があります。まず、通常のベクトル化手法では、画像の隣接するベクトル要素が初期状態では完全に揃っていることを保証できますが、最適化プロセスに応じて各要素が移動し、要素間に「亀裂」が発生します。第 2 に、入力画像が比較的単純で、適合させるために必要なベクトル要素の数が少ない場合がありますが、テキストの説明の効果を表現するにはより複雑な詳細が必要となり、その結果、画像編集中に必要な原材料 (ベクトル要素) が不足することがあります。 上記の問題に対応して、CLIPVG は、各ラウンドで既存のメソッドを呼び出してベクトル化された結果を取得し、それを順番に重ね合わせるマルチラウンド ベクトル化戦略を提案しました。各ラウンドでは、前のラウンドに比べて精度が向上します。つまり、ベクトル要素のより小さなブロックでベクトル化されます。以下の図は、ベクトル化時のさまざまな精度の違いを示しています。 i 回目のベクトル化によって取得されたベクトル要素のセットは、 と表現できます。全ラウンドで得られた結果 重ね合わせ後に得られたベクトル要素の集合を と表記し、CLIPVG の全体最適化対象とします。 損失関数 StyleGAN-NADA や CLIPstyler と同様に、CLIPVG は方向性 CLIP 損失を使用して対応関係を測定します。生成された画像と説明テキストの間。 は入力テキストの説明を表します。 は固定参照テキストであり、CLIPVG で「写真」に設定されます。 は生成された画像 (最適化されるオブジェクト) です。 は元の画像です。 と は、それぞれ CLIP のテキスト コーデックと画像コーデックです。 ΔT と ΔI はそれぞれテキストと画像の潜在空間方向を表します。この損失関数を最適化する目的は、編集後の画像の意味変化の方向をテキストの記述と一致させることです。固定された t_ref は、後続の式では無視されます。 CLIPVG では、生成された画像は、ベクトル グラフィックスの微分可能レンダリングの結果です。さらに、CLIPVG は、各 ROI への異なるテキスト説明の割り当てをサポートします。このとき、方向性 CLIP 損失は、次の ROI CLIP 損失に変換されます。 ここで、Ai は i 番目の ROI 領域であり、 関連するテキストの説明です。 R は微分可能なベクトル レンダラであり、R(Θ) はレンダリングされたイメージ全体です。 は入力画像全体です。 はトリミング操作を表します。これは、画像 I から領域 をトリミングすることを意味します。 CLIPVG は、CLIPstyler と同様のパッチベースの拡張スキームもサポートしています。つまり、各 ROI から複数のパッチをさらにランダムに切り取ることができ、ROI に対応するテキスト記述に基づいてパッチごとに CLIP 損失が計算されます。 合計損失は、すべての領域の ROI CLIP 損失の合計、つまり これはその領域です。領域は ROI、または ROI から切り取られたパッチにすることができます。 は各エリアに対応する損失重量です。 CLIPVG は、上記の損失関数に基づいてベクトル パラメーター セット Θ を最適化します。最適化する場合、形状パラメータ、色パラメータ、特定の領域に対応するいくつかのベクトル要素など、Θ のサブセットのみをターゲットにすることもできます。 実験部分では、CLIPVG はまず、アブレーション実験を通じて複数回のベクトル化戦略とベクター ドメインの最適化の有効性を検証し、それを既存のベースラインとの比較が行われ、最終的に独自のアプリケーション シナリオが実証されました。 アブレーション実験 研究ではまず、複数ラウンドのベクトル化 (Multi-round) 戦略と 1 ラウンドのみのベクトル化 (One-round) 戦略を比較しました。ショット)効果。以下の図の 1 行目はベクトル化後の初期結果、2 行目は編集結果です。ここで、Nc はベクトル化の精度を表します。複数回のベクトル化により、初期状態の再構成精度が向上するだけでなく、編集後のベクトル要素間の亀裂が効果的に除去され、細部のパフォーマンスが向上することがわかります。 #ベクトル ドメイン最適化の特性をさらに研究するために、この論文では CLIPVG (ベクトル ドメイン方式) と CLIPstyler (ピクセル ドメイン方式) を比較します。異なるパッチサイズを使用したエンハンスメントの効果。以下の図の 1 行目は、異なるパッチ サイズを使用した CLIPVG の効果を示し、2 行目は CLIPstyler の効果を示しています。テキストでの説明は「ドクター・ストレンジ」です。画像全体の解像度は512x512です。パッチ サイズが小さい場合 (128x128 または 224x224)、CLIPVG と CLIPstyler の両方が小さな局所領域で「ドクター ストレンジ」の代表的な赤と青を表示しますが、顔全体のセマンティクスは大きく変わらないことがわかります。 . .これは、このときのCLIPガイダンスが画像全体に適用されていないためです。 CLIPVG がパッチ サイズを 410x410 に増やすと、髪型や顔の特徴などのキャラクターのアイデンティティが明らかに変化し、テキストの説明に従って効果的に編集されていることがわかります。パッチ強化が削除されると、セマンティック編集効果と詳細の明瞭さが低下します。これは、パッチ強化がまだプラスの効果を持っていることを示しています。 CLIPVG とは異なり、CLIPstyler はパッチが大きくなったり、パッチが削除された場合でもキャラクターのアイデンティティを変更することはできませんが、全体の色と一部のローカル テクスチャのみを変更します。その理由は、ピクセル領域でパッチ サイズを拡大する方法では基礎となる制約が失われ、局所的な最適化に陥ってしまうためです。この一連の比較は、CLIPVG がベクトル ドメインの詳細に関する制約を効果的に利用し、より大きな CLIP スコープ (パッチ サイズ) と組み合わせた高レベルのセマンティック編集を実現できることを示していますが、これはピクセル ドメイン手法では実現が困難です。 比較実験 比較実験では、研究では最初に CLIPVG と 2 つの方法を使用して任意の画像を編集しました。 Disco Diffusion と CLIPstyler を含むピクセル ドメイン手法を比較しました。下図に示すように、「フィンセント ファン ゴッホの自画像」の例では、CLIPVG はキャラクターのアイデンティティと絵画スタイルを同時に編集でき、一方、ピクセル ドメイン方式ではそのうちの 1 つしか実現できません。 「カスミソウ」では、CLIPVG を使用することで、ベースライン手法よりも花びらの数や形状をより正確に編集できます。 「ジョッカー、ヒース・レジャー」や「フォード・マスタング」の例では、CLIPVG は全体的なセマンティクスを強力に変更することもできます。比較的言えば、Disco Diffusion は局所的な欠陥が発生しやすいのに対し、CLIPstyler は一般にテクスチャとカラーのみを調整します。 (上から: ゴッホの絵、カスミソウ、ヒース レジャー ジョーカー、フォード マスタング) #研究者らは次に、StyleCLIP、DifffusionCLIP、StyleGAN-NADA などの特定の分野 (人間の顔を例として) の画像のピクセル ドメイン手法を比較しました。使用範囲が制限されているため、これらのベースラインメソッドの生成品質は一般的により安定しています。この一連の比較においても、CLIPVG の効果は既存の方法に劣らないことが示されており、特に対象テキストとの一貫性の度合いがより高い場合が多いです。 (上から下: ドクター・ストレンジ、ホワイト・ウォーカー、ゾンビ) CLIPVG は、ベクター グラフィックスの特性と ROI レベルの損失関数を使用して、既存の方法では実現が難しい一連の革新的なゲームプレイをサポートできます。たとえば、この記事の冒頭で示した複数人の写真の編集効果は、さまざまな登場人物に対してさまざまな ROI レベルのテキスト説明を定義することによって実現されます。下の図の左側は入力、中央は ROI レベルのテキスト記述の編集結果、右側は全体的なテキスト記述が 1 つだけある全体の画像の結果です。 A1~A7エリアに対応する説明は、1.「ジャスティス・リーグ・シックス」、2.「アクアマン」、3.「スーパーマン」、4.「ワンダーウーマン」)、5.「サイボーグ」(サイボーグ)、6.「フラッシュ」です。 、DCスーパーヒーロー」(フラッシュ、DC)、および7.「バットマン」(バットマン)。 ROI レベルでの説明はキャラクターごとに個別に編集できますが、全体的な説明では効果的な個人のアイデンティティ特性を生成できないことがわかります。 ROIは互いに重なっているため、既存の手法では各キャラクターを個別に編集してもCLIPVG全体の連携を図ることが困難です。 CLIPVG は、いくつかのベクトル パラメーターを最適化することで、さまざまな特殊な編集効果を実現することもできます。以下の画像の最初の行は、部分領域のみを編集した場合の効果を示しています。 2 行目は、色パラメータをロックし、形状パラメータのみを最適化するフォント生成効果を示しています。 3 行目は 2 行目とは逆で、色のパラメーターのみを最適化することで再着色の目的を達成します。 (トップダウン: サブエリアの編集、フォントのスタイル設定、画像の色の変更)ベクター画像生成
実験結果
その他のアプリケーション
以上が初めて、生成モデルに依存せず、AI にたった 1 文で写真を編集させます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。