第59回 コンピュータビジョン勉強会@関東(前編)CVPR2023読み会の発表資料です。
1Semi-supervised ParametricReal-world Image Harmonization〜画像合成における色調調整〜第59回 コンピュータビジョン勉強会@関東(前編)CVPR2023読み会2023年7月12日yumash3 / 篠原 祐真
View Slide
2自己紹介● 篠原 祐真 (しのはら ゆうま)○ 筋トレが好き● 今まで○ 画像認識のリサーチエンジニア→TechLead→PrM○ 自動車業界が主● 現在○ (株) サイバーエージェント 所属○ 広告映像制作のために、CV&CGの技術側から事業アシスト (PdM | エンジニア)2バーチャル撮影の様子Twitter: @yumash3
3本日の論文3
4画像合成における Image Harmonization の位置づけ画像合成のサブタスクと関連研究4
5画像合成における Image Harmonization の位置づけ (拡大)画像合成のサブタスクと関連研究5
6画像合成における Image Harmonization の位置づけ (拡大)画像合成のサブタスクと関連研究6
7改めて本日の論文一言で表すと、Image harmonizationタスクにおいて、実世界の合成画像を用いる半教師あり学習で実用精度を高めつつ、新しいパラメトリックモデルで高解像度画像に対しても計算効率の高い手法を提案。7
8解きたいタスク● 画像合成で前景の色調 (明度と彩度) を背景に合わせたい○ 入力: 前景画像、前景のマスク画像、新背景画像○ 出力: 色調調整済み合成画像ImageHarmonizationImages from supplementals of the paper8
9応用先(解けると何が嬉しい?)● 画像合成の後処理の簡易化● 映像制作における後処理の簡易化○ 具体的には、ポストプロダクションにおけるコンポジットの色調調整の工数削減Images from “VFX Breakdown - Dynamo Dream Teaser” https://youtu.be/FFJ_THGj72U?t=39※撮影時のライティングは、合成後のイメージに合わせる必要がある ※影の追加はimage harmonizationのタスクではない9
10従来の課題● 後処理としてアーティストが調整を加えたいケースが多いが、DNNで一発処理だと後調整ができない● 高解像度 (e.g. 4K) に対応していない○ 計算効率が原因○ DNNベースだと入力解像度256x256辺りが多かった● ローカルな色調調整に対応していない○ 例:前景(人)の顔部分だけ少し明るくしたい● 既存データセットは合成データが多いため、現実データとのドメインギャップが発生し、実用的な精度が出ない10
11従来の課題に対する本論の回答● 後処理としてアーティストが調整を加えたいケースが多いが、DNNで一発処理だと後調整ができない○ パラメトリックなRGBカーブとシェーディングマップでharmonization処理を行う。後処理で各パラメータをアーティストが変更可能して調整可能。● 高解像度に対応していない○ RGBカーブとシェーディングマップで処理するので計算効率が良く、任意の解像度に対応○ 512×512 入力に対して、377 ms @Apple M1 CPU, 48.6 ms @NVIDIA A100 GPU● ローカルな色調調整に対応していない○ シェーディングマップでローカルな調整に対応● 既存データセットは合成データが多いため、現実データとのドメインギャップが発生し、実用的ではない○ 半教師あり学習を利用して、教師データのない現実データに対しても学習してドメインギャップを軽減し、実用精度を高めた11
12RGBカーブとは● 別名: RGB別トーンカーブ● 画像補正機能の一つで、画像全体の色調やカラーを調整することが可能● 横軸に入力の輝度値、縦軸に出力の輝度値を取り、カーブを変形させることで色調を調整することが可能Adobe Premiere Pro のRGBカーブImages from https://helpx.adobe.com/jp/premiere-pro/using/adjust-color-rgb-hsl-curves.html12
13シェーディングマップとは● 前景内の明るさの強弱を表す2Dマップ● RGBカーブはグローバルな調整、シェーディングマップはローカルな調整を担当● 入力情報が与えられたときに、RGBカーブのパラメータとシェーディングマップを推論する合成後の画像※シェーディングマップの上にRGBカーブを重ねて表示Images from the paper13
14RGBカーブとシェーディングマップの推論方法① 512x512に縮小② ResNet-50 でカーブを表す32点を推論③ U-NetベースのNNsでシェーディングマップを推論Images from the paper14
15学習方法: Dual-stream semi-supervised● 各イテレーションで、2つの異なるデータソース・誤差関数で学習する○ “our model”: 前ページのResNet-50 + U-Net based modelImages from the paper15
16Dual-stream semi-supervised: Stream 1● アーティストがレタッチした合成画像を教師として、教師あり学習○ レタッチ画像は46,173枚○ 合成後の前景部分に関してL1誤差と、GANのdiscriminator誤差を使う■ Discriminator のネットワーク構造は U-Net16
17Dual-stream semi-supervised: Stream 2● 教師なしの敵対的学習○ 前景をインペインティング (LaMa) で消し、新しい前景に置き換える○ 異なる照明環境で撮影された背景と前景を合成することになるので、実問題の設定に近い合成の組み合わせで学習を行える○ RGBカーブ&シェーディングマップでharmonizeすることが強い制約となり、不安定な敵対的学習を成功させている17
18定性結果Image from the paper18
19定性結果Image from the paper19
20定量結果● 定量的にも従来研究を上回る精度○ 実用的には、この定量的数値よりも、後処理のやりやすさや対応解像度の方が重要視されるケースが多い印象Image from the paper20
21まとめ● 画像合成における Image harmonization の研究● RGBカーブ&シェーディングマップでharmonizationを行う○ アーティストが後調整を可能になる○ 計算効率が良く、任意の解像度を入力に受け取れる● 実世界の合成画像を用いるdual-stream semi-supervisedで実用精度を高めた○ アーティストによるリタッチ画像を使う教師あり学習○ 実世界問題を意識した前景・背景ペアを敵対的学習枠組みの教師なし学習○ 全体としてsemi-supervised (半教師あり) 学習21
22感想● 昨年あたりから、white-box処理でアーティストが追加調整できる手法が増加○ Harmonizer [Ke+, ECCV22] など○ 制作業務で使いたい場合には、合成画像・映像ごとに欲しいGTが異なるので、自然な流れ○ そういう意味では、よりメタな指示をアーティストから受け取れるようにする流れもあるかも■ 数枚のガイド画像を与えて、「こんな色味・世界観で合成して」■ visual prompting 的な入力・UI/UX● 対応できる処理は今後増えそう○ Image harmonization だけでなく、relighting (陰影表現の調整) の対応など● シェーディングマップをセマセグ的に拡張して、意味的なローカル調整もありそう● しばらくすると Adobe 製品に追加されるかも22