基于视频数据的行人过街意图识别方法与流程

文档序号:26628867发布日期:2021-09-14 22:29阅读:379来源:国知局
基于视频数据的行人过街意图识别方法与流程

1.本公开涉及自动驾驶领域、高级汽车驾驶员辅助技术领域和计算机视觉技术领域,具体涉及一种基于深度学习方法对车载相机拍摄的视频数据进行实时行人过街意图识别的技术和方法,尤其涉及一种基于时空注意力机制的行人轨迹预测方法、系统、电子设备和可读存储介质。


背景技术:

2.随着计算机视觉技术的发展,采用计算机视觉技术进行环境感知已经成为智能感知系统中不可或缺的部分。行人感知是自动驾驶领域必不可少的环境感知内容。其中,行人过街意图识别在自动驾驶领域等具有重要意义,在自动驾驶场景中,自动驾驶车辆一般都配备车载相机,拍摄前方和两侧道路的视频图像,自动驾驶系统识别正在过街的行人以及有过街意图的行人,并将识别结果传输至决策控制模块,使自动驾驶车辆能够提前实施制动等措施,有利于增强道路交通安全,保障行人的生命安全。
3.现阶段,对行人过街意图识别方面的研究还存在诸多难点,目前主流的论文或专利提出不同的技术尝试解决,但所提供的方法在实际自动驾驶系统使用中还存在很大的完备空间。
4.为了解现有技术的发展状况,本公开对已有的专利文献和论文进行了检索、比较和分析:
5.方案一:proceedings of the ieee/cvf international conference on computer vision论文“pie:a large

scale dataset and models for pedestrian intention estimation and trajectory prediction”提出了一种用于行人意图估计(pie)的新颖的大规模数据集,以建立交通场景中行人意图的参考数据,并提出了用于估计行人过街意图并预测其未来轨迹的模型,模型分为三个部分,均采用基于长短期记忆网络(lstm)的encoder

decoder结构,利用行人意图和本车速度,辅助预测行人轨迹。但是该方法中的长短期记忆网络(lstm)参数量大,训练效率低,无法并行化处理,不利于实际自动驾驶系统的行人过街意图实时识别。
6.方案二:ieee transactions on intelligent transportation systems论文“intention recognition of pedestrians and cyclists by 2d pose estimation”设计了用于识别行人和骑车人等弱势道路使用者(vru)的意图的模型,对于骑自行车的人而言,假设他们遵循交通规则,则手臂信号能够指示将来的动作,对于行人而言,行人的行走方式可以确定他/她是否有意在穿过马路。该方法认为行人位姿和身体动作甚至比卷积神经网络提取的外观特征还要重要,但是人体关键点又较为粗略,且对视频分辨率要求高,对中远距离的行人意图识别效果欠佳,达不到自动驾驶车辆在实际道路运行时的行人意图识别目的。
7.方案三:ieee robotics and automation letters论文“spatiotemporal relationship reasoning for pedestrian intent prediction”采用图结构关联道路上
的行人、车辆等目标,设每一个行人为节点,建立一个以行人为中心的的时空图,节点特征表示为一个特征向量,特征向量编码了这一帧中的场景上下文信息和时间历史信息,采用门控循环单元(gru)预测行人是否过马路。然而,将每个行人设为中心节点,运算复杂度随着行人数量而增加,而且循环神经网络的使用无法实现并行化,不能到达实际自动驾驶车辆在实际道路上运行的使用需要。
8.方案四:专利文献cn109117701a提出了一种基于图卷积的行人意图识别方法,对车载相机采集的视频图像进行行人检测和行人人体关键点信息提取,并用图表示行人人体关键点的连接信息,通过图卷积算法从人体关键点的坐标信息和邻接矩阵表示中提取底层特征,并将底层特征通过卷积神经网络和循环神经网络进行高层次特征提取和时序分析,实现对行人行为意图的分类识别。该方法主要依赖人体关键点的信息,但提取人体关键点消耗较大的资源,且关键点较为粗略,无法精细提取行人的意图,不能满足实际自动驾驶系统对行人意图判断的可靠性要求。
9.可见,现有的行人过街意图识别还存在计算效率低、训练代价高、识别准确性低、误差大,且实时性不好等问题,不适合自动驾驶实际使用中的预测需要,严重影响了自动驾驶系统控制决策的有效性,不利于自动驾驶系统安全性的提高。
10.综上,现有技术目前仍然无法解决自动驾驶实际应用场景下对行人过街意图进行实时有效识别的技术问题,影响了自动驾驶的决策。因此,如何提供一种计算效率高、网络训练开销小,满足自动驾驶决策对实际道路场景中行人过街意图的实时有效识别需求的行人过街意图识别方法,成为当前自动驾驶领域非常有现实意义的研究内容。


