谷连军 孟秀军
摘 要:直升机在进行架空输电线路巡视过程中,其光电吊舱受多变的载体姿态和复杂的飞行环境等因素影响,导致所摄取的巡视视频失稳、模糊不清,分辨率严重下降,影响后续对巡视视频的应用。为实时输出稳定的巡视视频,提出了一种直升机巡视光电吊舱去抖增稳算法,该算法在传统运动估计模块与运动補偿模块之外,增加了运动判断模块。实验表明,该算法的巡视去抖增稳效果明显,视频抖动判断准确率为91%;抖动量估计的均方根误差的平均值为0.024像素,稳像精度达到亚像素级;对于标清巡视视频的去抖增稳平均单帧处理时间为39 ms(处理帧率为25 f/s),满足了实时性要求。
关键词:直升机巡视;光电吊舱;视频去抖增稳;运动估计;运动补偿;自适应
中图分类号:TP399文献标识码:A文章编号:2095-1302(2020)06-00-05
0 引 言
随着电力建设的迅速发展,复杂地形条件下的电网建设和设备维护工作越来越多。随着投运设备的日益增加,巡检需求和人力缺员的矛盾日益突出,传统依靠人力为主的线路运维模式已无法满足当前及未来公司追求管理精益化、降本增效的战略发展需要。直升机巡视方式的推广应用提高了巡检效率,缩短了巡检周期[1-2]。
直升机在进行架空输电线路巡视的过程中,其光电吊舱受多变的载体姿态和复杂的飞行环境等因素影响,导致所摄取的巡视视频失稳、模糊不清,分辨率严重下降,影响后续对巡视视频的应用[3]。因此亟需利用电子稳像技术[4]对所摄取的巡视视频进行稳像处理,去除随机抖动的干扰,为进一步的线路目标检测识别与跟踪等提供基础。
运动估计[5]和运动补偿[6]是电子稳像的关键,而实时性和准确性是决定电子稳像技术能否应用于直升机巡视系统等领域的关键指标。在国内外诸多算法中,基于特征点提取的运动估计方法结合适当的运动补偿方法的电子稳像算法具有良好的应用。
基于特征点提取的运动估计的研究方向是选取适当的算子,快速准确的提取和匹配特征点,进而提高电子稳像的准确性和实时性。目前常见的提取特征点的算子有SIFT(Scale Invariant Feature Transfer,尺度不变特征变换)算子[7]、SURF(Speed-Up Robust Feature,加速鲁棒特征)算子[8-9]、GFTT(Good Feature to Track,易于跟踪特征)算子、BRISK(Binary Robust Invariant Scalable Keypoint,二进制局部特征)算子[10]、FAST(Features From Accelerated Segment Test,加速段试验特征)算子等。Walhaa采用SIFT算子提取和匹配特征点进行运动估计,并利用Kalman滤波结合中值滤波获取运动补偿参数,取得了较好的稳像精度,然而所采用的SIFT的描述子维度太高导致耗费的时间较长。Matsushita采用GFTT算子提取特征点并通过LK(Lucas & Kanade)光流法[11]匹配进行运动估计,可以适应静态背景和动态背景,然而GFTT算子计算图像梯度时需要耗费较多时间,影响实时性。程德强等[12]利用SUSAN算子提取特征点,并采用LK光流法实现抖动视频序列的运动估计,但实时性仍有待提高。周凯汀等[13]将ORB算法用于多姿态人脸识别中,通过改进ORB算子的采样模式提高了鲁棒性;李小红等[14]将ORB算法用于快速目标检测中,结合ORB(Oriented Brief)特征匹配算法使用帧差法获得运动目标。初守艳利用ORB算法中具有方向性的FAST算子提取并匹配特征点进行运动估计,提取的特征点具有旋转不变性,且FAST算子提取特征点速度快、准确率高,其算法具有较高的稳像实时性和运动估计准确性,可以进一步通过改进运动补偿方法得到更好的稳像效果。
1 研究思路
为提高算法的实时性和准确性,直升机巡视光电吊舱去抖增稳算法在传统的运动估计模块与运动补偿模块之外增加了运动判断模块。该算法具备自适应性,根据可见光和红外视频抖动程度自动采取合适的处理策略及方法,实现视频的去抖增稳,具体研究思路如图1所示。对于输入视频初始的若干帧,采用基于相位相关法的运动初判,获取初始运动状态;对于视频的后续帧,提取FAST特征点,并通过LK光流法得到特征点的运动参数,进而通过建立仿射变换模型得到全局运动参数;利用初始运动状态和全局运动矢量矩阵,采用基于主运动识别方向的方法进行运动补偿,输出稳定视频。
2 算法设计与实现
2.1 基于相位相关法的运动初判
摄像机的拍摄状态包括静态拍摄、运动拍摄及静态拍摄与运动拍摄相互切换三种状态。运动初判是指利用视频的初始若干帧,计算摄像机的二维平移量,并进行摄像机运动的初步判断,得到摄像机的初始运动状态,为后续稳像处理提供基础。
相位相关法对相邻两视频帧进行快速傅里叶变换,将视频帧从空域变换到频域,然后通过互功率谱直接计算两视频帧间的平移量。
设f1(x, y)和f2(x, y)分别为两帧视频的信号,若f1(x, y)和f2(x, y)简单平移相关,(Δx, Δy)为帧间平移量,则有:
相应的傅里叶变换为:
归一化功率谱为:
F*1(w1, w2),F*2(w1, w2)分别为F1(w1, w2)和F2(w1, w2)的共轭,对上式进行傅里叶逆变换,在(x, y)空间形成的脉冲函数δ(x-Δx, y-Δy)脉冲峰值的位置(Δx, Δy)为两帧之间的平移量。以该平移量(Δx, Δy)近似作为摄像机的二维平移量(x0, y0)。如图2所示,根据二维平移量(x0, y0)进行帧间运动方向识别,分别对正负帧间运动方向的数值P0,N0进行统计。若进行帧间运动方向判断的帧数达到预先设定的帧数F0,则进行主运动方向初始值确定判断,若正负帧间运动方向的数值达到一定阈值T0,则确定主运动方向M,若P0与N0之差大于预先设定的阈值T1,则存在主运动方向M(其值1为正,-1为负),且为运动拍摄;若P0与N0之差小于预先设定的阈值T1,则不存在主运动方向M(其值设为0),且判定为静态拍摄,当前运动状态即为初始运动状态。
2.2 运动估计
2.2.1 FAST特征点提取
FAST算子提取特征点的原理是若在某一像素点P的邻域内有足够多的像素点的灰度值大于或小于该点的灰度值,则选择该点为特征点。
对于图像上一像素点P,其灰度值为Ip,以P为中心,r为半径的圆周上,与P存在联系的n个像素点,其灰度值为Ik(k=1, 2, ..., n),FAST特征点的角点响应函数CRF(Corner Respond Function)如下:
式中,threshold为给定的小阈值(一般取threshold=10-4),如果CRF=1的个数大于1个给定的阈值(推荐值为12),则P点为FAST特征点。
2.2.2 基于仿射变换模型的全局运动参数估计
根据估计出的n个FAST特征点的光流矢量,可以求出两帧间的仿射变换矩阵,两帧间的仿射变换如下:
式中,vi(x)和vi(y)分别是点(xi, yi)的x方向和y方向光流值。利用最小二乘法解上述方程,得到的仿射变换矩阵即为全局运动参数,a2,a5分别为水平运动矢量和垂直运动矢量。主要实现代码如下:
estimateGlobMotionLeastSquaresTranslation(
int npoints,Point2f *points0,Point2f *points1,float *rmse){
Mat_
for (int i = 0; i < npoints; ++i){
M(0,2) += points1[i].x - points0[i].x;
M(1,2) += points1[i].y - points0[i].y;
}
M(0,2) /= npoints;
M(1,2) /= npoints;
if (rmse){
*rmse = 0;
for (int i = 0; i < npoints; ++i)
*rmse += sqr(points1[i].x - points0[i].x - M(0,2)) +sqr(points1[i].y - points0[i].y - M(1,2));
*rmse = std::sqrt(*rmse / npoints);
}
return M;
}
2.3 运动补偿
基于主运动方向识别的运动补偿流程如图3所示。
实现步骤如下所示。
(1)运动状态初始化,基于相位相关的运动初判,实现对静态拍摄和运动拍摄及两种拍摄状态相互切换的识别。
(2)运动估计参数输入,在进行运动状态初始化后,在电子稳像过程中连续输入视频的运动估计参数。
(3)针对每两帧之间的运动矢量进行抖动判断,如果当前运动状态为静态拍摄,对当前水平方向运动矢量、垂直方向运动矢量进行判定,若大于一定阈值则判定为静态抖动,否则判定为非抖动;若当前运动状态为运动拍摄,且当前水平方向运动矢量、垂直方向运动矢量与主运动方向M不一致,则判定为动态抖动,若当前运动量与主运动方向一致,则判定为非抖动。
(4)运动补偿,若判定为静态抖动则以当前运动矢量为补偿参数;若判定为动态抖动,则采用高斯权值的均值滤波对得到的运动矢量进行平滑,并利用滤波后的运动矢量对当前帧进行仿射变换,得到稳定的视频。
(5)帧间运动方向识别,若连续F1帧的帧间水平方向运动矢量x、垂直方向运动矢量y均为正(负),则对帧间运动方向值P1(N1)计数。
(6)瞬时主运动方向识别,若连续F2帧的帧间运动方向均为正(负),则对瞬时主运动方向值P2(N2)进行计数,若P2与N2之差大于预先设定的阈值T2,则存在瞬时主运动方向M1(其值1为正,-1为负);若P2与N2之差小于预先设定的阈值T2,则不存在瞬时主运动方向M1(其值设为0)。
(7)主运动方向识别,若连续F3帧的瞬时主运动方向都为正(负),则对瞬时主运动方向值P3(N3)进行计数,若P3与N3之差大于预先设定的阈值T3,则存在主运动方向M(其值1为正,-1为负);若P2与N3之差小于預先设定的阈值T3,则不存在主运动方向M(其值设为0),识别出静态拍摄和运动拍摄的相互切换。
(8)运动状态识别,若能够识别出主运动方向,则判定当前运动状态为运动拍摄;若无法识别主运动方向,则判定当前运动状态为静态拍摄,采用固定帧补偿。
3 实验分析
本算法在Visual Studio 2010平台基于OpenCV3.0 beta的C++语言开发算法,实验平台为Inter(R) Core(TM) i7-4790CPU @3.60 GHz,RAM 16 GB。采用11个视频进行算法的实验验证,各视频缩略图如图4所示,编号1~4视频为仿真视频,编号5~11视频为真实架空输电线路巡视视频,其中5~9为可见光视频,10~11为红外视频。
视频1和视频2是仿真静态拍摄视频,生成方法是对静态图像加入随机抖动量生成多帧图像,并将多帧图像合成仿真视频,视频的抖动量和方向已知,可用于评价稳像精度和统计抖动判断误差。
通过计算估计抖动量和真实抖动量的均方根误差RMSE(Root Mean Square Error)评价稳像精度。RMSE定义如下:
式中:(xi, yi)和(Xi, Yi)分别为视频第i帧与第i+1帧之间的估计补偿量和真实抖动量;N为视频总帧数。
抖动判断设置抖动量阈值的绝对值为0.5像素,即估计抖动量的绝对值大于0.5像素时判定为抖动。以视频1的71~90帧为例,其帧间的真实抖动量、估计抖动量和抖动判断结果见表1所列。
视频3和视频4是仿真动态拍摄视频,生成方法是对平滑视频加入具有一定方向性的随机抖动量合成仿真视频,视频的抖动方向已知,可用于统计抖动判断误差。仿真视频稳像处理结果见表2所列,抖动判断精度平均值为91%,抖动量估计的均方根误差的平均值为0.024(像素),表明稳像精度达到亚像素级。
真实巡视视频稳像处理过程中,为表示稳像算法对标清视频的处理时间效率,将视频分辨率统一转换为720×576,对各视频处理的时间效率汇总见表3所列,平均每帧处理时间为39 ms,处理帧率为25 f/s,与原视频帧率相同,因此本电子稳像算法可以满足标清可见光视频和红外视频的实时处理要求。
图5所示为红外视频10的原始视频帧和稳像后视频帧的对比情况,自左向右、自上而下分别为第35,46,55,62,75,90帧。
将本算法与基于GFTT特征点的电子稳像算法(GFTT法)和基于BRISK特征点的电子稳像算法(BRISK法)进行效果对比(除特征点提取方法不同外,其余计算步骤流程均相同)。见表4所列,对于仿真视频的实验表明,三种算法抖动判断准确度都达到90%,同时,在稳像精度上本算法与GFTT法和BRISK法相近。如图6所示,对真实巡视视频的平均每帧处理时间进行对比,结果表明本算法与其他两种算法相比具有较高的时间效率。
4 结 语
本论文提出了基于运动初判、运动估计以及运动补偿等技术的直升机巡视光电吊舱去抖增稳算法。通过理论证明和实践分析,可得出如下结论。
(1)本文提出的优化算法主要采用ORB特征点结合光流法进行运动估计,可以达到亚像素级精度,提高电子稳像的准确性和实时性。
(2)在算法的应用过程中,采用初始运动估计参数进行初始运动状态的判断,避免采用默认初始值的单一性,提高了电子稳像运动补偿的智能性;采用主运动方向识别法进行包含复杂运动的连续视频的帧抖动判断、运动补偿参数确定、运动状态确定,并能够识别静态拍摄和运动拍摄的相互切换,提高电子稳像的运动补偿智能性和实时性。
参考文献
[1]于德明,沈建,汪骏,等.直升机与人工巡视效果对比分析[J].中国电力,2008,41(11):25-28.
[2]徐云鹏,毛强,李庭坚.输电线路机巡与人巡效果对比及协同巡检建议[J].南方电网技术,2016,10(2):44-47.
[3] YU Jun,WANG Zengfu. Video stabilization based on empirical mode decomposition and several evaluation criterions [J]. Journal of Zhejiang University:engineering science,2014,48(3):23-429.
[4]吴威,许廷发,王亚伟,等.高精度全景补偿电子稳像[J].中国光
学,2013,6(3):378-385.
[5]杨冬冬,张晓林,李嘉茂.基于局部与全局优化的双目视觉里程计算法[J].计算机工程,2018,44(1):1-8.
[6]张娜,魏海平,于红绯.一种融合特征点与运动补偿信息的运动目标检测新算法[J].计算机应用与软件,2017,34(11):210-216.
[7]成春阳,张静亚.基于多尺度角点的改进SIFT算法[J].计算机应用与软件,2017,34(7):166-170.
[8]李英,李静宇,徐正平.结合SURF与聚类分析方法实现运动目标的快速跟踪[J].液晶与显示,2011,26(4):544-550.
[9]蒋建国,牛杰杰,齐美彬.基于SURF和轨迹滤波的旋转视频稳像算法[J].仪器仪表学报,2014,35(3):550-557.
[10] LEUTENEGGER S,CHLI M,SIEGWART R Y. BRISK: Binary robust invariant scalable keypoints [C]//Proceedings of the 2011 IEEE International Conference on Computer Vision(ICCV),2012:1589-1596.
[11]范長军,文凌艳,毛泉涌,等.结合单高斯与光流法的无人机运动目标检测[J].计算机系统应用,2019,28(2):184-189.
[12]程德强,郭政,刘洁,等.一种基于改进光流法的电子稳像算法
[J].煤炭学报,2015,40(3):707-712.
[13]周凯汀,郑力新.基于改进ORB特征的多姿态人脸识别[J].计算机辅助设计与图形学学报,2015,27(2):287-295.
[14]李小红,谢成明,贾易臻,等.基于ORB特征的快速目标检测算法[J].电子测量与仪器学报,2013,27(5):455-460.