基于吉林一号视频卫星影像的实时车辆跟踪方法研究
2021-09-01朱泽尧胡庆武艾明耀
朱泽尧 胡庆武 王 玥 艾明耀
(武汉大学遥感信息工程学院 武汉 430000)
0 引 言
智能交通系统(ITS)是一个可以准时、准确、高效运行的交通运输管理体系[1-2],其中交通流实时监控是ITS的关键.利用固定在道路上的地磁线圈、摄像机等传感器计算通过传感器监视范围的车辆信息可进行道路断面车辆检测[3-4].但传感器使用和维护成本高昂,受制于传感器的断面单点检测[5]的空间覆盖有限,很难满足城市级别的交通流监控.近年来,越来越多的商业对地观测视频卫星在轨运行,包括美国SkySat-1,2、中国吉林1号视频卫星等.与传统地球观测卫星和地面车辆监控视频相比,视频卫星能够对指定区域的大范围“凝视”观测,可实现对观测场景的大范围动态监测,从而可以以高空间、高时间分辨率实时检测交通状况[6],在广域监测领域具有巨大的潜力和优势,已经成为一种新型智能交通管理手段.
基于交通监控视频检测车辆运动法包括背景差分法、帧间差法和光流法.王永超[7]利用自适应阈值方法,结合颜色和边缘信息针对场景光照变化和静止物体改变运动状态等情形,对背景差分法进行改进.何烈云[8]在帧差法进行车辆检测的基础上,运用视频处理技术.天基虚拟参照物,提高车速测算精度.曾黄麟[9]将帧差法和光流法融合,用帧差法检测运动区域,再利用差分影像的光流场进行运动车辆跟踪.刘国英[10]提出了一种二次帧差背景建模方法,利用连续帧差检测静态像素点,利用这些像素点构建背景,最后基于动态特征对车辆进行追踪.韩建峰[11]将灌流法与分水岭算法相结合,对前景产生的车辆粘连情况采用改进分水岭算法完成分割.Davis[12]根据获取大量车辆和周围环境的颜色、坡度和结构特性建立一个特征集,通过部分最小二乘分析对高维特征空间进行降维,并根据多级多分辨率策略加速建立特征集.Baligar[13]完全基于车辆的颜色特征进行检测.Beyerer[14]借助Faster R-CNN深度学习框架挖掘车辆的非语义特征.以上车辆运动检测方法通常使用基于特征方法对视频上中等尺寸车辆进行识别,但受到空间分辨率限制,卫星视频影像上的车辆一般只占几个到几十个像元,并且车辆和背景道路之间的对比度较低,使得基于地面高清视频车辆检测算法无法适用于视频卫星影像车辆检测.
视觉背景提取算法(visual background extraction,ViBe)是由Droogenbroeck[15]提出的一种像素级视频背景建模或前景检测算法,具有较好的鲁棒性和较高的检测效率.它在不同环境下表现出良好的适应性和实时性.本文提出了一种基于吉林一号视频卫星影像和ViBe算法的实时车辆跟踪方法,通过对吉林一号视频星的原始视频数据进行预处理,得到适用于车辆检测的影像帧序列,使用ViBe算法进行运动车辆检测,在道路约束下提取车辆位置、轮廓等信息.在此基础上利用车辆的形状和运动混合特征进行车辆跟踪,获取车辆的运动轨迹并计算车速交通参数,实现对城市广域范围交通流同步凝视监测.
1 方 法
文中提出的视频卫星车辆跟踪方法针对视频卫星的凝视特征,通过ViBe从视频卫星影像帧中可靠提取车辆,以连续视频帧影像进行车辆跟踪和车辆速度计算,进而实现对车辆跟踪监控,其算法流程见图1.
图1 方法流程
文中提出的视频卫星车辆跟踪算法主要包括四个步骤:①卫星视频数据的预处理;②基于ViBe算法的卫星视频车辆检测;③视频影像上检测车辆跟踪;④车辆速度计算.通过预处理,分离道路信息,利用ViBe算法对运动车辆进行检测.在得到检测结果后,提出了一种序贯车辆跟踪算法,实现对车速计算,通过实际视频卫星数据验证了本文方法的可行性和有效性.
1.1 视频卫星数据预处理
针对视频卫星数据特质,对原始视频卫星数据预处理步骤如下.
步骤1视频卫星抽帧 抽帧需要综合考虑视频卫星影像分辨率和车辆平均速度,吉林一号视频卫星影像分辨率为0.8 m,对车辆在卫星图像上估算运动速度为3~12像素/s,本文以0.5 s时间间隔提取帧影像.
步骤2车辆检测ROI区域设定 为了降低错检率并提高处理效率,以道路矢量图层设定一定缓冲区建立视频卫星车辆检测ROI区域,见图2.
图2 车辆检测ROI区域
步骤3随机噪声滤波 卫星视频采集和传输过程中,不可避免产生噪声.受限于成像分辨率,车辆在影像上表现为10像素左右,与噪声大小相近.不加处理时,随机噪声容易造成虚假运动信息.本文采用高斯滤波去除随机噪声,卷积模板为3×3.
1.2 改进的ViBe运动车辆检测
从视频卫星影像上运动车辆检测的ViBe算法步骤如下.
步骤1背景模型的建立 ViBe算法一个重要特点是采用单证影像进行模型初始化,对每一个像素x建立一个样本集M′(x)={V1,…,Vn}作为背景模型,背景模型的初始化过程就是对像素的样本集进行填充,为
M′(x)={V′(y|y∈N(x))}
(1)
式(1)为时刻t像素x的背景模型;N(x)为x的邻域.
步骤2前后景划分 记SR(x)为像素x在色彩空间中以V(x)为圆心的一个半径为R的圆;计算像素x背景模型中样本像素和V(x)的欧氏距离,统计背景样本落在圆内的个数#(SR(V(x)∩{V1,…,VN})),当个数大于阈值#min时,认为当前像素属于背景,否则归为前景,为
If #(SR(V(x)∩{V1,…,VN}))≥#min
x=background
elsex=foreground
(2)
步骤3前后景划分形态学车辆检测 运动检测实质是确定影像上的运动区域,得到前景和后景的二分图像,通过形态学算子进行后处理,分离各个运动车辆并得到相应位置和形状信息.本文用最小外接矩形对分离后的运动车辆进行框定,以最小外接矩形的中心坐标作为车辆的位置坐标,最小外接矩形的长宽比和周长作为车辆的形状信息.车辆Vi的特征为(xVi,yvi,rationVi,areavi),分别指车辆Vi最小外接矩形中心坐标、长宽比和车辆所占面积.
步骤4二次帧间差快速消除鬼影 背景模型初始化时,背景包含运动目标,可能会导致前景图中出现鬼影.ViBe背景更新策略去除鬼影较慢,帧间差法可以快速确定运动区域.基于此特征,文中对相邻帧做帧差法得到前景图,与ViBe算法得到前景图进行与运算,快速消除鬼影区域.m1为当前待处理影像,m0,m2为m1的前一帧和后一帧影像.对m0,m1和m1,m2执行帧间差得到前景图n0,n1,n2为通过ViBe算法得到的前景图.将帧差法和ViBe算法得到的检测结果进行与操作,已实现快速去除鬼影区域.考虑到存在车辆重叠情况且在短时间车辆被视作匀速直线运动,m0,m1和m1,m2的时间间隔不同.
n3=(n0∪n1)∩n2
(3)
1.3 卫星视频车辆跟踪
车辆检测结果中存在错误检测,通过车辆跟踪获取车辆运动轨迹,进而利用车辆运动信息进行二次滤波,提高检测的正确率.车辆跟踪的实质是对于每一帧检测得到的车辆和下一帧的检测结果进行匹配,根据匹配结果得到该车辆的运动轨迹.本文提出一种形状和运动混合特征的车辆跟踪方法(见图3),其基于如下设定:对于真实的运动车辆,它的运动轨迹应该是连续的,并且在一个短时间域内可以视作是一条直线.
图3 单个车辆跟踪算法
文中提出一种形状和运动混合特征的车辆跟踪方法主要包括基于车辆形状的初匹配和基于车辆运动特征的轨迹跟踪两个部分.在对同一目标车辆跟踪完成后,重复进行下一目标的跟踪,循环完成所有车辆的跟踪.
1)基于车辆形状的初匹配 每一真实车辆在影像序列上对应一条运动轨迹,不同帧间的位移对应轨迹上的一段,因此将每一帧影像上的车辆分为两种状态,为
n=1,2,…,N
(4)
对于state=-1的车辆(及未确定所在轨迹车辆),通过形状特征在下一帧影像上寻找匹配的车辆,根据对应车辆在两帧影像上位置,建立初始运动轨迹.按照式(5)进行车辆匹配.
match(V1,V2)=
(5)
式中:area(V1)为车辆V1所占面积;ratio(V1)为车辆V1最小外接矩形框的长宽比;相邻两帧之间,面积和长宽比分别小于阈值T1,T2的车辆将被视作同一车辆.
(6)
车辆跟踪环节在相邻帧影像间进行搜索匹配车辆时,存在建筑物阴影、高架桥、隧道遮挡和车辆漏检情况,会导致车辆跟丢.因此,本文建立了一个车辆预测函数,当前车辆在下一帧影像中没有找到符合条件的匹配目标,则当前车辆在后nFrame帧影像上位置的预测值为
(7)
式中:(xi,yi)为车辆在第帧上的位置坐标;(xPrei+nFrame,yPrei+nFrame)为车辆预测得到的在i+nFrame帧上的位置坐标;dis和ori为车辆最新一段轨迹距离和方向.当出现车辆跟丢的情况时,根据预测函数计算车辆在后nFrame帧影像上位置,将和预测位置最近的相似目标判断为同一车辆,并更新车辆对应的运动轨迹.
1.4 运动车辆车速计算
得到的车辆运动轨迹后,可以确定车辆在每一帧上的位置.利用车辆对应像素在不同间的移动距离、卫星视频空间分辨率和帧序列的时间间隔,为
resolution*3.6 km/h
(8)
式中:n1(x,y),n2(x,y)为车辆Vi在n1,n2帧影像上的位置;dt为相邻帧时间间隔;resolution为影像的空间分辨率.
2 实验及结果分析
2.1 实验数据及评价指标
实验采用2017年4月拍摄的中国天津地区的吉林一号视频影像数据.吉林一号卫星组包括一颗光学遥感卫星、两颗视频卫星和一颗技术验证卫星,卫星轨道均为高约650 km的太阳同步轨道,其中视频星获取的影像空间分辨率达1.12 m[16],成像方式为凝视成像,具体参数见表1.
表1 “吉林一号”视频星数据
为了定量评价车辆检测方法优劣,使用以下两个指标评价检测质量:Completeness,Correctness.计算方法为
Completeness=TP/(TP+FP)
Correctness=TP/(TP+FN)
(8)
式中:TP为被正确检测到的车辆;FN为未被检测到的车辆;FP为误判为车辆的其他区域.
2.2 实验结果分析
1)运动车辆检测 选取卫星视频影像上天津火车站高架附近的道路进行运动车辆跟踪实验,将本文ViBe算法与经典的背景差分法和三帧差法进行对比,其中背景差分法选取前10帧影像,采用帧平均法建立背景,三帧差法采用二维交叉熵阈值对运动检测结果进行分割.在得到运动前景图后,考虑到车辆在影像上面积,对单连通区域大于25像素的前景块进行剔除.背景差分法存在一定数量的残余车辆,在车辆密集区域,背景道路被车身遮挡,无法区分前景和背景导致误判,而ViBe算法检测误判优于传统的背景差分法.特别是在车流密集的地方,ViBe算法在识别运动车辆时表现出更稳健的检测性能.
进一步根据以下准则定量计算检测结果:对于用最小外接矩形框定的区域,有多个像元与实际运动车辆重叠,那么就被判断为正确检测(TP),否则归为错误检测(FP);FN指的是没有被识别的车辆.表2~3为不同区域算法的结果对比.
表2 第300帧影像上车辆密集区域检测结果对比
表3 第300帧影像上车辆稀疏区域检测结果对比
由表2~3可知,ViBe算法车辆检测无论是在车辆密集区域还是稀疏区域均优于传统的背景差分算法,在车辆密集区域,传统背景差分法检测正确率低于50%,而Vibe算法处于80%左右;对于车辆稀疏区域,Vibe算法正确率和完好率均在90%以上.
2)运动车辆跟踪及车速计算结果 图4~5为本文方法车辆跟踪结果,不同颜色线表示不同车辆运动轨迹.可以看到车辆轨迹限制在车道范围内,轨迹方向基本和道路一致,车辆转弯等非直线运动情况也能够很好的检测.在非车辆密集区域,运动轨迹和道路边界形状符合的很好,位置相近的运动车辆的轨迹相似.但由于同一车辆得到的运动轨迹的准确性取决于基于形状的估计初始化,在车辆密集区域,基于形状特征进行匹配的精度不高,会出现错误的车辆轨迹.
图4 部分区域车辆跟踪结果
图5 遮挡区域利用预测函数处理前后单车辆跟踪结果
在一段时间内道路上的车辆行驶平均速度可以直观反映交通路况,以此制定合理的交通规划.表4万根据车辆跟踪轨迹计算得到的部分车辆速度数据.
表4 部分车辆在卫星视频拍摄时间段的平均速度
由表4可知,采用视频卫星跟踪车辆计算的平均速度在40~70 km/h,与高架区域车速限制在80 km/h下相符,因此,利用视频卫星数据可计算车辆运动速度.进一步统计648个检测车辆在20 s范围内的平均速度分布,见表5.
表5 跟踪车辆平均速度分布
由表5可知,平均车速集中在30~60 km/h,少数车辆超过限速,说明得到的车辆平均时速是符合实际情况,也进一步论证了利用卫星影像进行车辆跟踪从而进行大范围城市交通状况监测是可行的.
3 结 束 语
遥感卫星获取影像视频凭借全天候、大范围的特点,使得在城市广域范围内进行车辆检测和交通状况监测成为可能.本文以吉林一号视频卫星为例,提出了基于视频卫星数据进行车辆检测和动态跟踪方法,可瞬时计算城市广域范围内车辆数量、运动轨迹、车辆运动速度等信息,为城市智能交通系统建设提供了一种高时间、高空间分辨率、大范围的在线交通监测手段,具有广泛的应用潜力.随着卫星视频的分辨率将进一步的提高,运动车辆在影像上的表现更精确,视频卫星在智慧交通领域具有广泛的应用前景.