2. 中国科学院 沈阳计算技术研究所, 沈阳 110168;
3. 沈阳市环境监测中心站, 沈阳 110016;
4. 东北大学 计算机科学与工程学院, 沈阳 110004;
5. 沈阳市第三十一中学, 沈阳 110021
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China;
3. Shenyang Environmental Monitoring Center Station, Shenyang 110016, China;
4. School of Computer Science and Engineering, Northeastern University, Shenyang 110004, China;
5. Shenyang Thirty-First Middle School, Shenyang 110021, China
特征点匹配即对2幅图像中具有相同或者相似特征的关键点进行匹配, 是图像拼接、计算机视觉识别等技术的关键环节[1], 在全景融合、监控、直播及三维仿真等领域有着重要应用. 但特征点匹配算法基本都或多或少的存在误匹配, 现阶段主要通过相关匹配筛选算法来进行处理, 其中比较著名的有随机抽样一致性算法(RANSAC), 该算法通过利用求解变换矩阵和改进最小二乘法来进行特征点对的匹配筛选. 但该算法存在受迭代次数影响大, 自适应性差, 对匹配数量缺少约束, 随匹配点对增长计算量暴增等缺陷. 基于以上不足, 本文从特征匹配点对局部聚类的角度出发, 提出了局部聚类的特征匹配筛选算法(LCMF), 提高筛选效率.
为验证LCMF的性能, 首先对图像进行特征提取和匹配, SIFT算法作为最经典的特征提取算法有着广泛的应用[2–4], 但其发布时间久远, 后来基于其算法有着大量的改进算法. 本文选取偏重质量的SIFT的升级版算法SURF和较新的偏重于效率的ORB算法进行特征提取, 使用比较常用的最邻近算法进行特这个匹配.
1 特征提取与特征匹配本文采用SURF和ORB分别进行特征提取, 采用最邻近匹配算法进行特征匹配.
1.1 SURF与ORBSURF[5–8], 即Speed Up Robust Feature, 是一种加速版的SIFT, 2006年被提出. 与SIFT算法的主要区别在于:
(1) 提出了盒子滤波矩阵的概念, 构建尺度空间.
(2) Hessian矩阵求极值点.
积分图像定义为原图像左上角到点X构成的矩形区域中像素的灰度和, 对于图1的M区域计算积分图像, 只需做如公式(1)运算即可:
$ \begin{aligned}\sum {{{M}} = \sum\limits_{x = 0}^{x = x4} {\sum\limits_{y = 0}^{y = y4} {\left( {x,y} \right)} } } - \sum\limits_{x = 0}^{x = x3} {\sum\limits_{y = 0}^{y = y3} {\left( {x,y} \right)} } \\- \sum\limits_{x = 0}^{x = x2} {\sum\limits_{y = 0}^{y = y2} {\left( {x,y} \right)} } + \sum\limits_{x = 0}^{x = x1} {\sum\limits_{y = 0}^{y = y1} {\left( {x,y} \right)} } \end{aligned} $ | (1) |
盒式滤波器是积分图像的一种快速计算, 可以将时间复杂度从O(mn)降到O(1), 对于图2, 具体过程如下:
(1) n×m为盒式滤波器尺寸, 先建立1×M的缓冲区;
(2) 计算M次n×1区域的积分图像存入缓冲区;
(3) 计算缓冲区开始1×M区域的和, 随滤波器的移动, 后续只需要前后的一加一减操作;
(4) 当滤波器换行时, 先通过上下的一加一减操作更新缓冲区, 重复上述过程.
SURF算法利用Hessian矩阵来判断极值, Hessian矩阵定义:
$ H\left( {f\left( {x,y} \right)} \right) = \left[ {\begin{array}{*{20}{c}}{\frac{{{\partial ^2}f}}{{\partial {x^2}}}}&{\frac{{{\partial ^2}f}}{{\partial x\partial y}}}\\{\frac{{{\partial ^2}f}}{{\partial x\partial {y^{}}}}}&{\frac{{{\partial ^2}f}}{{\partial {y^2}}}}\end{array}} \right] $ | (2) |
Hessian矩阵判别式:
$ \det \left( H \right) = \frac{{{\partial ^2}f}}{{\partial {x^2}}}\frac{{{\partial ^2}f}}{{\partial {y^2}}} - {\left( {\frac{{{\partial ^2}f}}{{\partial x\partial y}}} \right)^2} $ | (3) |
根据H判别式的正负可以判断极值点, SURF算法并不是直接计算H的, 而是通过一些优化来计算的.
SURF算法和SIFT算法很相似, 但速度明显高于SIFT算法, 约为3倍左右[5].
ORB[9], 即Oriented FAST and Rotated BRIEF, 是基于FAST和BRIEF算法的一种特征提取算法, 于2011年被首次提出, 在专利方面不同于SIFT与SURF, 可自由使用. ORB算法更关注实时性, 速度快于SIFT与SURF, 但特征提取质量略差于SIFT与SURF.
ORB算法在FAST和BRIEF的基础上主要做了以下改进和处理:
(1) 为FAST算法增加了特征方向.
(2) 使用带方向的BRIEF算法对描述子进行处理[10].
(3) 带方向的BRIEF特征方差和相关性分析.
(4) 具有旋转不变性的去相关BRIEF算法.
1.2 最邻近匹配经过特征提取处理后获得了关键点的描述子, 对同一个人描述子进行匹配, 一般可以得到多个匹配结果. 计算互相匹配的关键点间的欧式几何距离, 选择其中最小的d1与次小的d2, 设置阈值β, 若其关系满足公式d1/d2<β, 则认为是正确的匹配, 保留结果, 此算法即为最近邻匹配算法.
2 RANSAC与LCMF在对特征点匹配时, 受相机参数、光影等外在影响以及特征提取、特征匹配算法等内在影响, 一般会导致较多的误匹配, 需要对匹配的点对进行筛选. 现应用较广泛的筛选算法有RANSAC等, 但其存在诸多不足. 本文基于局部聚类的思想, 提出了局部聚类匹配筛选算法(LCMF).
2.1 RANSAC最小二乘法拟合易受缺陷数据影响, 产生偏离实际的拟合结果, RANSAC算法针对此问题进行了算法改善, 具体步骤为[11,12]:
(1) 随机选取4对匹配点, 计算变换矩阵H;
(2) 利用H计算预期点位, 计算误差;
(3) 统计σ误差范围内的内点数M;
(4) 迭代上述过程;
(5) 选取内点数最多的作为算法结果.
RANSAC算法与最小二乘法相比, 具有更高的鲁棒性, 更易于找到理想拟合. 但其缺陷也很明显:
(1) 迭代次数不易控制, 预设定可能得不到理想结果;
(2) 迭代次数越多, 结果越理想, 但计算量也越大;
(3) 只能筛选正确匹配, 无法对匹配数量进行约束;
(4) 随着点对的增加, 计算量呈爆炸式增长.
2.2 LCMF针对RANSAC算法存在的问题, 本文提出了一种完全不同的, 复杂度远低于RANSAC的筛选算法.
图像融合基于局部相似性原理, 因此正确的图像特征匹配对具有局部聚类的特性, 但传统的二维点聚类算法时间复杂度高、随着匹配点对的增多计算量指数式增长, 无法适用于图像融合匹配点对的筛选. 针对图像融合的特殊性, 将聚类模型简化为图3.
对于常规的矩形图像, 将图像划分为9部分, 对于可以进行图像融合的2幅图像存在以下约束:
(1) 至多存在6块图像区域具有完全相同的图像特征.
(2) 至少存在1块区域存在局部或完全相似.
另外, 理论上2幅图像具有4对以上不共线的特征点匹配就可以进行图像融合, 因此特征点聚类可以丢失信息, 为不完全的聚类, 如图3, 若特征点匹配点对集中在块4和5的填色区域, 聚类时可以只保留块5中红色区域舍弃块4中相连填色区域.
基于以上思想, LCMF具体算法步骤如下:
算法1. LCMF算法
1) 将进行过特征匹配的两幅图像M1, M2各自划分为9各区域, 统计各区域内匹配特征点的数目C1, C2, …, C9;
2) 对C1, C2, …, C9进行排序, 得到递减序列Cx, 首元素为Cx1;
3) 若Cx1<25, 调用RANSAC算法;
4) 建立集合Ω=Cx1;
5) 若Cx(i)/Cx(i+1)<5, {Ω=ΩUCx(i+1), i++};
6) 若Cx1<50, 跳到9);
7) 将Ω空间元素区域继续划分为9个子区域, 迭代一次上述过程, 最终得到至多81个元素的Ω={Cy(i)};
8) 对Ω集合元素求和, 若∑Ω>150, 计算β=∑Ω/150, 设置随机因子α, 使删除比例γ=(β–1)/β, 进行分块随机删除匹配特征点;
9) 重新扫描M1、M2, 若M1中匹配特征点已被删除, 则删除M2中对应点, 若M1中匹配特征点已被删除, 也同样删除M2中对应点;
10) 更新集合Z, Z集合元素数Cz应满足Cz<150;
11) 结束算法, 进行后续处理.
与RANSAC算法相比, 该算法的优势在于:
(1) 单步计算速度更快.
(2) 计算规模降低, 本算法将图像划分为9*9块, 使用迭代式计算, 简化计算过程.
(3) 对匹配结果数量进行约束, 选取阈值150, 兼顾效果与效率, 具有自适应性.
但当匹配结果过少时, 该算法不起作用, 因此通过在步骤3)中判断匹配点过少时, 调用RANSAC算法来解决此问题. 实际使用时, 该过程被触发几率较低, 即使进行RANSAC计算, 计算量也很小, 因此该算法在所有情况下都具有较好的自适应性.
3 实验结果及分析 3.1 实验环境实验环境如下: 操作系统版本Win10, 处理器i3 4150, 内存8 GB, OpenCV库版本3.3.1.
3.2 匹配筛选图4中4幅图像为图像融合处理实验中使用的图像.
图5是利用SURF算法提取的特征点, 图6是利用ORB算法提取的特征点, 由图可知, 同一图像, SURF算法一般可以获得更多的特征点. 另外, 理论上只是匹配点具有局部聚类特征, 但从图中发现ORB算法获取的特征点也具有局部聚类特征, 这可能与FAST算法本身有关.
多个摄像机的光心与图像对应点连线的延伸线理论上应该交于一点, 受畸变、误差等因素影响实际上往往无法交于一点, 针对此问题, 光束法平差(BA)利用LM算法对相机参数进行矫正使观测点坐标和预测点坐标间误差最小[13]. 图像拼接无BA矫正时处理结果有时会比较糟糕, 如图7是基于SURF算法的无BA拼接, 图8是基于ORB算法的无BA拼接. 虽然BA算法处理后能获得较好的图像融合效果, 但其时间开销很大, 表1显示了有4幅图像无BA的图像融合时间. 虽然BA开销较大, 但为了获得效果可观的拼接图像, 本文后续实验都是在有BA的基础上进行的.
图9, 图11, 图13是基于ORB特征提取的相关图像, 图10, 图12, 图14是基于SURF特征提取的相关图像, 图9, 图10是不经过筛选的特征匹配点对, 从图中可以看出, 其存在大量的误匹配, 图11, 图12是经过RANSANC算法筛选过的特征匹配点对, 图中只存在一个误匹配, 匹配效果较好, 图13, 图14是经过本文算法匹配的特征匹配点对, 与RANSAC相比, 唯一的离群误匹配也被删除了, 同时也删除了一部分正确的匹配点对, 除了特征匹配点对数量的规模不如RANSAC, 筛选效果相近.
表2显示的是利用RANSAC算法和本文算法进行4幅图像拼接的时间, 数据表明, RANSAC算法对SURF和ORB都具有较高的稳定性, ORB算法具有较快的融合速度; 本文算法对于SURF算法不太适用, SURF算法图像融合时间不稳定, 波动较大, 效果与RANSAC相比也不明显, 表中记录了3组融合时间, 而对于ORB算法却有较好的效果, 速度优于RANSAC.
图15是基于ORB特征提取的最终的全景融合图像效果图.
4 结论
针对匹配筛选算法RANSAC存在的不足, 本文从特征匹配结果具有局部聚类的角度出发, 提出了局部聚类的匹配筛选算法LCMF. 在对其验证过程中, 选择偏重质量的SURF算法和偏重于效率的ORB算法进行特征提取, 使用常用的最近邻算法进行特征匹配. 实验结果表明, 在使用ORB算法进行特征提取时, LCMF获得优于RANSAC算法的实验结果, 本文算法具有研究的价值, 后续研究将向普适性的改进方向推进.
[1] |
冯宇平. 图像快速配准与自动拼接技术研究[博士学位论文]. 北京: 中国科学院研究生院(长春光学精密机械与物理研究所), 2010.
|
[2] |
文伟东, 张明. 基于SIFT算法的全景图像拼接技术研究. 计算机系统应用, 2017, 26(7): 227-231. |
[3] |
于丽莉, 戴青. 一种改进的SIFT特征匹配算法. 计算机工程, 2011, 37(2): 210-212. DOI:10.3778/j.issn.1002-8331.2011.02.063 |
[4] |
曾峦, 王元钦, 谭久彬. 改进的SIFT特征提取和匹配算法. 光学精密工程, 2011, 19(6): 1391-1397. |
[5] |
Bay H, Tuytelaars T, Van Gool L. Surf: Speeded up robust features. In: Leonardis A, Bischof H, Pinz A, eds. Computer Vision-ECCV 2006. Berlin: Springer, 2006. 404–417.
|
[6] |
赵璐璐, 耿国华, 李康, 等. 基于SURF和快速近似最近邻搜索的图像匹配算法. 计算机应用研究, 2013, 30(3): 921-923. DOI:10.3969/j.issn.1001-3695.2013.03.072 |
[7] |
Panchal P M, Panchal S R, Shah S K. A comparison of SIFT and SURF. International Journal of Innovative Research in Computer and Communication Engineering, 2013, 1(2): 143-152. |
[8] |
齐冰洁, 刘金国, 张博研, 等. 高分辨率遥感图像SIFT和SURF算法匹配性能研究. 中国光学, 2017, 10(3): 331-339. |
[9] |
Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF. Proceedings of the 2011 International Conference on Computer Vision. Washington, DC, USA. 2011. 2564–2571.
|
[10] |
周莉莉, 姜枫. 基于FAST和BRIEF的图像匹配算法. 计算机工程与设计, 2015, 36(5): 1269-1273. |
[11] |
周剑军, 欧阳宁, 张彤, 等. 基于RANSAC的图像拼接方法. 计算机工程与设计, 2009, 30(24): 5692-5694. |
[12] |
许可可, 朱文球, 郭富禄. 基于结构相似的RANSAC改进算法. 计算机工程与应用, 2016, 52(12): 168-171, 245. DOI:10.3778/j.issn.1002-8331.1407-0332 |
[13] |
Dubrofsky E. Homography estimation. Diplomová práce. Vancouver: Univerzita Britské Kolumbie, 2009.
|