掌桥专利:专业的专利平台
掌桥专利
首页

一种目标检测方法、计算机可读存储介质及驾驶设备

文献发布时间:2023-06-19 19:28:50


一种目标检测方法、计算机可读存储介质及驾驶设备

技术领域

本发明涉及目标检测技术领域,具体提供一种目标检测方法、计算机可读存储介质及驾驶设备。

背景技术

目前基于点云或图像进行目标检测的模型在部署时,基于算力和延迟等因素的考虑,通常需要对该模型进行模型量化。通过模型量化可将训练好的模型的权重、激活值等从高精度转化成低精度,从而实现降低对算力的需求并提升计算速度。

然而,经过模型量化后的模型应用于特殊天气场景如雨天、下雪、雾、霾等场景的目标检测时,因受天气的影响采集到的图像或点云数据质量较低,如会出现地面点云残缺、空中噪点或目标边缘不清晰等低质量点云分布情况,当将图像或点云数据输入模型,会产生较大的量化误差,造成目标误检或漏检。针对上述问题,相关技术中有通过获取更多特殊天气场景下的数据,基于得到的大量特殊天气场景下的数据对初始的模型进行训练,以得到识别能力较好的模型。该方法可以改善目标检测的准确度,但效果相对较差,如何进一步提高基于模型量化后的模型进行目标检测时的准确度成为亟需解决的问题。

发明内容

本发明旨在解决上述技术问题,即,解决基于模型量化后的模型进行目标检测时如何进一步提高目标检测准确度的问题。

在第一方面,本发明提供一种目标检测方法,应用于驾驶设备,其包括:

获取当前驾驶场景的感知数据,所述感知数据包括摄像头采集的图像数据和/或雷达采集的点云数据;

将所述感知数据输入目标检测神经网络模型,得到所述当前驾驶场景的目标检测结果;

其中,所述目标检测神经网络模型包括多个卷积单元和限制层,所述限制层至少设置在至少一个所述卷积单元输出端,所述卷积单元至少包括卷积层,所述卷积单元用于对所述感知数据进行特征提取并输出特征张量;所述限制层用于对所述卷积单元输出端输出的所述特征张量的特征值范围进行限定。

在一些实施例中,所述限制层包含预设下限值和预设上限值,所述将所述感知数据输入目标检测神经网络模型,得到所述当前驾驶场景的目标检测结果包括:

基于所述限制层对所述卷积单元输出端输出的所述特征张量的所有特征值范围进行限定,使得限定后得到的所述特征张量的所有特征值均处于大于等于所述预设下限值,小于等于所述预设上限值的范围内。

在一些实施例中,所述基于所述限制层对所述卷积单元输出端输出的所述特征张量的所有特征值范围进行限定包括:

获取所述特征张量中每个元素的特征值,以及所述特征值对应的预设上限值和预设下限值;针对所述特征张量中的各个元素,从所述元素的特征值和所述预设下限值之间选取较大值,并从所述较大值和所述预设上限值之间选取较小值作为所述元素限制后的特征值。

在一些实施例中,所述目标检测神经网络模型包括多个级联设置的卷积单元;

当所述限制层设置在级联设置的相邻两个所述卷积单元之间时,所述限制层用于限制两个所述卷积单元中在前卷积单元输出的特征张量的特征值范围,并将限制后的特征值输入两个所述卷积单元中在后的卷积单元。

在一些实施例中,所述目标检测神经网络模型包括主路网络和至少一个支路网络,所述卷积单元和所述限制层设置在所述目标检测神经网络的主路网络和/或所述支路网络上。

在一些实施例中,所述目标检测神经网络模型还包括融合层,所述融合层设置在所述主路网络和/或所述支路网络中至少一个所述卷积单元的输出端,所述融合层用于将至少部分并列支路网络,或,所述主路网络和所述支路网络的输出特征进行融合,得到融合特征;以及,将所述融合特征传输给所述限制层。

在一些实施例中,所述卷积单元还包括设置在所述卷积层输出端的批归一化层,所述批归一化层用于对所述卷积层输出端输出的特征张量进行归一化处理;

或者,

所述卷积单元还包括在所述卷积层输出端依次设置的批归一化层和激活层,所述批归一化层用于对所述卷积层输出端输出的特征张量进行归一化处理,所述激活层用于对归一化处理后的所述特征张量进行线性或非线性转换。

