TryOnDiffusion: 試着画像生成の最強モデル
3つの要点
✔️ バーチャル試着とは、人物の画像と衣服の画像を基に、その人がその服を着ている画像を生成すること
✔️ バーチャル試着はオンラインショッピングの体験を向上できるが、従来の手法は体のポーズや形があまり変わらない場合に限り効果的である
✔️ TryOnDiffusionは並列UNetの活用により、衣服のパターンやテクスチャに歪みを生じさせることなく、多様なポーズ、体型に対応でき、最先端の性能を達成した
TryOnDiffusion: A Tale of Two UNets
written by Luyang Zhu, Dawei Yang, Tyler Zhu, Fitsum Reda, William Chan, Chitwan Saharia, Mohammad Norouzi, Ira Kemelmacher-Shlizerman
(Submitted on 14 Jun 2023)
Comments: Published on arxiv.
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
バーチャル試着は、人物の画像と衣服の画像に基づいて、その衣服が人物にどのように見えるかを可視化することを目的としています。バーチャル試着はオンラインショッピングの体験を向上できますが、ほとんどの従来試着方法は体のポーズや形状の変化が小さい場合にのみうまく機能します。主な課題は、衣服のパターンやテクスチャに歪みを生じさせずに、衣服を目標の体形に合わせて非剛性に変形させることです。
今回の記事では、大きな遮蔽物、ポーズの変化、体形の変化を扱いつつ、$1024×1024$の解像度で衣服の詳細を保持するTryOnDiffusionを紹介します。この手法は、ターゲットとなる人物の画像と、別の人が着用している衣服の画像の2つを入力として使用し、出力としてその衣服を着用しているターゲット人物の画像を生成します。
$1024×1024$の高解像度で高品質な画像を生成するために、TryOnDiffusionはカスケード拡散モデルを採用しています。具体的には、まず$128×128$および$256×256$の解像度でParallel-UNet(並列UNet)ベースの拡散を使用します。その後、$256×256$の結果を超解像拡散モデルに入力し、最終的に$1024×1024$の画像を生成します。
TryOnDiffusionは、最新の他の手法と比較して、定量的および定性的に大幅に優れていることが確認されました。特に、人間による評価の実験では、最新の3つの最先端技術と比較して、92.72%の確率で最も優れていると評価されました。
提案手法
入力の前処理
モデル全体の入力は図1の左上部分に示されるように、人物画像と衣服画像以外、4つの成分があり、合計6つの成分から構成されます。まず、人物画像と衣服画像の両方に対して、2Dポーズのキーポイントを学習済みのモデルで予測します。次に、衣服画像から衣服だけの画像をセグメント化します。人物画像については、元の衣服を除去しつつ人物の特徴を保持する衣服非依存のRGB画像を生成します。
試着用カスケード拡散モデル
提案手法のカスケード拡散モデルは、図1の上部に示されるように、1つの基本拡散モデルと2つの超解像(SR)拡散モデルで構成されます。基本となる拡散モデルは、$128×128$のParallel-UNetとしてパラメータ化されています(図1の下部)。このモデルは、上述の入力から試着画像を生成します。
$128×128$から$256×256$への超解像拡散モデルは、$256×256$のParallel-UNetとしてパラメータ化されています。このモデルは、上述の入力に加え、$128×128$モデルの出力である試着画像も活用します。
$256×256$から$1024×1024$への超解像拡散モデルは、Saharia et.alが提案したEfficient-UNetとしてパラメータ化されています。これは純粋な超解像モデルであり、上述の6つの成分の入力でコンディショニングされていません。
Parallel-UNet
Parallel-UNetの概要は、図1の下部に示されるように、person-UNet(人物)とgarment-UNet(衣服)の2つから構成されます。person-UNetは、ノイズを加えた人物画像と衣服を削除した画像を入力として、試着画像を生成します。garment-UNetは、試着画像にターゲット衣服がうまく生成されるように、衣服だけをセグメント化した画像から適切に特徴を抽出し、person-UNetに入力します。
UNetの各段階でgarment-UNetで抽出した特徴をperson-UNetに入力するために、従来はConcatenation (行列の結合)が一般的です。しかし、チャンネル単位の連結では、衣服のワーピングのような複雑な変換は扱えない可能性があるので、本論文では次の式のように、クロス・アテンションを利用しました。
通常のAttention機構と同様の計算方法ですが、ここでは、$Q$は人物画像の平坦化された特徴であり、$K$と$V$は衣服の平坦化された特徴です。また、試着画像に人物のポーズと衣服の模様が正しく反映されるように、前処理で作成した人物画像と衣服画像の2Dポーズのキーポイントは線形に埋め込みされ、同様のクロス・アテンションを用いてperson-UNetとgarment-UNetに入力されます。
実験
データセット
訓練用のペアデータセットとして400万のサンプルを収集しました。各サンプルは、同じ人物が異なるポーズで同じ衣服を着ている2つの画像で構成されています。テスト用には、訓練中に一度も見られない6千サンプルを収集しました。各テストサンプルには、異なるポーズで異なる衣服を着た異なる2人の画像が含まれています。訓練とテストの両方の画像は、検出された2D人体ポーズに基づいてトリミングおよびリサイズされ、1024×1024にされています。本データセットには、異なるポーズ、体型、肌の色、そして多様なテクスチャパターンを持つ様々な衣服を着た男女が含まれています。また、VITON-HDデータセットも利用します
先行研究との比較
本実験では、提案手法とバーチャル試着画像生成の代表的なモデルであるTryOnGAN、SDAFN、HR-VITONとの比較を行いました。表1は、画質と自然さを表すFIDおよびKIDでの比較結果を示しています。提案手法は、両方のデータセットにおいて、すべての評価指標で先行研究を上回ったことが確認できます。
図2の定性的な評価も同様の結果を示しており、提案手法は先行研究よりも明らかに自然で鮮明な画像を生成できることが示されました。特に、人物のポーズと衣服の模様がうまく再現されていることが確認されました。
定性的、定量的な評価に加えて、2つのユーザースタディを実施しました。その結果は表2に示されています。最初のスタディ「ランダム」では、6千のテストセットから2804組の入力ペアを選び、評価者が最良の結果を選択しました。提案手法は92.72%で最良と選ばれました。2つ目のスタディ「挑戦的」では、より難しいポーズの2千の入力ペアを選び、同様の手順で評価を行いました。結果、提案手法が95.8%で最良とされました。
クロスアテンションとConcatenationの比較
先述のように、UNetの各段階でgarment-UNetで抽出した特徴をperson-UNetに入力する際に、従来のConcatenationではなくクロスアテンションを活用しました。本節では、そのクロスアテンションの有効性を評価します。図3はその比較結果を示しており、クロスアテンションが大きな体のポーズや形状の変化の下でも衣服の詳細を保持するのに優れていることが確認されています。
まとめ
今回の記事では、人物の画像と衣服の画像から試着画像を合成するTryOnDiffusionを紹介しました。この手法はParallel-UNetを活用しており、衣服のパターンやテクスチャに歪みを生じさせることなく、多様なポーズや体型に対応できることで、最先端の性能を達成しています。ただし、現時点では背景が複雑で全身が写っている画像との相性については未検討です。今後の研究でこの課題を克服し、特にビデオへの拡張など、さらなる発展が期待されます。
この記事に関するカテゴリー