无监督深度估计、运动估计的深度学习方法(二)——SSIM损失函数

2023-11-17

    在自监督深度估计中,一般输入2张图像(若为视频,则输入邻近的两帧图像)frame1和frame2,模型先估计相机拍摄这2张图像是的姿态变化pose,然后根据pose将frame1变换到frame2的视角下,得到合成图像synthetic frame1。

    估算的pose越准确,synthetic frame1与frame2的图像相似度就越高。那么,常用SSIM(结构相似性)来评价这两张图片的相似度。

   若希望详细了解单目深度估计,可参考文章《动态场景下的单目深度估计》、《Instance-wise Depth and Motion Learning from Monocular Videos》和《MonoDepth2_单目深度估计》。

SSIM

    用于检测两张尺寸相同的图像的相似度,它主要通过分别比较两个图像的亮度(l)、对比度(c)、结构(s),然后对这三个要素加权并乘积表示,在论文中这三个要素用下面公式来表示:

这里 μx 为均值,σ 为方差,σxy 表示协方差。这里 C1、C2、C3 是为了避免当分母为 0 时造成的不稳定问题(所以写算法的时候可以放心,一定不会出现除 0 的情况)。

而 SSIM 的一般方程为:

这里一般\alpha,\beta,\gamma 取1,并且令 C3=0.5*C2,这样就得到简化的 SSIM 公式:

c_1=(k_1*L)^2c_2=(k_2*L)^2是用来维持稳定的常数。L是像素值的动态范围。k_1=0.01,k_2=0.03
结构相似性的范围为-1到+1(即SSIM∈(-1, 1])。当两张图像一模一样时,SSIM的值等于1。

tensorflow实现代码,戳here,滑至末尾

pytorch code

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无监督深度估计、运动估计的深度学习方法(二)——SSIM损失函数 的相关文章

随机推荐