在一些实施例中,所述方法还包括通过以下步骤训练得到所述目标检测神经网络模型:

采集驾驶场景的训练数据并对所述训练数据进行标注;

构建初始的目标检测神经网络模型,所述初始的目标检测神经网络模型包括多个卷积单元和限制层,所述限制层至少设置在至少一个所述卷积单元输出端,所述卷积单元至少包括卷积层,所述卷积单元用于对所述训练数据进行特征提取并输出特征张量;所述限制层用于对所述卷积单元输出端输出的所述特征张量的特征值范围进行限定;

将标注后的所述训练数据输入所述初始的目标检测神经网络模型,对所述初始的目标检测神经网络模型进行训练,直至所述初始的目标检测神经网络模型收敛;

对收敛的所述初始的目标检测神经网络模型进行模型量化,得到所述目标检测神经网络模型。

在一些实施例中,所述采集驾驶场景的训练数据包括采集晴天、雨天、雾、霾、雪天中至少之一天气下驾驶场景的图像训练数据和/或点云训练数据。

本发明的第二个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的目标检测方法。

本发明的第三个方面,提供了一种电子设备,其包括:

至少一个处理器;

以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器中存储有计算机程序,所述计算机程序被所述至少一个处理器执行时实现上述任一项所述的目标检测方法。

本发明的第四个方面,提供了一种驾驶设备,其包括驾驶设备本体、存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的目标检测方法。

在采用上述技术方案的情况下,本发明能够通过至少在目标检测神经网络模型中至少一个卷积单元的输出端设置限制层,对由相应卷积单元输出的特征张量的特征值范围进行限定,从而减少特征值范围的波动,降低量化误差。进而在应用该目标检测神经网络模型对当前驾驶场景的感知数据进行目标检测时,卷积单元用于对感知数据进行特征提取并输出特征张量;限制层用于对卷积单元输出端输出的特征张量的特征值范围进行限定,可以有效提高目标检测的准确度。

附图说明

下面结合附图来描述本发明的优选实施方式,附图中:

图1是本发明实施例提供的目标检测方法的主要步骤流程示意图;

图2是本发明实施例提供的目标检测神经网络模型的局部结构示意图;

图3是本发明实施例提供的另一目标检测神经网络模型的局部结构示意图;

图4是本发明实施例提供的另一目标检测神经网络模型的局部结构示意图;

图5是本发明实施例提供的目标检测神经网络模型的骨干网结构示意图;

图6是本发明实施例提供的目标检测神经网络模型训练方法流程示意图;

图7是本发明实施例提供的电子设备结构示意图;

图8是本发明实施例提供的驾驶设备结构示意图。

具体实施方式

下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

本发明提供的目标检测方法可以应用于驾驶设备,参见图1所示,图1是本发明实施例提供的目标检测方法的主要步骤流程示意图,其可以包括:

步骤S11:获取当前驾驶场景的感知数据,感知数据包括摄像头采集的图像数据和/或雷达采集的点云数据;

步骤S12:将感知数据输入目标检神经网络模型,得到当前驾驶场景的目标检测结果;

其中,目标检测神经网络模型包括多个卷积单元和限制层,限制层至少设置在至少一个卷积单元输出端,卷积单元至少包括卷积层,卷积单元用于对感知数据进行特征提取并输出特征张量;限制层用于对卷积单元输出端输出的特征张量的特征值范围进行限定。

在另一些实施例中,卷积单元还可以包括设置在卷积层输出端的批归一化层,批归一化层用于对卷积层输出端输出的特征张量进行归一化处理;或者,在另一些实施例中,卷积单元还可以包括在卷积层输出端依次设置的批归一化层和激活层,批归一化层用于对卷积层输出端输出的特征张量进行归一化处理,激活层用于对归一化处理后的特征张量进行线性或非线性转换。其中,批归一化层可以表示为BN层(Batch Normalization),激活层可以表示为Act层,作为示例,激活层可以采用ReLU(Rectified Linear Unit)激活函数。

在一些实施例中,步骤S11可以具体为利用摄像头采集当前驾驶场景的图像数据,和/或,利用雷达采集当前驾驶场景的点云数据。其中,雷达可以采用激光雷达或毫米波雷达,当前驾驶场景可以为天气良好、可视度高如晴天下的驾驶场景,当前驾驶场景还可以为特殊天气如雨天、雾、霾或雪天下的驾驶场景。

