論文解説 : InstantDrag: Improving Interactivity in Drag-based Image Editing
ひとことまとめ
概要
ドラッグベースの画像編集モデルはいくつか提案されているが、現在のモデルは元のコンテンツの保持ができなかったり、特徴量の最適化を行うため高速性に問題があるケースが多い。そこで、最適化不要で、高速かつ指示に忠実なInstant Dragを提案する。提案手法はドラッグ指示からOpticalFlowを推定するFlowGenと、OpticalFlowと元画像からドラッグ後の画像を生成するFlowDiffusionの2つのモジュールから成り立つ。提案手法はマスクやテキストなどの追加情報なしで写実的な画像編集を可能にした。
関連研究
GAN(Generative Adversarial Networks)ベースの画像編集
GANを用いた画像間変換はよく用いられる。画像ペアを利用したPix2Pixやペアなしで学習するCycleGANなどがあり、U-Net構造を用いたGeneratorが多く使われる。また、StyleGANなどを用いる場合、一度潜在空間に投射してから、潜在空間上で編集を行い、再度画像へ変換する手法などもよく用いられる。しかしながら、これらの方法はGANの表現力が十分である前提であり、一般的にはGANはテキストから生成などの場合ではうまく汎化しないケースも多い。
Diffusionベースの画像編集
大規模なText2Imageのdiffusionモデルの発展により、それらを利用したテキスト補助付き画像編集などが提案されている。また、3Dデータへの適用や動的な動画データからの学習なども行われている。GANベースの手法と比較して、安定性と汎化性能は高いが、推論時に時間とメモリを多く消費することが知られている。
Dragベースの画像生成
DragGANは元の座標と移動先の座標へのドラッグ指示から画像を生成する手法を提案した。StyleGAN2の潜在空間内で、マスク領域以外をなるべく変更せず、マスク領域は中間特徴量がドラッグ指示した位置の特徴量と近づくように最適化を繰り返すことで学習なしでの画像生成を実現している。
DragDiffusionはDragGANの考えをStableDiffusionに適用し、より汎用的な画像編集を可能にした。(DragGANはStyleGANが学習されてないといけないので、汎用性が低い) FreeDragは、適応テンプレートとバックトラッキングを使用して曖昧なポイントトラッキングを解決したり、GoodDrag, StableDragなどは、ドラッグとノイズ除去の操作を交互に行い、より安定した生成を実現した。
しかしこれらの手法ではLoRAの追加学習が必要であったり、DDIM inversionや潜在変数の最適化、サンプリングなどが必要で、数十秒~数分の時間が必要になる。また、DDIM inversionは高周波成分が欠如してしまい、正確にinvertできない問題がある。
提案手法
Dragベースの画像編集は
動き(OpticalFlow)の生成
動き条件付きの画像生成
の2つに分解できる。
提案手法では、Drag指示からOpticalFlowを生成するGANベースのFlowGenモデルと、OpticalFlowから画像を生成するDiffusionベースのFlowDiffusionモデルの2つのモデルで実現する。
FlowGen
提案手法ではこのフェーズをDrag情報(sparseなOpticalFlow)から密なOpticalFlowへと変換するモデルとしてとらえ、Pix2Pixのように1ステップで変換することで生成時間を短縮した。
FlowGenは元画像とDrag指示の合計5チャネルを入力とし、2チャネルのOpticalFlowを生成する。DiscriminatorはGeneratorの入力に加え、実際/生成されたOpticalFlowの合計7チャネルを入力とする。
学習高速化のため、InstanceNormの代わりにGroupNormを導入したり、より深いPatchGANベースのDiscriminatorを導入した。ロバストなOpticalFlow推定のため、Discriminatorが1回更新されるたびに4回Generatorを更新する。損失関数はPix2Pixと同様に、Adversarial LossとReconstruct Lossの2つで行われる。
FlowDiffusion
動きの条件を反映した画像生成の難易度は高く、直接OpticalFlowを使用してノイズ除去を行うと非常に時間がかかる。そこで、OpticalFlowを条件として加えた拡散モデルを学習した。ベースラインとしてInstruct-Pix2Pixを使用しており、これは入力画像とテキストプロンプトを条件にStableDiffusionを微調整している。
提案手法は4チャネルの潜在ノイズ、4チャネルの潜在画像、2チャネルのOpticalFlowの合計10チャネルを入力としている。ベースラインとの違いは、編集点をテキストではなく、OpticalFlowとして入力している点で、これによりテキストへ依存せずOpticalFlowを反映した画像生成が実現できる。
実験より、テキストはnullトークンにすると条件付けがよく機能し、計算コストも抑えられることがわかった。StableDiffusionなどと同様に、入力条件の一部をnullに置き換えるClassifier-Free Guidanceを以下のように設定する。
ここで、$${C_I}$$は入力条件画像,$${C_F}$$はOpticalFlow条件である。
Implementation Details
データセットの構築
データセットはベース画像、編集後画像、ドラッグ指示の3つの組だが、この組を取得するのは難しい。そこで、動画データから疑似データセットを作成する。動画データからOpticalFlowをFlowFormerを用い取得し、セグメンテーションモデルを使用し画像の関心領域を切り出す。
また、顔以外の編集ができるように、OpticalFlow学習用のデータセットを用い学習する。
疑似ドラッグ指示生成
ドラッグ指示による画像操作は結果が一意でなく、複数の正解がありうる難しい問題である。ユーザの入力は1つの指示から大量の指示までありうるが、モデルはこの広い入力に対応する必要がある。鼻の修正だけの場合、目など鼻以外の部分を修正する必要がある場合がある。一方、大量の指示が一点に集中した場合、局所的な指示の可能性が高い。
この手法で高い精度を得るには大量のポイントが必要になる。また、意味のある動きを生成するには関心領域からサンプリングする必要がある。
そこで、疎フロー($${f_s \in \mathbb{R}^{2 \times h \times w}}$$)を一様分布で初期化し、背景には$${-\infin}$$を設定する。その後、疎フローの中でトップ$${k}$$のポイントを選び、残りの部分を0にする。この$${k}$$も決められた範囲でランダムに選択する。
顔の動画に対してはdlibキーポイントの一部を特別なポイントとして使用し、一般的なシーンの微調整にはグリッドベースのサンプリングを適用する。また、ユーザの意図に応じたGAN構成を用意し、単一ポイントのドラッグ、キーポイントベースの微細な動きの編集、または髪の毛のような極めて細かな編集のための構成を選択できるようにした。この柔軟性により、ユーザーの入力に応じた詳細度の異なる動き生成が可能になっている。
FlowDiffusionの背景一貫性
自然の動画では背景が一貫しているケースは少ない。動画生成であれば問題ないが、Drag指示による生成の場合、背景は静止しDragした部分のみ変更される方が望ましい。そこで、ベース画像の背景を編集後画像に差し替えることで背景の一貫性を学習する。
(細かい穴埋めの方法は説明されてないが、何らかのモデルでinpaintしているのでは?)
Optical Flow Normalization
OpticalFlowをwarpingなしで直接条件付するのはあまり研究されていない。オプティカルフローは$${(-h,h)}$$もしくは$${(-w,w)}$$の範囲の数値を持つ。これを直接入れると数値エラが発生する。加えて、flowを洗剤空間にリサイズすると一貫性がなくなる。
FlowDiffusionは固定の値で正規化することで、実際の移動位置を保持するが、数値領域のほとんどが0に密集する問題がある。対象的にサンプルごとに正規化する場合は、広がった分布になるが、実際のフローに復元できない。
FlowGenでは損失がフロー上で計算されるので、サンプルごとの正規化が有効である。一方Diffusionでは、固定サイズの正規化がより安定する。推論時には、指示の最大値を使用してFlowGenの出力をリスケールして入力する。
実験
提案手法は非常に少ない実行時間かつ省メモリで、すべての定量評価において1もしくは2番目に優れた指標を示していることがわかる。
UserStudyにおいても、提案手法はドラッグ指示への忠実性、画像の一貫性、全体評価のすべてで最も好まれていることがわかる。
提案手法は他の手法と比較して、画像の一貫性と指示の忠実性が高いことがわかる。特に表情に関してはかなり緻密にコントロールできていることがわかる。
まとめ
OpticalFlowベースの画像編集手法を提案
画像とドラッグ指示のみからインタラクティブな編集が可能
従来手法より処理速度が向上しモデルの軽量化を実現
類似手法と比較しても1,2番を争うほどの精度を示す
この記事が気に入ったらサポートをしてみませんか?