領域識別による写真の色調転移の論文を読む

ランニングできず 英語できず

(1) 領域識別による写真の色調転移の論文を読む

 「Deep Photo Style Transfer」https://arxiv.org/abs/1703.07511

 この論文も大変綺麗な写真が多数表示されていて有名なものです。この論文は情景が異なる入力と参照の2写真があり、写真の構図は入力写真を反映し、写真の色彩は参照写真を反映するモデルです。

 合成写真は本物らしく見せる必要があります。即ち空中にビルが浮んだり、あり得ない色彩にならない様な工夫が必要です。

 下図では朝の写真の構図に夜の情景が転移されています。  

f:id:mabonki0725:20170917171439p:plain

(1.1) 手法

入力写真の構図で色調は参照写真にするには、以下2つの工夫をしています。

 ・入力写真と転移写真には画素の線形変換(Affin TransForm)を使う

 ・色調の転移には入力と参照写真の各々について深層学習で領域を識別して

  同じ識別領域内で色調の転移をしています。

  1) 入力写真の構図の転移

  出力写真は入力写真の構図と同じ必要があるので、次式の損失関数で深層学習の各層を訓練させています。

  \mathcal{L}_c^l = \frac{1}{2N_lD_l} \sum_{i,j} \left( F_l(O) - F_l(I) \right)^2

  ここで

   lは深層学習のl番目の層

   i,jは層の座標(i,j)

           F_l(O)F_l(I)は出力層と入力写真の層の特徴量

 

  記述にはありませんが下図の様なネットワーク構成と考えられます。 

f:id:mabonki0725:20170917193246p:plain

  2)領域内の識別転移の方法

    この論文ではCNNとCRF(Conditional Random Field)で領域に識別した有名な論文を使っています。https://arxiv.org/pdf/1412.7062

   f:id:mabonki0725:20170917182716p:plain

  入力と参照写真双方の領域認識をさせて一致している領域には参照写真の色調を転移させています。

  ここから分る様に入力写真と参照写真は同じ識別領域が必要な事がわかります。

  即ち全く内容が異なる写真どうしでは精緻な転移ができません。

  識別領域どうしの損失関数は次になります。

  \mathcal{L}_{s+}^l = \sum_{c=1}^C \frac{1}{2N_{l,c}} \sum_{i,j} \left( G_{l,c}(O) - G_{l,c}(S) \right)^2

  ここで

           cは領域のカテゴリを現します

   lは深層学習のl番目の層

   i,jは層の座標(i,j)

           G_l(O)G_l(S)は出力層と参照写真の層のグラム行列

   グラム行列G(S) = F(S) \cdot F(S)^Tは特徴量どうしの関係を表します

 3) 損失関数の合成  

  構図転移の損失関数\mathcal{L}_cと意味領域転移\mathcal{L}_{s+}を次式で合成します。

  \mathcal{L}_{total} = \sum_l^L \alpha_l \mathcal{L}_c^l + \Gamma \sum_l^L \beta_l \mathcal{L}_{s+}^l + \lambda \mathcal{L}_m

           ここで

    \mathcal{L}_mは入力画像のL_2ノルムの正則化項です。

    \alpha_l, \beta_l ,\lambdaは各損失関数の重みです。

  正則化項の重み\lambdaを大きくすると入力画像に近づきます。 

f:id:mabonki0725:20170917185404p:plain

(1.2) 結果

 比較対象としてはNural StyleとCNNMRFと本論文とで比較しています。

 大量に載っていますが一部を添付します。 

f:id:mabonki0725:20170917191650p:plain