无训练图像相似性度量咨询:SSIM与LBP结果异常问题
无需训练的图像相似性度量方案
问题背景
现有参考图像A、目标图像B和C,人类视觉判断A与B属于同一类别,A与C属于不同类别,但现有度量方法结果不符合预期:
- OpenCV内置SSIM计算:
result1 = SSIM(A, B) = 4.71027%result2 = SSIM(A, C) = 7.95047%
- 全图像LBP归一化直方图的KL散度表现更差
- 两种LBP变体的KL散度测试结果:
- 圆形LBP:
result1 = LPB_CIRCULAR_HIST_KL(A, B) = 0.66,result2 = LPB_CIRCULAR_HIST_KL(A, C) = 0.64 - 方差LBP:
result1 = LPB_VAR_HIST_KL(A, B) = 0.49,result2 = LPB_VAR_HIST_KL(A, C) = 3.74
注:结果为0表示图像完全相同
- 圆形LBP:
推荐的无训练相似性度量方法
改进型结构相似性
尝试MS-SSIM(多尺度结构相似性),它在不同尺度下计算SSIM并加权融合,更贴合人类视觉对不同层级细节的感知,能有效弥补单尺度SSIM的不足;也可以给SSIM加入边缘区域权重,强化结构差异的影响。直方图类度量(替代KL散度)
- 巴氏距离(Bhattacharyya Distance):通过计算两个直方图的重叠概率对数来衡量差异,公式为
D_B = -ln(Σ√(p_i q_i)),值越小表示图像越相似,对类别差异的区分度优于KL散度。 - 直方图交(Histogram Intersection):直接统计两个直方图的重叠面积,值越大则图像相似性越高,适合同类图像纹理、颜色分布相近的场景。
- 巴氏距离(Bhattacharyya Distance):通过计算两个直方图的重叠概率对数来衡量差异,公式为
边缘/梯度特征度量
- Canny边缘直方图相似性:先提取图像的Canny边缘,统计边缘方向、长度的直方图,再用巴氏距离或直方图交计算相似性——同类图像的边缘结构特征通常更一致。
- HOG特征相似度:提取梯度方向直方图(HOG)特征后,用余弦相似度或欧氏距离衡量差异,HOG能捕捉局部形状与边缘信息,无需训练即可快速计算。
感知颜色空间统计度量
将图像转换到HSV、Lab这类符合人类视觉感知的颜色空间,统计各通道的均值、方差、分位数等统计量,计算这些统计量的欧氏距离或余弦相似度,同类图像的颜色分布统计特征更接近。相位一致性度量
基于图像的相位信息计算相似性,相位信息对光照、对比度变化具有鲁棒性,能精准捕捉图像的结构本质,适合光照变化不影响类别判断的场景。
内容的提问来源于stack exchange,提问作者Ziri
相关产品推荐
相关产品推荐

