刘玉清,刘 成,敖雪聪
1.中国科学院 国家空间科学中心 复杂航天系统综合电子与信息技术重点实验室,北京 100190
2.中国科学院大学 计算机科学与技术学院,北京 100049
在机载相机对飞机目标的视频摄取与监视中,航空平台的抖动引起视频的抖动,不利于实时观察与后续处理,需进行视频稳像处理。
视频稳像分为机械稳像、光学稳像、电子/数字稳像[1]。单纯的机械稳像效果有限,通常与光学稳像相结合,但会增加成本和设计难度。光学稳像不适用于大角度运动的图像补偿,且制造工艺复杂度高[2]。近年来的研究主要集中在电子稳像方面,多采用三步法:运动估计、运动补偿和图像修补。
机载视频多为地面、云层和天空背景,具有背景纹理稀疏、变化大、特征点难以提取的特点,前景目标具有运动幅度大、速度快的特点,与自然场景稳像区别大。
当前机载场景稳像研究目前较少,多采用传统的稳像算法。文献[3-5]使用灰度投影法结合卡尔曼滤波进行机载视频的稳像,在C++等平台上实现,达到了实时,但基于灰度投影的算法应对光照和尺度等变化的效果并不理想。李迪等人[6]使用模糊神经网络对微型飞行器的抖动进行预测并依此去除抖动达到稳像效果。这种算法适用于微型飞行设备拍摄静止目标,难以去除空对空拍摄气流等导致的随机运动的影响。文献[7-10]针对机载视频的稳像算法均以改进特征检测和路径估计等作为切入点,以改进的特征点或块匹配算法提取视频运动路径,配合卡尔曼滤波进行路径平滑。Grundmann等人[11]用线性规划的方法,最小化所示相机路径的一阶、二阶和三阶导数的组合,将相机的运动路径拟合为常数、线性和抛物线线段的组合,得到稳定的视频。但该算法在整个视频运动路径上进行优化,不能满足实时处理的需求。
面对云层或地面背景,Shi-Tomasi角点检测[12]算法能够应对光照和旋转,可以通过参数调整增强背景中稀疏特征点的提取能力,可选取为机载场景特征点提取的基础算法。但机载场景变化大,背景稀疏程度不同,需使用不同的角点提取参数,手动调整难以满足实时需求。
面对基本没有纹理特征的天空背景,难以提取到有效背景特征,需结合前景运动进行稳像,使用卡尔曼滤波进行运动路径优化的方法,计算量小、实时性强,但倾向于将前景运动尽可能拟合为直线运动,当前景运动幅度大、速度快时,会产生图像偏移过大的问题,不利于图像的修补和展示。
为适应不同稀疏程度的地面和云层背景,提出自适应Shi-Tomasi角点检测算法,根据检出背景点分布进行参数的自适应调整。为约束视频帧在稳像过程中的位置偏移量,考虑通过建立带位置约束的优化方程,计算最优的视频运动路径。
本文所做的主要工作有:
(1)提出自适应的Shi-Tomasi角点检测,根据机载视频背景稀疏情况自适应调整算法参数,以满足复杂机载场景特征点提取需求,提高特征点检出能力。
(2)将路径最优化拟合算法修改为实时,权衡稳像的平滑性和偏移量,寻找最优稳像路径,解决快速相对运动情况下基于滤波的稳像算法画面偏移大的问题。
(3)仅使用第t、t-1与t-2三帧图像,对t时刻的视频帧位置进行优化计算,计算量小,满足了机载场景的实时需求。
在视频稳像中,估计视频的前后两帧的帧间的相对运动,得到相机原始运动路径。前后两相邻帧间的运动形式主要有平移、旋转、缩放等,由于视频稳像中前后两帧成像间隔短,忽略缩放运动影响,帧间的复合线性运动模型可以表示为:
其中x、y以及x′、y′分别表示相邻帧中某一对应点的横纵坐标,Δα表示相邻帧间绕图像中心的相对旋转,Δx和Δy分别表示相邻帧间对应点在水平和竖直方向的平移分量。
在机载视频中,设原始相机路径为Xt,其中下标t表示当前帧为视频中的第t帧,视频帧序列用(I1,I2,I3,…)表示。如图1、2,用线性运动模型Ft(x)表示相邻视频帧对(It,It-1)中的特征点从It到It-1的运动。则:
图1 稳像模型示意图Fig.1 Image stabilization model
给定原始视频路径Xt,将希望到的稳定视频路径表示为:
在稳像过程中,通过运动估计计算出线性运动模型Ft,进而累加计算出原始视频路径Xt,通过平滑滤波或路径拟合等方法得到平滑路径Pt后,通过可计算出由原始路径到平滑路径所需视频帧变换矩阵,对原视频帧进行变换后即可得到稳定视频。
图2 天空背景稳像模型示意图Fig.2 Sky background image stabilization model
优化稳像算法的整体流程如图3所示。提取视频帧特征点后,使用具有金字塔的迭代的Lucas-Kanade算法[13]进行帧间对应点匹配,以计算原始运动路径。
图3 算法整体流程Fig.3 Overall flow of algorithm
Shi-Tomasi角点检测算法是Harris角点检测的改进算法。Harris角点检测根据角点像素性质,使用图4所示的一个矩形窗口在图像中移动,当窗口覆盖区域为平面或边缘时,窗口的任意方向移动不会大幅改变窗口内的像素值。覆盖区域为角点时,任意方向的移动均会导致像素分布的剧烈变化。
图4 Harris角点检测窗口示意图Fig.4 Windows of Harris corner detector graph
设矩形窗口中心位于图像(x,y)处,像素灰度为I(x,y),当窗口向x和y方向分别移动u和v,到达(x+u,y+v)处时,设此处像素灰度值为I(x+u,y+v)。w(x,y)为此处窗口内各像素权重,则移动一小段距离后,窗口内的灰度值变化为:
当窗口包含角点时,E(u,v)很大。因此,通过最大化E(u,v)可计算得到图像中角点的位置。为简化计算,将I(x+u,y+u)进行泰勒展开:
其中Ix和Iy分别表示图像在x和y方向的梯度。则:
其中,M为:
对角化为:
Shi-Tomasi角点检测算法提出角点的稳定性与M中较小的特征值有关,窗口中的强度变化受最大允许像素值的限制,因此较大的特征值不能任意大。根据矩阵特征值的性质,两个小特征值意味着窗口内的强度分布大致恒定。一大一小的特征值对应一个单向纹理模式。两个大特征值代表角点、椒盐纹理或任何其他可以可靠跟踪的模式。因此将响应函数R取为:
设定阈值T,若R>T,则视为角点。因此,图像中检测到的角点数量除取决于图像纹理外,还取决于阈值T的大小。对背景纹理稀疏的机载视频,适当降低T,可检测出更多角点。
机载视频的背景特征复杂,主要有稠密云层背景、稀疏云层背景、稀疏地面背景、天空背景等,如图5。
图5 机载场景复杂背景Fig.5 Complex background of airborne scene
对不同背景视频,为检测足够的背景特征点,需选用不同的Shi-Tomasi阈值,如图6所示,当阈值为0.01时,稀疏云层背景难以检测到特征点,特征点集中于纹理更为明显的前景目标上,而稠密云层背景可以检测到背景特征点。当阈值为0.003时,稀疏云层背景可以检测到特征点,稠密云层背景检测到的特征点过多,易将一些噪声识别为特征点,同时降低后续计算速度。
图6 不同背景中检测到的特征点Fig.6 Difference of feature points detected on different backgrounds
为自适应地对Shi-Tomasi角点检测算法的阈值进行调整,满足复杂机载场景中实时处理的需求,提出图像特征点提取的自适应Shi-Tomasi算法,具体流程如图7所示。
图7 自适应Shi-Tomasi角点检测算法流程Fig.7 Adaptive Shi-Tomasi corner detection algorithm
设定初始化为一个较大的值,设图像宽度为W,距离W1=W×k,判断当前帧中检测到的最左角点与最右角点间的水平距离是否大于W1。若不大于,认为检测到角点的分布过于集中,未检测到足够背景特征点,适当减小阈值。若大于W1且检测到的角点数量过多,为避免检测到噪声点和增大后续处理时间,适当增大阈值。
将阈值T的变化步长设为t,由当前阈值T的大小决定,采用快适应、慢恢复的方式对T进行修改。测试发现,0.002以上的阈值T取值能够满足多数稀疏场景的需求,为避免天空背景下T的无限减小,当阈值T减小到0.002以下时,不再对其进行减小。
自适应过程中,需确定参数k和N的值。为应对空中场景的复杂性,如云层分布于部分背景中的情况,将k取为小于1的值。具体的取值由实验选取。
在自然场景的实时视频稳像系统中,一般使用卡尔曼滤波算法进行视频运动路径平滑。卡尔曼滤波算法[14]是一种进行最优估计的算法,计算过程分为预测和更新两个阶段。
稳像时,首先通过前两帧之间的位移对当前帧的位置进行预测,得到预测值,之后结合特征点匹配计算得到的观测值,计算当前位置的最优估计,得到稳定路径。
当机载场景为天空背景时,背景特征点难以提取,稳像算法估算前景运动路径,并对其进行优化。在滤波过程中,卡尔曼滤波算法倾向于将运动状态拟合为线性。当前景目标运动幅度大、运动速度快时,卡尔曼滤波不考虑对画面的补偿程度,使得视频帧随前景产生大幅度运动,降低视觉效果。
如图8所示,其中左边为原始视频帧,右边第一列为经卡尔曼滤波处理后产生大幅度偏移的视频帧,右边第二列为经优化稳像算法处理后的视频帧,解决了画面偏移的问题。
图8 不同稳像算法效果对比Fig.8 Comparison of different image stabilization algorithms
针对基于滤波的算法存在的画面偏移过大的问题,考虑通过优化算法,在可行域中添加约束,限制视频帧的偏移量,寻找最优平滑曲线。
在路径平滑阶段,本文提出带约束的实时路径优化算法。仅使用当前视频路径位置及前三帧视频路径位置,同时考虑路径的平滑性和跟随性两个方面,在实现路径平滑的同时,保留相机的原始运动意图。
3.2.1 平滑性优化条件
为实现实时的视频运动路径平滑,考虑特征点在第n帧(当前帧)、第n-1帧和第n-2帧的位置,将视频帧的运动拟合为静止、匀速运动和匀加速运动的组合。三个部分分别表示如下:
其中,xn表示视频中第n帧图像经过平滑处理后在视频运动路径中的位置,包括相对视频的第一帧图像在水平方向、竖直方向以及旋转的偏移量。以上三个优化方程分别将视频相邻帧的路径变化假设为静止、匀速运动与匀加速运动。其中,dL最小化当前帧位置与前一帧位置,即两帧间的相对运动。d2L最小化第n帧相对第n-1帧的运动与第n-1帧相对第n-2帧对应点的运动,即运动速度。d3L最小化加速度。
3.2.2 跟随性优化条件
在进行路径平滑的同时,为保留目标的原始运动意图,在构建优化公式时考虑视频帧优化后的位置与原始位置之间的偏移:
其中,xn表示视频中第n帧图像经过平滑处理后在视频运动路径中的位置,xn-ori表示视频中第n帧图像在视频运动路径中的原始位置。约束Δd的大小,可以限制平滑后位置相对原始位置的偏移量,从而尽量保证原始的运动意图不因平滑优化而丢失。
3.2.3 路径优化方程
将以上约束分量进行组合,得到机载视频的路径优化方程:
其中,λi,i∈(1,2,3)为优化分量的权重系数,通过对权重系数的调整,得到最合适的运动方式组合。对视频中的任意第n帧图像,使用优化方法最小化f(xn),即可得到实时的视频优化路径。
在优化过程中,加入约束条件:
其中,dist为人为设定的距离约束,包含视频帧位置的上下位移、左右位移和旋转位移三个分量。在实现路径平滑和跟随性的同时,将画面偏移限制在一定范围内,实现稳像与画面偏移间的平衡,解决画面大幅度偏移导致的视频稳像失效问题。
该问题属于凸二次规划(convex quadratic program,convex QP)问题,在寻找最优解时,使用运算符拆分二次规划(operator splitting quadratic program,OSQP)求解器[15]进行求解。
重建模等图像修补方法计算量大,不适用于实时系统,采用裁剪的方法进行图像修补。优化方法中的补偿位移约束为图像的修补提供了依据,根据图像补偿中的位移约束,确定图像边缘的具体裁剪宽度。
选择具有不同背景和目标运动方式的典型机载视频对稳像算法的效果进行验证,如图9所示。
图9 典型机载视频Fig.9 Typical airborne video
实验使用的计算机配置为NVIDIA GeForce GTX 1660Ti显卡,Win10操作系统。
对稳像算法的效果进行定量评估时,使用视频的帧间变换保真度(interframe transformation fidelity,ITF)[2]。ITF的计算公式为:
其中,Nframe表示视频总帧数,PSNR(i)表示连续两帧i和i+1帧之间的峰值信噪比。ITF用来衡量帧间平滑程度,值越大,代表稳像效果越好。
(1)k的选取
对k的取值对稳像效果的影响进行测试,ITF变化如表1所示。可以看到,左右角点分布范围越大,稳像效果越好。但机载平台成像背景复杂,合适的距离能够考虑更多背景分布情况,如某一部分存在稀疏特征,其余部分无法提取特征的情况。且随着角点距离的增大,图像ITF增大效果有限,故在实际应用中,将k取值为3/4。
表1 k对视频稳像的影响Table 1 Influence of k on video image stabilization
(2)最大角点数量N的选取
过多的特征点会降低运算速度,且对运动估计精确度的提升作用有限,如表2所示。因此,当检测到的角点数量大于150时,认为角点数量的增加对视频稳像效果提升有限,开始停止增大阈值,并适当减小阈值。
表2 特征点数目N对单帧计算时间和ITF的影响Table 2 Influence of number of feature points N on single frame computation time and ITF
自适应阈值Shi-Tomasi角点检测效果如图10所示,背景特征稀疏和前景特征更为明显的特点,造成初始帧特征点集中于前景区域。随着阈值的自适应调整,阈值逐渐减小,更多的背景特征点被检测出来。
图10 Shi-Tomasi阈值与角点自适应调整过程Fig.10 Shi-Tomasi threshold and corner adaptive adjustment process
以上述典型机载视频为例,使用基于自适应Shi-Tomasi优化稳像算法进行效果测试,如表3所示。
表3 自适应Shi-Tomasi实时路径优化算法与其他算法对比Table 3 Adaptive Shi-Tomasi real-time path optimization algorithm compared with other algorithms
视频1和视频2为天空背景视频,算法依靠前景运动进行稳像,表3中视频1和视频2经处理后出现的两个加粗异常值,为画面偏移过大、稳像失效的结果。ITF根据相邻两帧之间逐像素的差异进行计算,差异越小,认为运动越平稳,ITF越大。当画面偏移过大,整个画面偏移到视野之外时,整个画面为黑色,此时相邻帧对应像素完全相同,ITF计算值很大。在未出现失效的算法中,自适应Shi-Tomasi优化稳像算法达到最优稳像效果。
在以视频3、4、5为代表的不同背景视频中,除个别失效算法外,所提出的算法均达到最优稳像效果。因此,自适应Shi-Tomasi优化稳像算法能够应对各种机载场景的稳像需求,同时处理速度达到20 frame/s以上,满足实时需求。
对两个典型天空背景视频,使用其他典型实时视频稳像算法和提出的自适应Shi-Tomasi特征点实时路径优化的稳像算法进行处理后,抓取其中的典型视频帧对稳像效果进行定性分析。
图11展示了两个典型视频经算法处理后的对应帧。在天空背景视频稳像实验中,现有的实时稳像算法均出现了不同程度的偏移过大导致视觉效果降低的现象,基于带约束优化的算法在稳像的同时限制视频帧的偏移量,能够满足机载天空背景视频的稳像要求。
图11 不同稳像算法在天空背景视频上的对比Fig.11 Comparison of different image stabilization algorithms on sky background video
图12为视频2、3、4的路径优化效果示意图,对每个视频,由上至下分别表示稳像前后视频帧相对于第一帧视频在x(水平)方向、y(竖直)方向和旋转方向的运动路径,虚线为原始视频路径,实线为经过稳像后的视频路径。可以看到,稳定后的视频运动路径与原始路径相比,运动路径得到显著平滑,也在一定程度上保留了原始的运动意图。
图12 优化稳像前后视频路径图Fig.12 Video path diagrams before and after optimizing image stabilization
针对机载视频背景特征变化大、前景目标运动速度快、运动幅度大导致的特征提取困难、使用传统路径优化算法造成画面大幅抖动的问题,提出自适应Shi-Tomasi优化实时稳像算法。
针对机载视频常因天空、云和模糊地面背景稀疏提取特征点困难的问题,采用自适应阈值Shi-Tomasi角点检测算法提高特征点检出能力,以自动适应空中复杂多变的场景。
针对完全天空背景无法提取背景特征点、前景运动大导致的画面偏移大问题,将其运动拟合为静止、匀速运动和匀加速运动的组合运动,同时在优化过程中对画面偏移量进行约束,在画面偏移量有限的情况下实现稳像效果。该算法在稳像的同时,能够适应天空、云层和地背景等多种场景的空中稳像,有效解决了画面偏移过大的问题,处理速度达到20 frame/s以上,能够满足实时处理的需要。
近年来,随着深度的发展,一些基于神经网络的稳像方法[16]也被提出,对视频稳像提出了新的思考。但这种方法也存在局限性,网络参数的训练需要大量的使用场景的数据来支撑;由于网络泛化能力的限制,大多只使用于某几类场景的稳像;难以完全按照原理和改进方向设计网络结构等,因而在机载场景下的应用还存在困难,需要进一步的研究。