Color D-Nets算法简述
虽然D-Nets算法超越了Patch-Based模式下的特征匹配描述子,但是D-Nets仍然使用灰度图像信息进行特征提取与描述。丢弃真实图像的色彩、纹理等信息。所以,本篇博客决定参考之前Patch-Based模式下的彩色描述子思想,对D-Nets进行彩色图像信息匹配与描述。当让,彩色描述子在Patch-Based模式下存在很多方法:CSIFT、RGBSIFT、RGSIFT等。本文采取简单粗暴的方法进行尝试分通道匹配:直接将彩色图像三通道RGB分成对应的单通道图像,随后对每个单通道图像进行D-Nets算法,最后进行特征的多通道融合进一步匹配。
当然,同样的思想可以将彩色图像转换为HSV、HSL等其他颜色空间表述策略进行图像特征的提取与描述。后续可能会在本文添加对比。相对于RGSIFT、Opponent-SIFT等在寻找最优的描述信息时候,个人觉得对于D-Nets来说最重要是寻找最优的特征点和点对之间的Connections。虽然D-Nets采用直接连接节点之间成为连接,随后进行等间隔采样。有点过于简单粗暴了,文末作者也有所谈及是否可以考虑用边缘信息等其它方式进行描述。
Color D-Nets算法流程
![](https://i-blog.csdnimg.cn/blog_migrate/fae1c73ae084790a08860818500ffa45.jpeg)
Color D-Nets策略主要步骤如下:
1 首先对输入的彩色图像进行R、G、B通道分离(采用OpenCV库里面的Split函数)。
2 对R、G、B每个单通道进行D-Nets算法特征提取描述粗匹配。
2.1 每个通道分别进行D-Nets特征提取:稀疏特征or 稠密特征。
2.2 对提取的节点进行connections,然后对其进行图像内容的等间隔采样,将其存储与特殊的哈希结构中。
2.3 对每个通道的节点进行票决算法筛选出正确的物理匹配节点。
3 对R、G、B三个通道的粗匹配特征信息进行融合进一步估计匹配提纯完成Color D-Nets匹配算法。
关于Color D-Nets是否优于灰度模式下的D-Nets算法:
首先单从实验中匹配点对来说Color D-Nets匹配点对数要多于D-Nets这可以很容易想到原因有:多通道分离要比灰度图像产生大约2-3倍特征点,当然这里面存在重复特征点!由于每个通道运行D-Nets算法计算耗时将会上升!Color D-Nets与D-Nets评估性能上来说:可以从匹配点正确对数、对尺度、旋转、仿射的鲁棒综合评估对比。就目前运行几个图片计算特征匹配点对的RMSE来看,Color D-Nets要优于D-Nets算法。当然,这只是简单的进行对比,要评价Color D-Nets是否优于D-Nets算法要在数据集进行系统的评估RMSE、匹配概率、内联点对、计算效率等等。本文只是简单阐述一下,后期可能会更新比较的结果(挖个坑)来进行评估。
Color D-Nets实验对比D-Nets
说了这么多直接上实验匹配结果图……
![](https://i-blog.csdnimg.cn/blog_migrate/b3d087d2ba4d4f0b9fd2d4c07d6417e2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/879108af4c0c406f90fb1df1a8f7184c.png)