1、分框统计特征匹配的 SOC 中电子稳像技术研究 沙宗也 尹治平 合肥工业大学光电技术研究所 摘 要: 在通过特征点做运动估计时, 经常会出现特征点集中于图像部分区域的问题。通过分框统计 MORAVEC 特征点来计算各分块内的特征点的方法, 对视频图像进行帧与帧间匹配, 再结合 RANSAC 误匹配剔除的方法能有效解决该问题。通过对计算原始 SENSOR 图像中中间区域部分分块并预留原始图像的边缘部分, 统计正确的匹配运动矢量, 对运动矢量值加总并用惯性滤波的方法进行平滑拟合进而得到每帧图像的运动补偿值。通过该方法得到的特征点匹配对分布的区域明显比不采用该方法分布的区域广, 而且该方法在 SOC
2、 上能快速运算。关键词: SURF; RANSAC; 电子稳像; 惯性滤波; 运动估计; 作者简介:沙宗也 (1986-) , 男, 硕士研究生。研究方向:图像处理。作者简介:尹治平 (1980-) , 男, 博士, 副研究员。研究方向:微波图像。收稿日期:2016-12-25基金:国家自然科学基金 (61401140) Research on Electronic Image Stabilization Technology in SOC based on Feature Matching with Multiple Boxes StatisticsSHA Zongye YIN Zhipin
3、g Optoelectronic Technology Research Institute, Hefei University of Technology; Abstract: When the feature points are used to estimate the motion, the problem that the feature points will be concentrated in the region of the image often occurs. The method of calculating the feature points in each bl
4、ock by dividing the MORAVEC feature points to match the adjacent two frames of the video images, and then use the method of RANSAC mismatch elimination can effectively solve the problem. Based on the calculation of the middle area of the original SENSOR image grid and edge part reserved for the orig
5、inal image matching, statistics the right motion vector, the value of motion vector method and the total inertia filtering smoothing fitting and motion compensation values of each image. The distribution area of feature points matched by this method is obviously wider than that without the method. M
6、oreover, this method used in SOC can be calculate fastly.Keyword: SURF; RANSAC; EIS; inertial filter; MVE; Received: 2016-12-25随着集成电路技术的发展, 使得电子稳像技术能够得以在一个集成的 SOC 内实现, 从而使得该技术得以广泛应用成为了可能。SOC 方案是各种方案中最高效最经济的方式, 通过外围设计的专用集成电路能够做大量的并行处理, 所以计算速度快, 而且和 CPU 的交互处理能够实现, 既能够高效地并行处理多媒体视频图像文件, 又能够通过 CPU 运算复杂的指
7、令计算, 比如乘法运算。并且其将所有的功能单元均集成于一个芯片内部, 具有体积小、价格便等诸多优点, 是目前国内外研究的主流。但与目前主流的电子稳像研究不同的是, 在芯片上设计电子稳相系统时, 必须考虑一些现实的约束条件, 电子稳相的图像数据源来自于感光 Sensor 传输过来的 Frame Buffer 数据为一条一条的线, 并持续不断的更新。由于在芯片上设计大量的缓存代价很高, 因此结合实际应用中的成本问题, 性能效果各方面的综合考虑, 在尽量少的存储和计算单元的消耗下, 完成最佳的功能, 一直都是相关领域的研究人员追求的目标。许多在该领域的研究人员做的研究都难以直接在 SOC 上实现,
8、如文献111等研究资料中提到的像块匹配法, 文献12中提到的匹配方法在该技术中也难以直接运用。SURF 特征匹配方法, Harris 特征匹配方法等, 都有各种局限性, 存在诸如计算量过大, 在实际实现中将占用更多的存储与带宽, 以及计算资源。在特征点运动估计时, 经常会出现图像中部分区域细节远多于其余区域, 这造成了 MVE 判定的对象仅是图像中某处近景或者远景, 相邻两帧图像的远景和近景其运动矢量值经常会有较大的差别。因此特征点匹配对集中到部分区域得到的运动矢量, 作为该相邻两帧的运动矢量值的判定方法, 对于全幅图像的运动估计是不能正确反映实际运动状况的。1 电子稳像技术的特点与流程本文的
9、 SOC 上商用电子稳像, 其实现流程可分为以下步骤:图 1 本文方案的实现流程 下载原图Frame Buffer 传输过来的图像数据是从感光 Sensor 获取的, 传输到 DIS 模块时已经过了大量的包括 AE, AWB 等技术处理。这个数据在 DIS 的缓存中仅储存整张图像的几行, 行数根据 SOC 中分配给该模块的缓存大小有关, 行数越少, 占用的缓存越小, 越节约成本。传输过来的每行数据的点数大于经过最终输出的点的数量, 因为最终要对稳像图像做补偿, 必须对原来的 Sensor 传过来的图像做裁剪。在某些文献中提到的, 对边缘超出的部分做平滑拼接之类的处理方法并不能够实现, 因为考虑
10、到帧间的差异和未知的未出现过的场景的存在, 最终的稳像补偿只能通过图像裁剪来实现。第 1 步计算当前缓存中的图像数据线得到的特征响应值, 与上一帧图像保存下来的特征实时地计算分析比较, 来做匹配;第 2 步对得到的大量的匹配对采用 RANSAC 规律剔除误匹配。在图像分框后, 可能会出现部分分框特征细节少的问题, 某些分框的对应特征点的匹配对可能会有错误, RANSAC 方法是一种经典的误匹配剔除方法, 能够有效剔除误匹配对;第 3 步曲线拟合与补偿。计算出帧与帧间的运动规律之后, 需要将各帧之间的运动矢量加起来得到一个曲线, 通过追踪拟合的方法得到较为平滑的曲线。由于运动方式的不确定性, 不
11、规律性, 所以使用固定运动模型的 Kalman 滤波等方式并不能解决该问题, 这里采用惯性滤波, 结合自适应补偿校正的方式来得到平滑的补偿曲线, 然后计算各帧需要补偿的运动量值, 将图像在横纵方向上做移动, 最后输出剪切掉边缘部分的图像。2 具体的实现过程先对图像分块处理, 然后计算出当前分块的最优匹配特征, 再通过对下帧图像的相邻及格分块分析匹配, 验算最优匹配, 得出该分块与下一帧图像的匹配, 然后使用 RANSAC 原则做统计分析, 对于不符合统计规律的匹配做误匹配的剔除再通过惯性滤波进行曲线拟合, 并作出补偿。2.1 图像分块上述分析得到, 电子稳像的稳像能力都会有一个界限值, 超出界
12、限将会失去稳像的能力, 限定补偿的行数是因为 Sensor 的数据大小有限, 不可能无限的补偿。为了大幅降低比对搜索的范围, 在这里先对图像分块处理, 图像分块分析避免了搜索整帧图像, 也就是避免了搜索整帧图来与当前帧的匹配, 从而大幅节省了计算量, 分块的方法如图 2 所示。另外, 分块分析确保了匹配能保证在整张图像中的均匀分布, 如果不做分块来做特征点匹配的话, 就会导致可能出现特征匹配对大量出现在图像的某一部分区域, 这在出现运动前景的情况下将会导致非常严重场景判断的错误, 如图 6所示。对于分块并找出最优特征点并进行匹配的特征点匹配如图 7 所示。图 2 图像分块, 边缘部分为预留的补
13、偿区域 下载原图2.2 网格内优选特征点及其匹配传统的 SURF 特诊是通过几组高斯金字塔来做特诊点判断, 特征信息中包含了特征点的不同尺度特征上的描述, 还包括了特征点的主要方向, 这样在图像缩放和旋转上有良好的鲁棒性。相对于 SIFT 特征来讲, SURF 特征通过积分图像的转换, 使用简单的代数运算代替了积分运算, 更为实用, 但是 SURF 特征的几个尺度的计算其实在连续图像中没有太大价值。现在的视频拍摄设备, 图像更新速度快, 这样在相邻帧间考虑尺度性意义不大, 而且还会带来重大的计算开销。结合 MORAVEC 特征的求取具有一定的方向性, 而且简单有效的特点, 本文提出一种改进的经
14、典 MORAVEC 算法。因为 MORAVEC 算法通过简单的梯度计算特征点信息, 这样大幅降低计算量, 几个方向的梯度计算在 IC 设计中可以使用几个并行器同时计算, 提高了计算速度, 也高效利用了计算资源, 降低了成本。对于每个当帧图像, 先计算其最大 MORAVEC 响应值, 方法是通过不断比较当前计算的 MORAVEC 响应值是否大于当前最大值, 如果大于则替换掉当前存储的特征向量。通过计算每相隔一定距离点的横纵向和对角方向的灰度差值的绝对值和作为特征点的描述子, 本质是特征点结合了块匹配的匹配方式。为了在计算量和描述信息之间做一个折衷, 采取相间点的方法, 计算每相邻九点的最大MOR
15、AVEC 值, 这样做的目的是减少了不断的写入特征点描述子占用的带宽, 在SOC 中单独设计该模块时, 这样的方法能够重复利用计算单元, 节省了计算单元模块。相邻 9 点仅计算出一个最大的 MORAVEC 响应值, 然后再提取其描述信息, 用于和上帧相邻上下左右最远 2 个网格的特征点所在位置的特征块进行比较, 这样能大幅降低计算量。图 8 (a) 和图 8 (b) 分别是采用相邻 9 点计算的点数和相邻 3 点计算的点数, 由对比可见, 采用相邻 9 点来做分析能大幅降低计算量和传输带宽。图 3 计算比较单元示意图 下载原图表 1 不同算法所需要占用的存储带宽资源对比 下载原表 图 4 当前
16、响应点需要匹配的相邻框最优特征点 下载原图本文的方法看似需要比较的点数很多, 但是根据 ISP 中数据流的特点, 数据不断地往下传输处理, 本功能模块却直接并行计算 MORAVEC 特征点以及进行匹配, 这样需要占用的计算单元并不是很多, 而且能够及时处理。关于 MORAVEC 响应值的计算根据计算资源的多少, 设定两种计算方式。文中的实验图像仅采用了第一种方式计算得到, 第 1 种方式采用式 (2) , 第 2 种方式区别采用式 (3) , 两公式中 k 取-33 之间 7 个整数。公式中 Mora 是该点的最终响应值, Mo 是几个方向上的响应值在特征匹配后, 使用 RANSAC 方法进行
17、误匹配剔除, 就能得到正确的匹配, 并计算当帧 x, y 方向运动矢量值2.3 曲线的拟合如何有效正确地拟合运动平滑曲线, 这对正确的补偿是一个重要的问题。相关文献资料中提到的方法有很多, 本文通过实验分析, 最为可行的方法是将各相邻帧的运动矢量累积加起来, 然后用一个平滑拟合的方法来做拟合。在一些资料中提到的直接使用回归曲线来做曲线拟合。事实上在 SOC 中难以实现该方法, 因为在 SOC 中缓存能力有限, 不能对多帧图像进行储存, 因此当帧过来的图像必须立刻进行处理, 如果继续直接使用回归的方法来做, 边缘会有较大的畸变, 效果很差。由于缓存的存储空间大小的限定, 这个曲线拟合的问题变成了
18、一个实时追踪平滑滤波的问题。另外, 有许多文献资料提到的使用Kalman 滤波方法来做, 但在运动方式不确定的情况下, 根本不能完成运动平滑拟合, Kalman 滤波需要有一个参考的模型, 而实际中的运动是没有确定的模型可供参考, 拍摄设备的运动规律可以讲是任意情况, Kalman 滤波的方法仅适用固定的像监控摄像设备之类的电子稳像运动曲线滤波。通过实验和分析, 在场景平移的时候, 比如拍摄设备想前方移动或左右移动, 那么累加的相邻帧间运动矢量就会呈现上升或下坡状曲线, 在这种情况下, 无论是使用惯性滤波还是其他的像回归多项式曲线的方法拟合出来的平滑曲线都会出现一个延滞现象, 如果直接通过前面
19、的运动规律做补偿又会出现在运动突然消失的时候的过补偿。本文采用了先通过惯性滤波的办法, 然后根据时间相距远近做一个折中的权值补偿拟合平滑曲线如式 (4) 所示, 其中 i=1。2.4 补偿在上一步完成了曲线拟合的基础上, 计算当前实际的叠加值曲线与拟合曲线运动量的差值, 然后对图像位置进行调整, 剪切掉图像边缘部分, 得到稳像后的图像。这里有些文献提到的通过腐蚀的方法实现边缘部分的校正, 由于可能会面临着上帧中完全没出现的物体的部分需要你做补偿出现。特别是一些高速运动的物体像车辆之类, 即使仅相隔一帧图像, 也会有较大的位置改变, 无论是文献14中提到的通过小波的办法, 以及文献13中提到的图
20、像复原的方法, 还是经典的腐蚀膨胀, 都不能达到一个能够视觉上让人接受的效果。唯一能在实际应用中可行的方案只有通过用一个较大的 Sensor 来做, 设定预留的行数, 这样在最后的计算结果中自动剪切掉边缘部分, 得到的就是处理后的稳定图像。3 实验结果分析实验设备:摄像设备如图 5 所示, 采用的成像控制单元是自主研发的 ISP。通过图 6 和图 7 的对比, 可以看出与相关文献中提到的方法对比, 本文方法寻找到的特征点匹配对在全图中分布均衡, 避免了仅追踪局部区域的问题。本文采用一个熵值来判定匹配对在图像中分布的均衡性, 具体方法是将每个匹配对对应当帧中的特征点截取其周围 1010 的面积,
21、 如果与其他特征点叠加, 叠加部分则合并不重复计算, 再将这个面积值除以计算的图像区域的总面积, 公式为表 2 不同匹配方法在图像中分布区域的熵值 下载原表 通过图 8 可以看出, 本文采用的相隔 9 点取最优响应值再做比较的方法需要比较的点数远小于仅作 3 点的处理, 更远胜过没做该处理的方法, 图 9 可以看出本文的方法能够平滑的拟合实时运动曲线。图 5 自主研发的摄像控制单元 下载原图图 6 没有进行分块的特诊点匹配 下载原图图 7 使用分块的特诊点匹配 下载原图图 8 采用相隔 3 点和相隔 9 点的计算点数的对比 下载原图图 9 直接用回归的办法实时平滑曲线和本文方法对比 下载原图4
22、 结束语本文提出的对图像分块特征匹配的方法, 相较于传统的直接使用特征匹配的方法来说, 在整张图的正确分析, 场景的判定方面有较大的优势。但是本文的方法在场景切换时, 特征点极少的情况下, 该方法效果并不完美, 当然这也是该项技术的一个瓶颈。如何能对极少特征点的图像进行准确分析, 还需要进一步研究和探讨。参考文献1蒋建国, 刘杰杰, 齐美彬.基于 SURF 和轨迹滤波的旋转视频稳像算法J.仪器仪表学报, 2014, 35 (3) :550-557. 2余家林, 孙季丰, 宋治国.基于优选特征轨迹的全分辨率视频稳定J.电子与信息学报, 2015, 37 (5) :1141-1148. 3Wang
23、 Y S, Liu F, Hsu P S, et al.Spatially and temporally optimized video stabilizationJ.IEEE Transactions on Visualization&Computer Graphics, 2013, 19 (8) :1354-1361. 4陈丽莉.基于 SUSAN 算法的角点检测J.现代计算机:专业版, 2009 (5) :75-77. 5王硕.基于运动估计和运动分离等技术的电子稳像算法研究D.哈尔滨:哈尔滨工业大学, 2014. 6吴国楠, 周超超, 尹文波, 等.基于 Harris 角点与改进 Hu 矩
24、的电子稳像算法J.计算机工程, 2013, 39 (3) :300-305. 7孙平, 邹丽新.基于改进特征点的电子稳像稳像算法研究D.兰州:兰州大学, 2008. 8Yin B, Duan H Ch.Image stabilizati-on by combining grayscal projection and block matching algorithmC.Guangzhou:Proceedings of IEEE International Symposium on IT in Medicine&Education, 2009. 9Herbert Bay, Tinne Tuytel
25、aa-Rs, Luc Van Cool, et al.SURF:speed up robust featuresC.London:9th European Conference on Computer Vision, 2006. 10吴威, 许廷发, 王亚伟, 等.高精度全景补偿电子稳像J.中国光学, 2013, 6 (3) :378-385. 11葛川, 郭宝龙.基于自适应运动滤波的电子稳像技术研究D.西安:西安电子科技大学, 2011. 12段炼, 耿庆常.风云卫星云图自动识别追踪 MCS 的方法J.电子科技, 2016, 29 (4) :116-126 13郭姝言, 刘桥, 卢进.一种改进的医学图像深度信息恢复算法J.电子科技, 2016, 29 (1) :48-55. 14董佳鹏, 何建忠.基于冗余小波变换的灰度多聚焦图像融合方法J.电子科技, 2015, 28 (12) :100-103. 15李庆扬, 易大义, 王能超.现代数值分析M.北京:高等教育出版社, 1995.