Blog

2021.01.29

Research

CNNを用いた単一画像からの描画モードへの分解と合成

Yanghua Jin

本記事は、2020年夏のインターンシップに参加された堀田大地さんによる寄稿です。


PFN2020年度夏季インターンシップに参加した東京大学博士前期課程1年の堀田大地です.大学ではコンピュータビジョンやマルチメディアの分野で主に画像認識や生成の研究をしています.今回のインターンシップでは「CNNを用いた単一画像からの描画モードへの分解と合成」というテーマで行いましたので,その紹介をしたいと思います.

1 背景


図1. 描画モードの合成結果.

まず,描画モードとは[1]によって定義されており,全部で12個の方法で構成されています.図 1に示すように,描画は背景,前景画像と描画モードの3つを入力し,そのモードに従って画像を合成します.例えば,Normalモードは背景に全景を重ね合わせるだけですが,Hard Lightモードは明るい部分をより明るく,暗い部分をより暗くする非線形な演算ができます.一般的に,PhotoshopやCSSでは[1]によって定義された描画モードが実装されており,我々は絵を描くときや画像を編集するときに,描画モードを用いて様々な効果を適用させることができます.しかしながら,合成後に画像形式へエンコードをするとその画像から元のベクター形式の層へは戻すことはできません.

そこで,本インターンシップでは,画像を入力とし,描画モードを担う層への分解を行うモデルを構築することを目的としました.一般的には,「Soft Color Segmentation」というタスクです.画像,描画モード,その描画モードに担当する色(パレット)の3つの入力を行い,描画モードごとのRGB \( \alpha \) 層への分解を行うモデルを構築することを目指しました.この分解がうまくいけば,図 2に示すようにその描画モードを担うパレットを変更することによって画像の色や描画モードの編集を容易に行えるような機能が実現できます.

図2. 描画モードへの分解(上段:Normal,下段:Overlay)をした後にパレットを編集したときの結果.David Revoyによる入力画像提供である.

2 先行研究

本節では,Soft Color Segmentationに関連した研究を2つ紹介いたします.

2.1 Fast Soft Color Segmentation[Akimoto+ CVPR20]

図3. Akimotoらの手法の概要図.入力画像とパレットを与え,モデルは各RGB\(\alpha\)層へ分解している.図は[2]より引用された.

図3に示すように,Akimotoらは初めてCNNを用いたSoft Color Segmentationを行う手法を構築した.パレットはK-Means法を用いて抽出されている.Akimotoらの手法は既存の最適化ベースの手法[3, 4]と比較して,30万倍の高速化を達成しました.

しかしながら,Normal描画モードしか利用できないという問題点があります.それに対して,本インターンシップでは,より現実的な編集ソフトウェアを達成するために,全ての描画モードに対応できるようなモデルを構築することを目指します.

2.2 Decomposing Images into Layers with Advanced Color Blending[Koyama+ PG18]

図4. Koyamaらの手法の概要図.我々と同様に入力画像,パレット,描画モードを与え,モデルは各RGB\(\alpha\)層へ分解している.図は[5]より引用された.David Revoyによる入力画像提供である.

図4に示すように,Koyamaらは初めて高度な描画モード(Normal以外に定義された他の描画モード)へと画像を分解する手法を提案した.入力画像,描画モード,その描画モードに対応するパレットを入力することで,RGB\(\alpha\)層へと分解を行います.

本インターンと同様な目的を拡張ラグランジュ乗数法を用いた最適化手法で達成しています.しかしながら,最適化手法を用いているので,高解像度な画像において試行錯誤に時間を要する問題を持ちます.加えて,パレットに色の多様性を持たせるために,パレットの分散値を入力する必要があるので,使用者は調整することが困難な問題に直面します.

我々の手法はK-Means法を用いてパレットを入力に,そのパレットでは表現できない,つまり不足した色を推論するような機能を持つネットワークを備えているので,使用者の試行錯誤の手間を省くことができます.

3 提案手法

図4. 提案するモデルの概要図.David Revoyによる入力画像提供である.