在一些实施例中,当感知数据为摄像头采集的图像数据时,采用的目标检测神经网络模型的基础架构可以包括骨干网和检测头,在一些实施例中,目标检测神经网络模型的基础架构还可以包括设置在骨干网和检测头之间的颈部网。作为示例,目标检测神经网络模型可以基于CNN(Convolutional Neural Network,卷积神经网络)、Faster-RCNN(Region Convolutional Neural Network)、Yolo(You Only Look Once)或SSD(SingleShot MultiBox Detector),并在CNN、Faster-RCNN、Yolo或SSD中的至少一个卷积单元输出端设置限制层后得到。

在另一实施例中,当感知数据为雷达采集的点云数据,采用的目标检测神经网络模型的基础架构可以包括骨干网和检测头,在一些实施例中,目标检测神经网络模型的基础架构还可以包括设置在骨干网之前,用于对输入的点云数据进行数据表达格式处理的网络。作为示例,目标检测神经网络模型可以基于Centerpoint或PointPillars,并在Centerpoint或PointPillars中的至少一个卷积单元输出端设置限制层后得到。

在另一实施例中,当感知数据为摄像头采集的图像数据和雷达采集的点云数据时,目标检测神经网络模型可以为基于卷积神经网络模型构建的融合型目标检测神经网络模型。作为示例,融合型的目标检测神经网络模型的基础架构可以包括两个并列设置的骨干网,分别用于对输入的图像数据和点云数据进行特征提取;与两个骨干网输出端连接、且用于将两个骨干网输出的特征进行融合的融合网络;以及,基于融合网络输出的融合特征进行目标检测的检测头;其中,可以在融合型的目标检测神经网络模型中的至少一个卷积单元的输出端设置限制层。

在一些实施例中,限制层可以包含预设下限值和预设上限值,步骤S12可以具体为:基于限制层对卷积单元输出端输出的特征张量的所有特征值范围进行限定,使得限定后得到的特征张量的所有特征值均处于大于等于预设下限值,小于等于预设上限值的范围内。其中,预设下限值和预设上限值可以根据需求进行设定。

在一些实施例中,基于限制层对卷积单元输出端输出的特征张量的所有特征值范围进行限定可以包括:

获取特征张量中每个元素的特征值,以及特征值对应的预设上限值和预设下限值;

针对特征张量中的各个元素,从元素的特征值和预设下限值之间选取较大值,并从较大值和预设上限值之间选取较小值作为元素限制后的特征值。

在一些实施例中,限制层可以用以下表达式表示:

其中,

在一些实施例中,参见图2所示,图2是本发明实施例提供的目标检测神经网络模型的局部结构示意图,其可以包括两个卷积单元,两个卷积单元分别包括卷积层Conv1和卷积层Conv2;以及,设置在卷积层Conv1输出端的限制层。作为具体示例,当卷积层Conv1输出端输出WΧHΧC的特征张量,特征张量中包含了WΧHΧC个元素,其中W、H分别代表输出特征图的宽度和高度,C代表通道数,可以利用上述限制层

在一些实施例中,目标检测神经网络模型可以包括多个卷积单元,每个卷积单元包括卷积层,各个卷积层的输出端均设置有限制层,通过在目标检测神经网络模型中每个卷积层的输出端均设置限制层,使各层的输出范围在限制范围内,可以有效避免各层输出范围波动较大、特征值分布不均的问题,进而能够减少后续量化误差,提高目标检测的精确度。需要说明的是,在不同卷积单元输出端设置的限制层,其对应的预设下限值和/或预设上限值可以不同,或者,也可以在不同卷积单元输出端设置预设下限值和预设上限值相同的限制层。

在一些实施例中,参见图3所示,图3是本发明实施例提供的另一目标检测神经网络模型的局部结构示意图,其可以包括多个级联设置的卷积单元;至少一个卷积单元的输出端设置有限制层。当限制层设置在级联设置的相邻两个卷积单元之间时,限制层用于限制两个卷积单元中在前卷积单元输出的特征张量的特征值范围,并将限制后的特征值输入两个卷积单元中在后的卷积单元,从而保证在后的卷积单元的输入特征值范围在限定的范围内,利于后续减少模型量化误差。其中,如图3所示,卷积单元可以包括卷积层Conv1和BN层,卷积单元还可以包括卷积层Conv2、BN层和Act层。

