图片相似性度量算法(20181218)

  • 1. 图片相似性介绍
  • 2.常用的图片相似性算法
    • 2.1 均方误差MSE
    • 2.1 直方图方法
    • 2.2 图像模板匹配
    • 2.3 PSNR(Peak Signal to Noise Ratio)峰值信噪比
    • SSIM结构相似度,理论基础:人眼视觉系统会高度自适应地提取场景中的结构信息。通过比较图像结构信息的改变考虑图像的失真,从而得到客观的质量评价。

计算两张图片的相似性,可以用于设计深度学习中的 Autoencoder 和 GAN 网络的损失函数的设计

1. 图片相似性介绍

https://www.jianshu.com/p/43d548ad6b5d
https://blog.csdn.net/zchang81/article/details/73275155

SSIM(structural similarity)结构相似性,是衡量两幅图相似性的指标
https://www.jianshu.com/p/43d548ad6b5d
https://blog.csdn.net/bigbigtreewhu/article/details/23782607
https://blog.csdn.net/chaipp0607/article/details/70158835
https://blog.csdn.net/zchang81/article/details/73275155

2.常用的图片相似性算法

2.1 均方误差MSE

2.1 直方图方法

方法描述:

有两幅图像patch(当然也可是整幅图像),分别计算两幅图像的直方图,并将直方图进行归一化,然后按照某种距离度量的标准进行相似度的测量。
图像直方图:图像的像素值范围0~255,直方图就是统计一幅图片中每一个像素值对对应的个数,然后绘制成直方图。

优点:

直方图能够很好的归一化,比如256个bin条,那么即使是不同分辨率的图像都可以直接通过其直方图来计算相似度,计算量适中。比较适合描述难以自动分割的图像。

缺点:

直方图反应的是图像灰度值的概率分布,并没有图像的空间位置信息在里面,因此,常常出现误判;从信息论来讲,通过直方图转换,信息丢失量较大,因此单一的通过直方图进行匹配显得有点力不从心。

两幅图片只要像素值分布相似,直方图匹配就会认为这两幅图很相似,但这两幅图也有可能是完全不相似的,因为直方图并不考虑像素的空间位置分布

2.2 图像模板匹配

一般而言,源图像与模板图像patch尺寸一样的话,可以直接使用上面介绍的图像相似度测量的方法;如果源图像与模板图像尺寸不一样,通常需要进行滑动匹配窗口,扫面个整幅图像获得最好的匹配patch。

在OpenCV中对应的函数为:matchTemplate():函数功能是在输入图像中滑动窗口寻找各个位置与模板图像patch的相似度。

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

PSNR(Peak Signal to Noise Ratio),一种全参考的图像质量评价指标。

简介:https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio

PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

4、SSIM(structural similarity)结构相似性

SSIM是一种常用的图像质量评价方法。最初由Zhou Wang提出,原论文地址:http://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf

SSIM结构相似度,理论基础:人眼视觉系统会高度自适应地提取场景中的结构信息。通过比较图像结构信息的改变考虑图像的失真,从而得到客观的质量评价。

作者:bigbigtree911
来源:CSDN
原文:https://blog.csdn.net/bigbigtreewhu/article/details/23782607
版权声明:本文为博主原创文章,转载请附上博文链接!

也是一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性。

SSIM取值范围[0,1],值越大,表示图像失真越小.

在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:

5、感知哈希算法
(perceptual hash algorithm)

http://blog.csdn.net/fengbingchun/article/details/42153261

感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个“指纹”(fingerprint)字符串,然后比较不同图像的指纹。结果越接近,就说明图像越相似。

实现步骤:

缩小尺寸:将图像缩小到8*8的尺寸,总共64个像素。这一步的作用是去除图像的细节,只保留结构/明暗等基本信息,摒弃不同尺寸/比例带来的图像差异;
简化色彩:将缩小后的图像,转为64级灰度,即所有像素点总共只有64种颜色;
计算平均值:计算所有64个像素的灰度平均值;
比较像素的灰度:将每个像素的灰度,与平均值进行比较,大于或等于平均值记为1,小于平均值记为0;
计算哈希值:将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图像的指纹。组合的次序并不重要,只要保证所有图像都采用同样次序就行了;
得到指纹以后,就可以对比不同的图像,看看64位中有多少位是不一样的。在理论上,这等同于”汉明距离”(Hamming distance,在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数)。如果不相同的数据位数不超过5,就说明两张图像很相似;如果大于10,就说明这是两张不同的图像。




♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