技术实现要素:

11.为达到上述发明目的,本公开需要克服的技术难点主要集中在如下几个方面:
12.一是早期的过街意图难以捕捉。一般来说,能够越早预测行人的过街意图,对于自动驾驶车辆越有益。然而,早期行人的过街意图征兆不明显或者持续时间过短,行人在过街前头部和面部会有一定的动作,但此类动作不会持续,需要捕捉并识别到关键的动作并加以处理。仅仅利用人体关键点的信息以推断行人的动作或者意图,则由于人体关键点数量少,特征粗略,且人体位姿估计消耗较多运算资源,不能进行有效预测。
13.二是视频数据具有时序特征,行人过街的意图需要根据时序上下文的信息进行推断,虽然循环神经网络(包括rnn、lstm、gru及其变体等)能够较好捕捉时间的依赖,但其效率较低,训练代价高,不利于自动驾驶平台的模型部署。
14.三是视频数据具有丰富的语义特征,如果采用多任务、多模型组合的方式,人为划分特征,使用单一模型进行提取,再进行特征融合,典型特征包括行人位置特征、行人外观特征、场景语义特征、人体位姿特征等,但是,这种方式在一定程度上破坏了原始视频数据的语义信息,增加了人为引入的误差。
15.四是自动驾驶系统要求行人意图预测需要具有实时性,现有方法难以兼顾实时性。人体位姿估计、图像特征提取等任务均消耗较大的计算资源。此外,现阶段的视频理解和动作识别领域方法大多针对于离线的视频,需要对整个视频序列进行分析和建模,而自动驾驶的场景需求是在线的行人动作和意图识别,因此特征复用、时序融合均为技术难点。
16.为了解决上述四个技术问题,本公开提出了一种基于视频数据的行人过街意图识
别方法和系统,尽可能早地预测行人过街意图,采用2d卷积神经网络提取视频流中包含行人以及周围场景的单帧图像特征,并用两种方式融合不同帧之间的时序关联,一是对特征图的部分通道进行相邻帧的运动增强,捕捉并增强行人关键的动作,二是对特征图的部分通道在时序上进行时序分组1d卷积操作,在低复杂度下建立时序上的关联。针对自动驾驶平台的需求,通过设置合理的缓冲区,在线且持续地输出每一视频帧的识别结果,并实现对历史特征的有效复用。本公开通过端到端地逐帧对视频流中的行人进行意图识别和动作检测,达到对行人过街意图的高准确度和实时识别。
17.具体地,为了解决上述技术问题,本公开提供了一种基于时空注意力机制的行人轨迹预测方法、装置、电子设备及存储介质。
18.根据本公开的一个方面,本公开提供了一种基于视频数据的行人过街意图识别方法,包括如下步骤:
19.步骤s100、车载相机实时采集自动驾驶车辆前方的道路及场景图像,获得视频数据;
20.步骤s110、对所述视频数据进行数据预处理,提取车载相机拍摄的视频当前帧中的行人及周围区域的图像并划分类别;
21.步骤s120、采用2d卷积神经网络对行人及周围场景区域的图像进行特征提取,得到2d卷积特征图,并针对2d卷积特征图的部分通道进行运动增强和时序分组1d卷积,得到运动时序特征图;
22.步骤s130、根据所述运动时序特征图,计算并获得当前帧的初步识别结果;
23.步骤s140、对所述初步识别结果进行平滑滤波,输出行人在当前帧的过街意图或状态。
24.优选地,所述预处理包括:检测行人在视频图像中的外接框,并关联视频不同帧中的同一行人。
25.优选地,对所述经过预处理后的数据的每一帧中的行人过街意图及状态进行识别,输出行人当前的意图或状态,包括crossing(正在过街)、not