在一些实施例中,参见图4所示,图4是本发明实施例提供的另一目标检测神经网络模型的局部结构示意图,该目标检测神经网络模型可以包括主路网络和至少一个支路网络,卷积单元和限制层设置在目标检测神经网络的主路网络和/或支路网络上。图4中示例性的示出了目标检测神经网络模型包括主路网络和一个支路网络,主路网络上设置有两个级联连接的卷积单元,其中一个卷积单元可以包括卷积层Conv1和BN层,另一个卷积单元可以包括卷积层Conv2、BN层和Act层,在两个卷积单元之间设置有限制层;支路网络上也设置有两个级联连接的卷积单元,其中一个卷积单元可以包括卷积层Conv3,另一个卷积单元可以包括卷积层Conv4和BN层,在两个卷积单元之间设置有限制层。另外,目标检测神经网络模型还可以包括设置在主路网络输出端的融合层,用于将主路网络和支路网络的输出特征进行融合,得到融合特征。作为示例,融合层可以采用add操作或concat操作融合。

在一些实施例中,目标检测神经网络模型可以包括融合层,相应的,目标检测神经网络模型还可以包括设置在融合层输出端的限制层。其中,融合层设置在主路网络和/或支路网络中至少一个卷积单元的输出端,融合层用于将至少部分并列支路网络,或,主路网络和支路网络的输出特征进行融合,得到融合特征;以及,将融合特征传输给限制层。

在一些实施例中,如图4所示,融合层设置在主路网络中一个卷积单元的输出端,用于将主路网络和支路网络的输出特征进行融合。在另一些实施例中,融合层可以设置在支路网络中一个卷积单元的输出端,用于将多个并列支路网络的输出特征进行融合,如图5所示,图5是本发明实施例提供的目标检测神经网络模型的骨干网结构示意图,其中,目标检测神经网络模型的骨干网可以基于在PointPillar的骨干网中增加限制层得到。

具体的,目标检测神经网络模型的骨干网可以包括主干网络,主干网络上依序设置有输入层、pad层(用于对不足预设长度的输入特征进行补零填充)以及4个级联设置的卷积单元,其中,每个卷积单元均可以包括卷积层、批归一化层和激活层,至少一个卷积单元的输出端可以设置有限制层,图5中示例性示出了在4个级联设置的卷积单元中的其中一个卷积单元输出端设置限制层。

目标检测神经网络模型的骨干网还包括与主干网络的最后一个卷积单元的输出端连接的多个支路网络、用于将多个支路网络的输出特征进行融合的融合层以及设置在融合层输出端的限制层,融合层将多个支路网络的输出特征融合后传输给限制层。其中,每个支路网络上至少设置有一个卷积单元,每个卷积单元可以包括依序设置的卷积层、批归一化层和激活层,在支路网络上的至少一个卷积单元的输出端可以设置有限制层,图5中示例性示出了在右侧支路网络上的一个卷积单元输出端设置限制层。

目标检测神经网络模型的骨干网还包括与设置于融合层输出端的限制层连接的多个并列设置的支路网络,每个支路网络可以设置有卷积单元、转置层以及输出层,其中,卷积单元可以包括卷积层。

在一些实施例中,参见图6所示,还可以通过以下步骤训练得到目标检测神经网络模型:

步骤S61:采集驾驶场景的训练数据并对训练数据进行标注;

步骤S62:构建初始的目标检测神经网络模型,初始的目标检测神经网络模型包括多个卷积单元和限制层,限制层至少设置在至少一个卷积单元输出端,卷积单元至少包括卷积层,卷积单元用于对训练数据进行特征提取并输出特征张量;限制层用于对卷积单元输出端输出的所述特征张量的特征值范围进行限定;

步骤S63:将标注后的训练数据输入初始的目标检测神经网络模型,对初始的目标检测神经网络模型进行训练,直至初始的目标检测神经网络模型收敛;

步骤S64:对收敛的初始的目标检测神经网络模型进行模型量化,得到目标检测神经网络模型。

在一些实施例中,步骤S61可以具体为利用摄像头采集驾驶场景的图像训练数据和/或利用雷达采集驾驶场景的点云训练数据。在一些实施例中,采集驾驶场景的训练数据可以包括采集晴天、雨天、雾、霾、雪天中至少之一天气下驾驶场景的图像训练数据和/或点云训练数据,在其他实施例中,也可以为采集其他特殊天气下驾驶场景的训练数据,以丰富训练数据集,并基于具有丰富场景的训练数据集训练得到精确度更高的目标检测神经网络模型。

