基于改进Sobel算子和动态区域的铁轨稳像算法

2016-10-29 01:52石泓任智姣
现代计算机 2016年27期
关键词:铁轨算子矢量

石泓,任智姣

(四川大学计算机学院,成都 610065)

基于改进Sobel算子和动态区域的铁轨稳像算法

石泓,任智姣

(四川大学计算机学院,成都610065)

由于列车运行时产生的震动,导致拍摄的视频出现抖动现象。因铁轨具有特定直线角度和实际运行情况,在动态区域中用改进的Sobel算子结合LSD算法来提取直线。在仿射模型下构造特征三角形,利用最小二乘法计算全局运动矢量,最后用Kalman滤波得出运动补偿矢量,对视频帧进行运动补偿。实验表明,该方法在机载视频稳像上具有比较好的运行时间和最终效果。

铁轨稳像;Sobel;LSD直线检测;Kalman滤波

0 引言

铁路作为国家的重要基础设施,在综合交通体系中发挥着骨干作用。列车的安全运行一直受到大众的关注。机车的视觉辅助系统,在辅助驾驶,行车记录等方面起到了重要作用。但由于机车实际运行环境的影响,机车的震动是不可避免的,遂导致所拍摄的视频存在不规则抖动,这不仅影响视频质量,而且还导致驾驶员的视觉疲劳。稳像技术就是为了去除视频中的无意运动,最终得到稳定的视觉效果。根据技术原理和实现方式,稳像技术可以分为:机械稳像、光学稳像、数字稳像。而其中的数字稳像技术是结合计算机数字图像处理等方法来估计视频帧的全局运动矢量并进行矫正。它是一种纯软件的技术,具有成本低,易操作等特点。一般包括以下三个步骤:运动估计、运动平滑、运动补偿。其中运动估计和运动平滑是数字稳像中的核心与关键[1]。

首先,运动估计是根据一定的运动模型来估计当前帧和参考帧的整体运动偏移量,即全局运动矢量(GMV:Global Motion Vector)。运动估计的准确性决定整个稳像算法的效果。根据应用模型不同,可以分为2D算法和3D算法。2D算法只考虑了平移,主要方法有[1]:图像子块匹配法、投影曲线匹配法和位平面匹配法等。3D算法除了能检测偏移还能估计旋转分量。常用的有帧匹配法,特征匹配法[2]。其中特征匹配法是寻找图像的特征如:角点、边缘、直线,并将帧间匹配特征点带入一定的运动模型,求出运动参数,即全局运动矢量。

其次,运动平滑是在全局运动矢量中得到有意运动的过程。有意运动呈现出连续、平滑、线性的特点,而由于抖动所造成的无意运动,是一种随机、非线性的运动,可以认为其是一种高频噪声,因此用低通滤波对全局运动矢量进行滤波,得到稳定的有意运动。常用的方法有均值滤波、高斯滤波、卡尔曼滤波[6]。其中卡尔曼滤波,通过预测方程和测量方程线性递归地得出我们所关心的期望运动,可以用于实时系统。

最后,通过从全局运动矢量中分离出来的无意运动矢量,在相应的运动模型下对视频帧做相反的补偿以输出稳定,符合人们视觉效果的视频序列。

1 运动估计

1.1Sobel算子提取边缘

边缘是图像中具有结构特性的基本特征。通常具有灰度值跳变的性质,而微分边缘算子对灰度图像进行卷积操作,恰恰可以反映这种性质。常用的微分算子有:Prewitt算子[3],Sobel算子[4]等。其中Sobel算子采用两个3×3的模板对图像进行卷积,分别计算像素点水平和垂直方向上的一阶微分,对噪声有一定的抑制作用。同时邻域像素与当前像素的距离越远产生地影响越小,因此有不同的权值。

根据实际情况,铁轨直线具有一定的斜向方向性,所以本文提出一种改进的Sobel算子来更好的突出铁轨直线特征,图1(a),(b)为经典Sobel算子垂直和水平方向上的模板,(c),(d)为改进Sobel算子垂直和水平方向上的模板:

图1 

图2为卷积以后的效果图,可以发现改进后的Sobel算子更加突出了对角方向,一定程度上抑制了水平和垂直的边缘:

图2 

1.2LSD(Line Segment Detector)直线检测

在所拍摄的视频中,铁轨是一种结构特征明显的路面信息。所以我们通过提取视频中铁轨直线,将其作为特征来估计帧之间的全局运动矢量。传统的直线提取算法是基于Hough变换的,但它时间消耗大、误检率高而且结果易受参数的影响,在实时场景中并不适用。所以直线分割算法LSD[5]被提出,其无需参数控制,时间复杂度在线性级并且具有亚像素级的准确性。

(1)LSD首先用公式(1)计算每一个像素的梯度:

(2)然后按照公式(2)计算这个像素点与level-line的夹角以构成一个level-line场。

(3)之后,将未选取像素作为种子点,贪婪地合并这个场里方向相近的像素,得到一系列置信区域(line support region)。对置信区域,做最小外接矩形并统计矩形的主方向。如果一个像素的level-line角度与最小外接矩形的主方向的角度差在容忍度内的话,那么称这个点为排列点。统计最小外接矩形内的所有像素数和其内的排列点数,用来判定这个置信区域是否是一个直线段。

1.3动态感兴趣区域的选取

