前景と背景の画像合成

485 Views

May 25, 20

スライド概要

2020/05/25公開
Tech Blog「前景と背景の画像合成技術」内資料
https://techblog.morphoinc.com/entry/2020/05/25/100059

profile-image

モルフォは“画像処理×AI技術”の研究開発型企業として、ソフトウェア事業をグローバルに展開しています。テックブログにて画像処理・AIに関する情報をお届けしています。 ・コーポレートサイト:https://www.morphoinc.com/ ・テックブログ:https://techblog.morphoinc.com/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

前景と背景の画像合成 CTO室 松尾恒

2.

概要 :(前景と背景の)画像合成 • 画像合成の中でも前景と背景の合成を扱う – Ex. 背景入れ替え : 人画像 → 仮想背景 画像A 合成画像 画像B 単純な方法 = コピー & ペーストで置き換え だと違和感がある 画像処理で自然な合成を実装したい 2

3.

画像合成 • どのような条件で人は自然な画像かどうかを判別している? – 色, テクスチャ, 境界部分, ノイズ, ライティング が全体で統一的 – 合成部でその差異を除去することでリアルな合成画像が生成可能 • 多重解像度による合成 • Gradientドメインでの合成 • 統計量のマッチング(色, Styleなど) – 画像合成系のアプローチを紹介 3

4.

Laplacian Pyramidによる合成 [Burt&Adelson83] • 目的 : 画像合成部のつなぎ目を滑らかに合成したい – 特徴的なスケールごとに分解しそこで合成して再構成すればよい 画像 A(x, y) 画像 B(x, y) マスク画像 R(x, y) 合成結果 S(x,y) [Burt&Adelson83] Fig.7より引用 4

5.

Image Pyramid • 画像の多重解像度表現 : 特徴的なスケールごとに分解 – Gaussian Pyramid : 各階層で Gaussian Blur & ½倍縮小 – Laplacian Pyramid : Gaussian Pyramidの各階層の差分表現 • 再構成(拡大 & 加算)すると元画像になるようなスケール別画像に分解 Gaussian Pyramid Laplacian Pyramid 5

6.

Laplacian Pyramidによる合成 • 画像 A, B マスク画像 R をそれぞれPyramid分解 – Laplacian Pyramid表現で各解像度で計算し再構成 • マスクは Gaussian Pyramid の結果を利用 [Burt&Adelson83] Fig.7より引用 [Burt&Adelson83] Fig.10より引用 6

7.

Gradient領域での画像編集 [Perez+03] • 目的 : 境界部分でスムーズに合成しつつ画像の見た目は保持 – 画像のGradientが見た目の重要な要素 – Gradientをなるべく保存するような最適化問題に帰着 • 境界条件、ベクトル場の設定により様々な画像処理に転用可能 [Perez+03] Fig. 3 より引用 7

8.

最適化問題としての枠組み • 情報として重要な勾配を保持する最適化 – 領域 Ω の境界 𝜕Ω で定義されている 𝑓 ∗ を内部で補間 • 勾配のガイドとしてベクトル場 𝑣 を使用 – min ∫ ∇𝑓 − 𝑣 2 𝑑Ω s. t. 𝑓ȁ𝜕Ω = 𝑓 ∗ ȁ𝜕Ω 𝑓 – 汎関数微分を使って等価な微分方程式が得られる – Δ𝑓 = div 𝑣 with 𝑓ȁ𝜕Ω = 𝑓 ∗ ȁ𝜕Ω (上に等価) [Perez+03] Fig.1 より引用 8

9.