図4に提案するモデルの概要図を示す.モデルはNormal Alpha Predictor(NAP),Advanced Alpha Predictor(AAP),Advanced Residue Predictor(ARP)の3つで構成されている.また,学習時にはDiscriminatorを用いた敵対的学習を行っている.

3.1 Formulation

目的は入力画像 \(I\),パレット \(P\),描画モード \(c\) を入力し,その描画モードに適した\(\alpha\)層 \(\hat{\alpha}\) を出力し,入力画像に再構成した出力 \(\hat{I}_{out}\)を得ることである.

3.2 Normal Alpha Predictor

NAPの目的は,描画モードを行う時の背景を生成することである.入力画像 \(I\) とパレット \(P\) が与えられ,NAPはNormal描画モードのための\(\alpha\)層(Normal Alpha層)\(\alpha\) を出力する. 出力された\(\alpha\)層はSoftmax関数によって正規化される.その結果,和が1となるような制約を持つ.最後に,それらの和を取ることで背景画像 \(\hat{I}_{BG}\) を作成する.
\[\alpha = \mathrm{Softmax}(\mathrm{NAP}(I, P))\] \[ \hat{I}_{BG} = \sum{i} \alpha_{i} P_{i}.\]

3.3 Advanced Alpha Predictor

AAPの目的は指定された描画モードに適した\(\alpha\)値 \(\hat{\alpha}\) を出力することである.入力画像 \(I\) ,パレット \(P\) ,描画モード \(c\),Normal Alpha層 \(\alpha\) を与えられ,描画モードに従った\(\alpha\)層(Advanced Alpha層)\(\hat{\alpha}\) を出力する.その後,背景の\(\alpha\)値である全ての要素が1のテンソルが結合され,Ordered Softmax関数が適用される.
\[ \hat{\alpha} = \mathrm{OrderedSoftmax}(cat(ones, \mathrm{AAP}(I, P, c, \alpha))). \]

ここで,\(ones\)は要素が全て1のチャネルサイズ1のテンソルである.また,Ordered Softmax関数は以下の式によって定義される.
\[ \mathrm{OrderedSoftmax}(\alpha) = \frac{\alpha_{n}}{\sum_{i=0}^{n} \alpha_{i}}, n \in {0,1,…,N}.\] ここで,Nはパレット数と背景の合計である.例えば,パレット数が4つであれば,N=5である. また,ブレンディングを行い,再構成画像 \(\hat{I}_{mono}\)を得ることができる.
\[ \hat{I}{mono} = \mathrm{Blending}(\hat{I}_{BG}, P \circ \hat{\alpha}, c).\]

ここで,\(Blending\)はブレンドを表す.

3.4 Advanced Residue Predictor

ARPの目的は入力パレットだけでは不足した色(残基)\(R\) を推論することである.一般的に,パレットと入力画像に含まれるRGB値は全ては一致しておらず,細部が再構成できない問題が生じる.その結果,編集を行う時に質が下がる原因を引き起こす恐れがある.その問題を解決するために,残基 \(R\) と入力パレットを空間方向の和 Residue Palettes \(RP\) を生成する.最後に,AAPの出力であるAdvanced Alpha層 \(\hat{\alpha}\) とResidue Palettes \(RP\) の積を取り,背景とのブレンドを行い出力画像\(\hat{I}_{out}\)を生成する.
\[ RP = \mathrm{ARP}(I, P, c, \hat{\alpha}) + P \] \[ \hat{I}{out} = \mathrm{Blending}(\hat{I}{BG}, RP \circ \hat{\alpha}, c). \]

3.5 損失関数

3.5.1 敵対的損失関数

出力画像の質を向上させるために,本損失関数を導入する.
\[ L_{GAN} = \mathrm{E}[\log D(I)] + \mathrm{E}[\log(1 – D(\hat{I}_{out}))]. \]

ここで,\(D\)はDiscriminatorを表す.

3.5.2 再構成損失関数

出力が入力に再構成されるのを促進させるために,本損失関数を導入する.
\[L_{rec} = \lambda_{rec} * ( || I – \hat{I}{out} ||{1} + || I – \hat{I}{mono} ||{1} + || I – \hat{I}{BG} ||{1}).\]

