はじめに
depth系の論文読んでるとlossのところで何かと出てくる以下の論文
[1] Z. Wang, et. al. "Image Quality Assessment: From Error Visibility to Structural Similarity". IEEE transactions on image processing. vol.13, no.4, april 2004.
のまとめ
IEEE:
https://ieeexplore.ieee.org/document/1284395
pdfも転がってるので読める
概要
2つの画像を比較する場合などに有効な指標 SSIM を提案している。
以下ではSSIMのロジックを超ざっくりまとめる
全般論
2つの画像を比較する際に、例えばRGBベースで差の絶対値を求め、それを全てのピクセルに足し合わせれば結果は出る。
しかし、例えば一方の画像は照明が強いため全般的に明るい場合、その差は大きくなるが、それは求めたい類似性を反映していない。
よって単純に輝度ベースだけではダメ。本論文ではコントラスト・ベース、及び構造ベースの比較も組み入れることで指標の精度を上げている。
${\bf x}$ :一方の画像上の輝度値
${\bf y}$ :他方の画像上の輝度値
$l({\bf x}, {\bf y})$ :輝度ベースの類似性
$c({\bf x}, {\bf y})$ :コントラストベースの類似性
$s({\bf x}, {\bf y})$ :構造ベースの類似性
として、
S({\bf x}, {\bf y}) = f(l({\bf x}, {\bf y}), c({\bf x}, {\bf y}), s({\bf x}, {\bf y}))
と3つの類似性から総合的な類似性を求める。
輝度値ベースの類似性
$\mu_x$ :一方の画像上の輝度値の平均値
$\mu_x$ :他方の画像上の輝度値の平均値
として、輝度値の類似性となる指標を以下とする。
l({\bf x}, {\bf y}) = \frac{2 \mu_x \mu_y + C_1}{\mu_x^2 + \mu_y^2 + C_1} \tag{1}
C_1は小さな値。
直感的に考える。例えば
(\mu_x - \mu_y)^2 = \mu_x^2 + \mu_y^2 - 2 \mu_x \mu_y
を考えた場合、$\mu_x$ と $\mu_y$ が等しければ左辺はゼロ、また常に0以上。
なので、右辺は $ \mu_x^2 + \mu_y^2$ の部分が $2 \mu_x \mu_y$ より常に大きく、これらが一致するときにゼロ。
よって(1)式は $C_1$ を除いて考えると、[0, 1] の値域で、$\mu_x$ と $\mu_y$ が等しいときに1となる。
コントラストベースの類似性
コントラストなので、輝度値の標準偏差ベースの指標を考える。
輝度値ベースの場合と同様に、以下で2つの画像のコントラストの類似度を計算する。
c({\bf x}, {\bf y}) = \frac{2 \sigma_x \sigma_y + C_2}{\sigma_x^2 + \sigma_y^2 + C_2} \tag{2}
構造ベースの類似性
輝度値の相関係数を求め、これを構造ベースの類似性とする。
s({\bf x}, {\bf y}) = \frac{\sigma_{xy} + C_3}{\sigma_x \sigma_y + C_3}
SSIM
SSIMはこれらの積とする。
SSIM({\bf x}, {\bf y}) = [l({\bf x}, {\bf y})]^{\alpha} \cdot [c({\bf x}, {\bf y})]^{\beta} \cdot [s({\bf x}, {\bf y})]^{\gamma}
$\alpha = \beta = \gamma = 1$ 、$C_3 = C_2 /2$ とすると
SSIM({\bf x}, {\bf y}) = \frac{(2 \mu_x \mu_y + C_1)(2\sigma_{xy} + C_2)}{(\mu_x^2 + \mu_y^2 + C_1)(\sigma_x^2 + \sigma_y^2 + C_2)}
とすっきりした。