Image quality assessment: Difference between revisions

 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
\(\DeclareMathOperator{\mean}{mean}\)
\(\DeclareMathOperator{\mean}{mean}\)
* MSE
* MSE
*:\[MSE = \mean((I_1 - I_2)^2)\]
*:<math>\begin{align}MSE = \mean((I_1 - I_2)^2)\end{align}</math>
* PSNR
* PSNR
*:\[PSNR=10\log_{10}(\frac{R^2}{MSE})\]
*:<math>\begin{align}PSNR=10\log_{10}(\frac{R^2}{MSE})\end{align}</math>
**where R^2 is the maximum fluctuation (e.g. 1.0 for [0-1] float images, 255 for uint8).
**where R^2 is the maximum fluctuation (e.g. 1.0 for [0-1] float images, 255 for uint8).
* SSIM
* SSIM
[[FFmpeg]] can compute PSNR and SSIM.


==Foveated Quality Assessment==
==Foveated Quality Assessment==
Line 18: Line 20:
==Spherical Quality Assessment==
==Spherical Quality Assessment==


* WS-PSNR is a standard PSNR calculation where the mean squared error is weighted by the size of each pixel.
* WS-PSNR<ref name="sun2017wspsnr"></ref> is a standard PSNR calculation where the mean squared error is weighted by the size of each pixel.
<math>
*:<math>
\begin{align}
\begin{align}
WMSE &= \frac{1}{\sum_{i,j}w(i,j)} \sum_{i,j} (I_1(i,j)-I_2(i,j))^2 * w(i,j)\\
WMSE &= \frac{1}{\sum_{i,j}w(i,j)} \sum_{i,j} (I_1(i,j)-I_2(i,j))^2 * w(i,j)\\
Line 25: Line 27:
\end{align}
\end{align}
</math>
</math>
** The weights are \(w(i,j) = \sin(\frac{i+0.5}{N}\pi)\).
** The weights are \(w(i,j) = \sin(\frac{j+0.5}{N}\pi) = \cos(\frac{j+0.5-N/2}{N}\pi)\).
* Yu ''et al.''<ref name="yu2015framework></ref> propose Spherical PSNR (S-PSNR). In S-PSNR, points are randomly sampled on a sphere and back projected to the reference and reconstructed images. In practice, these randomly sampled points need to be saved for reproducibility. They use 655262 points which are available [https://github.com/mattcyu1/omnieval/blob/master/compsph/sphere_655362.txt on their repo].
* Spherical PSNR (S-PSNR)<ref name="yu2015framework></ref> uses randomly sampled points on a sphere and back projects them to the reference and reconstructed images. In practice, these randomly sampled points need to be saved for reproducibility. They use 655262 points which are available [https://github.com/mattcyu1/omnieval/blob/master/compsph/sphere_655362.txt on their repo].
 
* Spherical Structural Similarity Index (S-SSIM) <ref name="chen2018sssim"></ref> is an extension of SSIM for spherical images.
*:<math>
\begin{align}
\text{S-SSIM}(i, j) &= \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)\\
\text{S-SSIM} &= \frac{\sum_m \sum_n \text{S-SSIM}(m, n) * w(m, n)}{\sum_m \sum_n w(m, n)}
\end{align}
</math>


Samsung has a [https://github.com/Samsung/360tools 360tools] program which can compute WS-PSNR, S_PSNR,
==Resources==
* [https://www.programmersought.com/article/81784294452/ 360 video quality evaluation standards: WS-PSNR, S-PSNR, CPP-PSNR]
* [https://github.com/Samsung/360tools Samsung/360tools]


==References==
==References==
Line 36: Line 46:
<ref name="lee2002foveated">Sanghoon Lee, M.S. Pattichis, A.C. Bovik, (2002) ''Foveated video quality assessment'' IEEE Multimedia 2002.</ref>
<ref name="lee2002foveated">Sanghoon Lee, M.S. Pattichis, A.C. Bovik, (2002) ''Foveated video quality assessment'' IEEE Multimedia 2002.</ref>
<ref name="yu2015framework">Matt Yu, Haricharan Lakshman, Bernd Girod (2015) ''A Framework to Evaluate Omnidirectional Video Coding Schemes'' ISMAR 2015.</ref>
<ref name="yu2015framework">Matt Yu, Haricharan Lakshman, Bernd Girod (2015) ''A Framework to Evaluate Omnidirectional Video Coding Schemes'' ISMAR 2015.</ref>
<ref name="sun2017wspsnr">Yule Sun, Ang Lu, Lu Yu (2017). Weighted-to-Spherically-Uniform Quality Evaluation for Omnidirectional Video. IEEE Signal Processing Letters</ref>
<ref name="chen2018sssim">Sijia Chen, Yingxue Zhang, Yiming Li, Zhenzhong Chen, Zhou Wang (2018). Spherical Structural Similarity Index for Objective Omnidirectional Video Quality Assessment. (ICME 2018)</ref>
}}
}}