给对比两张图片相似度打分

http://blog.sina.com.cn/s/blog_4a540be60100vjae.html
图像相似度计算
&&&图像相似度计算主要用于对于两幅图像之间内容的相似程度进行打分,根据分数的高低来判断图像内容的相近程度。
&&&可以用于计算机视觉中的检测跟踪中目标位置的获取,根据已有模板在图像中找到一个与之最接近的区域。然后一直跟着。已有的一些算法比如BlobTracking,Meanshift,Camshift,粒子滤波等等也都是需要这方面的理论去支撑。
&&还有一方面就是基于图像内容的图像检索,也就是通常说的以图检图。比如给你某一个人在海量的图像数据库中罗列出与之最匹配的一些图像,当然这项技术可能也会这样做,将图像抽象为几个特征值,比如Trace变换,图像哈希或者Sift特征向量等等,来根据数据库中存得这些特征匹配再返回相应的图像来提高效率。
&&下面就一些自己看到过的算法进行一些算法原理和效果上的介绍。
&&&(1)直方图匹配。
&&&&&&比如有图像A和图像B,分别计算两幅图像的直方图,HistA,HistB,然后计算两个直方图的归一化相关系数(巴氏距离,直方图相交距离)等等。
&&&&&&这种思想是基于简单的数学上的向量之间的差异来进行图像相似程度的度量,这种方法是目前用的比较多的一种方法,第一,直方图能够很好的归一化,比如通常的256个bin条的。那么两幅分辨率不同的图像可以直接通过计算直方图来计算相似度很方便。而且计算量比较小。
&&&&&&这种方法的缺点:
&&&&&&&&&1、直方图反映的是图像像素灰度值的概率分布,比如灰度值为200的像素有多少个,但是对于这些像素原来的位置在直方图中并没有体现,所以图像的骨架,也就是图像内部到底存在什么样的物体,形状是什么,每一块的灰度分布式什么样的这些在直方图信息中是被省略掉得。那么造成的一个问题就是,比如一个上黑下白的图像和上白下黑的图像其直方图分布是一模一样的,其相似度为100%。
&&&&&&&&&2、两幅图像之间的距离度量,采用的是巴氏距离或者归一化相关系数,这种用分析数学向量的方法去分析图像本身就是一个很不好的办法。
&&&&&&&&&3、就信息量的道理来说,采用一个数值来判断两幅图像的相似程度本身就是一个信息压缩的过程,那么两个256个元素的向量(假定直方图有256个bin条)的距离用一个数值表示那么肯定就会存在不准确性。
&&&下面是一个基于直方图距离的图像相似度计算的Matlab Demo和实验结果.
%计算图像直方图距离%巴氏系数计算法
M=imread('1.jpg');N=imread('2.jpg');I=rgb2gray(M);J=rgb2gray(N);
[Count1,x]=imhist(I);[Count2,x]=imhist(J);Sum1=sum(Count1);Sum2=sum(Count2);Sumup = sqrt(Count1.*Count2);SumDown = sqrt(Sum1*Sum2);Sumup = sum(Sumup);figure(1);subplot(2,2,1);imshow(I);subplot(2,2,2);imshow(J);subplot(2,2,3);imhist(I);subplot(2,2,4);imhist(J);HistDist=1-sqrt(1-Sumup/SumDown)
&&&通过上图可以看到这种计算图像相似度的方法确实存在很大的弊端。然而很多人也对于这种方法进行了修改,比如FragTrack算法,具体可以参见这篇论文《》。其中对图像分成横纵的小块,然后对于每一个分块搜索与之最匹配的直方图。来计算两幅图像的相似度,融入了直方图对应位置的信息。但是计算效率上很慢。
&&还有一种是计算一个图像外包多边形,一般得到跟踪图像的前景图后计算其外包多边形,根据外包多边形做Delauny三角形分解,然后计算每个三角形内部的直方图,对于这两个直方图组进行相似距离计算。这样就融入了直方图的位置信息。
&(2)数学上的矩阵分解
&&&图像本身就是一个矩阵,可以依靠数学上矩阵分解的一些知识来获取矩阵中一些代表这个矩阵元素值和分布的一些鲁棒性特征来对图像的相似度进行计算。
&&&&最常用的一般是SVD分解和NMF分解。
&&&下面简单介绍下SVD分解的一些性质,如果需要探究的更深入一点网上有一些相关文献,读者可以去探究的更清楚:
&&1&&奇异值的稳定性
&&2& 奇异值的比例不变性
&&3&&奇异值的旋转不变性
&&4&&奇异值的压缩性&&&&&&&&
&&&&综上所述,可以看出奇异值分解是基于整体的表示。图像奇异值特征向量不但具有正交变换、旋转、位移、镜像映射等代数和几何上的不变性,而且具有良好的稳定性和抗噪性,广泛应用于模式识别与图像分析中。对图像进行奇异值分解的目的是:得到唯一、稳定的特征描述;降低特征空间的维数;提高抵抗干扰和噪声的能力。但是由于奇异值分解得到的奇异矢量中有负数存在所以不能很好的解释其物理意义。
&&非负矩阵分解(NMF):
&&&&NMF的主要思想是将非负矩阵分解为可以体现图像主要信息的基矩阵与系数矩阵,并且可以对基矩阵赋予很好的解释,比如对人脸的分割,得到的基向量正是人的&眼睛&,&鼻子&等主要概念特征,源图像表示为这些特征的加权组合。所以NMF算法也在人脸识别等场合中发挥着巨大的作用。
&&&下面一个实验说明了SVD+NMF数学上的这些分解在图像相似度判定方面的应用,这个跟我目前的课题有关细节方面就不再透露更多了。
当然基于数学上的矩阵特征值计算的还有很多方法比如Trace变换,不变矩计算等等,当然如果有需要这方面资料的同学可以找我,我可以进行相关的帮助。(3)基于特征点的图像相似度计算
&&&&每一幅图像都有自己的特征点,这些特征点表征图像中比较重要的一些位置,比较类似函数的拐点那种,通常比较常用的有Harris角点和Sift特征点。那么将得到的图像角点进行比较,如果相似的角点数目较多,那么可以认为这两幅图像的相似程度较高。这里主要介绍基于Sift算子。
&&&对于Sift的原理和代码可以参见David Lower的网站。
&&&那么我们就可以通过找到匹配点的个数来判断两幅图像是否一致,这个算法的好处是对于一个物体,两个不同角度下得到的照片依然可以找到很多的匹配点,我也一直认为是一个综合来说结果相对较为准确的方法,但是由于每个特征点需要计算一个长度不小的特征值,也造成了该算法的时间消耗比较大。所以不常用于实时的视频处理。这个算法还有一个好处就是可以通过找到的匹配特征点进行图像校正。关于使用Sift做图像校正请参见我的另外一篇博文。
我当时对于比如左边图像,找到50个特征点,如果其中有60%以上的与右边的匹配上了,认为两幅图像是相似图像。
上图使用Sift找到的匹配对应点,然后通过仿射变换的6维参数计算,然后逆变换得到校正后的图像,效果蛮不错的,可见Sift对于抗旋转和噪声的效果确实很好。
对于Sift也不能全部相信,一般使用RANSAC对于错误匹配点去除可以达到更好的效果,当然目前也有很多对SIFT进行改进的算法。希望有这方面研究的可以多多交流。
阅读(...) 评论()求一个计算图片相似度的方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
求一个计算图片相似度的方法
· 239 天前 · 2501 次点击
图片不会旋转,大小相同,给定 100 个同样大小的图片,求哪张图最匹配,感觉应该挺简单吧。
12 回复 &| &直到
10:55:06 +08:00
& &239 天前
顶。。再补充一下,如果待匹配图片可能是匹配图片的一部分,应该怎么办
& &239 天前
可以看一下感知哈希算法,看看是否对你有帮助
& &239 天前
也许你需要这个
& &239 天前 via Android
简单的就是统计直方图,复杂一点的 surf,sift 算法
& &239 天前
我自己实现了一个方法。。逐像素比较 rgb 的数值差的绝对值,累计起来,最小的就匹配上。。还真的可行
& &239 天前
你是要完成这个工作,还是要学习其中方法?
前者去找前人的努力成果就好了,后者可能翻一些论文比较好
& &239 天前
@ 完成一个工作。。目前来看,识别静态图像的工作是做好了,现在还要跟踪在静态背景下的动态图像,这个图像本身不变,但是会连续移动,并且可能会有遮挡。。简单的说就是跟踪王者荣耀小地图的英雄轨迹
& &239 天前 via Android
你还是去学下图像识别,分割,运动追踪这些基本知识吧。这样瞎搞,有点浪费时间。。。
& &239 天前 via iPhone
思而不学则殆.... 同意 @
& &239 天前 via iPhone
@ 头大,有好多要学的
& &239 天前
统计每个像素值的数量,最简单的相似度方法。
& &39 天前
@ 要是目标跟踪,有自己的一套理论,你这样其实也可以做,是叫检测来做跟踪。如果工业上用的话,可以一步步迭代算法,加上马尔可夫或者卡尔曼预测,邻域搜索,快很多。
如果深度学习的话,那直接 fine-tuning 模型就行了,就是太费资源,而且对于你王者农药,这样的数据没有太多尺度颜色变化,可以减去一些层,也可以不用这样的方案。
& · & 2131 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 16ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51? Do have faith in what you're doing.图片相似度的判断
[问题点数:100分,结帖人ZW_LM]
图片相似度的判断
[问题点数:100分,结帖人ZW_LM]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年5月 VB大版内专家分月排行榜第一2011年4月 VB大版内专家分月排行榜第一2011年3月 VB大版内专家分月排行榜第一2011年2月 VB大版内专家分月排行榜第一2011年1月 VB大版内专家分月排行榜第一2010年12月 VB大版内专家分月排行榜第一2010年11月 VB大版内专家分月排行榜第一2002年2月 VB大版内专家分月排行榜第一2002年1月 VB大版内专家分月排行榜第一
2002年3月 VB大版内专家分月排行榜第三
2011年5月 VB大版内专家分月排行榜第一2011年4月 VB大版内专家分月排行榜第一2011年3月 VB大版内专家分月排行榜第一2011年2月 VB大版内专家分月排行榜第一2011年1月 VB大版内专家分月排行榜第一2010年12月 VB大版内专家分月排行榜第一2010年11月 VB大版内专家分月排行榜第一2002年2月 VB大版内专家分月排行榜第一2002年1月 VB大版内专家分月排行榜第一
2002年3月 VB大版内专家分月排行榜第三
2011年5月 VB大版内专家分月排行榜第一2011年4月 VB大版内专家分月排行榜第一2011年3月 VB大版内专家分月排行榜第一2011年2月 VB大版内专家分月排行榜第一2011年1月 VB大版内专家分月排行榜第一2010年12月 VB大版内专家分月排行榜第一2010年11月 VB大版内专家分月排行榜第一2002年2月 VB大版内专家分月排行榜第一2002年1月 VB大版内专家分月排行榜第一
2002年3月 VB大版内专家分月排行榜第三
2016年11月 VB大版内专家分月排行榜第二2016年1月 MS-SQL Server大版内专家分月排行榜第二2015年12月 MS-SQL Server大版内专家分月排行榜第二2015年11月 MS-SQL Server大版内专家分月排行榜第二2015年5月 MS-SQL Server大版内专家分月排行榜第二2015年4月 MS-SQL Server大版内专家分月排行榜第二2015年1月 VB大版内专家分月排行榜第二2015年1月 MS-SQL Server大版内专家分月排行榜第二2014年12月 VB大版内专家分月排行榜第二2014年11月 MS-SQL Server大版内专家分月排行榜第二2014年9月 MS-SQL Server大版内专家分月排行榜第二2013年8月 VB大版内专家分月排行榜第二2013年6月 VB大版内专家分月排行榜第二2013年5月 VB大版内专家分月排行榜第二2010年4月 VB大版内专家分月排行榜第二2010年3月 VB大版内专家分月排行榜第二2008年12月 VB大版内专家分月排行榜第二2008年8月 VB大版内专家分月排行榜第二2008年7月 VB大版内专家分月排行榜第二2007年11月 VB大版内专家分月排行榜第二
2017年1月 MS-SQL Server大版内专家分月排行榜第三2015年6月 MS-SQL Server大版内专家分月排行榜第三2015年3月 MS-SQL Server大版内专家分月排行榜第三2015年2月 MS-SQL Server大版内专家分月排行榜第三2014年12月 MS-SQL Server大版内专家分月排行榜第三2014年10月 VB大版内专家分月排行榜第三2014年10月 MS-SQL Server大版内专家分月排行榜第三2014年8月 MS-SQL Server大版内专家分月排行榜第三2013年9月 VB大版内专家分月排行榜第三2013年3月 VB大版内专家分月排行榜第三2012年5月 VB大版内专家分月排行榜第三2012年4月 VB大版内专家分月排行榜第三2010年10月 VB大版内专家分月排行榜第三2010年8月 VB大版内专家分月排行榜第三2010年7月 VB大版内专家分月排行榜第三2009年5月 VB大版内专家分月排行榜第三2008年9月 VB大版内专家分月排行榜第三2008年4月 VB大版内专家分月排行榜第三2008年2月 VB大版内专家分月排行榜第三
2010年6月 VB大版内专家分月排行榜第二
2010年5月 VB大版内专家分月排行榜第三2009年11月 VB大版内专家分月排行榜第三
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2011年1月 VB大版内专家分月排行榜第二2010年10月 VB大版内专家分月排行榜第二
2013年1月 VB大版内专家分月排行榜第三2012年12月 VB大版内专家分月排行榜第三2011年6月 VB大版内专家分月排行榜第三2011年2月 VB大版内专家分月排行榜第三2010年12月 VB大版内专家分月排行榜第三2010年11月 VB大版内专家分月排行榜第三2009年7月 VB大版内专家分月排行榜第三
2016年11月 VB大版内专家分月排行榜第二2016年1月 MS-SQL Server大版内专家分月排行榜第二2015年12月 MS-SQL Server大版内专家分月排行榜第二2015年11月 MS-SQL Server大版内专家分月排行榜第二2015年5月 MS-SQL Server大版内专家分月排行榜第二2015年4月 MS-SQL Server大版内专家分月排行榜第二2015年1月 VB大版内专家分月排行榜第二2015年1月 MS-SQL Server大版内专家分月排行榜第二2014年12月 VB大版内专家分月排行榜第二2014年11月 MS-SQL Server大版内专家分月排行榜第二2014年9月 MS-SQL Server大版内专家分月排行榜第二2013年8月 VB大版内专家分月排行榜第二2013年6月 VB大版内专家分月排行榜第二2013年5月 VB大版内专家分月排行榜第二2010年4月 VB大版内专家分月排行榜第二2010年3月 VB大版内专家分月排行榜第二2008年12月 VB大版内专家分月排行榜第二2008年8月 VB大版内专家分月排行榜第二2008年7月 VB大版内专家分月排行榜第二2007年11月 VB大版内专家分月排行榜第二
2017年1月 MS-SQL Server大版内专家分月排行榜第三2015年6月 MS-SQL Server大版内专家分月排行榜第三2015年3月 MS-SQL Server大版内专家分月排行榜第三2015年2月 MS-SQL Server大版内专家分月排行榜第三2014年12月 MS-SQL Server大版内专家分月排行榜第三2014年10月 VB大版内专家分月排行榜第三2014年10月 MS-SQL Server大版内专家分月排行榜第三2014年8月 MS-SQL Server大版内专家分月排行榜第三2013年9月 VB大版内专家分月排行榜第三2013年3月 VB大版内专家分月排行榜第三2012年5月 VB大版内专家分月排行榜第三2012年4月 VB大版内专家分月排行榜第三2010年10月 VB大版内专家分月排行榜第三2010年8月 VB大版内专家分月排行榜第三2010年7月 VB大版内专家分月排行榜第三2009年5月 VB大版内专家分月排行榜第三2008年9月 VB大版内专家分月排行榜第三2008年4月 VB大版内专家分月排行榜第三2008年2月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|查看: 17654|回复: 161
对比两张图片相似度
阅读权限70
签到天数:1 天结帖率: (15/23)
是否带模块:
调用了模块
并非比较字节集操作,是一个一个像素点对比。
用途:1.监控。先载取一个图,然后图与图比较,如果相似度不到百分之90,那么有坏人来了。
& && && &2.找不同。
& && && &3.监视电脑屏幕。
1.jpg (19.54 KB, 下载次数: 0)
14:30 上传
360截图41860.jpg (16.88 KB, 下载次数: 0)
14:30 上传
源码+成品 回复下载:
(1.77 MB, 下载次数: 1707)
14:34 上传
点击文件名下载附件
下载积分: 精币 -1 枚
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
X3.2 揭阳市揭东区精易科技有限公司
粤公网安备 25没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 c 图片相似度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信