多种图像配准方法的综合比较(KAZE、SIFT、SURF等)

接触图像配准是从去年十月份开始的,老师要求我尽快重现一遍整个流程,这样对课题可以有一个整体的把握,而后再仔细推敲细节,甚至提出自己的想法,老师的这个思路现在觉得非常不错。自己当时选取的是SURF方法,因为是对SIFT的改进,改进的当然好一点吧,但后来发现要想深刻地理解算法原理,还是要研究更具有里程碑意义的SIFT,在这个阶段从调用opencv库转为研究Rob Hess的源码,第一次仔细看源码,教科书搬实现了David G.Lowe的论文,从尺度空间的构建到kd树的建立,不由惊呼这才叫写代码,我这一天净是写bug了。后来开题答辩,在知乎上了解到还有KAZE的算法,于是又简单研究了一下非线性尺度空间的构建,据说这种算法保留了图像更多的细节。再后来有文章要投稿,搞不了里程碑式的原创只能在前人基础上修修补补,那么在哪个基础上修补也是个问题,虽然当时含糊选择了SIFT进行改进,但还是对现存算法的性能没有确切的认识,为了调研清楚(这其实是开题阶段应该做的),对现存主流算法的横向比较变得势在必行。

这一工作其实已经被邹宇华做完了,但问题在于重现他的代码时出现了许多问题,下面我仔细讲一下遇到的问题和对应的解决办法。

虽然OpenCV版本号已经符合2.4以上的标准,但是头文件找不到utinity.hpp。在网上查了好久,这个文件在OpenCV3以上才有,但实验证明简单地把OpenCV3的这个文件放到目录中是行不通的。最后改来改去也只是实现了SIFT、SURF等方法的比较。不知道如何把KAZE加入到Feature2D。编译安装OpenCV3.2之后实现了KAZE、AKAZE等的比较,但却无法实现与SIFT、SURF的比较,查资料才发现在3.0以上是版本中把一些算法放在了xfeature中,而这一模块要手动添加扩展模块opencv_contrib。编译过程要选择和自己的OpenCV版本对应的模块。环境变量、库目录、包含库、附加依赖项都配置好之后,终于可以加入算法比较了,但还要注意SIFT调用方法的变化。原始代码中有一些注释掉的地方其实是有用的,我简单进行了修改进行了使用,否则得到的txt文件数据部分都是初始值0.此外,我还对FrameMatchingStatistics类加入了峰值信噪比PSNR作为评价标准,衡量配准后的图像与参考图像的相似性;在printPerformanceStatistics函数中增添了计算平均每幅图检测到的特征点的数目。最后通过matlab把性能曲线画出来。每一项的改进过程中都失败多次,也收货满满,比如PSNR函数只能求灰度图像的信噪比,无穷大范数比较两个矩阵,perspectiveTransform对特征点集的变换它也只能对坐标进行变换,这些都写在代码的注释部分。实验图像、c++代码、实验生成的txt文件和matlab代码都挂在了github上,欢迎fork、star。https://github.com/zcg1942/Opencv3_FeatCompare

(1)homographyError

(2)correctMatchesPercent

(3)percentOfMatches

(4)matchingRatio

(5)Meandistance

(6)PSNR(7)performance



下面是我对实验结果的分析:    

      

亮度

source + cv::Scalar(t,t,t,t)

高斯模糊

cv::GaussianBlur()实现,高斯核是参数边长为t*2+1大小的矩阵

旋转

warpAffine函数实现旋转。getRotationMatrix2D函数得到旋转中心,旋转角度

cv::INTER_CUBIC内插

尺度缩放

Resize()实现

source.cols * t + 0.5f

(source.rows * t + 0.5f))

cv::INTER_AREA内插

homographyError矩阵误差。配准求得的变换矩阵与真实的矩阵之积应该是单位阵。矩阵之积与单位阵之差,求其无穷范数(只取小于1的部分)

表现最好的是SIFT、SURF、BRISK。ORB在亮度-100的部分最差

趋势都是模糊程度越高,效果也差。表现最好的依次是KAZE、AKAZE、SIFT、SURF。但KAZE在核大于7后有一个跃变

表现最好的依次是KAZE、AKAZE、BRISK。

SIFT的性能曲线较平滑,在参数180度取极小值,左右对称分布,大体呈上凸的抛物线

SIFT性能最好,且最稳定。其次是SURF和KAZE,KAZE波动更大。

correctMatchesPercent

 =correctMatches / matchesCount

正确匹配对与初始匹配对之比。距离误差小于3认为是正确匹配

SIFT、BRISK、KAZE、AKAZE效果最好,

表现最好的依次是AKAZE、KAZE,在80%以上。ORB性能次之,但性能下降最快

表现最好的是AKAZE、SIFT、ORB。最差的是SURF。所以算法都在90

度倍数附近有较大极值

表现最好的是AKAZE、KAZE、ORB、SIFT