观察所拍摄的视频可以发现,图像中除了铁轨直线信息,还有枕木、路基等近似直线信息。这增加了时间消耗和误匹配。通过分析,帧图像上2/3区域是天空区域和可能出现一定角度的弯道铁轨,而下方1/3区域为铁轨直线所在的区域。机车在铁轨上运行是一相对稳定的运动状态,即铁轨所在的区域在帧之间不会出现区域越变。所以我们可以根据前一帧所检测的直线来动态设置感兴趣区域ROI,作为下一帧的算法运行区域。这样不仅缩减了提取特征的时间,并且去除了路基等不相关的干扰,提高了检测的准确性。

1.4构建交叉点三角形求得放射模型下的参数

运动模型有:平移模型,仿射模型和投影模型,经过分析,本文选用仿射模型来作为帧之间的运动模型,且其中的缩放因子可以忽略不计,即该运动模型具有三个未知参数。

本文根据最终选取的两条铁轨直线的交叉点为顶点,并在两条直线上选取距离交叉点距离为L(本文采取100)的点,这样可以由对应三个点的坐标值带入公式(3)构建六个方程,这是一个超定方程,由最小二乘法来求得最后参数。

2 基于Kalman滤波的运动平滑

Kalman滤波器将含有随机抖动的视频帧的绝对位移看成是观察信号,将稳定的视频位移当做过程信号。其关键的两个步骤是预测和更新,通过前一帧的稳定信息来估计当前帧预测值,并计算Kalman增益来加权确定当前帧的稳定信息。通过线性迭代来实现,具有较高的时间运行效率,所以可以用在实时稳像中。本文利用公式(4)求得视频帧位置信号FPS,并对FPS利用Kalman滤波得到稳定的有意帧位置信息TFPS,利用公式(5)求得补偿向量CMV。

图3表示了卡尔曼滤波的效果曲线:

图3 

3 算法流程

(1)截取视频帧的下1/3图像,用改进的Sobel算子对图像提取边缘;

(2)如果为第一帧,以图像中间为界分为左右两个区域,作为ROI的初始区域。否则,以上一帧求得的左右直线为对角线来构造矩形ROI;

(3)在动态区域中运用LSD算法提取直线;

(4)通过长度和角度阈值去除额外直线,通过投票机制选取直线集合中的内侧铁轨直线;

(5)通过交点和距交点长度为L的点构造三角形;

(6)根据仿射模型构建超定方程,用最小二乘法求得全局运动矢量;

(7)利用卡尔曼滤波对视频帧位置求得补偿向量,并对每一帧进行运动补偿。

4 实验结果

本文算法在一台普通台式计算机 (CPU:英特尔i3,主频2.7GHz,RAM:4G)上做实验,采用C++在VS2013+OpenCV3.0环境编译运行。时间效率及效果如表1和图4:

表1 

图4 

5 结语

本文对列车车载摄像头拍摄的视频进行分析研究,提出一种基于改进Sobel算子并用LSD算法在动态区域内提取直线特征来计算全局运动矢量,最后用Kalman滤波实现视频稳像的算法。实验表明,在时间效率和效果上都有比较好的效果。

[1]王志民,徐晓刚.电子稳像技术综述[J].中国图象图形学报,2010,15(3):470-480.

[2]Huang K Y,Tsai Y M,Tsai C C,et al.Feature-Based Video Stabilization for Vehicular Applications[C].Consumer Electronics (ISCE),2010 IEEE 14th International Symposium on.IEEE,2010:1-2.

[3]Prewitt J Object Enhancement and Extraction(A).inB.Lipkin and A.,Rosenfeld,eds.,Picture Processing and Psychopictorics〔M〕. AcademicPress,NewYork,1970.

[4]Davis L.S.A Survey of Edge Detection Techniques[J].CGIP,1979.4:248-270[5]Rafael Grompone Von Gioi,Jean-Michel Morel,et al.LSD:a Line Segment Detector[J].IEEE Transactions on Software Engineering,2010,32(4):722-744.

[6]Wang C,Kim J H,Byun K Y,et al.Robust Digital Image Stabilization Using the Kalman Filter[J].Consumer Electronics,IEEE Transactions on,2009,55(1):6-14.

Rail Video Stabilization Algorithm Based on Improved Sobel and Dynamic Region

SHI Hong,REN Zhi-jiao
(College of Computer Science,Sichuan University,Chengdu 610065)

Due to the vibration generated by the train running,leading to the emergence of a video shot jitter phenomenon.Because the rail has a specific line angle and the actual situation,the linear is extracted by LSD in dynamic region with the improved Sobel operator.In the affine model,constructs the characteristic triangle,and calculates the global motion vector by the least square method.Finally,the motion compensation vector is obtained by the Kalman filter,and the motion compensation is performed on the video frame.Experimental results show that the proposed method has a better running time and the final effect on the vehicle video stabilization.

Rail Stabilization;Sobel;Line Segment Detector;Kalman Filter;Dynamic Region

1007-1423(2016)27-0003-04DOI:10.3969/j.issn.1007-1423.2016.27.001

石泓(1989-),男,山西太原人,在读硕士研究生,本科,研究方向为多源信息融合与图像处理

2016-06-20

2016-09-10

国家自然科学基金(No.61071162)

任智姣(1990-),女,山西太原人,在读硕士研究生,研究方向为图形图像处理、图像拼接

猜你喜欢
铁轨算子矢量
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
Domestication or Foreignization:A Cultural Choice
铁轨之间:一战停战百年鉴
一类算子方程的正算子解问题的研究
推力矢量对舰载机安全起降的意义
QK空间上的叠加算子
铁轨接口处为什么有缝
三角形法则在动态平衡问题中的应用