基于视频序列的行人检测方法及装置、计算机存储介质与流程

文档序号:29039301发布日期:2022-02-25 20:08阅读:76来源:国知局
基于视频序列的行人检测方法及装置、计算机存储介质与流程

1.本发明涉及智能视频分析技术领域,特别涉及一种基于视频序列的行人检测方法及装置、计算机存储介质。


背景技术:

2.随着科学技术的进步,智能视频分析的应用需求越来越旺盛,其中行人检测技术在视频监控、无人驾驶等应用场景中有着举足轻重的地位。行人检测技术(pedestrian detection)是利用计算机视觉技术判断图像或者视频序列中是否存在行人并给予精确定位的技术,该技术可与行人跟踪、行人重识别等技术结合,应用于人工智能系统、车辆辅助驾驶系统、智能机器人、智能视频监控、人体行为分析、智能交通等领域。但由于行人兼具刚性和柔性物体的特性,外观易受穿着、尺度、遮挡、姿态和视角等影响,因此对检测方法的鲁棒性和可靠性有着极高的要求,使得行人检测成为计算机视觉领域中一个既具有研究价值同时又极具挑战性的热门课题。
3.目前,学术上公认精度较高的卷积神经网络行人检测方法运算量巨大,在检测精度和计算代价上难以同时兼顾。而某些嵌入式视频处理设备上只能够提供有限的算力和内存,从节约计算资源的角度上考虑,借助视频序列中的前后帧信息能够更有效地提高行人检测的效率。有基于此,目前最常用的方法是采用运动检测算法提取运动区域,然后集中优质算力对当前帧的运动区域进行行人检测,但由于运动目标的影子、多目标粘连使得运动检测得到的候选区域质量较差,很难精准定位目标,实际场景中的光线变化、风吹草动也会使运动区域琐碎,不得不消耗额外的算力去检测这些冗余区域。
4.因此,目前的行人检测技术中并没有针对以上问题提出可靠且效率高的行人检测方法。


技术实现要素:

5.本发明的目的在于提供一种基于视频序列的行人检测方法及装置、计算机存储介质,以至少解决现有行人检测方法运算量大、检测结果可靠性差且检测效率低的问题。
6.为解决上述技术问题,本发明提供一种基于视频序列的行人检测方法,所述行人检测方法包括:
7.s1,提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;
8.s2,将同一目标在不同序列中的运动候选框串联起来,以建立目标id;
9.s3,以较低帧率对成功建立目标id的运动候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;
10.s4,将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标;
11.s5,利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人
位置,休眠目标等待下次检测。
12.可选的,在所述的基于视频序列的行人检测方法中,步骤s1在yuv颜色空间进行运算,包括:
13.获取视频图像;
14.将视频图像下采样到目标尺寸,并转化为yuv颜色空间;
15.利用sobel算子求取视频图像y分量的横向梯度p
x
和纵向梯度py,并利用横向梯度p
x
和纵向梯度py计算得到梯度图像g,其中,
16.sobel算子为:
[0017][0018]
梯度图像计算公式为:
[0019][0020]
滑动平均生成guv格式的运动背景帧,其中,运动背景帧的计算公式为:
[0021]gb,t
=(1-α)g
b,t-1
+αg
t
[0022]ub,t
=(1-α)u
b,t-1
+αu
t
[0023]vb,t
=(1-α)v
b,t-1
+αv
t
[0024]
其中,α为权重因子,t为被检测帧;
[0025]
将第t帧求取差分图d
t
,差分图d
t
的计算公式为:
[0026]dt
=|g
t-g
b,t-1
|+|u
t-u
b,t-1
|+|v
t-v
b,t-1
|
[0027]
根据阈值tn对差分图d
t
进行二值化处理,得到掩模图m
t
,掩模图m
t
中为“1”的点构成前景区域,为“0”的点构成背景区域,其中,二值化处理的公式为:
[0028][0029]
其中,m
t
为掩模图m
t
中的像素值,d
t
为差分图d
t
中的像素值;
[0030]
对掩模图m
t
进行形态学处理和联通性分析,以得到运动候选框。
[0031]
可选的,在所述的基于视频序列的行人检测方法中,阈值tn的获取方法包括:
[0032]
对第n个运动候选框进行行人检测时,保存此帧的差分图d
t

