論文 "The Fast Bilateral Solver" ②
論文"The fast bilateral solver. "[1]を読む。
前回、この論文で解こうとしている最適化問題(式(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}
現時点での疑問点は次の二つ。
- 重みの作り方
参照画像を使って作る。論文では式(2)において説明されている。
- 信頼度の作り方
ざっと見たところ、この論文では具体的な作り方が示されていないような・・・。
今回、論文を読み進めて、重みの作り方について理解する。
まず、論文から関係する部分を引用・和訳する。
式(1)に示す最適化問題の平滑化項は、親和性(affinity)行列によって構築される。これはバイラテラル親和性行列を二重確率化(bistochastized)したものである。バイラテラル親和性行列の各要素は、YUV色空間における参照画像のピクセルととの間の親和性を表している。
ここでは、参照画像内のピクセルであり、空間位置は、色はである。パラメータは、それぞれ、フィルタの空間、輝度、および色度サポートの範囲を制御する。
この行列は一般にバイラテラルフィルタで用いられている。バイラテラルフィルタは、エッジ保存フィルタであり、領域内を、エッジを越えないようにぼかすことを、画像内容にフィルタを局所的に適用することによって行う。
まず、知りたいことは 重みの作り方であるが、ここでは一般にバイラテラルフィルタで用いられているバイラテラル親和性行列の説明から入っている。
は親和性行列と呼ばれるもので、バイラテラル親和性行列を二重確率化したものである、とのこと。
「二重確率化」は、論文中の"bistochastized"を訳したものである。これは、"bistochastic matrix"をググるとWikipediaの二重確率行列"doubly stochastic matrix"が引っかかることから、”bistochastic ”="doubly stochastic"と判断した。二重確率行列とは、「各行の和および各列の和がそれぞれ 1 となるような非負の実正方行列」とのことで、"bistochastized"は、行列をそのような二重確率行列に変換することだと考える(読み進めると間違っていることが分かるかもしれないが)。
バイラテラル親和性行列は、ピクセル間の空間距離、輝度、色度の差が大きければ大きくなる要素からなる行列であり、その寄与率をパラメータで制御できるようになっている。
輝度差が小さくて空間的にも近くないと重みは大きくならないので、画像の特徴に応じた重みを生成できる。
式(1)の平滑化項に適用することで、注目する二つの画素の値@が大きく異なっていても、空間的に離れていたり、輝度・色度が違っていれば許容される、という効果が得られることが理解できる。
しかし、式(1)に用いられているのはバイラテラル親和性行列ではなく親和性行列である。
式(2)で表されるバイラテラル親和性行列から、親和性行列を作る方法を理解しなければならない。
まとめ
論文[1]を読み進めて式(2)バイラテラル親和性行列まで理解した。
現時点でまだ理解できていないのは以下の二つ。
- 親和性行列の作り方
今回、親和性行列の前にバイラテラル親和性行列について理解した。次は、バイラテラル親和性行列から親和性行列を作る方法「二重確率化」について理解したい。
- 信頼度の作り方
前回から引き続いて不明。
参考文献
[1] Jonathan T Barron and Ben Poole. 2016. The fast bilateral solver. ECCV (2016).https://arxiv.org/pdf/1511.03296.pdf