本发明涉及车辆行人检测,尤其涉及一种基于自适应动态前背景知识蒸馏的目标实时检测方法、系统及介质。
背景技术:
1、无人驾驶是近年来火热的研究领域之一,其融合了很多目前高精尖的智能技术。无人驾驶最关键的问题是要保障行驶过程足够安全,因此车辆需要准确且高效地感知周围环境,对环境变化能做出迅速响应,尤其是对行人、车辆以及周围障碍物和标志物。而这些关键问题就可以利用目标检测技术来解决,通过车载摄像头以及各图像传感器采集环境信息,让汽车的“大脑”知道周围有什么物体,距离多近等等,以便做出下一步判断。
技术实现思路
1、本发明的主要目的在于提供一种基于自适应动态前背景知识蒸馏的目标实时检测方法、系统及介质,旨在提升车辆行人实时检测精度,降低漏检率。
2、为了达到上述目的,本发明提出一种目标实时检测方法,所述目标包括车辆或行人中的一种,所述方法包括以下步骤:
3、步骤s10,获取当前目标的监控数据信息,所述当前目标的监控数据的类型包括视频数据或图片帧;
4、步骤s20,根据所述当前目标的监控数据的类型,以及预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析;
5、步骤s30,根据分析结果判断所述当前目标是否在行驶危险区域;
6、步骤s40,根据判断结果执行对应的操作。
7、本发明进一步的技术方案是,所述步骤s40,根据判断结果执行对应的操作的步骤包括:
8、步骤s401,若所述当前目标是否在行驶危险区域,则进行车辆报警;
9、步骤s402,输出所述当前目标的检测结果;
10、步骤s403,若所述当前目标是否在行驶危险区域,则直接输出所述当前目标的检测结果。
11、本发明进一步的技术方案是,所述步骤s20,根据所述当前目标的监控数据的类型,以及预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析的步骤包括:
12、s201,若所述当前目标的监控数据的类型为视频数据,则使用gstreamer对视频流进行编解码操作,并通过opencv中cap=cv2.videocapture()和cap.read()方法,一帧一帧地读取视频并提取图像帧;
13、步骤s202,将所述图像帧送入预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析。
14、本发明进一步的技术方案是,所述步骤s20,根据所述当前目标的监控数据的类型,以及预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析的步骤还包括:
15、若所述当前目标的监控数据的类型为图像帧,则直接执行所述步骤s202,将所述图像帧送入预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析。
16、本发明进一步的技术方案是,所述步骤s30,根据分析结果判断所述当前目标是否在行驶危险区域的步骤包括:
17、步骤s301,若所述当前目标出现在车辆行驶前方且所述当前目标的像素值大于第一预设值,或所述当前目标出现在车辆行驶两侧且所述当前目标的像素值大于第二预设值,则判断所述当前目标在行驶危险区域。
18、本发明进一步的技术方案是,所述步骤s10,获取当前目标的监控数据信息的步骤之前包括:
19、步骤s00,预先结合前背景知识蒸馏和自适应动态loss权重建立目标检测模型。
20、本发明进一步的技术方案是,所述步骤s00,预先结合前背景知识蒸馏和自适应动态loss权重建立目标检测模型的步骤包括:
21、选择从目标检测网络的neck部分,利用ground-truth掩码将提取出的特征分割出前景相关特征和背景相关特征,并在teacher和student之间选用l2 loss使得teacher的知识有效传递给student,对于给定尺寸为h×w大小的中间特征,首先根据ground-truth生成一个二进制掩码m:
22、mi,j=1[(i,j)∈b] (1)
23、其中b是ground-truth,m∈{0,1}h×w,位置(i,j)的值为1表示它属于前景,为0则表示背景;通过生成二进制掩码m,我们可以知道每个位置是属于前景还是背景,之后可以用来解耦neck的前背景特征;
24、这里我们假设t∈rh×w×c和s∈rh×w×c分别为学生和教师的中间特征,则中间特征的蒸馏损失为:
25、
26、
27、
28、其中:
29、h、w和c分别表示特征图的高、宽和通道个数;
30、m表示生成的二进制掩码:
31、nobj表示前景区域的元素个数;
32、nbg表示背景区域的元素个数;
33、公式(3)表示前景区域中正样本元素个数;
34、公式(4)表示背景区域中负样本元素个数;
35、φ表示自适应层,用来控制teacher和student产生相同尺度特征图;
36、αobj表示前景区域蒸馏损失函数的权重;
37、αbg表示背景区域蒸馏损失函数的权重;
38、公式(2)表示中间特征的蒸馏损失;
39、这样,我们就通过基于mask的方式,将teacher和student网络中的特征图分成了前景区域和背景区域,并分别通过αobj和αbg配以不同的权重,用来控制前背景蒸馏知识的比重是多少;最终的总loss如下所示:
40、l=αobjlobj+αbglbg+βlcls+λlreg (5)
41、其中:
42、lobj、lbg、lcls和lreg分别表示前景蒸馏loss、背景蒸馏loss、分类loss和回归loss;
43、αobj、αbg、αcls和αreg分别表示前景蒸馏loss权重、背景蒸馏loss权重、分类loss权重和回归loss权重;
44、l表示四种loss分别配以不同的loss权重进行联合优化。
45、本发明进一步的技术方案是,所述步骤s00,预先结合前背景知识蒸馏和自适应动态loss权重建立目标检测模型的步骤还包括:
46、使用指数移动平均法来计算每个batch后loss变化的标准差,避开显式计算梯度而带来的耗时上涨,又可以得到和某点邻域附近的梯度量级,采用的公式为:
47、
48、
49、bi←βbi+(1-β)li (8)
50、
51、
52、其中:
53、n表示有n个任务;
54、||gi||表示任务i的梯度;
55、wi表示任务i的权重;
56、li表示任务i的损失loss;
57、ai表示li平方的移动平均值;
58、bi表示li的移动平均值;
59、β表示移动平均的超参数;
60、si表示任务i的标准差;
61、同时为防止学到的权重w过大或过小,因此每次需要对权重之和进行一次n倍归一化,如公式(10)所示;
62、其中,为了防止因loss量级不同而导致计算标准差时出现差异,公式(9)中,引入变异系数来消除测量尺度和量纲的影响,从而在计算每个任务独立的标准差时,把loss量级也考虑了进来,采用的公式为:
63、
64、为实现上述目的,本发明还提出一种目标实时检测系统,所述系统包括存储器、处理器以及存储在所述处理器上的目标实时检测程序,所述目标实时检测程序被所述处理器运行时执行如上所述的方法的步骤。
65、为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有目标实时检测程序,所述目标实时检测程序被处理器运行时执行如上所述的方法的步骤。
66、本发明目标实时检测方法、系统及介质的有益效果是:本发明目标检测方法通过上述技术方案,所述目标包括车辆或行人中的一种,所述方法包括以下步骤:步骤s10,获取当前目标的监控数据信息,所述当前目标的监控数据的类型包括视频数据或图片帧;步骤s20,根据所述当前目标的监控数据的类型,以及预先结合前背景知识蒸馏和自适应动态loss权重建立的目标检测模型执行推理,对所述当前目标进行检测并进行分析;步骤s30,根据分析结果判断所述当前目标是否在行驶危险区域;步骤s40,根据判断结果执行对应的操作,创新性地将前背景知识蒸馏和自适应动态loss权重相结合,使得蒸馏的结果更加准确,检测的速度更快,且本发明目标实时检测方法优于很多传统的知识蒸馏法,检测结果也比传统方法精确很多,漏检率大大降低。