crossing(不过街)和intention

to

cross(存在过街意图)共3种。
26.优选地,在所述步骤s110中,车载相机采集视频的原始帧率为30fps,输入数据包含当前帧的视频图像,以及当前帧图像中所有的行人外接框坐标(x
lt
,y
lt
,x
rb
,y
rb
)以及行人id,其中,(x
lt
,y
lt
),(x
rb
,y
rb
)分别代表行人在像素坐标系中外接框的左上角坐标和右下角坐标;将行人外接框扩张为k
context
倍大小,得到带背景信息的行人外接框,计算公式如下所示:
[0027][0028][0029][0030]
[0031]
其中,(x
lt
',y
lt
',x
rb
',y
rb
')为带背景信息的行人外接框坐标。
[0032]
优选地,其中所述k
context
=1.5。
[0033]
优选地,所述步骤s120包括如下步骤:
[0034]
步骤s121、选定用于图像特征提取的基于2d卷积的主干网络backbone网络;
[0035]
步骤s122、设置集合s1和s2,分别包含需要在backbone网络中进行运动增强和时序分组1d卷积的位置;
[0036]
步骤s123、在backbone网络中进行处理;
[0037]
步骤s124、判断所述backbone网络中的处理是否结束;
[0038]
步骤s125、判断当前在backbone网络中的处理位置是否在集合s1和s2中;
[0039]
步骤s126、取出缓冲区中上一帧相同位置的特征图,并将当前帧的特征图存入缓冲区中;
[0040]
步骤s127、若当前位置在集合s1中,则对当前特征和上一帧特征图的相应通道进行运动增强;
[0041]
步骤s128、若当前位置在集合s2中,则对当前特征和上一帧特征图的相应通道进行时序分组1d卷积;
[0042]
步骤s129、输出特征图;
[0043]
其中,所述步骤s124中,如果所述backbone网络中的处理没有结束,则继续执行步骤s125的操作;否则,直接跳转到步骤s129;
[0044]
所述步骤s125中,如果当前在backbone网络中的处理位置在集合s1或s2中,则进入步骤s126;否则,返回步骤s123。
[0045]
优选地,所述步骤s121中,用于图像特征提取的backbone网络为resnet50、resnet101、vggnet、densenet或mobilenet网络中的任意一个。
[0046]
优选地,所述用于图像特征提取的backbone网络为resnet50网络。
[0047]
优选地,所述resnet50网络的参数如下表所示:
[0048][0049]
表格中,conv1,conv2_x,conv3_x,conv4_x,conv5_x分别代表resnet50中的5个组成部分,称为layer;tgc表示时序分组1d卷积操作。
[0050]
优选地,所述步骤s122中,通过搜索的方式确定相应位置,从而设置运动增强和时序分组1d卷积的位置,所述位置与backbone网络有关。
[0051]
优选地,在resnet50的每1个layer中的第1个resnet结构bottleneck的初始位置进行运动增强(motion

enhancement),并将该位置信息添加到集合s1中,其中bottleneck代表resnet网络中的瓶颈结构;在resnet50的每一个block的初始位置进行时序分组1d卷积(tgc),并将该位置信息添加到集合s2中。
[0052]
优选地,所述步骤s123中,按照resnet50网络流程进行处理;
[0053]
所述步骤s125中,集合s1和s2分别包含需要在backbone网络中进行运动增强和时序分组1d卷积的位置,如果当前处理位置k在集合s1或者s2中,则表明该位置有运动增强模块或者时序分组1d卷积模块,进入步骤s126中;否则,进入步骤s123中,继续推进backbone即resnet50的处理流程。
[0054]
优选地,所述步骤s126中,在内存中维持一块缓冲区m,用以存储上一帧在集合s1或者s2中出现位置的特征图;每次在缓冲区m的操作为,取出缓冲区中上一帧相同位置k的特征图并将当前帧的特征图存入缓冲区中,其中t

1和t表示任意相邻两帧。
[0055]
优选地,所述步骤s127中,若当前在backbone即resnet50中的处理位置k在集合s1中,即该位置处有运动增强模块,则对从缓冲区中取出的上一帧特征图以及当前帧特征图的通道进行运动增强。
[0056]
优选地,通过backbone中若干层2d卷积神经网络的处理,提取了前后两帧的特征图其中和分别表示上一帧特征图以及当前帧特征图,特征图维数为h
k
×
w
k
×
c
k
,h
k
、w
k
、c
k
分别表示backbone中位置k的特征图的高度、宽度、通道数;选择特征图的固定的通道,进行通道截取,得到用于运动增强的局部运动通道特征图组合其中和分别表示上一帧的局部运动通道特征图以及当前帧的局部运动通道特征图,其中d
motion
=8,选择特征图中0至1/8前闭后开的通道区间,按照如下公式进行运动增强:
[0057][0058]
以捕捉视频不同帧之间的动作变化,其中g表示3
×
3卷积操作和relu层,是运动增强后的相应特征图;对和进行逐位置相减,得到两帧之间的运动变化情况,再采用3
×
3卷积提取运动变化特征,将运动变化特征逐位置相加到上,实现运动的增强;最后,将替换原特征图的通道部分,原有的特征图得到运动增强更新。
[0059]
优选地,所述步骤s128中,若当前在backbone中的处理位置k在集合s2中,即该位置处需要执行时序分组1d卷积模块,则对从缓冲区中取出的上一帧特征图以及当前帧特征图的通道进行时序分组1d卷积,执行完毕后,跳转至步骤s123。
[0060]
优选地,通过backbone中若干层2d卷积神经网络的处理,提取了前后两帧的特征图其中和分别表示上一帧特征图以及当前帧特征图,特征图维数为h
k
×
w
k
×
c
k
,h
k
、w
k
、c
k
分别表示backbone中位置k的特征图的高度、宽度、通道数;选择特征图的
固定的通道,进行通道截取,得到用于时序分组1d卷积的二维局部时序通道特征图,并改变其尺寸为得到一维局部时序通道特征图组合其中和分别表示上一帧的一维局部时序通道特征图以及当前帧的一维局部时序通道特征图,d
tgc
=4,选择特征图中至前闭后开的通道区间,其中d
motion
=8;将前后两帧一维局部时序通道特征图在时间维度拼接为采用卷积核长度为2的1d卷积核,对在时间维度上进行分组的1d卷积,得到时序分组1d卷积后特征图视频两帧之间的特征得到融合;最后,将替换原特征图的至前闭后开的通道区间部分,原有的特征图得到时序融合更新。
[0061]
优选地,所述步骤s130中,backbone网络resnet50最终输出1
×1×
3维的结果特征图,通过softmax函数,计算得到当前行人正在过街(crossing)、不过街(not

crossing)和存在过街意图(intention

to

cross)共三个类别意图或状态的概率,选择概率最高的类别作为当前帧的初步识别结果。
[0062]
优选地,对初步的识别结果进行滤波,输出行人在当前帧的过街意图或状态。
[0063]
优选地,所述步骤s140包括如下步骤:
[0064]
步骤s141、设定当前帧为t,从历史帧状态列表中获取t

1帧、t

2帧的状态;
[0065]
步骤s142、若t帧的状态不等于t

1帧,且t

1帧状态不等于t

2帧,则修正t帧状态为t

1帧状态;
[0066]
步骤s143、若t帧状态为正在过街(crossing)且t

1帧状态为不过街(not

crossing),则修正t帧状态为存在过街意图(intention

to

cross),防止由不过街(not

crossing)无意义地变为正在过街(crossing);
[0067]
步骤s144、若t帧状态为存在过街意图(intention

to

cross)且t

1帧状态为正在过街(crossing),则修改当前帧状态为正在过街(crossing),防止由正在过街(crossing)无意义地变为存在过街意图(intention

to

cross);
[0068]
步骤s145、输出当前帧的行人过街意图或者状态,并更新历史帧状态列表l
st

[0069]
优选地,所述步骤s141中,维持一个历史帧状态列表l
st
,存储历史帧的意图或者状态,列表长度为2,当前帧为t,从历史帧状态列表中获取t

1帧、t

2帧的行人意图意图或者状态。
[0070]
优选地,所述步骤s145中,当前帧的行人过街意图或者状态为正在过街(crossing)、不过街(not

crossing)和存在过街意图(intention

to

cross)三者之一,按照滑动窗口的思想,去除历史帧状态列表的第一个元素,并将当前帧的结果添加到历史帧状态列表l
st
的末端。
[0071]
根据本公开的另一个方面,本公开提供了一种基于视频数据的行人过街意图识别系统,包括:
[0072]
数据采集单元,车载相机实时采集自动驾驶车辆前方的道路及场景图像,获得视频数据;
[0073]
数据预处理单元,对所述视频数据进行数据预处理,提取车载相机拍摄的视频当前帧中的行人及周围区域的图像并划分类别;
[0074]
特征融合单元,采用2d卷积神经网络对行人及周围场景区域的图像进行特征提取,得到2d卷积特征图,并针对2d卷积特征图的部分通道进行运动增强和时序分组1d卷积,得到运动时序特征图;
[0075]
初步识别单元,根据所述运动时序特征图,计算并获得当前帧的初步识别结果;
[0076]
输出单元,对所述初步识别结果进行滤波,输出行人在当前帧的过街意图或状态。
[0077]
根据本公开的再一个方面,本公开提供了一种电子设备,包括:
[0078]
存储器,所述存储器存储执行指令;以及
[0079]
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述方法。
[0080]
根据本公开的又一个方面,本公开提供了一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述方法。
[0081]
本公开的有益效果:
[0082]
1、采用运动增强模块捕捉并增强视频相邻帧之间行人的运动和动作信息,大大提高了行人过街意图识别的准确度;
[0083]
2、采用时序分组1d卷积,在低复杂度下,关联和融合视频相邻帧之间存在的时序信息,使得历史帧的特征能够传递到当前帧,有助于在一段连续的时间内判断行人过街意图;
[0084]
3、部署在自动驾驶车辆的平台上,进行在线行人过街意图识别,实时识别出行人的过街意图,满足自动驾驶系统的实时使用需要;
[0085]
4、系统装置轻量化,无需庞大的复杂计算,适应于车载低功耗处理器的处理能力;
[0086]
5、运动增强模块能够捕捉行人微小的动作信息,有利于对行人的过街意图做出判断;
[0087]
6、时序分组1d卷积可以融合历史帧的特征,有助于在一段连续的时间内判断行人过街意图。
附图说明
[0088]
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。通过结合附图对本公开的实施例进行详细描述,本公开的上述和其它目的、特征、优点将更加清楚。
[0089]
图1示出了基于深度学习方法对车载相机拍摄的视频数据进行实时行人过街意图识别系统的总体流程
[0090]
图2示出了针对特征图的部分通道利用时序分组1d卷积和运动增强的流程
[0091]
图3示出了增加时序分组1d卷积的resnet bottleneck block图
[0092]
图4示出了运动增强模块的结构
[0093]
图5示出了时序分组1d卷积模块的结构
[0094]
图6示出了对当前帧结果进行平滑的流程
[0095]
图7示出了三种类别状态转移图
具体实施方式
[0096]
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
[0097]
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
[0098]
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
[0099]
在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
[0100]
当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上“、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
[0101]
本公开使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
[0102]
在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式/方式或示例中。在本说明书
中,对上述术语的示意性表述不必须的是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
[0103]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0104]
本公开的目的之一是提供一种基于视频数据的行人过街意图识别方法。
[0105]
图1示出了基于深度学习方法对车载相机拍摄的视频数据进行实时行人过街意图识别系统的总体流程。首先进行数据预处理,提取车载相机拍摄的视频当前帧中的行人及周围区域的图像并划分类别。其次,采用2d卷积神经网络对行人及周围场景区域的图像进行特征提取,并针对特征图的部分通道,进行运动增强和时序分组1d卷积。根据输出的特征图,计算并获得当前帧的初步识别结果,并对其进行滤波,输出行人在当前帧的过街意图或状态。
[0106]
具体情境为,在步骤s100(图中未示出)中,实时采集自动驾驶车辆前方的道路及场景图像,获得视频数据;具体地,采用自动驾驶车辆配备的光学相机实时采集车辆前方的道路及场景图像,获得视频数据,场景中可能包含正在穿越马路的行人,以及位于道路两侧的存在或者不存在过街意图的行人。所采视频数据经过预处理,检测行人在视频图像中的外接框,并关联视频不同帧中的同一行人。对所述经过预处理后的数据的每一帧中的行人过街意图及状态进行识别,输出行人当前的意图或状态,包括crossing(正在过街)、not

