图像相识度

以图搜图(一):python aHash算法
计算两幅图像的相似度总结
计算两幅图像的相似度(PSNR、SSIM、MSE、余弦相似度、MD5、直方图、互信息、Hash)& 代码实现 与举例
图片识别——三种哈希算法性能与准确度比较
图像相似算法最全总结
1、Hash哈希算法
哈希算法对每张图片生成一个”指纹”(fingerprint)字符串,然后比较不同图片的指纹。将图像归一化成一定大小,计算 一个序列作为他的指纹信息,然后比较两张图片指纹信息序列相同的位数。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。包括均值哈希(aHash)、感知哈希(pHash)和dHash(差异值哈希)。aHash速度较快,但精确度较低;pHash精确度较高但速度较慢;dHash兼顾二者,精确度较高且速度较快。
平均哈希算法过于严格,不够精确,更适合搜索缩略图,为了获得更精确的结果可以选择感知哈希算法,它采用的是DCT(离散余弦变换)来降低频率的方法

2、SSIM(结构相似性度量)
SSIM算法主要用于检测两张相同尺寸的图像的相似度、或者检测图像的失真程度。SSIM公式基于样本x和y之间的三个比较衡量:亮度 (luminance)、对比度 (contrast) 和结构 (structure)。
SSIM取值范围为[0,1],值越大表示输出图像和无失真图像的差距越小,即图像质量越好。
缺点:结构相似性指标有其限制,对于影像出现位移、缩放、旋转(皆属于非结构性的失真)的情况无法有效的运作。

3、PSNR(峰值信噪比)
PSNR是通过MSE得出来的,是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即 基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个 区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
MSE越小,则PSNR越大;所以PSNR越大,代表着图像质量越好。一般来说,
PSNR高于40dB说明图像质量极好(即非常接近原始图像);
在30—40dB通常表示图像质量是好的(即失真可以察觉但可以接受);
在20—30dB说明图像质量差;
最后,PSNR低于20dB图像不可接受。

4、cosin(余弦相似度)
把图片表示成一个向量,通过计算向量之间的余弦距离来表征两张图片的相似度。
余弦相似度算法:一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小
取值范围为[0,1],值接近1表明两个向量越相似,值接近于0表明两个向量越不相似。

5、直方图
图像直方图丰富的图像细节信息,反映了图像像素点的概率分布情况,统计每一个像素点强度值具有的像素个数。
优点:计算量比较小。
缺点: 直方图反应的是图像灰度值得概率分布,并没有图像的空间位置信息在里面,因此,会出现误判;比如纹理结构相同,但明暗不同的图像,应该相似度很高,但实际结果是相似度很低,而纹理结构不同,但明暗相近的图像,相似度却很高
计算步骤:
将图片resize,得到相同大小的图片;
将图片灰度,灰度后图片的像素在[0-255]之间;
计算图片的直方图数据,统计相同像素点的概率分布;
根据相关性计算公式,计算两个图片直方图的相关性。

6、互信息(Mutual Information)
互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。

7、基于特征点的图像相似度计算

目前个人认为特征检测和匹配的研究点包括但不限于以下几个方面:
1.特征点检测算法的设计和改进,提高特征点的鲁棒性和准确性。
2.特征描述子的设计和优化,提高特征点的区分度和匹配性能。
3.多尺度和多模态特征检测与匹配,适应不同尺度、视角和传感器条件下的图像数据。
4.大规模特征点检测和匹配算法,用于处理大规模图像数据库或视频流。
5.深度学习在特征检测和匹配中的应用,如使用卷积神经网络提取图像特征和进行匹配。

特征检测和匹配的应用广泛,包括但不限于以下几个方面:
1.目标识别和跟踪:通过检测和匹配图像中的特征点,可以实现目标在视频中的跟踪和定位,如自动驾驶中的目标识别和跟踪。
2.图像配准和拼接:通过匹配图像中的特征点,可以将多幅图像进行配准和拼接,生成全景图像或三维重建模型。
3.增强现实(AR)和虚拟现实(VR):特征检测和匹配可用于将虚拟对象与真实世界进行对齐和融合,实现更逼真的AR和VR体验。
4.图像检索和分类:通过匹配图像中的特征点,可以对图像进行相似性搜索和分类,用于图像检索和内容识别。
5.三维重建和建模:通过匹配多个视角的图像中的特征点,可以进行三维重建和场景建模,用于计算机辅助设计、虚拟现实等领域。
6.视频处理和分析:特征检测和匹配在视频处理中可以用于运动估计、目标跟踪、动作识别等任务。

针对不同的实际应用需求,对三种特征检测和匹配算法进行总结
1.最传统的且应用最为广泛的SIFT特征检测匹配算法。
2.速度和精度之间的平衡,注重实时性的SLAM中常用的ORB特征检测和匹配算法。
3.最新且效果很好的基于深度学习的特征检测和匹配算法SuperPoint+SuperGlue。

特征匹配的方法
(1)BF(Brute-Force)暴力特征匹配的方法,通过计算特征描述子之间的欧氏距离或汉明距离来确定匹配程度;
(2)FLANN 最快邻近区特征匹配方法,进行近似的最近邻搜索,以加速匹配过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值