一种基于单个摄像头的目标速度测量方法与流程

文档序号:30178091发布日期:2022-05-26 12:27阅读:309来源:国知局
一种基于单个摄像头的目标速度测量方法与流程

1.本发明涉及图像处理技术领域,尤其是一种基于单个摄像头的目标速度测量方法。


背景技术:

2.随着传感器芯片、网络传输、图像处理技术的飞速发展,视频监控系统在城乡、道路网等区域发挥着重要作用。其中,异常行为检测是视频监控中图像处理领域的一个重要课题。通过针对个人、或人群异常行为的检测,能够实时监控并及时发现打架、斗殴、奔跑、人群聚集等特殊事件,是维护公共安全的重要手段。
3.目前针对行为异常检测的算法方案基本上为深度学习方案,若想达到较好的效果,需要大量实测数据来训练,而异常行为大部分为偶发性事件,如何获取大量有效数据或者如何使用小样本进行深度学习,是一直存在的问题;此外深度学习方案通常需要较大的算力支撑,低成本嵌入式平台通常无法支撑类似任务。


技术实现要素:

4.为了克服上述现有技术中的缺陷,本发明提供一种基于单个摄像头的目标速度测量方法,测速方法简单易实现。
5.为实现上述目的,本发明采用以下技术方案,包括:一种基于单个摄像头的目标速度测量方法,包括以下步骤:s1,基于单个摄像头的视频流进行目标检测,对视频流中的图像分别进行目标检测,检测图像中的目标;s2,在视频流的时间序列中,选取一张图像作为计算帧图像即当前帧图像,选取该当前帧图像的前固定间隔帧的图像作为参考帧图像;分别提取参考帧图像、当前帧图像中目标检测框的窗口图像即目标窗口,得到参考帧目标窗口和当前帧目标窗口;s3,以相机光心为原点,建立三维的相机坐标系,其中,相机坐标系的y轴和x轴分别平行于图像中的纵轴和横轴,相机坐标系的z轴平行于相机光轴;在同一图像坐标系中,参考帧目标窗口与当前帧目标窗口之间的缩放系数为k;参考帧目标窗口与当前帧目标窗口之间沿横轴方向的位移像素为u,沿纵轴方向的位移像素为v;s4,根据摄像机的焦距f,目标实际高度r,当前帧目标窗口的高度r,计算当前帧图像中,目标相对相机沿相机光轴方向的距离d,d=(r/r)*f;s5,计算当前帧下,目标沿平行于相机光轴方向的速度分量vz:vz=-d*(k/s);其中,s为参考帧图像与当前帧图像之间的时间差;s6,计算当前帧下,目标在垂直于相机光轴方向的平面内的速度分量vxoy:vxoy=(d/f)*(m/s);
其中,m为在图像坐标系中参考帧目标窗口与当前帧目标窗口之间在xoy平面内的位移像素;s7,根据当前帧下,目标沿平行于相机光轴方向的速度分量vz和目标在垂直于相机光轴方向的平面内的速度分量vxoy,确定当前帧下目标的速度大小和速度方向。
6.优选的,步骤s3中,u的取值为参考帧目标窗口的中心点p与当前帧目标窗口的中心点p'之间沿横轴方向的位移像素;v的取值为参考帧目标窗口的中心点p与当前帧目标窗口的中心点p'之间沿纵轴方向的位移像素。
7.优选的,步骤s3中,参考帧目标窗口与当前帧目标窗口之间的缩放系数k,以及沿横轴方向的位移像素u和沿纵轴方向的位移像素v的求解方式如下所示:s31,在图像坐标系中,若以参考帧目标窗口的中心点p为原点,参考帧目标窗口中目标点q的横轴坐标值和纵轴坐标值分别为qx和qy,则当前帧目标窗口中与参考帧目标窗口中该目标点q相对应的目标目标点q'的横轴坐标值qx'和纵轴坐标值qy'分别为:qx'=u+k*qx;qy'=v+k*qy;将[k,u,v]记为变形参数向量w,即w=[k,u,v];s32,设计目标函数l,如下所示:其中,f(q)为参考帧目标窗口中目标点q的灰度值,g(q')为当前帧目标窗口中目标点q'的灰度值;mask=1表示目标窗口的目标区域;s33,对变形参数向量w进行迭代更新,寻找变形参数向量w的最优值,其中,目标函数l的值越小,对应的变形参数向量w的值越优;变形参数向量w的最优值对应的k、u、v即为所求值。
[0008]
优选的,步骤s4中,根据图像坐标系中参考帧目标窗口的测量高度h,以及求解得到的参考帧目标窗口与当前帧目标窗口之间缩放系数k,计算得到当前帧目标窗口的高度r,r=h*(1+k)。
[0009]
优选的,在迭代初始时变形参数向量w的初始值w(0)为:w(0)=[(h'/h)-1,px'-px,py'-py];其中,px、py分别为图像坐标系中参考帧目标窗口的中心点p的横轴坐标值和纵轴坐标值;h为图像坐标系中参考帧目标窗口的测量高度;px'、py'分别为图像坐标系中当前帧目标窗口的中心点p的横轴坐标值和纵轴坐标值;h'为图像坐标系中当前帧目标窗口的测量高度。
[0010]
优选的,步骤s33中,利用迭代公式对变形参数向量w进行迭代更新,迭代公式如下所示:其中,w(n)为第n次迭代得到的变形参数向量w的值;w(n+1)为第n+1次迭代得到的
变形参数向量w的值;分别为第n次迭代得到的目标函数l关于变形参数向量w的一阶偏导数、二阶偏导数;若迭代前后的变形参数向量w之差的模,即w(n+1)-w(n)的绝对值小于设定阈值e,则停止迭代,此时变形参数向量w的值为最优值;否则继续进行迭代更新。
[0011]
优选的,目标函数l关于变形参数向量w求一阶偏导,得到:其中,i=1,2,3,w1为缩放系数k,w2为沿横轴方向的位移像素u,w3为沿纵轴方向的位移像素v;其中,分别为当前帧目标窗口中的目标点q'在横轴方向和在纵轴方向的灰度梯度。
[0012]
优选的,步骤s33中,目标函数l关于变形参数向量w求二阶偏导,得到:本发明的优点在于:(1)本发明提供一种基于单个摄像头的目标速度测量方法,可以对移动的人员、投掷的物品、运动的球、车辆等进行测速,可用于监控场景中的目标速度,实现如人员奔跑、高空抛物、车辆超速等异常行为监控。
[0013]
(2)本发明相对于现有技术的测速方法,无需进行标定,仅需目标尺寸的经验数值即可大致估算速度;也无需进行平面假设,即无需利用目标接地位置在鸟瞰图进行测距、测速。本发明通过缩放系数及位移像素计算速度,在任意监控场景、任意角度、任意地形下、目标在画面中的任何位置均可使用,具有较强的通用性,其误差仅来源于目标尺寸的经验数值。
[0014]
(3)本发明的目标速度测量方法基于传统图像方法,无需大规模数据训练,计算数据仅针对目标窗口区域,测量速度极快,计算量小,可移植到通用型的嵌入式平台上,实现多目标的速度计算及跟踪。
[0015]
(4)将目标速度分解为垂直于光轴方向速度分量和在垂直于相机光轴方向的平面内的速度分量,能够完成目标速度的大小和方向的完整描述。
[0016]
本发明通过变形参数向量来描述目标窗口的缩放,并通过迭代算法精确求解,最终可精确解算目标垂直于光轴方向速度分量,解决了通常方法下无法获取目标垂直于光轴方向速度分量的问题。
附图说明
[0017]
图1为本发明的一种基于单个摄像头的目标速度测量方法流程图。
[0018]
图2为图像坐标系中参考帧目标窗口和当前帧目标窗口的示意图。
[0019]
图3为同一图像坐标系下参考帧目标窗口和当前帧目标窗口的示意图。
[0020]
具体实施方式
[0021]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]
由图1所示,一种基于单个摄像头的目标速度测量方法,包括以下步骤:s1,在单个摄像头的视频流进行目标检测,使用目标检测等深度学习网络或其他机器学习方法,对视频流中的图像分别进行目标检测,检测出图像中的目标位置;目标检测过程中,每一帧图像中都有其对应的目标检测框的窗口图像即目标窗口,目标窗口中包括目标区域和非目标区域;目标检测过程中,设置有目标区域的mask掩膜,即在目标窗口中,目标区域的mask值为1,其余区域的mask值为0。
[0023]
现有技术中,目标检测有较多的开源轻量化模型可以使用,其开发难度较小;也可以使用检测和跟踪相结合的算法方案,即间隔若干帧检测,使用跟踪算法提升计算帧率,常见的经典跟踪算法如kcf(kernel correlation filter)、csk(circulant structure of tracking-by-detection with kernels)等等均可满足需求。此步骤s1内的算法已经较为成熟,具体可参见现有技术。
[0024]
s2,在视频流的时间序列中,选取一张图像作为计算帧图像即当前帧图像,选取该当前帧图像的前固定间隔帧的图像作为参考帧图像;分别提取参考帧图像、当前帧图像中目标检测框的窗口图像即目标窗口,得到参考帧目标窗口和当前帧目标窗口,如图2所示。
[0025]
s3,以相机光心为原点,建立三维的相机坐标系,其中,相机坐标系的y轴和x轴分别平行于图像中的纵轴和横轴,相机坐标系的z轴平行于相机光轴。
[0026]
在同一图像坐标系中,参考帧目标窗口与当前帧目标窗口之间的缩放系数为k;参考帧目标窗口与当前帧目标窗口之间沿横轴方向的位移像素为u,沿纵轴方向的位移像素为v。
[0027]
将目标速度v分解为:目标沿平行于相机光轴方向的速度分量vz和目标在垂直于相机光轴方向的平面内的速度分量vxoy。
[0028]
s4,根据摄像机的焦距f,目标实际高度r,当前帧目标窗口的高度r,计算当前帧图像中,目标相对相机沿相机光轴方向的距离d,d=(r/r)*f。
[0029]
其中,当前帧目标窗口的高度r,利用图像坐标系中参考帧目标窗口的测量高度h,以及参考帧目标窗口与当前帧目标窗口之间缩放系数k,计算得到r=h*(1+k);测量高度是指:由目标检测或目标跟踪算法或其他有效目标提取手段得到的目标检测框的高度。
[0030]
本发明的目标速度测量方法,可以对移动的人员、投掷的物品、运动的球、车辆等进行测速,本实施例中,对人体进行测速,判断视频流中的人体是在跑步还是在走路,即目
标为人体,由于本实施例仅需判断视频流中的人体是在跑步还是在走路,因此以人体平均身高作为目标实际高度r,取值为165cm,该平均身高取值一般误差在30%以内,而跑步速度为正常走路速度的3-5倍,故按照平均身高的最大误差来估算,跑步速度与走路速度比较,仍具有较强的显著性可以区分;并且,本实施例中,以当前帧图像作为计算帧图像,选取连续的前一帧图像作为参考帧图像。
[0031]
s5,计算当前帧下,目标沿平行于相机光轴方向的速度分量vz:vz=-d*(k/s);其中,s为参考帧图像与当前帧图像的时间差。
[0032]
s6,计算当前帧下,目标在垂直于相机光轴方向的平面内的速度分量vxoy:vxoy=(d/f)*(m/s);其中,m为在图像坐标系中,参考帧目标窗口与当前帧目标窗口之间在xoy平面内的位移像素。
[0033]
s7,根据当前帧下,目标沿平行于相机光轴方向的速度分量vz和目标在垂直于相机光轴方向的平面内的速度分量vxoy,确定当前帧下目标的速度大小和速度方向。
[0034]
步骤s3中,u的取值为参考帧目标窗口的中心点p与当前帧目标窗口的中心点p'之间沿横轴方向的位移像素。v的取值为参考帧目标窗口的中心点p与当前帧目标窗口的中心点p'之间沿纵轴方向的位移像素。参考帧目标窗口与当前帧目标窗口之间的缩放系数k,用于描述由于目标到相机的光轴方向的距离变化导致目标在图像上缩放程度。
[0035]
参考帧目标窗口与当前帧目标窗口之间沿横轴方向的位移像素u、沿纵轴方向的位移像素v,以及参考帧目标窗口与当前帧目标窗口之间的缩放系数k,具体求解方法如下所示:s31,在图像坐标系中,若以参考帧目标窗口的中心点p为原点,参考帧目标窗口中mask值为1的目标点q的横轴坐标值和纵轴坐标值分别为qx和qy,则当前帧目标窗口中与参考帧目标窗口中该目标点q相对应的目标点q'的横轴坐标值qx'和纵轴坐标值qy'分别为:qx'=u+k*qx;qy'=v+k*qy;上式可转化为:将记为变形矩阵,将w=(k,u,v)记为变形参数向量;s32,参考帧目标窗口中目标点q的灰度值为f(q),当前帧目标窗口中与参考帧目标窗口中该目标点q相对应的目标点q'的灰度值为g(q')。
[0036]
在进行视差匹配时,需要选取匹配代价来衡量参考帧目标窗口和当前帧目标窗口中目标区域的相似度,即mask值为1的区域的相似度。优选的,可选用绝对误差和sad(sum of absolute differences)、误差平方和ssd(sum of square differences)、归一化互相关系数ncc(normalized cross correlation)等作为视差计算中的相似度衡量标准。
[0037]
确认完成所选取的匹配代价,从而设计目标函数l,当目标函数l取值最小时,参考帧目标窗口与当前帧目标窗口相似度最大,此时对应的变形参数向量w可精确描述描述目标窗口从参考帧到当前帧的缩放系数k和位移像素u、v。
[0038]
目标函数l,如下所示:s33,目标函数l为非线性函数,使用非线性迭代方法进行求解,现有技术中可供选择的成熟的算法框架有lm、newton-raphson、最速下降法等迭代算法。本发明以newton-raphson迭代算法为例,变形参数向量w使用下式进行迭代:其中,w(n)为第n次迭代得到的变形参数向量w的取值;w(n+1)为第n+1次迭代得到的变形参数向量w的取值;分别为第n次迭代得到的目标函数l关于变形参数向量w的一阶偏导数、二阶偏导数;二阶偏导又通常被称为海森(hessian)矩阵。
[0039]
s34,设定阈值e,当迭代后的变形参数向量w的变化较小时,停止迭代,通常使用迭代前后的变形参数向量w之差的模|w(n+1)-w(n)|来衡量,若迭代前后的变形参数向量w之差的模即|w(n+1)-w(n)|小于设定阈值e,或者超过设定的最大迭代次数,则停止迭代,输出此时的变形参数向量w;否则按照步骤s33的方式继续进行迭代更新。
[0040]
步骤s33中,在迭代初始时变形参数向量w的初始值为w(0),使用参考帧目标窗口和当前帧目标窗口的中心点位置和测量高度,构建初始值w(0),具体如下所示:在图像坐标系中,若参考帧目标窗口的中心点p的横轴坐标值和纵轴坐标值分别为px、py,参考帧目标窗口的测量高度为h,当前帧目标窗口的中心点p’的横轴坐标值和纵轴坐标值分别为px’、py’,当前帧目标窗口的测量高度为h',则在迭代初始时变形矩阵为:在迭代初始时变形参数向量w的初始值w(0)=[(h'/h)-1,px'-px,py'-py],即在迭代初始时,参考目标窗口与当前帧目标窗口之间的缩放系数k初始值为(h'/h)-1,沿横轴方向的位移像素u初始值为px'-px,沿纵轴方向的位移像素v初始值为py'-py;步骤s33中,目标函数l关于变形参数向量w求一阶偏导,得到:其中,i=1,2,3,w1为缩放系数k,w2为沿横轴方向的位移像素u,w3为沿纵轴方向的位移像素v;
其中,分别为当前帧目标窗口中的目标点q'在横轴方向和在纵轴方向的灰度梯度,所述灰度梯度由梯度算子求得,如sobel算子;目标函数l关于变形参数向量w求二阶偏导,得到:其中,沿横轴方向的位移像素u,沿纵轴方向的位移像素v,缩放系数k均为关于参数的一次函数,即:因此,将代入变形参数向量w的迭代公式中,即可求解变形参数向量w。
[0041]
步骤s4中,根据图像坐标系中参考帧目标窗口的测量高度h,以及求解得到的参考帧目标窗口与当前帧目标窗口之间缩放系数k,计算得到当前帧目标窗口的高度r,r=h*(1+k)。
[0042]
步骤s5中,当前帧下,目标沿平行于相机光轴方向的速度分量vz的计算过程如下所示:根据摄像机的焦距f,目标实际高度r,当前帧目标窗口的高度r,计算当前帧图像中,在相机坐标系中,目标在相机光轴方向上的投影即为目标相对相机沿相机光轴方向的距离d,根据相机的小孔成像模型,d=(r/r)*f;由于距离d,以及当前帧目标窗口的高度r随时间变化,是时间t的函数,因此对d=(r/r)*f在时间上求导数,从而计算目标沿平行于相机光轴方向的速度分量vz:其中,距离d对时间求导即为目标沿平行于相机光轴方向上的速度分量vz;当前帧目标窗口的高度r对时间求导即为缩放系数k,表示由于目标远离相机导致目标在图像上缩放变形的程度。
[0043]
参考帧图像与当前帧图像之间的时间差为s,即可推到二者关系如下:求解可得:
本实施例的摄像头拍摄频率为30fs,即相邻两帧图像之间的时间差为30ms。
[0044]
由于在步骤s1中,基于深度学习或机器学习的目标检测是各帧独立进行的,缺少前后帧信息,而速度计算需要结合前后帧,因此,由目标检测所获得的目标窗口的测量高度,其精度无法满足速度计算需求,如果直接利用目标窗口的测量高度进行时间上的微分来解算速度,将会导致所获得的速度包含大量噪声。因此,本发明利用变形参数向量描述目标窗口的高度变化,在粗定位的基础上,可以更精确的计算目标在画面中的变形参数向量,从而更精确的解算速度。
[0045]
步骤s6中,当前帧下,目标在垂直于相机光轴方向的平面内的速度分量vxoy的计算过程如下所示:在图像坐标系中,根据参考帧目标窗口与当前帧目标窗口之间沿横轴方向的位移像素u,沿纵轴方向的位移像素v,得到参考帧目标窗口与当前帧目标窗口之间在xoy平面内的位移像素为m;根据目标相对相机沿相机光轴方向的距离d对位移像素进行距离转换,得到参考帧下的目标与当前帧下的目标之间在在垂直于相机光轴方向的平面内的距离m:m=(d/f)*m求解可得:vxoy=m/s=(d/f)*(m/s)步骤s7中,根据当前帧下,目标沿平行于相机光轴方向的速度分量vz和目标在垂直于相机光轴方向的平面内的速度分量vxoy,即可完全描述该当前帧下目标运动速度的方向及大小。
[0046]
实施例1:采用一段帧率为30fps的单个摄像头监控视频中的两帧图像,分别为参考帧图像和计算帧图像即当前帧图像,两帧图像之间间隔6帧,以自行车骑手为目标,使用本发明中的方法计算目标速度,分别提取参考帧图像、当前帧图像中目标检测框的窗口图像即目标窗口,将两帧图像中目标窗口的局部放大图像叠加在同一图像坐标系下,如图3所示,其中,a框为参考帧图像中目标检测框的窗口图像即参考帧目标窗口,b框为当前帧图像中目标检测框的窗口图像即当前帧目标窗口。由目标检测得到,a框即参考帧目标窗口的测量高度h为35像素,b框即当前帧目标窗口的测量高度h'为36像素,使用本发明方法对参考帧目标窗口与当前帧目标窗口之间的变形参数向量w进行求解,得到k=0.0612,u=14.483,v=5.517。
[0047]
本实施例中所使用的摄像机的焦距f=421.71像素,以自行车骑手为目标,自行车骑手整体高度约1.6m,将目标实际高度r取值为1.6m。根据缩放系数k和参考帧目标窗口的测量高度h,对当前帧目标窗口的高度进行求解,求解后得到当前帧目标窗口的高度r为37.142像素,r=h*(1+k)。使用本发明方法计算当前帧图像中,目标相对相机沿相机光轴方向的距离d=(r/r)*f=18.166m。
[0048]
使用本发明方法,计算得到当前帧下目标沿平行于相机光轴方向的速度分量vz=-5.559m/s,其中,负号表示目标在沿平行于相机光轴方向上正在向相机靠近;以及根据图像
坐标系中参考帧目标窗口与当前帧目标窗口之间在xoy平面内的位移像素m=15.498像素,从而计算得到当前帧下目标在垂直于相机光轴方向的平面内的速度分量vxoy=3.338m/s;最终,根据当前帧下目标沿平行于相机光轴方向的速度分量vz和目标在垂直于相机光轴方向的平面内的速度分量vxoy,得到当前帧下目标的速度为6.484m/s。
[0049]
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1