[0033]
当第n个运动候选框中有行人被检测到,则计算当前二值化最优阈值t
o,n

[0034][0035]
其中,rm为运动候选框,r
p
为行人框集合;
[0036]
利用权重β对二值化阈值进行更新,以得到阈值tn:
[0037][0038]
可选的,在所述的基于视频序列的行人检测方法中,若视频图像为rgb格式,则在对视频图像下采样之前,步骤s1还包括:
[0039]
对rgb格式的视频图像进行变换,变换公式为:
[0040]
y=0.299r+0.587g+0.114b
[0041]
u=-0.147r-0.289g+0.437b
[0042]
v=0.615r-0.515g-0.100b。
[0043]
可选的,在所述的基于视频序列的行人检测方法中,步骤s2包括:
[0044]
过滤视频序列中不能建立目标id的零散运动候选框;
[0045]
若目标能够建立目标id,但连续3帧内被遮挡或遗漏,则对视频序列进行运动候选框补充;
[0046]
对能够建立目标id的目标采用跟踪算法修正后的跟踪候选框代替运动候选框。
[0047]
可选的,在所述的基于视频序列的行人检测方法中,步骤s3包括:
[0048]
对成功建立目标id的运动候选框进行hog特征融合,其中hog特征包括1个灰度通道、1个梯度幅值通道和6个梯度方向通道;
[0049]
提取深层特征,以预测行人目标的置信度和外接矩形框;
[0050]
利用预测的行人目标的置信度和外接矩形框获得行人框。
[0051]
为解决上述技术问题,本发明还提供一种基于视频序列的行人检测装置,用于执行如上任一项所述的基于视频序列的行人检测方法,所述行人检测装置包括运动检测模块、目标跟踪模块、行人检测模块和目标管理模块;所述运动检测模块用于提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;所述目标跟踪模块用于将同一目标在不同序列中的运动候选框串联起来,以建立目标id;所述行人检测模块用于以较低帧率对成功建立目标id的运动候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;所述目标管理模块用于将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标,并利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人位置,休眠目标等待下次检测。
[0052]
可选的,在所述的基于视频序列的行人检测装置中,所述行人检测装置还包括视频序列采样模块和阈值更新模块;所述视频序列采样模块用于将视频图像转换为yuv格式;所述阈值更新模块用于以检测到的行人框与运动候选框交集最大化为准则,对运动检测二值化阈值进行滑动更新。
[0053]
可选的,在所述的基于视频序列的行人检测装置中,所述行人检测模块包括网络训练单元、模型转换单元、内存优化单元和幅面选择单元;所述网络训练单元用于将行人正样本和难例负样本组成训练集,结合数据增强策略,在tensorflow平台上进行网络训练;所述模型转换单元用于将tensorflow模型转化为c模型,并在目标嵌入式平台上编译,获得可运行的神经网络行人检测库;所述内存优化单元用于根据特征图内存复用策略建立中间层内存结构,以减小行人检测过程的内存消耗;所述幅面选择单元用于在线行人检测时从备选框尺寸中选择长宽比最接近行人框尺寸的作为网络输入幅面。
[0054]
为解决上述技术问题,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于视频序列的行人检测方法。
[0055]
本发明提供的基于视频序列的行人检测方法及装置、计算机存储介质,包括提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;将同一目标在不同序列中的运动候选框串联起来,以建立目标id;以较低帧率对成功建立目标id的运动
候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标;利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人位置,休眠目标等待下次检测。通过视频序列中的运动信息和目标跟踪信息分别从空间域和时间域上筛选出高质量的候选区域,使得以极小的计算和内存代价来定位行人目标,解决了现有行人检测方法运算量大、检测结果可靠性差且检测效率低的问题。
附图说明
[0056]
图1为本实施例提供的基于视频序列的行人检测方法的流程图;
[0057]
图2为本实施例提供的基于视频序列的行人检测装置的结构示意图;
[0058]
图3为本实施例提供的一种较佳的基于视频序列的行人检测装置的结构示意图;
[0059]
图4为本实施例提供的基于视频序列的行人检测装置中神经网络检测器的结构示意图;
[0060]
图5为本实施例提供的内存复用策略示意图。
具体实施方式
[0061]
以下结合附图和具体实施例对本发明提出的基于视频序列的行人检测方法及装置、计算机存储介质作进一步详细说明。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
[0062]
需要说明的是,本发明的说明书和权利要求书及附图说明中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0063]
本实施例提供一种基于视频序列的行人检测方法,如图1所示,所述行人检测方法包括:
[0064]
s1,提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;
[0065]
s2,将同一目标在不同序列中的运动候选框串联起来,以建立目标id;
[0066]
s3,以较低帧率对成功建立目标id的运动候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;
[0067]
s4,将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标;
[0068]
s5,利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人位置,休眠目标等待下次检测。
[0069]
本实施例提供的基于视频序列的行人检测方法,其基本思想是利用视频序列中的运动信息和目标跟踪信息分别从空间域和时间域上筛选出高质量的候选区域,并为此定制一个高精度低目标尺寸跨度的神经网络行人检测器,以极小的计算和内存代价来定位行人
目标。
[0070]
具体的,在本实施例中,步骤s1在yuv颜色空间进行运算,包括:
[0071]
获取视频图像;
[0072]
将视频图像下采样到目标尺寸,并转化为yuv颜色空间;
[0073]
利用sobel算子求取视频图像y分量的横向梯度p
x
和纵向梯度py,并利用横向梯度p
x
和纵向梯度py计算得到梯度图像g,其中,
[0074]
sobel算子为:
[0075][0076]
梯度图像计算公式为:
[0077][0078]
滑动平均生成guv格式的运动背景帧,其中,运动背景帧的计算公式为:
[0079]gb,t
=(1-α)g
b,t-1
+αg
t
[0080]ub,t
=(1-α)u
b,t-1
+αu
t
[0081]vb,t
=(1-α)v
b,t-1
+αv
t
[0082]
其中,α为权重因子,t为被检测帧;
[0083]
将第t帧求取差分图d
t
,差分图d
t
的计算公式为:
[0084]dt
=|g
t-g
b,t-1
|+|u
t-u
b,t-1
|+|v
t-m
b,t-1
|
[0085]
根据阈值tn对差分图d
t
进行二值化处理,得到掩模图m
t
,掩模图m
t
中为“1”的点构成前景区域,为“0”的点构成背景区域,其中,二值化处理的公式为:
[0086][0087]
其中,m
t
为掩模图m
t
中的像素值,d
t
为差分图d
t
中的像素值;
[0088]
对掩模图m
t
进行形态学处理和联通性分析,以得到运动候选框。
[0089]
其中,阈值tn的获取方法包括:
[0090]
对第n个运动候选框进行行人检测时,保存此帧的差分图d
t