離散化と実際の最適化方法 • 画像のグリッドの単位で離散化 – min ∫ ∇𝑓 − 𝑣 2 𝑑Ω s. t. 𝑓ȁ𝜕Ω = 𝑓 ∗ ȁ𝜕Ω 𝑓 – min σ𝑝 σ𝑞∈𝑁𝑝 𝑓𝑝 − 𝑓𝑞 − 𝑣𝑝𝑞 𝑓𝑝 2 s. t. 𝑓𝑝 = 𝑓𝑝∗ (𝑝 ∈ 𝜕Ω) (離散化ver) • ピクセル 𝑝 における画素値 𝑓𝑝 , 𝑣𝑝𝑞 (ピクセル𝑞への方向微分), 近傍 𝑁𝑝 • 𝑁𝑝 𝑓𝑝 − σ𝑞∈𝑁𝑝 𝑓𝑞 = σ𝑞∈𝑁𝑝 𝑣𝑝𝑞 (内部の場合) – 𝑁𝑝 𝑓𝑝 − σ𝑞∈𝑁𝑝 ∩Ω 𝑓𝑞 = σ𝑞∈𝜕Ω 𝑓𝑞∗ + σ𝑞∈𝑁𝑝 𝑣𝑝𝑞 (一般) – 𝑓𝑝 についての線形方程式として最適化可能 • 線形方程式ソルバで計算可能 (反復解法) – SOR法 – マルチグリッド法 9

10.

画像合成への適用 • ベクトル場として 𝑣 = Δ𝑔 を使用 (前景の勾配) – 境界条件として背景のピクセル値を使用 – この場合 𝑣𝑝𝑞 = 𝑔𝑝 − 𝑔𝑞 – 𝑁𝑝 𝑓𝑝 − 𝑔𝑝 = σ𝑞∈𝑁𝑝 𝑓𝑞 − 𝑔𝑞 (内部の場合)に帰着 – 単純な解法 𝑓𝑝 ← 𝑔𝑝 + 1 ȁ𝑁𝑝 ȁ σ𝑞∈𝑁𝑝 𝑓𝑞 − 𝑔𝑞 で反復 • SOR法などを使った方が収束が早い – これによりテクスチャを保持した合成が可能 10

11.

応用 • ベクトル場と境界条件の操作で様々な応用が可能 – Mixing Gradient • 𝑣 𝑥 = ∇𝑓 ∗ 𝑥 if ∇𝑓 ∗ 𝑥 > ∇𝑔 𝑥 else ∇𝑔 𝑥 • 元画像の勾配が強い場合にはそちらも考慮 – 無限に続くテクスチャを生成 • 周期的境界条件を使用 [Perez+03] Fig.12 より引用 [Perez+03] Fig.6 より引用 11

12.

画像合成における自然さの定量化 [Xue+12] • 画像の統計量に着目したアプローチ • 合成画像の自然さ = 統計量のヒストグラムとしての近さ • 実際にどのような統計量が影響するか?を調査 • 画像統計量をマッチさせるアルゴリズムを提案 [Xue+12] Fig.7より引用 12

13.

統計量による自然さの定量化 • 前景 𝑓, 背景 𝑏 として自然さを 𝑃(𝑅𝑒𝑎𝑙ȁ𝑓, 𝑔) として定量化したい – これが既知なら 𝑃(𝑅𝑒𝑎𝑙ȁ𝑓, 𝑔) の最大化で適切な合成が可能 – 画像に対する統計量 𝑀𝑓 = {𝑀𝑓𝑖 } 𝑀𝑔 = {𝑀𝑔𝑖 } で有効そうな物を調査 • 前景と背景で相関が高い – 1枚画像ではなくデータセットの画像1枚をサンプルと見なした場合の相関 • 簡単な操作で調整可能 • なるべく独立な量 – 統計量の候補 • ピクセル単位の特徴量を集約してスカラーの値として使用 • 輝度, 色温度(CCT), サチュレーション, 局所的コントラスト, 色相 : ピクセル単位 • 上位の平均, 中位の平均,下位の平均, 尖度, エントロピー : 集約関数 13

14.