在一些实施例中,对训练数据进行标注可以为对训练数据中每个样本的目标类别和目标位置进行标注。

在一些实施例中,步骤S62可以具体为:当训练数据为摄像头采集的图像训练数据时,采用CNN、Faster-RCNN、Yolo或SSD网络,并至少在采用网络中至少一个卷积单元的输出端设置限制层构建得到初始的目标检测神经网络;当训练数据为雷达采集的点云训练数据时,采用Centerpoint或PointPillars网络,并至少在采用网络中至少一个卷积单元的输出端设置限制层构建得到初始的目标检测神经网络。

其中,限制层可以用上文中示出的表达式表示:

在一些实施例中,当限制层设置在级联设置的相邻两个卷积单元之间时,限制层用于限制两个卷积单元中在前卷积单元输出的特征张量的特征值范围,并将限制后的特征值输入两个卷积单元中在后的卷积单元。

在一些实施例中,初始的目标检测神经网络模型可以包括主路网络和至少一个支路网络,卷积单元和限制层设置在初始的目标检测神经网络的主路网络和/或支路网络上。

在一些实施例中,初始的目标检测神经网络模型还可以包括融合层和设置在融合层输出端的限制层,融合层设置在主路网络和/或支路网络中至少一个卷积单元的输出端,用于将至少部分并列支路网络,或,主路网络和支路网络的输出特征进行融合得到融合特征,并将融合特征传输给限制层。

在一些实施例中,步骤S63可以具体为根据初始的目标检测神经网络模型对训练数据中训练样本进行目标检测,得到目标检测结果,其中,目标检测结果可以包括目标检测类别和候选框;根据目标检测结果和预先标注的目标类别和目标位置进行对比,来确定是否得到初步训练好的目标检测神经网络模型,如果是,停止训练;如果否,调整初始的目标检测神经网络模型中的参数,继续对初始的目标检测神经网络模型进行训练,直至初始的目标检测神经网络模型收敛。

在本发明实施例中,步骤S64可以采用本领域常规的量化方法对收敛的初始的目标检测神经网络模型进行模型量化,得到目标检测神经网络模型。

本领域技术人员能够理解的是,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。

本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所述的目标检测方法。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。

本发明的另一方面还提供了一种电子设备,其可以包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器中存储有计算机程序,计算机程序被至少一个处理器执行时实现上述任一实施例所述的目标检测方法。

参见图7所示,图7中示例性的示出了存储器71和处理器72通过总线连接,且存储器71和处理器72均只设置有一个时的结构。

在另一些实施例中,电子设备可以包括多个存储器71和多个处理器72。而执行上述任意实施例的目标检测方法的程序可以被分割成多段子程序,每段子程序分别可以由处理器加载并运行以执行上述方法实施例的目标检测方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储器71中,每个处理器72可以被配置成用于执行一个或多个存储器71中的程序,以共同实现上述方法实施例的目标检测方法。

参见图8所示,本发明的另一方面还提供了一种驾驶设备,其可以包括驾驶设备本体80、存储器81和处理器82,存储器81中存储有计算机程序,计算机程序被处理器82执行时实现上述任一实施例所述的目标检测方法。

其中,存储器81和处理器82之间可以通过总线或其他方式连接,图8中示例性的示出了存储器81和处理器82通过总线连接,且存储器81和处理器82均只设置有一个时的结构。

在另一些实施例中,驾驶设备可以包括多个存储器81和多个处理器82。而执行上述任意实施例的目标检测方法的程序可以被分割成多段子程序,每段子程序分别可以由处理器加载并运行以执行上述方法实施例的目标检测方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储器81中,每个处理器82可以被配置成用于执行一个或多个存储器81中的程序,以共同实现上述方法实施例的目标检测方法。

在一些实施例中,驾驶设备还可以设置有摄像头、激光雷达和毫米波雷达。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

相关技术
  • 目标检测方法、装置、终端设备和计算机可读存储介质
  • 一种存储管理方法、计算机可读存储介质及终端设备
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 一种检测方法、装置、计算机可读存储介质和计算机设备
  • 一种目标检测方法、计算机可读存储介质及驾驶设备
  • 目标检测方法、计算机可读存储介质及驾驶设备
技术分类

06120115928659