cedro-blog

HR-VITONで、高解像度の仮想試着を実現する

1.はじめに

 今回ご紹介するのは、高解像度の仮想試着を実現するHR-VITONという技術です。試着条件ジェネレータ(Try-on Condition Generator)を設けることで、従来からあるワーピングとセグメンテーションマップの不整合による歪みを減少させています。

*この論文は、2022.6に提出されました。

2.HR-VITONとは?

 従来、仮想試着は衣服の画像を人の体に合わせるワーピングと最終的な画像をガイドするセグメンテーションマップの生成2つによって構成されています。このとき、ワーピングモジュールとセグメンテーションマップは独立して動くため不整合が発生する場合があり、特に体の一部分が衣服を塞ぐとアーティファクト(歪み)が発生していました。

 そこで、HR-VITONは、人の画像(I)と衣服の画像(c)を前処理(Pre-Process)した上で、試着条件ジェネレータ(Try-on Condition Generator)でワーピングとセグメンテーションマップの生成を融合して行うことでアーティファクトを減少させ、高解像度での仮想試着を実現しています。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンクをクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 

  VITON-HDデータセットの中から testデータ(2032個)のみを testフォルダに保存してあります。その中から、人と衣服のデータからそれぞれ seed_number に従ってランダムに5個選び、実行内容を記載した test_pairs.txt を作成します。

 

 それでは、表示された人と衣服のデータ5×5=25個の組み合わせで仮想試着を実行します。

 

  試着画像を2種類のスタイル(バー、スクエア)の動画に変換します。

 表示されているのは、バーです。

 作成した動画をダウンロードします。square のチェックボックスにチェックを入れるとスクエアで、チェックを入れないとバーで動画をダウンロードします。ここでは、スクエアでダウンロードします。なお、ブラウザは google chrome でないと正常に動作しませんので、ご注意を。

 仮想試着もかなり実用的なレベルになって来たようです。

 では、また。

(オリジナルgithub)https://github.com/sangyun884/HR-VITON

(twitter投稿)