3.5.3 残基損失関数

Residueが変化しすぎるのを防ぐために,本損失関数を導入する.
\[ L_{res} = \sum_{i} \hat{\alpha}{i} || P{i} – PR_{i} ||_{2}. \]

3.5.4 全体損失関数

全ての損失関数をまとめると,以下のように表される.
\[ L_{total} = L_{GAN} + \lambda_{rec} * L_{rec} + \lambda_{res} * L_{res} \]
ここで,\(\lambda_{rec}\),\(\lambda_{res}\)はハイパーパラメータを表す.

4 実験

4.1 与えるパレットを編集しない場合

図5. 描画モードを変更した時の\(\alpha\)値の変化の結果.

図5に示すように,描画モードをNormalや,Overlay,Multiplyにするとその描画モードごとの\(\alpha\)値が出力されていることがわかります.

しかしながら,本インターン中ではこの出力される\(\alpha\)値が適切であるか,また望む出力であるかであるかなど実用的な側面から評価することができなかったことは課題です.

4.2 描画モードを行うパレットを編集した場合


図6. Advanced \(\alpha\)層 \(\hat{\alpha}\) へ与えるパレットを変更した場合の比較結果.

図6はパレットを編集することでどのように出力画像が変化するのかを示しています.ただし,背景画像 \(\hat{I}_{BG}\) のパレットは編集していません. また,編集したパレットのRGB値は(a)\(\sim\)(d)の全てで同じです.

図6(a),(b)を比較すると,描画モードを変えて再構成した時に効果が違う出力がされていることがわかります.また,(c)は2つの\(\alpha\)値 \(\alpha, \hat{\alpha}\)はどちらもNormalモードによって推論されています.つまり,Normalモードで出力された \(\hat{\alpha}\) を用いて他の描画モードでブレンドをしています.(a)と(c)を比較すると,同じ\(\alpha\)値であっても描画モードが異なると推論される結果が異なることがわかります.その結果,対話的に我々はパレットだけでなく描画モードも編集する試行錯誤を行うことで,より効果的な描画モードやパレットを探すことができます.

一方で,(d)はFSCS[Akimoto+ CVPR20]の出力結果です.Normal描画モードを用いた(a)と加算を行う(d)を比較すると,猫の動体が黄色くなるなどの共通の効果が現れています.Normal描画モードは背景の上に前景を重ねますが,FSCSでは和を取って合成を行うので少し似た性質を持つからです.

5 まとめ

本インターンシップでは,初めてCNNを用いた各描画モードに適した\(\alpha\)層への分解や合成を行う手法を提案することに取り組みました.定性的な評価では,与えられた描画モードによって\(\alpha\)層が変わったり,合成結果も変化することがわかりました.しかしながら,出力される\(\alpha\)層が各描画モードに対して適切かどうかや,定量的な評価を行うことはできませんでした.
約1ヶ月という非常に限られた期間に加え,リモートでの参加でしたが,社員の方々のサポートのおかげで非常に充実した楽しいインターンシップを送ることができました.特に,Yanghua Jinさん,米辻 泰山さん,Huachun Zhuさん,鈴木 良平さんとは毎日議論を行い多大な支援をして頂きました.ありがとうございました.

[1] https://www.w3.org/TR/2015/CR-compositing-1-20150113/
[2] Naofumi Akimoto, Huachun Zhu, Yanghua Jin, and Yoshimitsu Aoki. Fast Soft Color Segmentation. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2020.
[3] Yagiz Aksoy, Tunc Ozan Aydin, Aljoscha Smolic, and Marc Pollefeys. Unmixing-Based Soft Color Segmentation for Image Manipulation. ACM Trans. Graph., 36(2):19:1–19:19, 2017.
[4] Yu-Wing Tai, Jiaya Jia, and Chi-Keung Tang. Soft color segmentation and its applications. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(9):1520–1537, 2007.
[5] Yuki Koyama and Masataka Goto. Decomposing images into layers with advanced color blending. Comput. Graph. Forum, 7(37):pp.397–407, 2018.

  • Twitter
  • Facebook