percentOfMatches=matchesCount / (s.totalKeypoints)初匹配对数与变换后的待配准图像提取出的特征点的数目之比

表现最好的依次是AKZE、SIFT、KAZE,都在90%以上

AKAZE、BRISK、KAZE表现最好,且能维持在90%以上。SIFT在高斯核变大后反而性能变好,也可达90%

AKAZE表现最好,ORB、SIFT、KAZE其次。都有几个明显的极值,分别是90、180、270度左右

AKAZE表现最好,其余除了ORB都差不多。但尺度大于1时除了BRISK和ORB,其余都急剧下降到低水平

matchingRatio() =      correctMatchesPercent * percentOfMatches * 100.0f;

表现最好的是AKAZE。性能曲线走势和correctMatchesPercent相近

同左

同左

同左

Meandistance 将待配准图像按照求出的矩阵的逆变换回去后的特征点与原图的距离的均值

SURFKAZE距离的平均值几乎为0KAZE稍高一些也只有0.2左右。其次是SIFT

 

SURFKAZE距离的平均值几乎为0KAZE稍高一些也只有0.2左右。其次是AKAZEORB

 

SURFKAZE距离的平均值几乎为0KAZE稍高一些也只有0.2左右。其次依次是ORBAKAZE。所有算法都有明显的极小值

 

SURFKAZE距离的平均值几乎为0KAZE稍高一些也只有0.2左右

其次是ORB、AKAZE

PSNR峰值信噪比

表现几乎一样,ORB在低亮度的时候稍差。曲线在明暗两部分几乎对称分布

表现几乎一样,ORB在高斯模糊算子大于5的部分稍差一点。高斯算子小于3时PSNR都在30~34平缓分布

表现几乎一样,曲线几乎重合。在旋转角度10度时就从350dB骤降到15,曲线在180度左右对称分布

尺度缩放时不同算法表现差异最大。KAZE、SIFT、SURF在尺度放大时平稳增大,缩小时平稳降低。AKAZE、BRISK、ORB性能稍差,且波动较大

每帧图像提取特征点到匹配的耗时,平均每个特征点的耗时,平均每帧变换图的总特征点数

每个特征点耗时和每幅图像耗时最高的都是KAZE和SIFT,最少的是BRISK和ORB。检测出的特征点数最多的是SURF,最少的是ORB有几百个,其他的都在1000个以上

剩下的几点疑惑和值得注意的地方,在旋转变换中,匹配率与旋转角度近似成周期为90度的关系;当以峰值信噪比为评价标准时,PSNR与旋转角度没有这种周期关系,且在旋转角度刚达到10度就急剧下降到15dB,只在180度时可以达到30dB左右,目前猜测应该是变换模型太简单,因为只是利用密集透视变换函数warpPerspective()做了透视变换,没有充分利用好匹配得到的匹配对;在meandistance的标准下,SURF表现明显好过其他算法,不管在哪个变换,变换参数多大,都稳定保持在接近0的状态,这值得关注。

这就是目前的一些进展。虽然已经涵盖了各种变换,但是原始图像的选择还是非常重要,我这里选取的是University of Oxford的特征点检测数据集中的一幅图片,在这个网站上其实也有很多特征点、角点、区域的检测、描述的比较。不同种类的图像有自己独特的特征,如何针对具体的图像做优化应该可以结合机器学习进一步改进。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全面梳理百度世界大会:量产L4乘用车和两款音箱 还有挖掘机技术

来源:网易智能摘要:今天,百度一年一度的世界大会如约而至,李彦宏宣布发布量产红旗L4级乘用车,推出两款小度语音智能产品和智能城市“ACE计划”。多年以来,百度世界大会和AI开发者大会成为百度对外的窗口&am…

图像处理中的通信原理——冈萨雷斯读书笔记(一)

信息的概念在信息论中很明确:用于衡量事件的不确定性。信息的传播形式或者所载体便是信号,比如说电信号、光信号、声音信号。那么信息的表现形式就是消息,可以是语言、文字、图像。所以说图像处理依然是信息与通信领域的一部分。它可以看作是…

【转载】贝叶斯决策论

