特征描述子评测

本文分享我关于几种类型的特征描述子的性能的研究,本文是对"Comparison offeature descriptors" 的更新,新增了ORB特征描述子,仍然包含SIFT,还新增测试了新版本的LAZY描述子的性能。


Introduction


为了测试这些描述子的性能,我写了专用的测试框架,在这个框架下,我可以轻易地增加一些新的描述子,测试案例并且能够生成CSV-like格式的报告数据,然后我将其上传到了google文档,创建了这些表格。对于每一个描述子,完成了五项特性和一项性能的测试。


  • 旋转变换:特征方向不变性
  • 尺度缩放:尺度不变性
  • 模糊测试:特征描述子对于模糊地鲁棒性
  • 光照测试:特征描述子对于光照的鲁棒性
  • 模式检测测试:这项测试是真实视频中的目标检测,与综合测试不同的是,这项测试给出了局部特征描述子在实际图像中的整体稳定性
  • 性能测试:特征的时间和空间复杂度

所有的特性测试在同样的方式下进行,通过给定的源图像,我们生成了综合的数据:转换后的图像特征匹配点,旋转算法依赖于某些测试。在旋转测试的案例中,对源图像绕中心做了360度的旋转,对于尺度变换,对于源图像从0.25到2倍的尺度变换,模糊测试用了高斯模糊,光照测试改变了整幅图像的亮度,模式检测测试预设了一些特殊的关键点,在非诚复杂和噪声很明显的视频序列下完成。因此,在这些测试中,对于所有的特征描述子算法得出好的结果是一项非常有挑战性的任务
所有特性测试的度量标准是原图像和变换后图像的正确匹配百分比。因此我们选择了平面物体,利用单应矩阵估计的方法,可以有效筛选所有匹配中的inliers。本文使用计算机开源视觉库OpenCV的函数cvFindHomography,这项度量给出了非常好并且稳定的结果.在单应矩阵估计之前,并没有做匹配对的outliers的检测,因为这会出现异常,影响结果。对于描述子的匹配,本文使用了OpenCV中的蛮力匹配方法。

Rotation test




在这项测试中,我得到了完美期待的结果,因为除了BRIEF,所有的描述子都是旋转不变的,至于在稳定性上的细微变化,可以很好的被特征方向计算算法和描述子的本质所解释。为什么描述子的特性是这样的?它所花费的时间和效率,这是另外一篇文章的主题。稍后呈上。

Scaling test





在尺度变化的测试中,SURF和SIFT描述子向我们展示了很好的稳定性,因为它们做了在大量的关键点的size的计算。其它的描述子用了fixed-size的描述子,你能明白为什么它是这样的。目前,没有单独的测试LAZY特征检测子,而是用ORB检测子做测试,但是,正在通过特征大小的计算考虑轻量特征检测子,因为这是必须考虑的特征。明显的是,尺度不变性比精确地方向计算更加重要。

Blur test




在高斯模糊的测试中,我模拟的运动模糊(当摄像机突然移动时会发生的),在这项测试中,所有的描述子都表现出很好的结果,说结果好,我的意思是更大的高斯核大小,会导致更小的正确匹配百分比


Lighting test




在光照变化测试中,图像的不同仅仅在于整幅图像的亮度,所有的描述子都表现不错。主要的原因是所有的描述子都归一化了,例如描述子向量的模2范数等于1,归一化让描述子对于亮度变化具有很好的鲁棒性

Pattern detection on real video




在实际视频中的物体检测是最复杂的一项任务,由于它背后的情况包括旋转,尺度和运动模糊。另外,一些物体是暂时的,而且视频不是高清的。这些条件被计算机视觉和应用的环境所局限

正如你在图表里面所看到的,SIFT和SURF描述子给出了最好的结果,然而它们距离理想情况还很远,但这已足够了
糟糕的是,scale-covariant 描述子表现出非常坏的结果,因为刚开始时图像时1:1的尺度,在后来的视频序列中,目标图像在移动,scale-covariant描述子不能很好的处理这种情况。


Performance summary



这个表格展示了N个特征的提取时间,Y轴我用了对数尺度,为了让其有更好的可读性对于所有的描述子特征提取算法而言,特征提取时间与特征的个数呈线性关系。局部的波动很可能是由于某些特征向量的resizing或者是L2cache没有命中。测试环境为Mac Book Pro 2.2 with Core 2 Duo 2.13 Ghz.

发布了21 篇原创文章 · 获赞 49 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章