[0091]
当第n个运动候选框中有行人被检测到,则计算当前二值化最优阈值t
o,n

[0092][0093]
其中,rm为运动候选框,r
p
为行人框集合;
[0094]
利用权重β对二值化阈值进行更新,以得到阈值tn:
[0095][0096]
考虑到视频图像可能存在多种格式,如rgb格式。若视频图像为rgb格式,则在对视频图像下采样之前,步骤s1还包括:
[0097]
对rgb格式的视频图像进行变换,变换公式为:
[0098]
y=0.299r+0.587g+0.114b
[0099]
u=-0.147r-0.289g+0.437b
[0100]
v=0.615r-0.515g-0.100b。
[0101]
进一步的,在本实施例中,步骤s2包括:
[0102]
过滤视频序列中不能建立目标id的零散运动候选框;
[0103]
若目标能够建立目标id,但连续3帧内被遮挡或遗漏,则对视频序列进行运动候选框补充;
[0104]
对能够建立目标id的目标采用跟踪算法修正后的跟踪候选框代替运动候选框。
[0105]
以及,在本实施例中,步骤s3包括:
[0106]
对成功建立目标id的运动候选框进行hog特征融合,其中hog特征包括1个灰度通道、1个梯度幅值通道和6个梯度方向通道;
[0107]
提取深层特征,以预测行人目标的置信度和外接矩形框;
[0108]
利用预测的行人目标的置信度和外接矩形框获得行人框。
[0109]
本实施例还提供一种基于视频序列的行人检测装置,如图2所示,所述行人检测装置包括运动检测模块、目标跟踪模块、行人检测模块和目标管理模块;所述运动检测模块用于提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;所述目标跟踪模块用于将同一目标在不同序列中的运动候选框串联起来,以建立目标id;所述行人检测模块用于以较低帧率对成功建立目标id的运动候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;所述目标管理模块用于将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标,并利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人位置,休眠目标等待下次检测。
[0110]
本实施例提供的基于视频序列的行人检测装置,通过视频序列中的运动信息和目标跟踪信息分别从空间域和时间域上筛选出高质量的候选区域,使得以极小的计算和内存代价来定位行人目标,解决了现有行人检测方法运算量大、检测结果可靠性差且检测效率低的问题。
[0111]
较佳的,在本实施例中,如图2所示,所述行人检测装置还包括视频序列采样模块和阈值更新模块;所述视频序列采样模块用于将视频图像转换为yuv格式;所述阈值更新模块用于以检测到的行人框与运动候选框交集最大化为准则,对运动检测二值化阈值进行滑动更新。
[0112]
以及,在本实施例中,所述行人检测模块包括网络训练单元、模型转换单元、内存优化单元和幅面选择单元;所述网络训练单元用于将行人正样本和难例负样本组成训练集,结合数据增强策略,在tensorflow平台上进行网络训练;所述模型转换单元用于将tensorflow模型转化为c模型,并在目标嵌入式平台上编译,获得可运行的神经网络行人检测库;所述内存优化单元用于根据特征图内存复用策略建立中间层内存结构,以减小行人检测过程的内存消耗;所述幅面选择单元用于在线行人检测时从备选框尺寸中选择长宽比最接近行人框尺寸的作为网络输入幅面。
[0113]
以下,以一具体实施例说明本发明提供的基于视频序列的行人检测方法和装置。
[0114]
本实施例提供的基于视频序列的行人检测装置包括运动检测模块、目标跟踪模
块、行人检测模块和目标管理模块。
[0115]
在本实施例中,运动检测模块采用基于梯度和色度(gradient anduv chrominance,guv)的背景差分法。首先,获取视频图像后先将图像下采样到目标尺寸,并转化为到yuv颜色空间,在本实施例中,建议目标尺寸最大边长为320个像素,并保持长宽比;然后通过前文所述的方法,利用sobel算子求取图像y分量的横向梯度和纵向梯度,两者运算得到梯度图像g;接着滑动平均生成guv格式的运动背景帧,即视频序列按照权重α将guv三个分量加入到背景帧中;经过一段时间背景学习后,将第t帧按照前文所述的方式求取差分图d
t
;然后需要根据阈值tn对差分图d
t
进行二值化处理,得到掩模图m
t
,掩模图m
t
中为“1”的点构成前景区域,为“0”的点构成背景区域;最后对掩模图m
t
进行膨胀、腐蚀等形态学处理和联通性分析,得到运动候选框。
[0116]
在本实施例中,阈值更新模块会根据行人检测结果对阈值tn进行实时调整,以得到更加准确的前景区域。当行人检测模块对第n个运动候选框进行行人检测时,阈值更新模块中的最优阈值计算单元会同时保存此帧的差分图d
t
;当第n个运动候选框中有行人被检测到,则计算当前二值化最优阈值t
o,n
;然后利用权重β对二值化阈值进行更新,得到阈值tn。
[0117]
在本实施例中,目标跟踪模块采用简单在线实时目标跟踪算法(simple online and realtime tracking,sort),该跟踪算法通过位置和形状信息关联跟踪目标,不需要对图像内容进行特征提取,能在较低的计算代价下保证10fps以上的跟踪帧率。通过目标跟踪算法可以对运动框进行整合,整合策略包含如下内容:
[0118]
1)对视频序列中不能建立跟踪id的零散运动框过滤掉,以减少不必要的候选框检测;
[0119]
2)对能够建立跟踪id的跟踪目标连续3帧内被遮挡或遗漏的视频序列进行候选框补充;
[0120]
3)对能够建立跟踪id的跟踪目标采用跟踪算法修正后的跟踪候选框代替原运动候选框。
[0121]
在本实施例中,行人检测模块所使用的视频序列帧率为10~15fps,从而保证以一个较低的帧率进行行人检测,进而保证行人检测的准确性。本实施例的行人检测模块中设计了一个行人检测器,如图4所示,该行人检测器为神经网络检测器。训练时神经网络的输入图片需要切割并转换为64x64x3的yuv格式,以去除前向推理时yuv到rgb格式的转换过程。网络基础层采用一个hog特征融合模块将8通道的hog特征与神经网络特征相融合,来增强网络浅层特征表达能力,其中hog特征包括1个灰度通道、1个梯度幅值通道、6个梯度方向通道。主干网络采用改进的efficientnet轻量级网络结构,大量使用了如图4所示的mbconv模块来提取深层特征,但本实施例中的行人检测器侧重于小目标检测,不需要太大的感知域,所以将5x5的卷积核全部替换成3x3,并且除基础层外只保留前6个stage。网络检测头采用一种多头注意力结构,用于预测行人目标的置信度和外接矩形框。由于检测器只需要检测长宽最小为8、最大为64的行人目标,仅保留一个检测分支即可,但是置信度预测分支采用多头预测模块来关注不同类型的行人,以提高置信度预测的准确性。
[0122]
将上述行人检测器部署至嵌入式平台上时,为了最大限度避免计算浪费,本实施例中的行人检测器采用一种尺寸自动选择策略动态调整每次检测神经网络的最佳输入幅
面。在本实施例中,定制的卷积神经网络检测器最大进行了16倍下采样,因此输入尺寸必须是16的倍数,然后建立一个输入幅面的备选组合,组合中成员表示为[宽,高],推荐但不限于的组合为{[80,48],[64,64],[48,80]}。每次行人检测时在其中选择与候选框长宽比最接近的作为当前检测器的输入幅面,候选区域通过缩放后嵌入到输入幅面进行行人检测。
[0123]
神经网络在进行前向推理运算时,通常权重参数和特征图占用了大部分内存,例如现有神经网络前向推理框架,如ncnn,没有对神经网络中间层的特征图内存进行优化。而本实施例采用一种特征图内存复用策略来减小行人检测器的内存消耗。如图5所示,特征图内存空间是一块提前申请好的内存,神经网络是由互相连接的网络中间层组成,每层输出用一个top结构体表示,该结构体包含在特征图内存空间上的起始地址、内存长度和地址编号,输入用bottom结构体表示,只包含输入特征图的地址编号。网络从第一层开始分配地址,首先进行内存释放,遍历一遍已申请内存的top结构体,将后续所有层均不需要的释放掉;然后再进行内存申请,申请时从已释放的内存中搜索是否有一段连续地址长度大于当前top内存长度,有则占用此段地址,否则才在未使用的空间上申请额外的内存,直到完成最后一层的内存分配。该特征图内存复用策略只在网络初始化的时候按照最大备选幅面执行一次即可,不消耗在线实时检测的算力。
[0124]
需要说明的是,上述基于视频序列的行人检测方法不局限于卷积神经网络检测器,只要应用视频序列的背景画面处于静止状态,均可配合使用本实施例提供的候选区域获取策略来提高检测效率,如行人检测器替换成基于纹理特征的传统行人检测方法能够达到更高的检测帧率、更小的内存消耗。
[0125]
本实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本实施例所述的基于视频序列的行人检测方法。
[0126]
综上所述,本实施例提供的基于视频序列的行人检测方法及装置、计算机存储介质,包括提取视频序列中的运动目标区域,并将提取的运动目标区域定义为运动候选框;将同一目标在不同序列中的运动候选框串联起来,以建立目标id;以较低帧率对成功建立目标id的运动候选框轮流进行行人检测,并回归出行人目标位置,并将获得的行人目标位置定义为行人框;将成功检测到行人的目标id设置为激活目标,对未检测到行人的目标id设置为休眠目标;利用激活目标和被检测帧行人在运动候选框中的相对位置推断出其他帧行人位置,休眠目标等待下次检测。通过视频序列中的运动信息和目标跟踪信息分别从空间域和时间域上筛选出高质量的候选区域,使得以极小的计算和内存代价来定位行人目标,解决了现有行人检测方法运算量大、检测结果可靠性差且检测效率低的问题。
[0127]
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1