Open Yagami360 opened 4 years ago
Characteristic-Preserving Virtual Try-On Network (CP-VTON) は、試着させたい服を試着者の体型や姿勢などに合わせて変形させることで、その服を実際に着ているかのような画像を生成する(3Dではない2次元の)画像ベースの仮想試着システム [Image-based virtual try-on systems] のアルゴリズムの1つである。
この仮想試着システムの目的は、目標の試着服を対象の試着者の形状にシームレスに変換することであるが、この際に、試着服の元の固有な形状(半袖、長袖など)や服の特性(テクスチャ、ロゴ、刺繍など)を変換先で保存していることが重要な要件になる。
しかしながら従来の仮想試着システムのアルゴリズム(VTON)での coarse-to-fine strategy では服の詳細を保存することが出来なかった。 そのため、仮想試着性能におけるこのような重要な要件を満たすことが出来ておらず、最もらしい仮想試着を行えていなかった。
cp-vton は、新しい Geometric Matching Module(GMM)と Try-On モジュール(TOM)の2つの機構から構成され、従来の仮想試着システムのアルゴリズムとは異なり、”end-to-end で学習可能な” アルゴリズムとなっている。 これにより、定性的にも定量的にも、仮想試着システムの SOTA(論文投稿日時:2018/07/20)を達成している。
※ 尚、この生成モデルのノートで紹介している他のアルゴリズムとは異なり、cp-vton は GAN のアルゴリズムを使用していないことに注意
又、従来の3Dコンピューターグラフィック手法による仮想試着システムでは、最もらしい仮想試着を行うことが出来るが、試着服の形状の3Dモデルや、試着者の3Dモデルを、手作業で作成しなくてはならないという問題が存在する。 その点 cp-vton は、3D情報に頼らない画像ベースの仮想試着システムであるので、このような手作業が必要ではないという大きなメリットが存在する。
新しい試着服 c と、服を着ている試着者の2つの画像が与えられているとする。 このとき、仮想試着システムである cp-vton の目的は、以下のような要件を満たす試着画像を生成することである。
この問題を機械学習モデルで解くにあたっては、 学習フェイズにおける学習用データとして、機械学習モデルの入力 と出力に対しての正解データに対応した{目標の試着服画像、対象の試着者画像、変換結果の教師データ}で構成される3つのデータの組 が必要となる。
一方テストフェイズにおいては、入力データとして正解データを与えるので、機械学習モデルに入力する3つのデータの組は、 となる。
上図は、cp-vton のアーキテクチャの全体構成を示した図である。 この cp-vton のアーキテクチャには、以下のような特徴がある。
衣服にとらわれない人物表現 p [clothing-agnostic person representation p]:
cp-vton では、変換前の服を着ている試着者の画像の代わりに、上図のような、Pose heatmap、Body Shape、Reserved regions の3つの画像の連結 [concat] から構成される「衣服にとらわれない人物表現 [clothing-agnostic person representation] p」 を採用し、先の仮想試着システムの定式化で述べた3つのデータの組 の代わりに、3つのデータの組 を、後述の GMM と TOM に入力するようにする。
これにより、試着者の変換前の服の影響を除外しながら、試着者の顔や姿勢の情報は保存するといったようなことが可能となる。 又、3つのデータの組 を扱う学習フェイズと、3つのデータの組 を扱うテストフェイズを、3つのデータの組 で同じように扱うことが可能となる。
Pose heatmap: 着用者の姿勢を表現するために、合計 18 箇所の骨格関節点情報を、各々 11 × 11 ピクセルの白色点で示したグレースケール画像。
Body Shape: 着用者の異なる体の部分を、大まかにカバーするような2値マスクからなるのグレースケール画像。 ※ くっきりしたマスク画像だと、その部分のみに服が合成され多様性のない合成画像となるため、あえてぼやけたマスク画像とすることで服の合成の多様性を確保する。
Reserved regions: 人物の顔や髪などを固有の情報を、変換後も維持することを目的として、クリッピングされた領域のRGB画像
GMM [Geometric Matching Module]:
人物表現 p で試着服 c を対象の試着者の形状にフィットするように、end-to-end で学習し、整形されて歪んだ服を出力するモジュール。 この GMM は、以下の4つのネットワークから構成されている。
feature extraction networks : GMM に入力される人物表現 p と着用服 c の、比較的高レベルの特徴を抽出する畳み込みネットワーク。 ネットワーク構成は、1 ストライドの 2 つの畳み込み層によって受け継がれる [succeeded by] ような、2ストライドでダウンサンプリングする4つの畳み込み層を含み、イテレーションの数はそれぞれ 64, 128, 256, 512, 512 となる。
correlation layer: 前段の feature extraction networks で抽出された人物表現 p と着用服 c の2つの特徴量を、後段の regression network の入力としての1つのテンソルに結合する層。
regression network : correlation layer から送られてきた1つのテンソルを、空間的なパラメーター θ に変換するネットワーク。 ネットワーク構成は、2ストライドの2つの畳み込み層、1ストライドの2つの畳み込み層、1つの全結合の出力層を含む。イテレーションの回数は、512, 256, 128, 64。全結合層は、TPS アンカー点の x,y 座標のオフセットを推定する。それ故に、2×5×5 = 50 の出力サイズをもつ。
Thin-Plate Spline (TPS): パラメーター θ を元に、服画像 c を、整形して歪んだ服に変換する。
そして、この GMM の学習は、整形して歪んだ服 と教師信号と間の ”ピクセル単位での” L1損失 で定義される損失関数を元に、誤差逆伝播法で end-to-end に行われる。 ※ この教師信号は、歪みシミュレーションからの合成されたもの?ではなく、着用者の実際の服から獲得されたもの?であることに注意。
TOM [Try-On Module]:
TOM では、GMM が出力する整形して歪んだ服を、試着者の画像に混合し、最終的な試着画像を生成する。 このような処理を実現する方法としては、歪んだ服を試着者の画像に直接割り付ける方法と、UNet のような encoder-decoder ネットワークで、入出力変換を行って、目的の合成画像を得る方法の2つが考えられる。 前者の手法では、歪んだ服の特性が完全に保存されるという利点が存在するが、服の境界部分や着用者の体の一部(腕や髪など)で、望ましいない合成結果となってしまう。 一方、後者の方法では、目標の体型に完全にうまく服を変形させることは困難であり、また、その encoder-decoder アーキテクチャの問題により、レンダリング結果がぼやけてしまう傾向がある。 ※ U-Net でのレンダリング結果がぼやけてしまう現象は、同じく encoder-decoder ネットワークである VAE の生成画像がぼやけた画像となってしまうのと同じような理屈。
cp-vton の TOM では、これらの2つの手法を組み合わせた手法を採用している。 即ち、まず後者の手法である UNet で、人物画像と構成マスク [conposition mask] M を出力(推定)する。 そして、この構成マスク M を用いて、前者の方法である直接的な貼り付け により、合成画像を生成する。
ネットワークのアーキテクチャ図を要追加
ここで、この UNet のネットワーク構成は、2ストライドでダウンサンプリングを行う 6 つの畳み込み層と 6 つのアップサンプリングを行う層を持つ、合計 12 層の UNet である。 ダウンサンプリングを行うイテレーションの数は、64, 128, 256, 512, 512, 512 である。 各畳み込み層は、Instance Normalization layer とスロープ値が 0.2 に設定された Leaky ReLU に従う。
そして、この TOM の学習は、以下のように定義される損失関数を元に、誤差逆伝播法で行われる。
ここで、この損失関数の意味は、以下のようになる。 第1項:生成した試着画像と教師信号と間の ”ピクセル単位での” L1損失。 第2項:VGG perceptual loss(ImageNet で事前学習された VGG19 の特徴マップ間のL1損失の和) 第3項:構成マスク M に関しての L1 正則化項。これにより、出来るだけ歪んだ服を選択するようになる?
使用データセット: Han らによって収集されたデータセットを使用する。 これは、正面を向いている女性と上着の服の画像のペアの、およそ 19,000 個のデータを含んでおり、それぞれ、12332 個のペアと 2032 個のペアで、学習用データセットと検証用データセットに分割されている。 この検証用データセットの画像を、テスト用として、ペアリングされていないペアに再度整形する。
各種手法の品質評価の比較ための A/B テスト?: 以前と SOTA 手法と、cp-vton の手法との間で、Amazon Mechanical Turk (AMT) ? を用いて、ピクセル単位での A/B テストを行う?
以下の表は、cp-vton の論文中での実験の実験条件を示している。
GMM の定性的な比較結果:
上図は、従来の手法である Shape Context Matching Module (SCMM) と cp-vton での GMM の生成画像の比較画像である。 目視的な品質比較のために、生成画像を直接試着者に貼り付けている。 ※ cp-vton では、この直接的な貼り付けが生成画像の最終結果ではなく、後段の TOM で整形混合したものが最終結果になることに注意。
両方の手法で、ほどんどのテストデータに対しては、対象試着者の姿勢で、大まかに服を成形することが出来ていることが見てとれる。 しかし、SCMM では、青枠で囲んだ部分のように、長袖を細い帯に過剰に縮ませており、うまく整形出来ていないケースも見てとれる。
又、処理速度に関しても、 SCMM:1つのサンプルペアの処理に、CPU で 2.01 sec GMM:1つのサンプルペアの処理に、CPU で 0.52 sec、GPU で 0.06 sec であり、GMM の方が優れている。
その原因について要追記... → 論文中には、SCMM ではうまくいかないことと、その解決策としての CP-VTON との比較から説明がなされていたが、SCMM の元論文を読まないとよく分からない話であった。
試着結果の定性的な性能比較:
上図は、従来の手法である VTON と CP-VTON での最終的な生成画像の比較画像である。 VTON では、元の試着服の特性(テクスチャ、ロゴ、刺繍など)が、ぼやけてしまっている傾向があるのに対して、CP-VTON は、これらの特性をうまく保存できていることが見てとれる。
その原因について要追記... → 論文中には、VITON ではうまくいかないことと、その解決策としての CP-VTON との比較から説明がなされていたが、VITON の元論文を読まないとよく分からない話であった。
試着結果の定量的な性能比較: 生成画像の品質の定量的な評価は、生成画像における元の服の特性(テスクチャ、ロゴ、刺繍など)の保存性を評価することで行う。 そのため、テストデータの内、豊富で細かい特性を持つ服にフォーカスする。
このような豊富で細かい特性を持つ服は、服の画像の total variation (TV) norm(全変動ノルム)によって計測する。 これは上図下段のように、服の画像のピクセル間の偏差が大きく、TVノルムが大きいほど、服の形状が長袖で、服の模様に様々な色が使われている傾向があり、逆に、上図上段のように、ピクセル間の偏差が小さくTVノルムが小さいほど、服の形状が半袖で、服の模様がシンプルな1色である傾向があるためである。
そして、服の特性の保存性を評価するために、このTVノルムが大きさが上位 50 個のテストデータを LARGE と名付け、これを使用する。また、以前の SOTA 手法との性能比較のために、TVノルムが大きさが下位 50 個のテストデータを SMALL と名付け、これを使用する。
上表は、VITON と CP-VTON のそれぞれの手法で、LARGE と SMALL のテストデータにおけるピクセル単位での服の特性の保存性を比較した表である。 先に述べたように、LARGE は、試着服が豊富で細かい特性を持つ服であることを意味しており、SMALL は、試着服がシンプルな特性を持つ服であることを意味している。 そして、パーセンテージ % は、服の特性の保存性の割合を示しており、100% で完全に保存することを示している? 50% の値はランダムな値であり、これより高い値で、良い保存性の結果になっていることを示している。
試着服が豊富で細かい特性を持つ服(LARGE)における保存性に関しては、CP-VTON の性能が、従来の VTON を上回ることが見てとれる。
構成マスク M とL1正則化マスクの効果: 構成マスク M と、損失関数 の式における L1正則化マスク の効果を示すために、これらを有効無効にした以下のような条件で、性能比較を行う。(所謂 ablation study による性能比較)
CP-VTON (w/o mask): 構成マスク M が除外されており、UNet によってレンダリングされた人物画像が最終的な試着画像となる。
CP-VTON (w/o L1 Loss): 構成マスク M は使用されるが、損失関数におけるL1正則化項は存在しない。(λ_mask=0)
上図は、CP-VTON (w/o mask) と CP-VTON (w/o L1 Loss)、及び通常の CP-VTON において、それらのレンダリング結果を比較した図である。 下側のアーキテクチャ図は、各レンダリング結果の TOM のアーキテクチャでの該当する場所を赤枠と青枠で示している。
上図において、構成マスク M なしの CP-VTON (w/o mask) と、構成マスク M はあるがL1正則化マスクなしの CP-VTON (w/o L1 Loss) ではどちらもぼやけた生成画像の結果となっているが、そのぼやけけの程度と原因は、両者で異なる。
まず構成マスク M なしでぼやけが発生する理由は、そもそも U-Net のような encoder-decoder アーキテクチャ自体が、服の特性の詳細をもたらす小さな空間的な変形をうまく学習できないことに起因している。 ※ 同じく encoder-decoder ネットワークであるVAE で、生成画像がぼやけた画像となるのと同じような理屈。
次に、L1正則化マスクなしにおいてぼやけが発生する理由は、mask composition における合成処理 において、ぼやけた画像を生成する UNet がレンダリングした人物画像をより多く選択してしまう傾向となるために、合成画像もぼやけた結果となってしまうためである。
UNet がレンダリングした人物画像をより多く選択してしまう傾向となる理由は?
小さな不整合に対するロバスト性 [Robustness against minor misalignment]: 従来の VITON は、その coarse-to-fine strategy のために、小さな不整合に脆弱である。 一方、cp-vton では、レンダリングされた人物と構成マスクを同時に学習することによって、このような脆弱性を回避している。
このことを実験的に示すために、整形画像において半径 N ピクセルの範囲でランダムな摂動を加えることで、小さな不整合を実現することを考える。
上図は、VITON と CP-VTON の各々の手法において、この小さな不整合を実現する半径 N ピクセルの値を N=0,5,10,15,20 と徐々に増やしていったときに、どのように生成画像のクオリティがぼやけて減衰するのかを比較した図である。
VITON と構成マスク M なしの CP-VTON (w/o mask) では、摂動のピクセル範囲 N を増加させると、生成画像が急速にぼやけ、元の服のロゴが消えてしまっており、小さな不整合に対して脆弱であることがわかる。
一方、cp-vton では、摂動のピクセル範囲 N を増加させても、生成画像のぼやけはなだらかであり、元の服のロゴが消えづらく、小さな不整合に対してロバストであることがわかる。
cp-vton の失敗ケース:
上図は、それぞれ以下のようなケースにおける cp-vton での試着結果の失敗例を示した図である。
このようなケースでは、服の部分と腕の部分がうまく識別できないために、試着画像をうまく生成できていないと考えられる。
0. 論文情報・リンク
■ 概要
Characteristic-Preserving Virtual Try-On Network (CP-VTON) は、試着させたい服を試着者の体型や姿勢などに合わせて変形させることで、その服を実際に着ているかのような画像を生成する(3Dではない2次元の)画像ベースの仮想試着システム [Image-based virtual try-on systems] のアルゴリズムの1つである。
この仮想試着システムの目的は、目標の試着服を対象の試着者の形状にシームレスに変換することであるが、この際に、試着服の元の固有な形状(半袖、長袖など)や服の特性(テクスチャ、ロゴ、刺繍など)を変換先で保存していることが重要な要件になる。
しかしながら従来の仮想試着システムのアルゴリズム(VTON)での coarse-to-fine strategy では服の詳細を保存することが出来なかった。
そのため、仮想試着性能におけるこのような重要な要件を満たすことが出来ておらず、最もらしい仮想試着を行えていなかった。
cp-vton は、新しい Geometric Matching Module(GMM)と Try-On モジュール(TOM)の2つの機構から構成され、従来の仮想試着システムのアルゴリズムとは異なり、”end-to-end で学習可能な” アルゴリズムとなっている。
これにより、定性的にも定量的にも、仮想試着システムの SOTA(論文投稿日時:2018/07/20)を達成している。
※ 尚、この生成モデルのノートで紹介している他のアルゴリズムとは異なり、cp-vton は GAN のアルゴリズムを使用していないことに注意
又、従来の3Dコンピューターグラフィック手法による仮想試着システムでは、最もらしい仮想試着を行うことが出来るが、試着服の形状の3Dモデルや、試着者の3Dモデルを、手作業で作成しなくてはならないという問題が存在する。
その点 cp-vton は、3D情報に頼らない画像ベースの仮想試着システムであるので、このような手作業が必要ではないという大きなメリットが存在する。
◎ 仮想試着システムの定式化
新しい試着服 c と、服を着ている試着者の2つの画像が与えられているとする。
このとき、仮想試着システムである cp-vton の目的は、以下のような要件を満たす試着画像を生成することである。
この問題を機械学習モデルで解くにあたっては、
学習フェイズにおける学習用データとして、機械学習モデルの入力 と出力に対しての正解データに対応した{目標の試着服画像、対象の試着者画像、変換結果の教師データ}で構成される3つのデータの組 が必要となる。
一方テストフェイズにおいては、入力データとして正解データを与えるので、機械学習モデルに入力する3つのデータの組は、 となる。
◎ CP-VTON のアーキテクチャ
上図は、cp-vton のアーキテクチャの全体構成を示した図である。
この cp-vton のアーキテクチャには、以下のような特徴がある。
衣服にとらわれない人物表現 p [clothing-agnostic person representation p]:
cp-vton では、変換前の服を着ている試着者の画像の代わりに、上図のような、Pose heatmap、Body Shape、Reserved regions の3つの画像の連結 [concat] から構成される「衣服にとらわれない人物表現 [clothing-agnostic person representation] p」 を採用し、先の仮想試着システムの定式化で述べた3つのデータの組 の代わりに、3つのデータの組 を、後述の GMM と TOM に入力するようにする。
これにより、試着者の変換前の服の影響を除外しながら、試着者の顔や姿勢の情報は保存するといったようなことが可能となる。
又、3つのデータの組 を扱う学習フェイズと、3つのデータの組 を扱うテストフェイズを、3つのデータの組 で同じように扱うことが可能となる。
Pose heatmap:
着用者の姿勢を表現するために、合計 18 箇所の骨格関節点情報を、各々 11 × 11 ピクセルの白色点で示したグレースケール画像。
Body Shape:
着用者の異なる体の部分を、大まかにカバーするような2値マスクからなるのグレースケール画像。
※ くっきりしたマスク画像だと、その部分のみに服が合成され多様性のない合成画像となるため、あえてぼやけたマスク画像とすることで服の合成の多様性を確保する。
Reserved regions:
人物の顔や髪などを固有の情報を、変換後も維持することを目的として、クリッピングされた領域のRGB画像
GMM [Geometric Matching Module]:
人物表現 p で試着服 c を対象の試着者の形状にフィットするように、end-to-end で学習し、整形されて歪んだ服を出力するモジュール。
この GMM は、以下の4つのネットワークから構成されている。
feature extraction networks :
GMM に入力される人物表現 p と着用服 c の、比較的高レベルの特徴を抽出する畳み込みネットワーク。
ネットワーク構成は、1 ストライドの 2 つの畳み込み層によって受け継がれる [succeeded by] ような、2ストライドでダウンサンプリングする4つの畳み込み層を含み、イテレーションの数はそれぞれ 64, 128, 256, 512, 512 となる。
correlation layer:
前段の feature extraction networks で抽出された人物表現 p と着用服 c の2つの特徴量を、後段の regression network の入力としての1つのテンソルに結合する層。
regression network :
correlation layer から送られてきた1つのテンソルを、空間的なパラメーター θ に変換するネットワーク。
ネットワーク構成は、2ストライドの2つの畳み込み層、1ストライドの2つの畳み込み層、1つの全結合の出力層を含む。イテレーションの回数は、512, 256, 128, 64。全結合層は、TPS アンカー点の x,y 座標のオフセットを推定する。それ故に、2×5×5 = 50 の出力サイズをもつ。
Thin-Plate Spline (TPS):
パラメーター θ を元に、服画像 c を、整形して歪んだ服に変換する。
そして、この GMM の学習は、整形して歪んだ服 と教師信号と間の ”ピクセル単位での” L1損失
で定義される損失関数を元に、誤差逆伝播法で end-to-end に行われる。
※ この教師信号は、歪みシミュレーションからの合成されたもの?ではなく、着用者の実際の服から獲得されたもの?であることに注意。
TOM [Try-On Module]:
TOM では、GMM が出力する整形して歪んだ服を、試着者の画像に混合し、最終的な試着画像を生成する。
このような処理を実現する方法としては、歪んだ服を試着者の画像に直接割り付ける方法と、UNet のような encoder-decoder ネットワークで、入出力変換を行って、目的の合成画像を得る方法の2つが考えられる。
前者の手法では、歪んだ服の特性が完全に保存されるという利点が存在するが、服の境界部分や着用者の体の一部(腕や髪など)で、望ましいない合成結果となってしまう。
一方、後者の方法では、目標の体型に完全にうまく服を変形させることは困難であり、また、その encoder-decoder アーキテクチャの問題により、レンダリング結果がぼやけてしまう傾向がある。
※ U-Net でのレンダリング結果がぼやけてしまう現象は、同じく encoder-decoder ネットワークである VAE の生成画像がぼやけた画像となってしまうのと同じような理屈。
cp-vton の TOM では、これらの2つの手法を組み合わせた手法を採用している。
即ち、まず後者の手法である UNet で、人物画像と構成マスク [conposition mask] M を出力(推定)する。
そして、この構成マスク M を用いて、前者の方法である直接的な貼り付け
により、合成画像を生成する。
ここで、この UNet のネットワーク構成は、2ストライドでダウンサンプリングを行う 6 つの畳み込み層と 6 つのアップサンプリングを行う層を持つ、合計 12 層の UNet である。
ダウンサンプリングを行うイテレーションの数は、64, 128, 256, 512, 512, 512 である。
各畳み込み層は、Instance Normalization layer とスロープ値が 0.2 に設定された Leaky ReLU に従う。
そして、この TOM の学習は、以下のように定義される損失関数を元に、誤差逆伝播法で行われる。
ここで、この損失関数の意味は、以下のようになる。
第1項:生成した試着画像と教師信号と間の ”ピクセル単位での” L1損失。
第2項:VGG perceptual loss(ImageNet で事前学習された VGG19 の特徴マップ間のL1損失の和)
第3項:構成マスク M に関しての L1 正則化項。これにより、出来るだけ歪んだ服を選択するようになる?
◎ CP-VTON の実験結果
使用データセット:
Han らによって収集されたデータセットを使用する。
これは、正面を向いている女性と上着の服の画像のペアの、およそ 19,000 個のデータを含んでおり、それぞれ、12332 個のペアと 2032 個のペアで、学習用データセットと検証用データセットに分割されている。
この検証用データセットの画像を、テスト用として、ペアリングされていないペアに再度整形する。
各種手法の品質評価の比較ための A/B テスト?:
以前と SOTA 手法と、cp-vton の手法との間で、Amazon Mechanical Turk (AMT) ? を用いて、ピクセル単位での A/B テストを行う?
以下の表は、cp-vton の論文中での実験の実験条件を示している。
GMM の定性的な比較結果:
上図は、従来の手法である Shape Context Matching Module (SCMM) と cp-vton での GMM の生成画像の比較画像である。
目視的な品質比較のために、生成画像を直接試着者に貼り付けている。
※ cp-vton では、この直接的な貼り付けが生成画像の最終結果ではなく、後段の TOM で整形混合したものが最終結果になることに注意。
両方の手法で、ほどんどのテストデータに対しては、対象試着者の姿勢で、大まかに服を成形することが出来ていることが見てとれる。
しかし、SCMM では、青枠で囲んだ部分のように、長袖を細い帯に過剰に縮ませており、うまく整形出来ていないケースも見てとれる。
又、処理速度に関しても、
SCMM:1つのサンプルペアの処理に、CPU で 2.01 sec
GMM:1つのサンプルペアの処理に、CPU で 0.52 sec、GPU で 0.06 sec
であり、GMM の方が優れている。
試着結果の定性的な性能比較:
上図は、従来の手法である VTON と CP-VTON での最終的な生成画像の比較画像である。
VTON では、元の試着服の特性(テクスチャ、ロゴ、刺繍など)が、ぼやけてしまっている傾向があるのに対して、CP-VTON は、これらの特性をうまく保存できていることが見てとれる。
試着結果の定量的な性能比較:
生成画像の品質の定量的な評価は、生成画像における元の服の特性(テスクチャ、ロゴ、刺繍など)の保存性を評価することで行う。
そのため、テストデータの内、豊富で細かい特性を持つ服にフォーカスする。
このような豊富で細かい特性を持つ服は、服の画像の total variation (TV) norm(全変動ノルム)によって計測する。
これは上図下段のように、服の画像のピクセル間の偏差が大きく、TVノルムが大きいほど、服の形状が長袖で、服の模様に様々な色が使われている傾向があり、逆に、上図上段のように、ピクセル間の偏差が小さくTVノルムが小さいほど、服の形状が半袖で、服の模様がシンプルな1色である傾向があるためである。
そして、服の特性の保存性を評価するために、このTVノルムが大きさが上位 50 個のテストデータを LARGE と名付け、これを使用する。また、以前の SOTA 手法との性能比較のために、TVノルムが大きさが下位 50 個のテストデータを SMALL と名付け、これを使用する。
上表は、VITON と CP-VTON のそれぞれの手法で、LARGE と SMALL のテストデータにおけるピクセル単位での服の特性の保存性を比較した表である。
先に述べたように、LARGE は、試着服が豊富で細かい特性を持つ服であることを意味しており、SMALL は、試着服がシンプルな特性を持つ服であることを意味している。
そして、パーセンテージ % は、服の特性の保存性の割合を示しており、100% で完全に保存することを示している?
50% の値はランダムな値であり、これより高い値で、良い保存性の結果になっていることを示している。
試着服が豊富で細かい特性を持つ服(LARGE)における保存性に関しては、CP-VTON の性能が、従来の VTON を上回ることが見てとれる。
構成マスク M とL1正則化マスクの効果:
構成マスク M と、損失関数
の式における L1正則化マスク の効果を示すために、これらを有効無効にした以下のような条件で、性能比較を行う。(所謂 ablation study による性能比較)
CP-VTON (w/o mask):
構成マスク M が除外されており、UNet によってレンダリングされた人物画像が最終的な試着画像となる。
CP-VTON (w/o L1 Loss):
構成マスク M は使用されるが、損失関数におけるL1正則化項は存在しない。(λ_mask=0)
上図は、CP-VTON (w/o mask) と CP-VTON (w/o L1 Loss)、及び通常の CP-VTON において、それらのレンダリング結果を比較した図である。
下側のアーキテクチャ図は、各レンダリング結果の TOM のアーキテクチャでの該当する場所を赤枠と青枠で示している。
上図において、構成マスク M なしの CP-VTON (w/o mask) と、構成マスク M はあるがL1正則化マスクなしの CP-VTON (w/o L1 Loss) ではどちらもぼやけた生成画像の結果となっているが、そのぼやけけの程度と原因は、両者で異なる。
まず構成マスク M なしでぼやけが発生する理由は、そもそも U-Net のような encoder-decoder アーキテクチャ自体が、服の特性の詳細をもたらす小さな空間的な変形をうまく学習できないことに起因している。
※ 同じく encoder-decoder ネットワークであるVAE で、生成画像がぼやけた画像となるのと同じような理屈。
次に、L1正則化マスクなしにおいてぼやけが発生する理由は、mask composition における合成処理 において、ぼやけた画像を生成する UNet がレンダリングした人物画像をより多く選択してしまう傾向となるために、合成画像もぼやけた結果となってしまうためである。
小さな不整合に対するロバスト性 [Robustness against minor misalignment]:
従来の VITON は、その coarse-to-fine strategy のために、小さな不整合に脆弱である。
一方、cp-vton では、レンダリングされた人物と構成マスクを同時に学習することによって、このような脆弱性を回避している。
このことを実験的に示すために、整形画像において半径 N ピクセルの範囲でランダムな摂動を加えることで、小さな不整合を実現することを考える。
上図は、VITON と CP-VTON の各々の手法において、この小さな不整合を実現する半径 N ピクセルの値を N=0,5,10,15,20 と徐々に増やしていったときに、どのように生成画像のクオリティがぼやけて減衰するのかを比較した図である。
VITON と構成マスク M なしの CP-VTON (w/o mask) では、摂動のピクセル範囲 N を増加させると、生成画像が急速にぼやけ、元の服のロゴが消えてしまっており、小さな不整合に対して脆弱であることがわかる。
一方、cp-vton では、摂動のピクセル範囲 N を増加させても、生成画像のぼやけはなだらかであり、元の服のロゴが消えづらく、小さな不整合に対してロバストであることがわかる。
cp-vton の失敗ケース:
上図は、それぞれ以下のようなケースにおける cp-vton での試着結果の失敗例を示した図である。
このようなケースでは、服の部分と腕の部分がうまく識別できないために、試着画像をうまく生成できていないと考えられる。