本发明涉及智能交通技术领域,更具体的说是涉及基于交通视频场景的机非人实时轨迹提取方法。
背景技术:
实际混合交通场景中,机非人实时轨迹数据是进行交通动态冲突预警等智能主动安全控制技术的基础。基于现有的交通视频监控网络,对获取的交通视频图像进行分析,实时提取机非人轨迹,继而进行冲突预警等应用,在交通领域中是一种具有代表性和实际应用前景的方法之一。然而现有研究多注重车辆的检测与跟踪单一应用,其解决方案很少关注交通场景中的实际应用,很少从整个实际交通场景应用角度研究机非人多目标实时轨迹提取整体解决方案。
交通视频场景下机非人实时轨迹提取面临一些困难和挑战,如轨迹提取中实时性低、实用水平不高。目前交通视频轨迹提取多需基于视频图像帧手工标注且同时只能提取一辆车的轨迹,如geroge、tracker、ngsim软件,不能适用于机动车、非机动车、行人混行的实际交通场景。
因此,如何提供一种交通视频场景下机非人多目标实时轨迹提取方法是本领域技术人员亟需解决的问题。
技术实现要素:
有鉴于此,本发明提供了一种交通视频场景下机非人多目标实时轨迹提取方法,实现将提取的多目标轨迹自动匹配到机非人不同交通实体和其不同交通流向。该方法可提供各种交通视频场景的机非人实时轨迹数据提取,进而为实时交通安全预警、车辆行驶安全评价、微观交通特性分析等提供基础数据支持。
为了实现上述目的,本发明采用如下技术方案:
一种交通视频场景下机非人多目标实时轨迹提取方法,包括以下步骤:
s1目标检测:读取视频帧,并检测每一帧中所有交通实体目标;
s2目标识别:利用所述交通实体目标的二维面积和长宽比特征,识别出每一帧所述交通实体目标的类别,所述类别包括机动车、非机动车和行人;
s3目标实时匹配跟踪:将每一帧识别出的所述机动车、所述非机动车和所述行人与之前存放的各个目标的轨迹逐一进行匹配,如果匹配成功,则加入所属目标进行存放,否则作为新目标存放;
s4目标轨迹修正:基于之前存放的交通实体目标轨迹,运用卡尔曼滤波对新加入所属目标的当前帧目标轨迹信息进行修正,消除检测噪声误差,使目标轨迹整体平滑真实;
s5目标轨迹提取以及确定目标行驶方向:检索所有已存目标,提取出同一属性的目标轨迹;并通过所述目标轨迹开始坐标位置和结束坐标位置,确定该目标的行驶方向。
进一步,在所述s1中,利用背景差分法检测目标,公式为:
ff为当前视频帧,bf为背景图像,t为灰度差分阈值,如果ff与bf的像素点的差值小于阈值t,则判定当前像素点不是运动区域,算为0,否则,判定当前像素点在运动区域内,算为1,df(x,y)为运动区域图像。
进一步,所述s2目标识别的具体步骤为:
s21:提取目标矩形框
d=g[df(x,y)](2)
d={(xi,b,yi,b)|i∈n+,b=1orb=2}(3)
其中,点集d表示目标矩形区域的左上角坐标和右下角坐标的集合,b=1时,(xi,1,yi,1)表示目标矩形区域的左上角坐标,b=2时,(xi,2,yi,2)表示目标矩形区域的右下角坐标,i是目标的序号,n=[1,2,......i],函数g(x)是轮廓提取;
s22:计算目标中点坐标
其中,x、y是目标i的中点坐标,中点坐标代表目标i的坐标;
s23:计算目标的高度和宽度
其中,wi、hi分别表示目标i的宽度和高度;
s24:识别目标并划分目标的类型
其中,类型0表示机动车,类型1表示非机动车、类型2表示行人;ls1~ls6是根据具体视频画面比例预先设置的面积阈值,lr1~lr6是根据具体视频画面比例预先设置的宽高比阈值。
上述进一步技术方案的有益效果为:本发明提出利用交通实体目标的长宽比和二维面积特征,实现视频中机动车、非机动车和行人交通实体目标的分类识别,可解决实际交通场景中摄像头拍摄的车辆转弯时的长宽比变化大和不同方向行驶的车辆的长宽比不同,从而难以实现机非人的精准区分等问题。
进一步,所述s3目标实时匹配跟踪的具体步骤为:
s31:判断含有所述目标的视频帧是否为第一次检测到目标的视频帧,若是,则将该第一批目标视频帧进行保存,并记录所述目标包含的坐标以及时间,并进入下一视频帧的目标识别s2;若不是,则将匹配成功标志清零,进入s32;
s32:利用第一批目标视频帧中目标的坐标以及时间,对当前检测出的临时目标逐一进行匹配,若与某一类目标匹配成功,则加入该类目标进行保存;若与保存的各个目标都不匹配,则作为新目标保存所述临时动态目标的坐标以及时间,目标速度标志位置清零。
进一步,所述s32的具体步骤为:
s321:计算所述临时目标的临时位移以及临时时间间隔,其计算公式如下:
dx=|x-xi,p(i)-1|(7)
dy=|y-yi,p(i)-1|(8)
δt=|t-ti,p(i)-1|(9)
其中,dx,dy分别表示x方向、y方向临时位移大小,δt表示临时时间间隔,x、y表示当前临时目标的坐标,xi,p(i)-1、yi,p(i)-1为第i个目标的上一次被检测到的坐标,t表示当前临时目标的帧数,ti,p(i)-1为第i个目标的上一次被检测到的帧数;
s322:利用所述临时位移计算临时行驶角度a,其计算公式为:
s323:根据所述临时行驶角度a计算临时的下一状态行驶角度变化区间的最大值amax和最小值amin:
s324:判断所述临时目标是否已经求得速度,若是,则执行s325,否则,执行s326;
s325:判断所述临时位移、所述临时时间间隔以及所述临时行驶角度是否满足与被匹配目标上一状态匹配的限制条件:
其中,k表示系数,取值为2,ld表示位移的最大限制,lt表示时间间隔的最大限制,ld、lt和视频的视野、比例大小有关,根据实际交通场景人为设置,amin、amax是第i个目标确定的行驶角度变化区间的最小值和最大值;
若满足上述条件,说明所述临时目标是当前被匹配目标上一个状态的下一个状态,执行步骤s327,若不满足,将所述临时目标和已保存的下个目标进行匹配;
s326:判断所述临时位移和所述临时时间间隔是否满足与被匹配目标上一状态匹配的限制条件:
若满足上述条件,说明所述临时目标是当前被匹配目标上一个状态的下一个状态,则将临时目标加入该类目标进行保存,并执行步骤s327,若不满足,将所述临时目标和已保存的下个目标进行匹配。
进一步,s4目标轨迹修正具体步骤为:
s41:根据临时目标加入的被匹配目标上一个状态信息,计算所述临时目标的当前轨迹预测值;根据当前检测的所述临时目标当前视频检测的状态信息,对所述当前轨迹预测值进行卡尔曼滤波修正,得到所述临时目标的卡尔曼滤波校正坐标;
s42:根据所述卡尔曼滤波校正坐标,更新所述临时目标的状态,并保存新状态的参数,作为下一次匹配的限制条件,匹配成功标志位置1,速度标志置1。
进一步,所述s41的具体步骤为:
s411轨迹预测:根据临时目标加入的被匹配目标的上一个状态信息,计算临时目标的当前状态预测值,其状态预测方程组为:
xt-=fx’t-1+but(17)
其中,
其中,δt表示临时目标的临时时间间隔;
s412轨迹修正:根据临时目标当前视频帧检测的状态信息,修正临时目标的当前状态预测值,得到临时目标的当前状态修正值,其修正方程组为:
x’t为当前状态修正值,
其中,
x、y表示当前图像处理的临时目标的坐标,vx,vy是临时目标的速度;
最终确定的当前状态修正信息x’t为:
t时刻临时目标修正坐标位置x’t=(x’,y’),速度为
上述进一步技术方案的有益效果为:本发明提出了一种实时轨迹匹配跟踪算法,通过实时计算出机非人不同类型的目标速度、加速度以及行驶方向角度,在每一帧检测出各目标后,通过卡尔曼滤波逐一通过上一时刻的相关数据对下一时刻进行预测,对检测目标坐标进行校正。该算法在检测的坐标数据含有高斯白噪声以及预测中上一帧对下一时刻的计算值有误差的情况下,均能准确得到上一帧跟当前帧之间的对应关系。此外,在预测过程中,可实现对每个机非人目标进行分类讨论和不同参数计算,并实现高效地存储和管理大量数据,进而保证了算法的实时性。
进一步,在s42中,根据所述卡尔曼滤波校正坐标,更新所述临时目标的状态,并保存新状态的参数,作为下一次匹配的限制条件的具体步骤为:
s421:根据所述卡尔曼滤波校正坐标,更新当前所述临时目标坐标:
xi,p(i)=x’(26)
yi,p(i)=y’(27)
s422:更新当前临时目标的帧数:
ti,p(i)=t(28)
s423:更新当前临时目标的速度:
vx,i,i,p(i)=v’x(29)
vy,i,i,p(i)=v’y(30)
s424:更新当前临时目标的行驶角度a以及临时的下一状态行驶角度变化区间的最大值amax和最小值amin:
a=a’(31)
amin=a’min(32)
amax=a’max(33)
s425:更新当前坐标、帧数按时间顺序的下标p(i):
p(i)=p(i)+1(34)。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种交通视频场景下机非人多目标实时轨迹提取方法,可以实现将提取的多目标轨迹自动匹配到机非人不同交通实体和其不同交通流向,具有较好的鲁棒性,易于嵌入式硬件平台实现,实时性非常高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明交通视频场景下机非人实时轨迹提取方法框架示意图;
图2附图为本发明交通视频场景下机非人实时轨迹提取方法框架整体实现流程图;
图3附图为本发明提供的附图2部分轨迹匹配过程具体流程图;
图4附图为本发明中交通视频场景下机非人交通实体目标检测结果;
图5附图为本发明中交通视频场景下机非人交通实体目标识别结果;
图6附图为本发明中交通视频场景下机非人交通实体目标跟踪结果;
图7附图为本发明中交通视频场景下机非人实时轨迹提取结果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种交通视频场景下机非人多目标实时轨迹提取方法,包括以下步骤:
s1目标检测:读取视频帧,利用背景差分法检测每一帧中所有目标;
具体的,目标检测的公式为:
ff为当前视频帧,bf为背景图像,t为灰度差分阈值,如果ff与bf的像素点的差值小于阈值t,则判定当前像素点不是运动区域,算为0,否则,判定当前像素点在运动区域内,算为1,df(x,y)为运动区域图像,从而检测出所有交通实体目标。
s2目标识别:利用目标的二维面积和长宽比特征,识别出每一帧目标的类别,类别包括机动车、非机动车和行人;
具体的:s21:提取目标矩形框
d=g[df(x,y)](2)
d={(xi,b,yi,b)|i∈n+,b=1orb=2}(3)
视频中的运动区域由视频帧与背景图像差分获得,其中,点集d表示目标矩形区域的左上角坐标和右下角坐标的集合,b=1时,(xi,1,yi,1)表示目标矩形区域的左上角坐标,b=2时,(xi,2,yi,2)表示目标矩形区域的右下角坐标,i是目标的序号,n=[1,2,......i],函数g(x)是轮廓提取;
s22:计算目标中点坐标
其中,x、y是目标i的中点坐标;
s23:计算目标的高度和宽度
其中,wi、hi分别表示目标i的宽度和高度;
s24:识别目标并划分目标的类型
交叉口场景中机非人都有明显大小和形状差异,同时利用交通实体的二维面积和长宽比特征来实现视频中的机动车、非机动车和行人识别。
其中,类型0表示机动车,类型1表示非机动车、类型2表示行人;ls1~ls6是根据具体视频画面比例预先设置的面积阈值,lr1~lr6是根据具体视频画面比例预先设置的宽高比阈值。
s3目标实时匹配跟踪:将每一帧识别出的机动车、非机动车和行人与之前存放的各个目标的轨迹逐一进行匹配,如果匹配成功,则加入所属目标进行存放,否则作为新目标存放;
具体的:s31:判断含有目标的视频帧是否为第一次检测到目标的视频帧,若是,则将该第一批目标视频帧进行保存,并记录目标包含的坐标以及时间,并进入下一视频帧的目标识别s2,此处存放第一批目标是需要初始化数据结构,第一批目标不进行轨迹跟踪、预测匹配的操作,直接存入数据结构;若不是,则将匹配成功标志清零,进入s32;
s32:利用第一批目标视频帧中目标的坐标以及时间,对当前检测出的临时目标逐一进行匹配,若与某一类目标匹配成功,则加入该类目标进行保存;若与保存的各个目标都不匹配,则作为新目标保存临时目标的坐标以及时间,临时目标速度标志位置清零,表示未求速度。
具体匹配过程为:
s321:计算临时目标的临时位移以及临时时间间隔,其计算公式如下:
dx=|x-xi,p(i)-1|(7)
dy=|y-yi,p(i)-1|(8)
δt=|t-ti,p(i)-1|(9)
其中,dx,dy分别表示x方向、y方向临时位移大小,δt表示临时时间间隔,x、y表示当前临时目标的坐标,xi,p(i)-1、yi,p(i)-1为第i个目标的上一次被检测到的坐标,t表示当前临时目标的帧数,ti,p(i)-1为第i个目标的上一次被检测到的帧数;
s322:利用临时位移计算临时行驶角度a,其计算公式为:
s323:根据临时行驶角度a计算临时的下一状态行驶角度变化区间的最大值amax和最小值amin:
s324:判断临时目标是否已求速度,若是,则执行s325,否则,执行s326;
s325:判断临时位移、临时时间间隔以及临时行驶角度是否满足与被匹配目标上一状态匹配的限制条件:
其中,k表示系数,取值为2,ld表示位移的最大限制,lt表示时间间隔的最大限制,ld、lt和视频的视野、比例大小有关,根据实际交通场景人为设置,amin、amax是第i个目标确定的行驶角度变化区间的最小值和最大值;
若满足上述条件,说明临时目标是当前被匹配目标上一个状态的下一个状态,执行步骤s327,若不满足,将临时目标和已保存的下个目标进行匹配;
s326:判断临时位移和临时时间间隔是否满足与被匹配目标上一状态匹配的限制条件:
若满足上述条件,说明临时目标是当前被匹配目标上一个状态的下一个状态,则将临时目标加入该类目标进行保存,并执行步骤s327,若不满足,将临时目标和已保存的下个目标进行匹配。
s4目标轨迹修正:基于之前存放的交通实体目标轨迹,运用卡尔曼滤波对新加入所属目标的当前帧目标轨迹信息进行修正,消除检测噪声误差,使目标轨迹整体平滑真实;
s41:根据临时目标加入的被匹配目标上一个状态信息,计算所述临时目标的当前轨迹预测值;根据当前检测的所述临时目标当前视频检测的状态信息,对所述当前轨迹预测值进行卡尔曼滤波修正,得到所述临时目标的卡尔曼滤波校正坐标;
具体的,s411轨迹预测:根据临时目标加入的被匹配目标的上一个状态信息,计算临时目标的当前状态预测值,其状态预测方程组为:
其中,
其中,δt表示临时目标的临时时间间隔;
s412轨迹修正:根据临时目标当前视频帧检测的状态信息,修正临时目标的当前状态预测值,得到临时目标的当前状态修正值,其修正方程组为:
x’t=xt-+kt(zt-hxt-)(20)
x’t为当前状态修正值,
其中,
x、y表示当前图像处理的临时目标的坐标,vx,vy是临时目标的速度;
最终确定的当前状态修正信息x’t为:
t时刻临时目标修正坐标位置x’t=(x’,y’),速度为
s42:根据所述卡尔曼滤波校正坐标,更新所述临时目标的状态,并保存新状态的参数,作为下一次匹配的限制条件,匹配成功标志位置1,速度标志置1。
具体的,s421:根据所述卡尔曼滤波校正坐标,更新当前所述临时目标坐标:
xi,p(i)=x’(26)
yi,p(i)=y’(27)
s422:更新当前临时目标的帧数:
ti,p(i)=t(28)
s423:更新当前临时目标的速度:
vx,i,i,p(i)=v’x(29)
vy,i,i,p(i)=v’y(30)
s424:根据修正的坐标和速度以及帧数信息,重新计算式(5)至式(14),更新当前临时目标的行驶角度a以及临时的下一状态行驶角度变化区间的最大值amax和最小值amin:
a=a’(31)
amin=a’min(32)
amax=a’max(33)
s425:更新当前坐标、帧数按时间顺序的下标p(i):
p(i)=p(i)+1(34)
最后,匹配成功标志位置1,速度标志置1。此处需要说明的是,速度标志置1只是通过s326、s327、s328这一流程输出更新的临时目标状态时置1,可参考附图3。
s5目标轨迹提取以及确定目标行驶方向:检索所有已存目标,提取出同一属性的目标轨迹;并通过目标轨迹开始坐标位置和结束坐标位置,确定该目标的行驶方向。
本发明的有益效果为:
(1)本发明提出了交通视频场景下的机非人实时轨迹提取的整体解决方案,面向实际应用,且对计算机资源要求较低,适合对功耗和计算复杂度敏感的嵌入式硬件平台实现,实时性非常高。
(2)本发明提出利用交通实体目标的长宽比和二维面积特征,实现视频中机动车、非机动车和行人交通实体目标的分类识别,可解决实际交通场景中摄像头拍摄的车辆转弯时的长宽比变化大和不同方向行驶的车辆的长宽比不同,从而难以实现机非人的精准区分等问题。
(3)本发明提出了一种实时轨迹匹配跟踪算法,通过实时计算出机非人不同类型的目标速度、加速度以及行驶方向角度,在每一帧检测出各目标后,通过卡尔曼滤波逐一通过上一时刻的相关数据对下一时刻进行预测,对检测目标坐标进行校正。该算法在检测的坐标数据含有高斯白噪声以及预测中上一帧对下一时刻的计算值有误差的情况下,均能准确得到上一帧跟当前帧之间的对应关系。此外,在预测过程中,可实现对每个机非人目标进行分类讨论和不同参数计算,并实现高效地存储和管理大量数据,进而保证了算法的实时性。
(4)本发明可提取到交通视频场景中各个交通实体的运动轨迹,如时间帧、x、y方向坐标、x和y方向的速度、行驶方向角度、交通实体类型,其中可依据轨迹起始和终止坐标判断不同方向的机非人轨迹,实现不同交通实体轨迹的方向匹配。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。