谢万鹏, 刘 欢, 吴银花, 陈 雷, 张 岩, 王文娜, 胡 佳, 韩 军*
(1. 西安工业大学 光电工程学院, 陕西 西安 710021;2. 西安工业大学 计算机科学与工程学院, 陕西 西安 710021)
本文主要探讨了对具有时间差波动的单色视频和彩色视频进行高精度配准的优化方法。近年来在监控安防中越来越多地使用双目相机作为视频采集设备,但双目相机之间存在微小且时而变化的时间差,并且摄像头时常进行摆头运动,若采用相同的配准矩阵对视频进行配准则所采集的视频会出现不可控的配准差异。这种配准差异虽然在人为观测时产生的影响较小但在使用机器学习等算法进行后续处理时则会产生较大影响。因此,需要针对这种不确定性时差波动进行进一步优化,以提高视频配准的准确性。
有许多学者在图像配准领域中做出了贡献。
其中,按照配准图像和待配准图像之间的关系,图像配准可分为同源图像和异源图像配准;按照配准所使用的方式,图像配准可分为传统方式和深度学习方式。近年来关于配准的研究有些采用了传统方法,如粒子群算法、蚁群算法和蜂群算法等[1]。另外,研究者也通过特征点的提取来进行图像配准。红外图像和可见光图像的配准方式被分为了互信息、特征提取和深度学习等3种大类[2-5]。一些方法使用图像位置信息和仿射中心不变性来提高无人机视频配准效果[6],而其他方法使用注意力机制[7]、轨迹预测[8]、特征点优化[9-12]、关键部位定位[13-15]等方式对配准进行优化。一些研究者还使用了监督[15-17]和无监督[18]深度学习模型直接生成变换矩阵的方式简化配准过程,使用多尺度的方式提高配准速度[19],使用归一化的方式提高配准准确度[20],或在简单场景中简化配准过程以大幅提高配准速度[20-21]。有些研究者使用Moravec 角点检测和SIFT 特征提取相结合的方式[22],或将图像分为高频子带和低频子带来提高配准精度[23],也有通过提取共性特征配准电站图像[24],还有一些研究者采用了人脸识别框的方式来加强鼻子位置的匹配准确率[25]。Zuo C 综述了各种图像计量方法,为图像质量整理了各种评价指标[26]。
包含可见光波段和近红外波段的单色视频和彩色视频具有相似但不完全相同的特征属性,仅使用互相关信息进行模板配准无法完成空间角度的变换,而使用特征尺度不变性进行配准则无法达到高精度配准的目的和要求,因而包含可见光波段和近红外波段的单色视频和彩色视频的高精度配准工作仍然需要进行进一步的探讨。由于视频流同时具有时序信息和空间信息,时序信息也可以作为视频配准的一大助力,但视频时序信息存在不确定性波动。目前常采用的同步触发机制可有效消除双目相机之间跨时间戳的时序误差,因此无需进行基于时间同步方法的时序修正,但仍存在小于帧间时间差的时间误差。对于小于帧间时间差的时序误差,使用现有时间同步方法不能有效进行修正,因而需要针对这种不确定性时差波动进行进一步优化。
本文的主要工作是针对这种具有时间差波动的单色视频和彩色视频提出高精度配准优化方法。首先使用尺度不变特征变换的方式对视频进行粗匹配,随后使用缩小互相关信息和通过金字塔模式修正配准矩阵的方式对视频进行配准再修正,并且基于视频帧的前后相似性对尺度不变特征变换中的特征点选择进行筛选,提高了单色视频和彩色视频的配准准确率,最终在公开数据集MICVV 上进行了测试,证实了算法的有效性。
尺度不变特征变换(Scale-invariant feature transform,SIFT)算法分为4 个步骤:尺度空间特征点检测、定位特征点、确定特征点方向和特征点描述。
SIFT 算法首先需要在图像中寻找特征点,在SIFT 中采用高斯核计算的方式对图像描述不同的尺度。通过尺度因子建立尺度空间,在其尺度空间内检测极值点,也就是特征点。
SIFT 算法需要对特征点进行定位。为了还原这些特征点原有的大小和方向,需要对这些离散的特征点进行平滑拟合,最终得到真正的特征点属性。
SIFT 算法需要确定特征点方向。SIFT 在确定特征点方向时采用了梯度直方图的统计方法,统计了特征点附近一块区域的梯度方向,并采用最大方向为当前特征点的主方向。
SIFT 算法需要对特征点进行描述,通过建立矢量矩阵的方式描述特征点的各区域方向属性。首先将所有特征点的邻域像素根据特征点的主方向旋转至同一方向,并将特征点的邻域像素分为4块,对4块区域分别统计方向直方图,最终得到消除亮度和特征点旋转影响的特征点描述符。
取得特征点描述后,SIFT 算法一般采用RANSAC 算法进行特征点的匹配,计算配准矩阵。
对于首帧配准,考虑到其配准精度会直接影响后续帧配准精度,本文算法的首要目标是提高首帧配准精度;对于后续帧配准,考虑到视频时序长带来的时间成本,本文算法着力于在保持高配准精度的情况下提高后续帧配准速度。
2.2.1 基于改进SIFT 方法的视频首帧粗配准
针对单色视频和彩色视频的配准问题,本文在SIFT 基础上进行了改进。由于使用双目相机进行视频采集时相机相对位置固定,时间差和硬件抖动带来的配准误差保持在一定范围内,因而可利用标记点对计算出的参考配准矩阵对RANSAC计算出的特征点对进行筛选,以增强算法稳定性。
在使用双目相机进行监控视频拍摄时,由于相机的镜头中轴线间距较小而所拍摄景物均与相机距离较远,所产生的空间变化不足以影响SIFT算法对特征点的描述,因此可使用透射变换矩阵作为配准矩阵。由于透射变换矩阵具有较高的自由度,使配准算法能够适应微小的空间变化,但需要充分的特征点对才能对矩阵进行精确推导。同时,为了避免误删有效特征点对,应有足够的备选特征点对以供筛选。
由于单色视频和彩色视频中相同位置的特征点对常具有完全不同的方向特征,且在双目相机拍摄的监控视频配准问题上方向波动较弱,使用8 或16 个方向判断对提高配准质量没有明显帮助。对于SIFT 算法来说,小于5°的方向误差对特征点搜索影响较小可以忽略,因此取消方向搜索不会降低算法敏感性,反而可以通过减少约束条件,增加特征点对的数量,对于具有后续筛选的配准算法具有很大益处。因而本文将SIFT 算法中特征点搜索方向数量由8 个减少到1 个,即不考虑特征点方向,进而确保在每张图像中寻找出100 个以上特征点对。
为了取得更为稳定的参考配准矩阵,分别在图像的4 个象限各选取一个标记点,参考配准矩阵和标记点对的关系如式(1)所示:
其中:x1表示在单色图像中标记点的横坐标,y1表示在单色图像中标记点的纵坐标,x2表示在彩色图像中标记点的横坐标,y2表示在彩色图像中标记点的纵坐标,由参数a1~a4、b1、b2、c1、c2、w(归一化系数一般设置为1)组成的3×3 矩阵是配准矩阵。利用4 个标记点对联立式(1)可求得参考配准矩阵。由于相机的相对位置固定,可利用参考配准矩阵粗略预测单色视频首帧中特征点在彩色视频首帧中的对应配准点位置,并与RANSAC 计算出的匹配特征点对比计算误差,删除误差大于设定阈值Dmax的特征点对,提高配准的稳定性。本文采用式(2)计算其中特征点对误差:
其中:x'1和y'1分别是特征点(x1,y1)通过参考配准矩阵预测得到的配准点坐标,(x2,y2)是RANSAC计算出的匹配特征点坐标。
2.2.2 视频首帧的配准优化
经过本文提出的改进SIFT 方法进行配准后,仍存在一定的配准误差。由于在视频中首帧配准精度往往对后续帧配准精度影响很大,因而需要对首帧粗配准结果进一步修正。本文采用互相关信息法进行首帧配准的进一步配准优化,通过微调变换矩阵修正配准点位置,SIFT 算法计算出的变换矩阵及其修正如式(3)所示:
其中,L1、L2、L3和L4为修正参数。
本文设计了一种步长金字塔模式,即通过多轮调节、逐步减小步长对修正参数进行调节,提高配准精确度。首先将修正过程分为t个调节轮次,每个轮次按照修正步长dLt对修正参数L1~L4进行修正,通过逐渐减小dLt的方式逐轮提高修正精度。其中在第t轮次中的修正方式为:对L1~L4逐个进行加或减运算以及包括原点共计算出9 个方向对应的配准矩阵,并根据这9 个配准矩阵得到9 张配准图像,通过与参考图像进行均方误差(Mean-square error,MSE)计算得到9 个数值,根据所得MSE 最小的调整方向对修正参数进行调整,连续执行第t轮10 次或最小方向为原点时进入下一轮次。各轮次中修正步长dLt的计算公式如式(4)所示:
其中:u是缩小系数,根据经验可知其数值不宜过小且应在0.7~1 之间,若过于接近0.5 则容易陷入局部最优解;t是调节轮次;dL0是初始修正步长。为了保证初始修正步长足够大,使用式(5)计算最小步长dL0:
其中:a1~a4为式(3)中的待调整参数,n是图像长边长度。
在经过t轮修正后,若修正步长小于最小修正步长mindL则认为达到配准目标。为了满足配准精度,采用式(6)确定最小修正步长mindL:
2.2.3 后续视频帧平移修正
由于视频具有时序长、运算量大等特点,视频的后续视频帧配准问题主要集中在配准速度和算法稳定性上。经过本文提出的改进SIFT 算法进行配准有效提高了配准精度。然而,在配准速度上,由于使用了SIFT 特征配准耗费了大量时间,因而需要使用新的方法对后续视频帧的配准速度进行优化。若使用前帧相同的配准矩阵对后续的视频帧进行配准变换,则由于单色视频与彩色视频中存在的时间差波动以及相机的摆动,随着相机的摆动,时间差的波动会导致原本应匹配的一对视频帧常出现一定程度的平移误差,因而需要对后续帧进行进一步修正。本文采用缩小互相关信息的方式进行后续帧的平移修正,通过对待配准视频帧进行平移变换的方式弥补由时间差波动和相机摆动带来的平移误差。平移变换中的坐标换算如式(7)所示:
其中:x'2和y'2分别是(x2,y2)经过平移修正后的横坐标和纵坐标,dx为x方向上的平移距离,dy为y方向上的平移距离。
dx和dy的修正方式仍然采用本文设计的步长金字塔模式。首先将修正过程分为t个调节轮次,每个轮次按照修正步长dLt对修正参数dx和dy进行修正,通过逐渐减小dLt的方式逐轮提高修正精度。其中在第t个轮次中的修正方式为:对dx和dy逐个进行加或减运算以及包括原点共计算出5 个方向对应的配准矩阵,并根据这5 个配准矩阵得到5 张配准图像,通过与参考图像进行均方误差(Mean-square error,MSE)计算得到5 个数值,根据所得MSE 最小的调整方向对修正参数进行调整,连续执行第t轮10次或最小方向为原点时进入下一轮次。在经过t轮修正后,若修正步长小于最小修正步长mindL则认为达到配准目标,即配准过程中标记点误差小于0.01 像素。
为了验证本文算法的可行性和有效性,在公开数据集MICVV 上进行了仿真实验,通过定性分析和定量分析进行了效果验证。
MICVV 数据集包含多种配准和未配准的连续视频帧,其中单色视频为包含可见光波段和近红外波段的视频,彩色视频为包含可见光波段的同场景视频。视频场景主要为校园监控场景,单色和彩色视频帧图像尺寸均为640×480,视频帧率均为15 fps。
为了验证2.2.1 节中视频首帧粗配准方法的有效性,针对单色视频和彩色视频的首帧分别使用传统SIFT 算法和改进SIFT 算法计算了配准点对,配准效果如图1 所示。
图1 配准效果及改进后的配准效果。(a)单色视频帧;(b)彩色视频帧;(c)原始RANSAC 效果;(d)改进后的配准效果。Fig.1 Registration effect and improved registration effect.(a) Monochrome video frames; (b) Color video frames; (c) Original RANSAC effect; (d) Improved registration effect.
根据图1 可知:(1)筛选后仍然保留了大量的配准点对,足以根据筛选后的配准点对计算配准矩阵;(2)筛选掉了大量不正确的配准点对,为配准计算增加了稳定性。配准点分布情况表明了2.2.1 节中视频首帧粗匹配方法有效,在保留大量正确配准点对的情况下有效消减了错误配准点对的数量,提高了算法的稳定性。
为了验证本文提出的视频首帧配准方法的有效性,对经过传统SIFT 算法得到的首帧配准图像和在改进SIFT 方法基础上进一步配准优化后得到的首帧配准图像进行了比较,并通过对配准图像进行棋盘化处理更精确分析配准误差,最后对能够看出配准差异的局部区域予以放大展示,结果如图2 所示。
图2 传统SIFT 方法与本文首帧配准方法效果对比。(a)单色视频帧;(b)彩色视频帧;(c)SIFT 配准后单色图像;(d)进一步配准优化后的单色图像;(e)SIFT 配准后的棋盘配准图;(f)进一步配准优化后的棋盘配准图;(g)具有1 像素误差的局部区域;(h)修正后误差几乎不可见素的局部区域。经过进一步配准优化后,图像两侧位置更加精确,标记点误差由1 像素缩小到不可察。Fig.2 Comparison of the effect of traditional SIFT method and the first frame alignment method in this paper. (a) Monochrome video frames; (b) Color video frames; (c) Registered monochrome images obtained by the improved method; (d) Monochrome images after further alignment optimization; (e) Board alignment chart after SIFT alignment; (f) Further alignment-optimized board alignment diagram; (g) Local area with 1 pixel error; (h) Error is barely visible in the local area of the vegetation after correction. After further alignment optimization, the position is more accurate on both sides of the image, and the marker point error is reduced from 1 pixel to almost invisible.
经过计算得到,使用SIFT 算法进行配准的耗时为2.628 s,使用改进SIFT 算法进行配准的耗时为2.463 s,进一步使用高精度修正方法进行配准时间增加到了4.163 s。使用SIFT 方法所得首帧配准图像的有效区域(非黑色边缘区域)MSE 为0.011 46,使用本文视频首帧配准(改进SIFT 方法加高精度修正)方法所得首帧配准图像的MSE 为0.011 37,即MSE 减少了0.79%。从图2 中的棋盘配准图可以看出,使用传统SIFT 方法所得到的配准图像标记点误差约为1 像素,而使用本文首帧配准方法后的标记点误差则不可察。
针对序列长度为100 帧的单色视频和彩色视频进行了配准实验,其中视频首帧配准采用2.2.1 和2.2.2 节中所提出的方法,后续视频帧采用了2.2.3 节中所提出的方法,并对配准结果进行了定性和定量分析。
对于定性分析,从上述视频帧中提取了第14、28、42、56、70、84、98 共7 个视频帧进行了对比分析,结果如图3 所示,其中每一帧包括了对应的单色视频帧、彩色视频帧、配准后的单色视频帧以及棋盘配准效果展示图。
图3 连续视频帧的配准效果,从上到下依次为第14、28、42、56、70、84、98 帧图像的对比图。(a)单色视频帧;(b)彩色视频帧;(c)配准后的单色视频帧;(d)棋盘配准图。Fig.3 Registration effect of continuous video frames. (a)Monochrome video frames; (b) Color video frames;(c) Monochrome video frames with registration;(d) Chess and card registration map.
根据图3 中的棋盘配准图可以看出,使用本文算法进行配准时,后续帧的标记点误差几乎不存在,且对不同时序帧均保持良好的配准效果,说明本文算法能够有效并高精度地完成单色视频和彩色视频的配准工作,同时具有时间上的稳定性。
对于定量分析,分别使用了本文算法和SIFT算法对上述的长度为100 帧的单色视频和彩色视频的配准效果进行了数字统计,所使用的单色视频和彩色视频尺寸均为640×480,统计包含上述视频7 个视频帧的各项指标和1~100 帧的各项指标平均值,其中包括有效区域均方根误差(MSE)、配准平均时间、结构相似性(SSIM)、峰值信噪比(PSNR)。MSE 计算了配准图像与待配准图像的L2 距离,SSIM 在多尺度上计算了配准图像与待配准图像的配准质量,PSNR 通过归一化的衡量方法对配准效果进行了评价。实验数据如表1 所示。
从表1可以看出,本文算法和SIFT算法在MSE、SSIM 和PSNR 等配准精度指标上差异不大,但SIFT 算法在第84 帧配准结果出现了较大的误差,MSE 误差、SSIM 和PSNR 分别达到了0.033 1、0.520 和14.002,算法稳定性略低。本文算法在整个视频序列配准中一直能够正常工作,没有出现明显的误差起伏,算法稳定性较好。在英特尔酷睿i5-10210U(1.60 GHz)上对100 张连续图像配准时,本文的平均配准时间为0.357 s,而使用SIFT 算法的平均配准时间为2.373,使用本文算法大幅缩短了配准时间。综上所述,本文算法在连续视频帧的配准工作中精度较高、速度较快且稳定性较强,相比SIFT 算法更加稳定,在大幅提高配准速度的同时配准精度波动较小且具有较高的稳定性,符合单色视频帧和彩色视频帧的高速和高精度配准要求。
本文根据单色和彩色视频数据集配准工作精度高、速度快的要求,提出了基于预估配准矩阵进行改进的SIFT 算法、适用于单色视频和彩色视频的高精度修正方法以及针对连续视频帧的平移修正的方法。通过定性分析实验证明了所提算法的有效性,并通过定量分析证明了所提算法的准确性和高效性。实验结果表明,相比于SIFT 算法,本文算法首帧配准的MSE 误差减少了0.79%,首帧的标记点误差由1 像素减少到不可察,在连续视频帧中平均每帧配准时间为0.357 s,同时标记点误差仍然保持不可察,很好地满足了全自动化单色视频与彩色视频配准的要求。