ピクセル単位の特徴量 (1) • 前処理 sRGB 逆ガンマ補正 • 基本的に人間の感覚で数値として均等になる指標を使用 • 輝度 (Luminance) – xyY色空間(XYZ空間の正規化)のY成分を[0, 1]で正規化して対数変換 • 相関色温度 – 黒体放射のピーク波長と色を対応付け • 対応が存在しない色は射影して計算(相関の由来) – 色温度の逆数を使用 • 人間の感覚でリニアに近い http://k-ichikawa.blog.enjoy.jp/etc/HP/js/CIEXYZ2/cie6.html 14

15.

ピクセル単位の特徴量 (2) • サチュレーション, 色相 – HSV色空間でのSとHを[0, 1]に正規化した量 – 𝑆 = max 𝑅, 𝐺, 𝐵 − min 𝑅, 𝐺, 𝐵 • 局所的なコントラスト 𝐿𝑥 – 輝度/平均化された輝度 𝑐𝑥 = ത 𝐿𝑥 (平均はGaussian Blurを使用) *色関係の情報は露出が適切な領域で計算 (0.013 ≦ Y ≦ 0.88) https://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/HSV_cone.jpg/600px-HSV_cone.jpg 15

16.

集約する関数 • ヒストグラムに対する関数 – H : 0.999分位以上の平均 – M : 単純な平均 – L : 0.001分位以下の平均 – 尖度 : L – エントロピー : ヒストグラム化して計算 H 輝度の場合ハイライトとシャドウに相当 * 色相に対する平均は注意が必要 (角度的な量なので平均ベクトルを射影するのが正しい) この分位点による領域をゾーンと呼んでいる (各特徴量に対応してゾーンは異なる) 16

17.

実画像での分布 • 合成画像ではなく実画像の前景と背景を切り抜いて使用 (4126枚) • 統計量の差 𝛿𝑖 = 𝑀𝑓𝑖 − 𝑀𝑏𝑖 を解析 – 正規化分散 , 相関係数 で比較 – 𝜎𝑖∗が小さく、 𝑟𝑖 が大きいほどよい • 考察 – 𝛿𝑖 はほぼ平均ゼロ – 輝度は平均よりハイライト、シャドーで合わせた方がよい – 局所的コントラスト、サチュレーション 相関大 – 色温度 > 色相 – ゾーン毎の平均を合わせれば違和感がなさそう 17 [Xue+12] Table.1より引用

18.

自然さの評価 • 実画像の前景の統計量を操作して違和感を評価 – Amazon Mechanical Turkを使用 – 推定RankがGaussでfittingするとそれっぽい → 輝度、色温度、サチュレーションで推定 [Xue+12] Fig.4より引用 [Xue+12] Fig.3より引用 18

19.

自動合成補正 • 特定のゾーンで統計量が一致するように補正 – 局所的コントラスト(LC)→輝度→色温度→サチュレーションを順に実行 • 局所的なコントラスト以外はゾーンの平均値の差を足し込むだけ • 局所的なコントラストはピクセル同士が独立でないのでトーンカーブ補正 – 画像全体で一様に同じ関数(Sカーブ、パラメータα)を使用 – 一番補正できるαをグリッドサーチ * 明度平均を起点としたベジエ曲線 × 2 19

20.

ゾーン認識 • どのゾーンで補正するかを識別する必要がある → 学習 – 各ゾーンにシフト & ランダムに統計量を調整したサンプルで学習 • 特徴量(4種)毎に {H,M,L} のマルチラベルで予測 – マルチラベルなのはラベルに曖昧性があるため – 入力 : 前景、背景のヒストグラムの各種関数 • 標準偏差、歪度、尖度、エントロピー、ヒストグラムのビンの値 – 出力が複数値の場合はヒストグラムでの補正が小さい物を選択 – 出力が存在しない場合Mを選択 • 予測器はランダムフォレスト 20

21.