crossing(不过街)和intention

to

cross(存在过街意图)共3种。
[0107]
在步骤s110中,进行数据预处理,提取车载相机拍摄的视频当前帧中的行人及周围区域的图像,并对数据进行分类。具体地,车载相机采集视频的原始帧率为30fps,输入数据包含当前帧的视频图像,以及当前帧图像中所有的行人外接框坐标(x
lt
,y
lt
,x
rb
,y
rb
)以及行人id,其中,(x
lt
,y
lt
),(x
rb
,y
rb
)分别代表行人在像素坐标系中外接框的左上角坐标和右下角坐标。按照下式,将行人外接框扩张为k
context
倍大小,得到带背景信息的行人外接框(x
lt
',y
lt
',x
rb
',y
rb
'),其中k
context
=1.5。
[0108][0109][0110][0111][0112]
根据(x
lt
',y
lt
',x
rb
',y
rb
')提取出相应的行人及周围场景的图像区域,如果(x
lt
',y
lt
',x
rb
',y
rb
')超出了原图像的边界,则取图像边界的坐标。保持该矩形区域的长宽比不变,将矩形区域的长边设置缩放为224像素,使得原区域大小改变,将改变后的图像区域放
置在224*224尺寸的2d空间的中心位置,2d空间中非图像区域像素值填充为(255,255,255)。行人的类别和状态共有3种,分别是crossing、not

crossing和intention

to

cross,数据集包括jaad数据集和pie数据集,由于数据集中的行人仅有crossing、not

crossing两种标注,分别对应行人正在过街的视频帧和未过街的视频帧,为此,设置time

to

event为1秒,即设置crossiing帧发生时刻的前1秒的视频帧为intention

to

cross类别。
[0113]
在步骤s120中,选定用于提取行人及周围区域的图像特征的backbone网络,设置集合s1和s2,分别包含需要在backbone网络中进行运动增强和时序分组1d卷积的位置,在backbone提取特征的过程中,针对特征图的部分通道利用时序分组1d卷积和运动增强融合相邻帧的时序特征。
[0114]
图2示出了针对特征图的部分通道利用时序分组1d卷积和运动增强融合相邻帧的时序特征的流程。
[0115]
[0116]
表1在backbone resnet50中设置的运动增强和时序分组1d卷积的位置
[0117]
在步骤s121中,选定用于图像特征提取的基于2d卷积的主干网络backbone。具体地,用于图像特征提取的backbone有若干种选择,例如resnet50、resnet101、vggnet、densenet、mobilenet等,具体的选择根据自动驾驶系统的硬件条件以及设计需求而定,本例中选择resnet50作为该系统的backbone网络。
[0118]
图3是增加时序分组1d卷积的resnet bottleneck block图。
[0119]
在步骤s122中,设置集合s1和s2,分别包含需要在backbone中进行运动增强和时序分组1d卷积的位置。具体地,设置运动增强和时序分组1d卷积的位置与backbone网络有关,可以通过搜索的方式确定相应位置。在本例中,见表1,表格中,conv1,conv2_x,conv3_x,conv4_x,conv5_x分别代表resnet50中的5个组成部分,称为layer;k
×
k,c的结构表示卷积核大小为k
×
k,输出通道数为c的卷积操作,其中k、c均为正整数;tgc表示时序分组1d卷积操作。在resnet50的每1个layer中的第1个resnet结构bottleneck的初始位置进行运动增强(motion

enhancement),并将该位置信息添加到集合s1中,其中bottleneck代表resnet网络中的一种瓶颈结构;在resnet50的每一个block的初始位置进行时序分组1d卷积(tgc),并将该位置信息添加到集合s2中,增加时序分组1d卷积的resnet bottleneck block如图3所示。
[0120]
在步骤s123中,在backbone网络中进行处理。具体地,在本例中,按照一般的resnet50流程进行处理。
[0121]
在步骤s124中,判断是否处理结束。具体地,判断在resnet50网络中的处理流程是否结束,如果结束,则跳转到步骤s129中;否则,跳转到步骤s125中。
[0122]
在步骤s125中,当前在backbone即resnet50中的处理位置k,是否在集合s1和s2中。具体地,集合s1和s2分别包含需要在backbone中进行运动增强和时序分组1d卷积的位置,如果当前处理位置k在集合s1或者s2中,则表明该位置有运动增强模块或者时序分组1d卷积模块,进入步骤s126中;否则,进入步骤s123中,继续推进backbone即resnet50的处理流程。
[0123]
在步骤s126中,取出缓冲区中上一帧相同位置k的特征图并将当前帧的特征图存入缓冲区中。具体地,运动增强和时序分组1d卷积均需要相邻两帧在backbone中相同处理位置的特征图,在内存中维持一块缓冲区m,用以存储上一帧在集合s1或者s2中出现位置的特征图。每次在缓冲区m的操作为,取出缓冲区中上一帧相同位置k的特征图并将当前帧的特征图存入缓冲区中,其中t

1和t表示任意相邻两帧。
[0124]
在步骤s127中,若当前位置k在集合s1中,则对当前特征图和上一帧特征图的通道的运动增强。具体地,若当前在backbone即resnet50中的处理位置k在集合s1中,即该位置处有运动增强模块,则对从缓冲区中取出的上一帧特征图以及当前帧特征图的通道进行运动增强。
[0125]
图4是运动增强模块的结构图。下面将介绍运动增强模块,见图4。通过backbone中
若干层2d卷积神经网络的处理,提取了前后两帧的特征图其中和分别表示上一帧特征图以及当前帧特征图,特征图维数为h
k
×
w
k
×
c
k
,h
k
、w
k
、c
k
分别表示backbone中位置k的特征图的高度、宽度、通道数;选择特征图的固定的通道,进行通道截取,得到用于运动增强的局部运动通道特征图组合其中和分别表示上一帧的局部运动通道特征图以及当前帧的局部运动通道特征图,其中d
motion
=8,选择特征图中0至1/8前闭后开的通道区间,按照公式进行运动增强,以捕捉视频不同帧之间的动作变化,其中g表示3
×
3卷积操作和relu层,是运动增强后的相应特征图。对和进行逐位置相减,得到两帧之间的运动变化情况,再采用3
×
3卷积提取运动变化特征,将运动变化特征逐位置相加到上,实现运动的增强。最后,将替换原特征图的通道部分,原有的特征图得到运动增强更新。
[0126]
在步骤s128中,若当前位置k在集合s2中,则对当前特征图和上一帧特征图的通道的时序分组1d卷积,执行完毕后,跳转至步骤s123。具体地,若当前在backbone中的处理位置k在集合s2中,即该位置处需要执行时序分组1d卷积模块,则对从缓冲区中取出的上一帧特征图以及当前帧特征图的通道进行时序分组1d卷积。
[0127]
图5是时序分组1d卷积模块的结构图。下面将介绍时序分组1d卷积模块,见图5。通过backbone中若干层2d卷积神经网络的处理,提取了前后两帧的特征图其中和分别表示上一帧特征图以及当前帧特征图,特征图维数为h
k
×
w
k
×
c
k
,h
k
、w
k
、c
k
分别表示backbone中位置k的特征图的高度、宽度、通道数;选择特征图的固定的通道,进行通道截取,得到用于时序分组1d卷积的二维局部时序通道特征图,并改变其尺寸为得到一维局部时序通道特征图组合其中和分别表示上一帧的一维局部时序通道特征图以及当前帧的一维局部时序通道特征图,d
tgc
=4,选择特征图中至前闭后开的通道区间,其中d
motion
=8;将前后两帧一维局部时序通道特征图在时间维度拼接为采用卷积核长度为2的1d卷积核,对在时间维度上进行分组的1d卷积,得到时序分组1d卷积后特征图视频两帧
之间的特征得到融合;最后,将替换原特征图的至前闭后开的通道区间部分,原有的特征图得到时序融合更新。
[0128]
在步骤s130中,根据特征图,计算并获得当前帧的初步识别结果。具体地,backbone网络resnet50最终输出1
×1×
3维的结果特征图,通过softmax函数,可以计算得到当前行人crossing(正在过街)、not

crossing(不过街)和intention

to

cross(存在过街意图)共三个类别的概率,选择概率最高的类别作为当前帧的初步识别结果。
[0129]
在步骤s130中,对初步的识别结果进行滤波,输出行人在当前帧的过街意图或状态。
[0130]
图6示出了对当前帧结果进行滤波的流程。
[0131]
在步骤s141中,设当前帧为t,从历史帧状态列表中获取t

1帧、t

2帧的状态。具体地,维持一个历史帧状态列表l
st
,存储历史帧的意图或者状态,在本例中,列表长度为2,设当前帧为t,从历史帧状态列表中获取t

1帧、t

2帧的行人意图意图或者状态。
[0132]
在步骤s142中,若t帧的状态不等于t

1帧,且t

1帧状态不等于t

2帧,则修正t帧状态为t

1帧状态。
[0133]
在步骤s143中,见图7,若t帧状态为crossing且t

1帧状态为not

crossing,则修正t帧状态为intention

to

cross,防止由not

crossing无意义地变为crossing。
[0134]
在步骤s144中,见图7,若t帧状态为intention

to

cross且t

1帧状态为crossing,则修改当前帧状态为crossing,防止由crossing无意义地变为intention

to

cross。
[0135]
在步骤s145中,输出当前帧的行人过街意图或者状态,并更新历史帧状态列表l
st
。具体地,当前帧的行人过街意图或者状态为crossing(正在过街)、not

crossing(不过街)和intention

to

cross(存在过街意图)三者之一,按照滑动窗口的思想,去除历史帧状态列表的第一个元素,并将当前帧的结果添加到历史帧状态列表l
st
的末端。
[0136]
本公开的流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
[0137]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0138]
就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
[0139]
应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(pga)、现场可编程门阵列(fpga)等。
[0140]
本公开领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
[0141]
此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
[0142]
本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的方法。
[0143]
本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的方法。
[0144]
综上所述,本公开所述方法具有如下优势:
[0145]
1、由于采用了运动增强模块捕捉并增强视频相邻帧之间行人的运动和动作信息,大大提高了行人过街意图识别的准确度。
[0146]
2、采用时序分组1d卷积,在低复杂度下,关联和融合视频相邻帧之间存在的时序信息,使得历史帧的特征能够传递到当前帧,有助于在一段连续的时间内判断行人过街意图。
[0147]
3、设计了在线行人过街意图识别的方法和系统,能够部署到自动驾驶车辆的平台上,在线并实时地进行行人过街意图识别,满足自动驾驶系统的实时使用需要。
[0148]
4、本公开的系统装置轻量化,无需庞大的复杂计算,适应于车载低功耗处理器的处理能力,能够部署在自动驾驶车辆的平台上,进行实时的行人过街意图识别。
[0149]
5、运动增强模块可以捕捉行人微小的动作信息,有利于对行人的过街意图做出判断。
[0150]
6、时序分组1d卷积可以融合历史帧的特征,有助于在一段连续的时间内判断行人过街意图。
[0151]
可见,本公开在实际自动驾驶应用中,既适应车载低功耗处理器的处理能力,又基于实时视频数据,保证了对于复杂行人过街意图识别的实时性和有效性,提高了对行人过街意图识别的准确性,为实际自动驾驶决策提供了可靠的依据,大大提高了自动驾驶的安全性。
[0152]
至此,已经结合附图所示的优选实施方法描述了本公开的技术方案,但是,本领域技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定,本公开的保护范围显然不局限于这些具体实施方式。在不偏离本公开的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案仍处于本公开的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1