数学がわからない

日々の勉強をアウトプットする。

論文 "The Fast Bilateral Solver" ②

論文"The fast bilateral solver. "[1]を読む。

gyokan.hatenablog.com

前回、この論文で解こうとしている最適化問題(式(1))の意味を理解できた。

\begin{align}
\underset {x}{minimize} \ \displaystyle \frac{\lambda}{2} \displaystyle \sum_{i,j} \hat{W}_{i,j}(x_i-x_j)^2 + \displaystyle \sum_{i} c_i (x_i - t_i)^2
\tag{1}
\end{align}


現時点での疑問点は次の二つ。

  • 重み\hat{W}_{i,j}の作り方

参照画像を使って作る。論文では式(2)において説明されている。

  • 信頼度c_iの作り方

ざっと見たところ、この論文では具体的な作り方が示されていないような・・・。


今回、論文を読み進めて、重み\hat{W}_{i,j}の作り方について理解する。

まず、論文から関係する部分を引用・和訳する。

式(1)に示す最適化問題の平滑化項は、親和性(affinity)行列\hat{W}によって構築される。これはバイラテラル親和性行列Wを二重確率化(bistochastized)したものである。バイラテラル親和性行列の各要素W_{i,j}は、YUV色空間における参照画像のピクセルijとの間の親和性を表している。


 \begin{align}
W_{i,j}=exp\left(
 - \displaystyle \frac{\|[p^x_i,p^y_i] - [p^x_j,p^y_j]\|^2}{2\sigma^2_{xy}}
 - \displaystyle \frac{(p^l_i-p^l_j)^2}{2\sigma^2_l}
 - \displaystyle \frac{\|[p^u_i,p^v_i] - [p^u_j,p^v_j]\|^2}{2\sigma^2_{uv}}
\right)
\end{align}
\tag{2}

ここでp_iは、参照画像内のピクセルであり、空間位置は\left(p^x_i,p^y_i\right)、色はp^l_i,p^u_i,p^v_iである。パラメータ\sigma_{xy},\sigma_{l},\sigma_{uv}は、それぞれ、フィルタの空間、輝度、および色度サポートの範囲を制御する。


この行列Wは一般にバイラテラルフィルタで用いられている。バイラテラルフィルタは、エッジ保存フィルタであり、領域内を、エッジを越えないようにぼかすことを、画像内容にフィルタを局所的に適用することによって行う。

まず、知りたいことは 重み\hat{W}_{i,j}の作り方であるが、ここでは一般にバイラテラルフィルタで用いられているバイラテラル親和性行列Wの説明から入っている。
\hat{W}は親和性行列と呼ばれるもので、バイラテラル親和性行列Wを二重確率化したものである、とのこと。

「二重確率化」は、論文中の"bistochastized"を訳したものである。これは、"bistochastic matrix"をググるWikipediaの二重確率行列"doubly stochastic matrix"が引っかかることから、”bistochastic ”="doubly stochastic"と判断した。二重確率行列とは、「各行の和および各列の和がそれぞれ 1 となるような非負の実正方行列」とのことで、"bistochastized"は、行列をそのような二重確率行列に変換することだと考える(読み進めると間違っていることが分かるかもしれないが)。

バイラテラル親和性行列Wは、ピクセル間の空間距離、輝度、色度の差が大きければ大きくなる要素からなる行列であり、その寄与率をパラメータ\sigmaで制御できるようになっている。
輝度差が小さくて空間的にも近くないと重みは大きくならないので、画像の特徴に応じた重みを生成できる。

式(1)の平滑化項に適用することで、注目する二つの画素の値@x_i,x_jが大きく異なっていても、空間的に離れていたり、輝度・色度が違っていれば許容される、という効果が得られることが理解できる。

しかし、式(1)に用いられているのはバイラテラル親和性行列Wではなく親和性行列\hat{W}である。
式(2)で表されるバイラテラル親和性行列Wから、親和性行列\hat{W}を作る方法を理解しなければならない。

まとめ

論文[1]を読み進めて式(2)バイラテラル親和性行列まで理解した。
現時点でまだ理解できていないのは以下の二つ。

  • 親和性行列\hat{W}_{i,j}の作り方

今回、親和性行列の前にバイラテラル親和性行列について理解した。次は、バイラテラル親和性行列から親和性行列を作る方法「二重確率化」について理解したい。

  • 信頼度c_iの作り方

前回から引き続いて不明。

参考文献

[1] Jonathan T Barron and Ben Poole. 2016. The fast bilateral solver. ECCV (2016).https://arxiv.org/pdf/1511.03296.pdf