結果 • 左が入力画像、コピペ画像、既存手法1-2、右が結果画像 • 人間による評価でも他手法よりもスコアが高い • ただこの手法では貼り付け位置を考慮しないため 場所に応じた見た目の調整は不可能 [Xue+12] Fig.1より引用 21

22.

Deep Learning ベースの画像合成 • 今までの手法はセマンティックな情報を無視 – より高位の状況によって必要な補正は異なる • 人に対しては〇〇の補正を加えるなどの必要 • 空による前景への影響 など – 学習より直接的に自然な画像を生成 22

23.

Deep Image Harmonization [Tsai+17] • コピペ画像 → 合成画像のネットワークを学習 – Naiveなコピペ画像をRefineするCNN – 画像合成のデータセットを生成 • 別のインスタンス/写真から色を転移 • 違うスタイルの前景・背景を作成 [Tsai+17] の Fig.2 より引用 23

24.

Deep Image Harmonization [Tsai+17] • 学習方法 – Encoder + Decoder(Segmentation), Decoder(Image) – Segmentationと重みと中間チャンネルを共有するマルチタスク学習 – 画像出力はL2損失で学習 • 出力結果をみるとレタッチ様の効果があり、PSNRで比較すると優位 [Tsai+17] の Fig.5 より引用 24

25.

DoveNet [Cong+19] • [Tsai+17] + GAN的な手法 – 学習データ生成法はほぼ同じ – U-Net + Attention Block – 敵対的学習の要素を追加 – GT画像の予測に加えて • Discriminator (1) – 合成画像かどうかを判定 • Discriminator (2) [Cong+19] Fig.2 より引用 – それぞれの領域の表現を出力して前景と背景の類似度で同一ドメインかを判定 – Partial Convolutionでマスクの影響を排除 – 本物画像ならドメインは同じ、合成画像ならドメインは異なる 25

26.

DoveNet [Cong+19] : 結果 • 定量的にも定性的にも改善 [Cong+19] Fig. 3 より引用 26

27.

Deep Image Blending [Zhang+19] : 概要 • Poisson Image Editing の Deep Learning化 – 境界の滑らかな合成と Style の一致を同時に達成したい – Poisson Image Editingでの最小化関数 → Poisson Blending Loss – Style変換用の損失も同時に計算 (Style loss + Content loss) – 一枚Style Transfer[Gatys+16]と同様に画像そのものを最適化 – 学習データセットを用意する必要がない [Gatys+16] Fig. 4 より引用 27

28.

Deep Image Blending [Zhang+19] : 用いる損失 • Poisson Blending Loss – Laplacianの差の2乗損失を使用 • 厳密に元の最適化問題に対応していないことに注意 元の最適化問題 Poisson Blending Loss Laplacian • StyleTransfer用の損失 : [Gatys+16]にほぼ準拠 – StyleはNNの特徴量のチャネル相関に相当 – 2枚の画像のVGG16の中間層出力について • 差 : Content Loss (2枚画像の意味的な差に相当) • チャンネルごとの相関の差 : Style Loss を損失として使用 28 * 他にも正則化として全変動損失などを使用

29.

Deep Image Blending [Zhang+19] : 2段階法 • 前ページの損失を2段階で分けて効果的に適用 – 1段階目 : Seamless Blending • マスク領域の内部のみを最適化して滑らかに接続するように最適化 • Poisson Blending Loss : (合成画像, 前景と背景の平均)に適用 • Content Loss : (合成画像, 前景画像) • Style Loss : (合成画像, 背景画像) – 2段階目 : Style Refinement • 1段階目の出力を初期値としてマスク領域外も含めスタイルを最適化 • Poisson Blending Loss : 使用しない • Content Loss : (合成画像, 1段階目の出力) • Style Loss : (合成画像, 背景画像) 29

30.

Deep Image Blending [Zhang+19] : 結果 • 同時に最適化することにより逐次適用よりも良い結果 [Zhang+19] Fig. 6 より引用 30

31.