1_图片相似性度量指标(20181218)相关推荐

  1. 常用的相似性度量指标

    相似性度量,即综合评定两个事物之间相近程度的一种度量.两个事物越接近,它们的相似性度量也就越大,而两个事物越疏远,它们的相似性度量也就越小.相似性度量的给法种类繁多,一般根据实际问题进行选用. 1. ...

  2. Django博客搭建_用户注册1_图片生成

    Blog项目--用户注册 文章目录 Blog项目--用户注册 一.设计接口思路 二.功能分析 三.图片验证码接口代码实现 1.图片验证码认证 2.后端视图实现 2-1 测试 2-2 升级 四.类视图 ...

  3. 北京燃油车指标转成新能源指标怎么转?

    近期,由于某方面的原因,油价疯涨,马上就突破8元/L,油价的上涨导致开车成本的增高,以至于很多北京车主想把油车卖了换成新能源的车,那问题来了,燃油指标怎么转化成电标呢?转成了电的还能转回油的吗?京牌号 ...

  4. 基于Hu矩的区域相似性度量

    Hu矩原理 利用归一化二阶.三阶中心距派生出的7个不变矩,原理及计算公式见博文:Hu矩计算公式. 注: Hu矩变化范围很大,且数字很小,牵涉到计算精度问题,直接处理不方便,可以用取绝对值之后用log函 ...

  5. 超详细讲解ArcGIS中地形指标的提取(附练习数据下载)

    图片 地形指标是最基本的自然地理要素(包括坡度变率.坡向变率.地形起伏度和地面粗糙度这4个基本的地形指标),也是对人类的生产和生活影响最大的自然要素.地形特征制广泛应用于诸多研究和应用领域.地形指标的 ...

  6. 基于GAN的图像配准汇总

    基于GAN的图像配准汇总 1. Adversarial Similarity Network for Evaluating Image Alignment in Deep Learning based ...

  7. CVPR 2019 论文解读 | 基于多级神经纹理迁移的图像超分辨方法 (Adobe Research)

    基于多级神经纹理迁移的图像超分辨方法 超分辨(Super-Resolution)图像恢复旨在从低分辨模糊图像中恢复出高分辨的清晰图像,是计算机视觉中的一个重要任务,在工业界有非常强的应用前景.CVPR ...

  8. 多视图立体匹配MVSNet网络解析:保姆级教程

    论文题目:MVSNet: Depth Inference for Unstructured Multi-view Stereo, (ECCV2018 Oral) 开源代码(tensorflow.PyT ...

  9. 神经系统ct与mri影像解读,神经系统影像学检查

    医学影像学会被人工智能取代吗? 近年来,人工智能(AI)以各种方式进入了日常生活,从智能手机的语言识别工具到金融交易的分析,到自动驾驶汽车的算法,以及各种棋盘游戏,医学影像非常有可能是不久后的一个根本 ...

最新文章

  1. GitHub:我开源我自己;CEO:不存在的
  2. 网站优化之关键词的挖掘准则有哪些?
  3. qt翻译---QTime
  4. 端计算(1)-wasm
  5. C# XML反序列化与序列化举例:XmlSerializer(转)
  6. python练习12
  7. Xilinx+AWS F1+VP9带来30倍实时转码性能提升
  8. 智慧交通day02-车流量检测实现07:匈牙利算法
  9. Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
  10. 研磨设计模式之 工厂方法模式-3
  11. python 广告分析算法_[Python]研究广告渠道的特征数据与结果数据的相关性, 并对渠道作出评分模型...
  12. MRTG 监控主机流量
  13. 2011年10月14日22:40,“你在哪(where are you)”诞生
  14. 玩客云pc端_玩客云pc端
  15. MessageFormatter
  16. pyplot显示和保存没有边框的图片
  17. 6-6 快速播放音频和视频预加载
  18. centos7 ipython安装
  19. python中pivot函数用法_python中pivot()函数基础知识点
  20. python机器学习之sklearn.svm.SVC详解

热门文章

  1. @Value(${}) 与@Value(#{}) 区别
  2. Prometheus_additional传统配置
  3. overflow: auto;和overflow:hidden;区别
  4. 警告关于测试人员的职场生存,千万要避开这5个坑(不看后悔)
  5. android框架服务 恶意软件,Android平台各类恶意软件及病毒概览
  6. 又被平均了?年度平均工资出炉,IT行业超14万元居首
  7. 阿里2021年最新面试题
  8. python获取人民币汇率数据
  9. qq_seconds.html,qq英语签名
  10. 计算机课程设置图片,《计算机图形图像处理》课程简介