首先区别一下 图像查重 和 图像检索 的区别,其实不必在意这些字眼,理解其本质即可,
图像查重 是 像素级 的相似
图像检索 是 特征级 的相似,或者说是一类物体
图像相似 包含了 图像查重 和 图像检索,常用方法见下文 。
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 建立重复图像查找系统