ST-GAN [Lin+19] : 概要 • 位置関係が不自然だと不自然な合成になってしまう – 合成される前景の位置、大きさをGANで補正 – 逐次的にアファイン変換を推定して前景をWarpして合成 • Generator : それまでの合成画像 → アファイン変換係数 • Discriminator : 画像が本物か否か? [Lin+19] Fig.2 より引用 31

32.

ST-GAN [Lin+19] : STN • Spatial Transformer Network [Jaderberg+15] を利用 – アファイン変換による画像変換は画像、アファイン変換係数について微分可能 – アファイン変換によって生成される微分可能なフローのグリッドを使用するため [Jaderberg+15] Fig.3 より引用 32

33.

SF-GAN [Zhan+19] : 概要 • 位置関係と見た目を同時に補正して合成 – 画像生成のリアルさを向上させるためにGuided Filterを使用 • 合成画像 = 元画像とGenerator出力のGuided Filter結果 – 学習データ増強手段としても使用可能 – Cycle-GANのアイディアを利用 (前景のドメイン ↔ 背景のドメイン) [Zhan+19] Fig.2 より引用 33

34.

SF-GAN [Zhan+19] : 結果 • 文字検出のデータセットに対して適用して性能が向上 [Zhan+19] Fig.5 より引用 左から前景画像, 背景画像, ST-GAN, SF-GAN [Zhan+19] Fig.4 より引用 34

35.

まとめ • 前景と背景を合成する手法について紹介 – 前景部分と背景部分の画像統計量を揃えることで自然な合成が可能 • 多重解像度による合成 • Gradientドメインでの合成 • 統計量のマッチング(色, Styleなど) • DLベースで合成の不自然さをデータから学習して直接補正 • 紹介できなかったが他にもノイズや影に着目した補正方法なども存在 35

36.

参考文献 • • • • • • • • • • • [Burt&Adelson83] P. J. Burt, E. H. Adelson, "A Multiresolution Spline With Application to Image Mosaics", ACM Transactions on Graphics, vol. 2, no. 4, pp. 217-236, 1983. [Perez+03] P. Pérez, M. Gangnet, A. Blake, "Poisson Image Editing", ACM Transactions on Graphics (SIGGRAPH'03), vol. 22, no. 3, pp. 313-318, 2003. [Xue+12] S. Xue, A. Agarwala, J. Dorsey, H. Rushmeier, "Understanding and Improving the Realism of Image Composites", ACM Transactions on Graphics (SIGGRAPH'12), vol. 31, no. 4, 2012. [Tsai+17] Y. H. Tsai, X. Shen, Z. Lin, K. Sunkavalli, X. Lu, M. H. Yang, Deep Image Harmonization, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'17), pp. 2799-2807, 2017. [Cong+19] W. Cong, J. Zhang, L. Niu, L. Liu, Z. Ling, W. Li, L. Zhang, "DoveNet: Deep Image Harmonization via Domain Verification", arXiv preprint arXiv:1911.13239, 2019. [Zhang+19] L. Zhang, T. Wen, J. Shi, "Deep Image Blending", arXiv preprint arXiv:1910.11495, 2019. [Gatys+16] L. A. Gatys, A. S. Ecker, M. Bethge, "Image style transfer using convolutional neural networks", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'16), pages 2414–2423, 2016. [Lin+19] C. H. Lin, E. Yumer, O. Wang, E. Shechtman, S. Lucey, "ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'19), pp. 94559464, 2019. [Jaderberg+15] M. Jaderberg, K. Simonyan, A. Zisserman, K. Kavukcuoglu, "Spatial Transformer Networks", In Proceedings of the 28th International Conference on Neural Information Processing Systems (NIPS'15), vol. 2, pp. 2017–2025, 2015. [Zhan+19] F. Zhan, H. Zhu, S. Lu, "Spatial Fusion GAN for Image Synthesis", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR'19), pp. 3648-3657, 2019. 36