• 立体匹配中的评价指标


    立体匹配中的评价指标

    记录立体匹配中的评价指标,包括视差估计指标、图像相似度指标、光流估计指标等。

    点击这里 查看jupyter notebook

    🖼 图像相似度指标

    PSNR(Peak Signal-to-Noise Ratio)峰值信噪比

    skimage-mse接口地址

    skimage-psnr接口地址

    定义:给定一个大小为 m × n m \times n m×n的干净图像I和噪声图像K

    • 均方误差MSE定义为:

    M S E = 1 m n ∑ i = 0 m − 1 ∑ j = 0 n − 1 [ I ( i , j ) − K ( i , j ) ] 2 MSE = \frac{1}{mn}\sum^{m-1}_{i=0}\sum^{n-1}_{j=0}[I(i,j)-K(i,j)]^{2} MSE=mn1i=0m1j=0n1[I(i,j)K(i,j)]2

    • 峰值信噪比PSNR定义为:

    P S N R = 10 l ˙ o g 10 ( M A X I 2 M S E ) PSNR = 10 \dot log_{10}(\frac{MAX^{2}_{I}}{MSE}) PSNR=10l˙og10(MSEMAXI2)

    像素值取0-255时 M A X I = 255 MAX_{I}=255 MAXI=255,像素值取0-1时 M A X I = 1 MAX_{I}=1 MAXI=1

    python中可以调用psnr = skimage.metrics.peak_signal_noise_ratio(im1, im2, 255)

    SSIM(Structural SIMilarity)结构相似性

    结构相似性更符合人类评价标准。

    SSIM 研究主页

    SSIM 论文

    skimage-ssim接口地址

    定义:对比样本 x x x y y y亮度(luminance)对比度(contrast)结构(structure)

    • 亮度、对比度和结构三个分量对比计算公式:

    l ( x , y ) = 2 μ x μ y + c 1 μ x 2 + μ y 2 + c 1 l(x,y) = \frac{2\mu_{x}\mu_{y}+c_{1}}{\mu^{2}_{x}+\mu^{2}_{y}+c_{1}} l(x,y)=μx2+μy2+c12μxμy+c1

    c ( x , y ) = 2 σ x σ y + c 2 σ x 2 + σ y 2 + c 2 c(x,y) = \frac{2\sigma_{x}\sigma_{y}+c_{2}}{\sigma^{2}_{x}+\sigma^{2}_{y}+c_{2}} c(x,y)=σx2+σy2+c22σxσy+c2

    s ( x , y ) = σ x y + c 3 σ x σ y + c 3 s(x,y) = \frac{\sigma_{xy}+c_{3}}{\sigma_{x}\sigma_{y}+c_{3}} s(x,y)=σxσy+c3σxy+c3

    • 结构相似性SSIM计算公式:

    S S I M = [ l ( x , y ) α c ( x , y ) β s ˙ ( x , y ) γ ] SSIM = [l(x,y)^{\alpha} c(x,y)^{\beta} \dot s(x,y)^{\gamma}] SSIM=[l(x,y)αc(x,y)βs˙(x,y)γ]

    α = β = γ = 1 \alpha=\beta=\gamma=1 α=β=γ=1

    S S I M = ( 2 μ x μ y + c 1 ) ( 2 σ x y + c 2 ) ( μ x 2 + μ y 2 + c 1 ) ( σ x 2 + σ y 2 + c 2 ) SSIM=\frac{(2\mu_{x}\mu_{y}+c_{1})(2\sigma_{xy}+c_{2})}{(\mu^{2}_{x}+\mu^{2}_{y}+c_{1})(\sigma^{2}_{x}+\sigma^{2}_{y}+c_{2})} SSIM=(μx2+μy2+c1)(σx2+σy2+c2)(2μxμy+c1)(2σxy+c2)

    SSIM最大值为1

    c 3 c_{3} c3 α \alpha α β \beta β γ \gamma γ是超参数,经验参考值如: c 3 = c 2 / 2 、 α = β = γ = 1 c_{3}=c_{2}/2、\alpha=\beta=\gamma=1 c3=c2/2α=β=γ=1

    μ x 、 μ y \mu_{x}、\mu_{y} μxμy x x x y y y的均值, σ x y \sigma_{xy} σxy x x x y y y的协方差, σ x 2 、 σ x 2 \sigma^{2}_{x}、\sigma^{2}_{x} σx2σx2 x x x y y y的方差

    常数 c 1 = ( k 1 L ) 2 , c 2 = ( k 2 L ) 2 c_{1}=(k_{1}L)^{2},c_{2}=(k_{2}L)^{2} c1=(k1L)2,c2=(k2L)2可以避免分母为0, k 1 = 0.01 , k 2 = 0.03 k_{1}=0.01,k_{2}=0.03 k1=0.01,k2=0.03为默认值, L = 2 B − 1 L=2^{B}-1 L=2B1为图片像素的取值范围, B B B为图像位数。

    python中可以调用ssim = skimage.metrics.structural_similarity(im1, im2, 255)

    每次计算的时候都从图片上取一个的窗口,然后不断滑动窗口进行计算,最后取平均值作为全局的 SSIM。

    针对超光谱图像,我们需要针对不同波段分别计算 SSIM,然后取平均值,这个指标称为 MSSIM。

    MS-SSIM(Multi-scale Structural SIMilarity)多尺度结构相似性

    MS-SSIM 论文

    pytorch-msssim源码Github地址

    pytorch-msssim包地址

    图片按照一定规则,由大到小缩放,下面是MS-SSIM的计算过程图:

    计算公式如下:

    M S − S S I M ( x , y ) = [ l M ( x , y ) ] α M ∗ ∏ j = 1 M ( [ c j ( x , y ) ] β j ∗ [ s j ( x , y ) ] γ j ) MS-SSIM(x,y) = [l_{M}(x,y)]^{\alpha_{M}} * \prod \limits_{j = 1}^{M}([c_{j}(x,y)]^{\beta_{j}} * [s_{j}(x,y)]^{\gamma_{j}}) MSSSIM(x,y)=[lM(x,y)]αMj=1M([cj(x,y)]βj[sj(x,y)]γj)

    M一般取5,也就是缩小4次的尺度加上原始尺度,共5个尺度

    α M , β j , γ j \alpha_{M},\beta_{j},\gamma_{j} αM,βj,γj为相关重要性权重:

    • α M \alpha_{M} αM表示最后一个尺度的亮度相关重要性权重

    • β j \beta{j} βj表示第j个尺度的对比度相关重要性权重

    • γ j \gamma{j} γj表示第j个尺度的结构相关重要性权重

    论文中这些参数标定为: β 1 = γ 1 = 0.0448 , β 2 = γ 2 = 0.2856 , β 3 = γ 3 = 0.3001 , β 4 = γ 4 = 0.2363 , α 5 = β 5 = γ 5 = 0.1333 \beta_{1}=\gamma_{1}=0.0448,\beta_{2}=\gamma_{2}=0.2856,\beta_{3}=\gamma_{3}=0.3001,\beta_{4}=\gamma_{4}=0.2363,\alpha_{5}=\beta_{5}=\gamma_{5}=0.1333 β1=γ1=0.0448,β2=γ2=0.2856,β3=γ3=0.3001,β4=γ4=0.2363,α5=β5=γ5=0.1333

    TODO …

  • 相关阅读:
    Web安全—Web漏扫工具Nikto安装与使用
    【谢希尔 计算机网络】第3章 数据链路层
    二进制中1的个数
    leetcode算法每天一题010: 正则表达式,判断pattern和string是否匹配(动态规划)
    【Python】模块
    电力巡检/电力抢修行业解决方案:AI+视频技术助力解决巡检监管难题
    MATLB|基于小波神经网络的短时交通流量时间序列预测
    Java 网站开发入门指南:如何用java写一个网站
    Web3.0实战(02)-联盟链入门讲解
    ElementUI之首页导航与左侧菜单
  • 原文地址:https://blog.csdn.net/qq_40918859/article/details/127044846