首先区别一下 图像查重 和 图像检索 的区别,其实不必在意这些字眼,理解其本质即可,

图像查重 是 像素级 的相似

图像检索 是 特征级 的相似,或者说是一类物体

 

图像相似 包含了 图像查重 和 图像检索,常用方法见下文 。

 

1. 欧几里得距离

略...

2. 余弦相似性

略...

3. SSIM 结构相似性度量

论文《Image Quality Assessment: From Error Visibility to Structural Similarity》[1]于2004年介绍了SSIM。

其结果为 0~1 之间的值;

作者认为,影响该指标的主要是 亮度、对比度、结构

from SSIM_PIL import compare_ssim
from PIL import Image

size = (500, 500)
image1 = Image.open("ssim_img/apple1.png").resize(size)
image2 = Image.open("ssim_img/apple2.jpg").resize(size)
image3 = Image.open("ssim_img/apple3.jpg").resize(size)
image4 = Image.open("ssim_img/apple4.jpg").resize(size)
# Note: images have to be of equal size
value12 = compare_ssim(image1, image2, GPU=False) # a value of 1 indicates strong similarity
value13 = compare_ssim(image1, image3, GPU=False)
value14 = compare_ssim(image1, image4, GPU=False)
value23 = compare_ssim(image2, image3, GPU=False)
value24 = compare_ssim(image2, image4, GPU=False)
value34 = compare_ssim(image3, image4, GPU=False)
print(value12, value13, value14, value23, value24, value34)

0.45 0.16 0.44 0.18 0.62 0.18

SSIM 不仅可用于 图像相似,还可用于 图像压缩质量评估,图像超分辨重建质量评估 等;

 

4. 图像哈希

后续补充

5. 特征相似性(利用CNN模型)

略...

 

 

参考资料:

https://mp.weixin.qq.com/s/BE_07eA3nDBsEKyB4jcVoA  建立重复图像查找系统