原文链接(http://www.cnblogs.com/elaron/archive/2012/10/29/2745010.html) 1、什么是行为? 但是,有时候,后验概率本身只能说明具有特征x的样本属于ωi类的可能性有多少,却没能表示如果将样本分到ωi类时的…

李彦宏:人工智能会让这个世界变得更美好吗?YES AI DO!

来源:亿欧摘要:李彦宏表示,今天我们让公园充满AI,未来我们会让整个世界充满AI。11月1日,在百度世界大会上,李彦宏围绕人工智能是否能让这个世界变得更美好开展演讲,并且结合系列百度新近推出的产…

听说你盗图都盗绿了?

知乎传送门:https://www.zhihu.com/question/29355920 为什么图片反复压缩后会普遍会变绿而不是其他颜色?这是大神做的模拟迭代压缩的测试:https://m13253.github.io/JPEGreen/。排名第一的回答已经很仔细了,关于图像压缩不是很懂…

邬贺铨院士:十问边缘计算!

来源:通信世界网随着5G、物联网等的发展,边缘计算已经成为通信技术的又一制高点。目前边缘计算技术的研究已经取得了系列的成果,应用推广已逐步开展,但在今日举行的2018边缘计算技术峰会上,中国工程院院士、中国互联网…

图像处理中的通信原理——冈萨雷斯读书笔记(二)

参考伯乐在线的一篇文章,做图像的傅里叶变换。在PyCharm中安装cv2时出错,如下图:根据提示建议在命令行中执行命令pip install cv2也依然是No matching distribution found for cv2.注意到pip可以更新,但这不是问题所在。然而&…

图像处理中的通信原理——冈萨雷斯读书笔记(三)

法国数学家傅里叶男爵在1822年出版的《热分析理论》一书中指出,任何周期函数都可以表示为不同频率的正弦和或余弦和(每个正弦项/余弦项乘不同的系数)的形式,这其实就是无穷级数的一种:傅里叶级数。无穷级数的思想是通过…

腾讯俞栋:定义下一代智能人机交互,从目标、挑战到实现路径

来源:腾讯AI实验室语音识别及深度学习领域专家、腾讯AI Lab副主任及西雅图实验室负责人俞栋博士,在2018年腾讯全球合作伙伴大会上展示了腾讯AI正在推进的跨领域前沿研究:下一代的多模态智能人机交互。以下是有补充的演讲全文,介绍…

图像处理中的通信原理——冈萨雷斯读书笔记(四)

完美重建要求使用无限求和来内插,实践中,不得不寻求某种近似。在图像处理中,二维内插最普通的应用就是调整图像的大小。放大可看成是过取样,缩小是欠取样。无论是过取样还是欠取样,都需要内插,内插有最近邻…

unity3d游戏开发(一)——圈圈叉叉

参考:http://game.ceeger.com/forum/read.php?tid1719 ———————————————————开始————————————— 好吧,吹了那么多我们开始吧,先发个最终截图 当然,你觉得3个格子太少,你还可以扩展成任…

腾讯张正友:攻克可进化机器人,6个研究趋势与7大技术突破点

来源:腾讯AI实验室11月2日,机器人及多媒体技术专家、腾讯Robotics X实验室主任张正友博士,在2018年腾讯全球合作伙伴大会的人工智能分论坛上,展示了腾讯在机器人领域的思考。包括:腾讯将人工智能(AI&#x…

摩拜开锁方式

摩拜作为共享单车中发展得比较好的一个,最近又因为被美团收购和抛弃同龄人的文章上了新闻,我们从技术上看,它的解锁时候的通信方式是怎样的呢? 注意到摩拜的一款车车筐里面装了太阳能电池,所以能源问题容易解释。我们先…

前沿地带:从量子计算到量子互联网

来源:资本实验室当我们进入互联网时代,科技进步和社会发展就建立在了数据与计算能力的基础之上。庞大的数据量与快速的计算能力这两大基本因素决定着我们进入未来社会的速度,而在当前的各种新技术中,量子计算无疑是最具未来感的新…

千万级负载均衡架构设计

负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 大型网站负载均衡的利器 全局负载均衡系统&#xf…

科学为什么重要?马化腾公开信引热议,透露企业未来发展方向

来源:世界科技创新论坛摘要:美国强大的源泉,不是因为它有原子弹,航空母舰,隐性飞机,或者芯片,而在于它牢牢地掌握着基础科学的最前沿。科学一点都马虎不得,没有捷径可走,…

吴恩达斯坦福大学机器学习 CS229 课程学习笔记(二)

终于要开始正式的学习了。看了第一节课最大的印象是Ng老师的优雅,儒雅,偏英式的发音(突然意识到他从小在伦敦长大)。配着字幕看的视频,但还是希望能锻炼一下自己的听力,也只有在自己看过一遍印象才深刻&…

当自动驾驶汽车撞过来的时候,你希望它如何判断?

来源:网易智能 摘要:据报道,当无人驾驶汽车在繁忙的街道上发生碰撞的时候,它该优先避免让谁受伤呢?它该杀死谁,而不杀死谁呢?麻省理工学院的一项研究表明,你的回答将取决于你来自哪里…

细数黑客攻击的七大战术

不计其数的黑客们游荡在因特网中来欺骗那些容易上当的用户。它们多年使用着重复的攻击手段,毫无创新地利用着我们懒惰、误判和一些犯二的行为。 不过每年,恶意软件研究人员总会遇到一些引人侧目的攻击手段。这些攻击手段在不断拓展恶意攻击的范围。新的攻…

人工智能黑暗面

来源:大数据文摘编译:DonFJ、蒋宝尚机器学习是现在大家都打了鸡血想用或者在用的技术。但是,你以为只有好人能用它吗?Too young too simple!接下来,我将揭秘AI技术黑暗的一面——犯罪份子和人工智能的孽缘。…