一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种轻量级多任务视频流实时推理方法及系统

2023-02-02 01:59:37 来源:中国专利 TAG:


1.本发明涉及计算机视觉和自动辅助驾驶技术领域,尤其涉及一种轻量级多任务视频流实时推理方法。


背景技术:

2.随着人工智能技术发展和智能设备的普及,越来越多的设备需要在无法访问云平台的情况下使用人工智能技术,使得边缘人工智能变得越来越重要。尤其,在自动化机器人或配备计算机视觉算法的智能汽车的应用中,数据传输的滞后可能是灾难性的。自动驾驶汽车在检测道路的人员或障碍时不能受到延迟的影响,由于快速响应时间是如此重要,必须采用边缘人工智能系统,允许实时分析和分类图像,而不依赖云计算连接。而自动驾驶的实现主要依靠各种传感器对车身四周的环境进行感知,通过目标检测、分割,识别与跟踪等计算机视觉处理技术来评估安全性。
3.现阶段比较常用的处理道路物体检测任务、可行驶区域分割任务和多物体跟踪任务的方式主要是分别用三种神经网络模型处理。例如,单阶段目标检测模型和双阶段目标检测模型专门处理目标检测任务,unet和pspnet被用来处理语义分割任务。这种将多任务模型解耦,用多个神经网络模型分开处理的方法比较容易实现,但多模型必然导致重复提取图像数据特征和模型训练困难的问题,并且多个模型的总参数量和总计算量庞大,边缘端芯片受算力资源限制而运行速度慢,难以在精度和时延中间取得一个平衡。
4.因此,如何通过一个模型解决多个感知任务并且能做到精度和时延的平衡是亟需解决的问题。目前存在以下几种代表性的方法。
5.采用编码器-解码器结构,一个共享编码器和三个独立解码器用于分类任务、目标检测任务和语义分割任务。该算法在这些任务上都取得了较好的效果,并在kitti可驾驶区域分割任务上取得了较好的效果。然而,在控制车辆方面,分类任务并不像多物体跟踪任务那么重要。
6.将交通目标检测、可行驶区域分割和车道检测结合在一起,并提出结合上下文张量来融合解码器之间的特征映射以实现信息共享。虽然在精度上有很强的表现,但它的时延较高,不能做到实时推理。
7.通过总结现有研究,发现以上几种多任务学习技术存在以下几点不足:(1)不能够很好的契合自动驾驶场景下对于车辆控制的需求。(2)不能够做到精度和时延之间的良好平衡,即不能够保证精度的同时做到实时推理。


技术实现要素:

8.针对以上问题,采用推理效率更高的目标检测模型yolov5作为检测基准模型,在其基础上增加可行驶区域分割头网络和多物体跟踪头网络来分别完成可行驶区域分割任务和多物体跟踪任务,通过共享主干网络和特征金字塔网络的方式减少参数量和计算量的冗余,通过级联知识蒸馏的端到端结构化迭代剪枝算法,进一步降低模型的计算量,有效提
高了模型在边缘芯片硬件上的加速比,最终模型能够保证精度的同时在边缘端做到实时推理。本发明应用场景是自动辅助驾驶。本发明可以完成道路物体检测、可行驶区域分割和道路多物体跟踪三种辅助驾驶场景的感知任务。预测或规避属于辅助驾驶场景的规划控制相关的任务。需要基于我们的感知结果进行规划控制算法的设计。
9.具体来说,本发明提出了一种轻量级多任务视频流实时推理方法,其中包括:
10.步骤1、获取包含驾驶场景的视频数据集,该视频数据集中包括多个视频流,视频流中视频帧具有标签文件,该标签文件包括目标锚框类别标签、行驶区域标签以及物体跟踪标签;
11.步骤2、获取具有主干网络和特征金字塔网络的原目标检测模型,在该特征金字塔网络的目标检测头网络增加两个分支网络,分别作为分割行驶区域头网络和物体跟踪头网络,得到多任务检测模型;
12.步骤3、以该视频数据集作为训练数据输入该多任务检测模型,并基于该多任务检测模型输出的目标锚框类别、行驶区域和物体跟踪结果,和该标签文件构建损失函数,以训练该多任务检测模型,得到教师模型,对该教师模型进行级联知识蒸馏的端到端结构化迭代剪枝处理,得到学生模型;
13.步骤4、将车辆行驶时采集的待识别的实时驾驶场景视频流输入该学生模型,得到包含目标检测结果、可行驶区域和目标跟踪结果的推理结果;根据该推理结果,控制该车辆执行辅助驾驶相关的控制任务。
14.所述的轻量级多任务视频流实时推理方法,其中该目标锚框类别标签包括类别、锚框中心点坐标、锚框宽度以及锚框高度;该行驶区域标签包括可行驶区域和不可行驶区域;该物体跟踪标签包括视频流的帧位、锚框编号、锚框中心点坐标、锚框宽度、锚框高度、锚框包含物体的置信度。
15.所述的轻量级多任务视频流实时推理方法,其中该步骤3中训练该多任务检测模型具体包括:
16.多任务检测模型通过该主干网络对视频帧进行特征提取,得到不同尺度的特征图,通过该特征金字塔网络对不同尺度的特征图进行融合,通过不同任务的头网络进行解码得到输出并与标签计算损失函数binary-cross-entropy和ciou loss,所述binary-cross-entropy具体为:
17.l
bce
(y
′i,yi)=-wi[yi*logy
′i (1-yi)*log(1-y
′i)]
[0018]
所述ciou loss的公式具体为:
[0019][0020][0021][0022]
[0023]
其中l
bce
为binary-cross-entropy公式计算出的损失值,n为样本总数,a为预测输出,y为真实输出;l
ciou
为ciou loss公式计算出的损失值,iou为预测框a和标签框b的交并集,b
gt
为标签框中心点位置,b为预测框中心点位置,ρ2(b,b
gt
)为预测框a和标注框b中心点之间的欧几里得距离,c为预测框a和标注框b之间最小外接矩形测对角线的长度,α为权重,为预测框a和标注框b之间长宽比的距离;a为预测框,b为标注框;w
gt
为标注框的宽,h
gt
为标注框的长,w为预测框的宽,h为预测框的长;
[0024]
当总损失值达到预设标准时,得到目标模型,所述目标模型用于获取待识别视频帧并输出所述目标模型识别出的检测目标标签和可行驶区域分割标签,其中检测目标标签作为该物体跟踪头网络的输入;该物体跟踪头网络采用马氏距离与余弦距离度量跟踪目标与检测目标之间的损失函数;其中,马氏距离关联度为:
[0025][0026]
该余弦距离关联度量:
[0027][0028]
综合马氏距离和余弦关联度量的损失函数如下:
[0029]ci,j
=λd
(1)
(i,j) (1-λ)d
(2)
(i,j)
[0030]
其中,dj表示检测锚框的位置,yi表示对目标的预测位置,si表示dj与yi之间的协方差矩阵,rj表示检测目标的特征向量,表示跟踪目标的特征向量,λ表示马氏距离度量的权重;
[0031]
当损失c
i,j
达到预设标准时,得到该教师网络。
[0032]
所述的轻量级多任务视频流实时推理方法,其中该步骤3中剪枝处理包括:
[0033]
对于该多任务检测模型的训练过程,在损失函数l
bce
(y'i,yi)中添加惩罚因子,对卷积层的权重和bn层的缩放系数进行约束,约束项λr(w)采用l1范数,对于卷积核和bn层缩放系数的约束公式如下:
[0034][0035]
r(w)=|α|
[0036]
训练上述端到端该多任务检测模型至损失函数收敛后,对滤波器的绝对值进行求和,然后结合缩放系数和滤波器的绝对值之和做计算重要性函数,再根据预设剪枝率对重要性进行升序排序,通过预设剪枝率计算剪枝阈值,将低于阈值的滤波器剪枝;其中,滤波器绝对值求和公式、重要性判断函数和剪枝阈值计算公式如下:
[0037][0038]
mi=αi*ei[0039]
θ=sort
p
(m)
[0040]
将剪枝前的网络作为教师网络,将剪枝后的网络作为该学生网络。
[0041]
本发明还提出了一种轻量级多任务视频流实时推理系统,其中包括:
[0042]
模块1、获取包含驾驶场景的视频数据集,该视频数据集中包括多个视频流,视频流中视频帧具有标签文件,该标签文件包括目标锚框类别标签、行驶区域标签以及物体跟踪标签;
[0043]
模块2、获取具有主干网络和特征金字塔网络的原目标检测模型,在该特征金字塔网络的目标检测头网络增加两个分支网络,分别作为分割行驶区域头网络和物体跟踪头网络,得到多任务检测模型;
[0044]
模块3、以该视频数据集作为训练数据输入该多任务检测模型,并基于该多任务检测模型输出的目标锚框类别、行驶区域和物体跟踪结果,和该标签文件构建损失函数,以训练该多任务检测模型,得到教师模型,对该教师模型进行级联知识蒸馏的端到端结构化迭代剪枝处理,得到学生模型;
[0045]
模块4、将车辆行驶时采集的待识别的实时驾驶场景视频流输入该学生模型,得到包含目标检测结果、可行驶区域和目标跟踪结果的推理结果;根据该推理结果,控制该车辆执行辅助驾驶相关的控制任务。
[0046]
所述的轻量级多任务视频流实时推理系统,其中该目标锚框类别标签包括类别、锚框中心点坐标、锚框宽度以及锚框高度;该行驶区域标签包括可行驶区域和不可行驶区域;该物体跟踪标签包括视频流的帧位、锚框编号、锚框中心点坐标、锚框宽度、锚框高度、锚框包含物体的置信度。
[0047]
所述的轻量级多任务视频流实时推理系统,其中该模块3中训练该多任务检测模型具体包括:
[0048]
多任务检测模型通过该主干网络对视频帧进行特征提取,得到不同尺度的特征图,通过该特征金字塔网络对不同尺度的特征图进行融合,通过不同任务的头网络进行解码得到输出并与标签计算损失函数binary-cross-entropy和ciou loss,所述binary-cross-entropy具体为:
[0049]
l
bce
(y
′i,yi)=-wi[yi*logy
′i (1-yi)*log(1-y
′i)]
[0050]
所述ciou loss的公式具体为:
[0051][0052][0053][0054][0055]
其中l
bce
为binary-cross-entropy公式计算出的损失值,n为样本总数,a为预测输出,y为真实输出;l
ciou
为ciou loss公式计算出的损失值,iou为预测框a和标签框b的交并集,b
gt
为标签框中心点位置,b为预测框中心点位置,ρ2(b,b
gt
)为预测框a和标注框b中心点之间的欧几里得距离,c为预测框a和标注框b之间最小外接矩形测对角线的长度,α为权重,
为预测框a和标注框b之间长宽比的距离;a为预测框,b为标注框;w
gt
为标注框的宽,h
gt
为标注框的长,w为预测框的宽,h为预测框的长;
[0056]
当总损失值达到预设标准时,得到目标模型,所述目标模型用于获取待识别视频帧并输出所述目标模型识别出的检测目标标签和可行驶区域分割标签,其中检测目标标签作为该物体跟踪头网络的输入;该物体跟踪头网络采用马氏距离与余弦距离度量跟踪目标与检测目标之间的损失函数;其中,马氏距离关联度为:
[0057][0058]
该余弦距离关联度量:
[0059][0060]
综合马氏距离和余弦关联度量的损失函数如下:
[0061]ci,j
=λd
(1)
(i,j) (1-λ)d
(2)
(i,j)
[0062]
其中,dj表示检测锚框的位置,yi表示对目标的预测位置,si表示dj与yi之间的协方差矩阵,rj表示检测目标的特征向量,表示跟踪目标的特征向量,λ表示马氏距离度量的权重;
[0063]
当损失c
i,j
达到预设标准时,得到该教师网络。
[0064]
所述的轻量级多任务视频流实时推理系统,其中该模块3中剪枝处理包括:
[0065]
对于该多任务检测模型的训练过程,在损失函数l
bce
(y'i,yi)中添加惩罚因子,对卷积层的权重和bn层的缩放系数进行约束,约束项λr(w)采用l1范数,对于卷积核和bn层缩放系数的约束公式如下:
[0066][0067]
r(w)=|α|
[0068]
训练上述端到端该多任务检测模型至损失函数收敛后,对滤波器的绝对值进行求和,然后结合缩放系数和滤波器的绝对值之和做计算重要性函数,再根据预设剪枝率对重要性进行升序排序,通过预设剪枝率计算剪枝阈值,将低于阈值的滤波器剪枝;其中,滤波器绝对值求和公式、重要性判断函数和剪枝阈值计算公式如下:
[0069][0070]
mi=αi*ei[0071]
θ=sort
p
(m)
[0072]
将剪枝前的网络作为教师网络,将剪枝后的网络作为该学生网络。
[0073]
本发明还提出了一种存储介质,用于存储执行所述任意一种轻量级多任务视频流实时推理方法的程序。
[0074]
本发明还提出了一种客户端,用于所述的任意一种轻量级多任务视频流实时推理系统。
[0075]
由以上方案可知,本发明的优点在于:
[0076]
本发明提供的一种轻量级多任务视频流实时推理方法、一种基于yolov5的多感知任务共享的端到端神经网络设计方法,能够在边缘端芯片实现实时处理视频流数据并完成道路物体检测、可行驶区域分割和多物体跟踪三个感知任务,做到精度和时延的平衡。
附图说明
[0077]
图1为本发明实施例提供的一种轻量级多任务视频流实时推理方法流程图;
[0078]
图2为本发明实施例提供的一种基于yolov5的多感知任务共享的端到端神经网络模型结构示意图。
具体实施方式
[0079]
本发明提供一种轻量级多任务视频流实时推理方法、基于yolov5的多感知任务共享的端到端神经网络设计方法,能够实现边缘芯片实时处理视频流数据并完成道路物体检测、可行驶区域分割和多物体跟踪三个感知任务。
[0080]
本发明能提供一种轻量级多任务视频流实时推理方法,包括如下步骤:
[0081]
1)获取公开边缘端场景数据集;
[0082]
2)对数据集进行预处理;
[0083]
3)基于yolov5的多感知任务共享的端到端神经网络模型设计方法;
[0084]
4)基于级联知识蒸馏的端到端结构化迭代剪枝技术;
[0085]
进一步的,所述步骤1)中搜集并下载公开边缘端场景数据集,以自动驾驶场景数据集为例,将多个数据集集成为一个数据集。数据集标签包括:目标检测任务的锚框类别标签、可行驶区域分割任务的标签以及多物体跟踪任务的物体重识别reid标签,且在本发明中“物体”也包括行人,即包括对人进行跟踪。
[0086]
进一步的,所述步骤2)中对数据集进行预处理,将不同数据集的不同格式的标签文件转换为标准格式的txt文件,转换后的txt文件包括:
[0087]
目标检测任务标签:类别、锚框中心点坐标x、锚框中心点坐标y、锚框宽度w以及锚框高度h;可行驶区域分割标签:可直接行驶区域、可替换区域、背景(不可行驶区域);多物体跟踪任务标签:图片位于视频流的帧位frame、锚框分配的id、锚框中心点坐标x、锚框中心点坐标y、锚框宽度w、锚框高度h、锚框包含物体的置信度conf。
[0088]
进一步的,所述步骤3)中基于yolov5的多感知任务共享的端到端神经网络模型设计具体为:保留了yolov5原模型的主干网络和特征金字塔网络,在检测头网络处增加一个分支网络作为负责可行驶区域分割的头网络,以实现不同任务头网络结构共享主干网络和特征金字塔网络的参数权重;多物体跟踪任务的输入依赖于目标检测任务的输出,因此,在检测头网络后增加多物体跟踪的reid头网络,以完成多物体跟踪任务。
[0089]
训练阶段需要将同一张图片的目标检测标签、可行驶区域分割标签以及多物体跟踪标签进行拼接,一并作为输入,模型通过主干网络对原图片进行特征提取,通过特征金字塔网络对不同尺度的特征图进行融合,最后通过不同任务的头网络进行解码得到输出并与原图片标签计算损失函数。其中,损失函数包括binary-cross-entropy和ciou loss,所述binary-cross-entropy和ciou loss的公式具体为:
[0090]
l
bce
(y
′i,yi)=-wi[yi*logy
′i (1-yi)*log(1-y
′i)]
[0091][0092]
当总损失值达到预设标准时,得到目标模型,所述目标模型用于获取待识别图像并输出所述目标模型识别出的检测目标标签和可行驶区域分割标签,其中,可行驶区域分割标签直接进行后处理与存储,检测目标标签作为多物体跟踪任务的输入。多物体跟踪分支采用马氏距离与余弦距离度量跟踪目标与检测目标之间的损失函数。其中,马氏距离关联度量计算公式和余弦距离关联度量公式具体如下:
[0093][0094][0095]
综合马氏距离和余弦关联度量的损失函数如下:
[0096]ci,j
=λd
(1)
(i,j) (1-λ)d
(2)
(i,j)
[0097]
当损失值达到预设标准时,得到多物体跟踪分支模型,所述分支模型用于将检测目标与跟踪目标进行匹配,完成多物体跟踪任务,输出多物体跟踪标签并存储。
[0098]
进一步的,所述步骤4)中基于级联知识蒸馏的端到端结构化迭代剪枝,具体过程为:对于步骤3)中所述的端到端神经网络模型训练过程,在损失函数中添加惩罚因子,对卷积层的权重和bn层的缩放系数进行约束,约束项λr(w)采用l1范数,对于卷积核和bn层缩放系数的约束公式如下:
[0099][0100]
r(w)=|α|
[0101]
训练上述端到端神经网络模型至收敛后,对滤波器的绝对值进行求和,然后结合缩放系数和滤波器的绝对值之和做计算重要性函数,再根据预设剪枝率对重要性进行升序排序,通过预设剪枝率计算剪枝阈值,将低于阈值的滤波器剪枝。其中,滤波器绝对值求和公式、重要性判断函数和剪枝阈值计算公式如下:
[0102][0103]
mi=αi*ei[0104]
θ=sort
p
(m)
[0105]
将剪枝前的网络作为教师网络,将剪枝后的网络作为学生网络进行重训练微调,分别从中间层feature maps、rpn/rcn中分类层的暗知识和rpn/rcn中回归层的暗知识三个维度提取蒸馏网络信息,提升学生网络精度。迭代执行上述步骤,减少最终端到端神经网络模型的计算量约40%,模型表现浮动1%以内。
[0106]
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0107]
请结合参看图1,其为本发明实施例提供的一种轻量级多任务视频流实时推理方
法流程图。其中,本发明实施例提供的一种轻量级多任务视频流实时推理方法具体包括下面步骤。
[0108]
步骤s101,搜集并下载公开边缘端场景数据集,此实施例以自动驾驶场景为例,将多个数据集集成为一个数据集。数据集标签包括:目标检测任务的锚框类别标签、可行驶区域分割任务的标签以及多物体跟踪任务的reid标签。
[0109]
步骤s102,对数据集进行预处理,将不同数据集的不同格式的标签文件转换为标准格式的txt文件,转换后的txt文件包括:
[0110]
目标检测任务标签:类别、锚框中心点坐标x、锚框中心点坐标y、锚框宽度w以及锚框高度h;可行驶区域分割标签:可直接行驶区域、可替换区域、背景(不可行驶区域);多物体跟踪任务标签:图片位于视频流的帧位frame、锚框分配的id、锚框中心点坐标x、锚框中心点坐标y、锚框宽度w、锚框高度h、锚框包含物体的置信度conf。
[0111]
多物体跟踪任务与目标检测任务的不同之处在于:多物体跟踪任务需要给每一个锚框赋予一个id编号,如果在后面的视频画面中该锚框的内容id相同,那么判定是同一个物体。即目标检测只需要输出该锚框中是“一个人”,但跟踪任务需要输出当前画面帧中的该锚框是“某一个人”,并且与前面帧的同一个人有所关联。
[0112]
步骤s103,基于yolov5的多感知任务共享的端到端神经网络模型设计具体为:保留了yolov5原模型的主干网络和特征金字塔网络,在检测头网络处增加一个分支网络作为负责可行驶区域分割的头网络,以实现不同任务头网络结构共享主干网络和特征金字塔网络的参数权重;多物体跟踪任务的输入依赖于目标检测任务的输出,因此,在检测头网络后增加多物体跟踪的reid头网络,以完成多物体跟踪任务。其中,上述基于yolov5的多感知任务共享的端到端神经网络模型结构示意图请结合参看图2。检测头网络是yolov5原模型自带的。yolov5原模型依次由主干网络、特征金字塔网络和检测头网络组成。三者的关系是:一张预处理后的图片输入到主干网络,主干网络提取图像的多尺度特征信息;将多尺度特征信息输入特征金字塔网络,特征金字塔网络对多尺度特征进行融合;将融合结果输入检测头网络,检测头网络再进行锚框的预测和匹配,输出结果。图2中neck网络代表特征金字塔网络,模型的主干网络称作backbone,特征金字塔网络即为neck,检测头网络就是head。重id网络即reid头网络,实现的功能是:对检测头网络的输出结果进行物体重识别,完成多物体跟踪任务。主干网络和neck网络提供视频图像提取后的特征信息,可行驶区域分割头网络输出可行驶区域分割的结果,检测头网络输出道路物体检测任务的结果,并将该结果输入到重id网络完成多物体跟踪任务。
[0113]
训练阶段需要将同一张图片的目标检测标签、可行驶区域分割标签以及多物体跟踪标签进行拼接,一并作为输入,模型通过主干网络对原图片进行特征提取,通过特征金字塔网络对不同尺度的特征图进行融合,最后通过不同任务的头网络进行解码得到输出并与原图片标签计算损失函数。其中,损失函数包括binary-cross-entropy和ciou loss,所述binary-cross-entropy的公式具体为:
[0114]
l
bce
(y
′i,yi)=-wi[yi*logy
′i (1-yi)*log(1-y
′i)]
[0115]
所述ciou loss的公式具体为:
[0116]
[0117]
α的定义如下:
[0118][0119]
iou的定义如下:
[0120][0121]
v的定义如下:
[0122][0123]
其中l
bce
为binary-cross-entropy公式计算出的损失值,n为样本总数,a为预测输出,y为真实输出;l
ciou
为ciou loss公式计算出的损失值,iou为预测锚框a和标签框b的交并集,b
gt
为标签框中心点位置,b为预测锚框中心点位置,ρ2(b,b
gt
)为预测锚框a和标注框b中心点之间的欧几里得距离,c为预测框a和标注框b之间最小外接矩形测对角线的长度,α为权重,v为预测框a和标注框b之间长宽比的距离;a为预测框,b为标注框;w
gt
为标注框的宽,h
gt
为标注框的长,w为预测框的宽,h为预测框的长;
[0124]
当binary-cross-entropy和ciou loss达到预设标准时,得到目标模型,所述目标模型用于获取待识别视频帧并输出所述目标模型识别出的检测目标标签和行驶区域分割标签,可行驶区域分割标签直接进行后处理与存储,检测目标标签作为多物体跟踪任务的输入。多物体跟踪分支采用马氏距离与余弦距离度量跟踪目标与检测目标之间的损失函数。其中,马氏距离关联度量计算公式具体为:
[0125][0126]
余弦距离关联度量公式的定义如下:
[0127][0128]
综合马氏距离和余弦关联度量的损失函数如下:
[0129]ci,j
=λd
(1)
(i,j) (1-λ)d
(2)
(i,j)
[0130]
其中,dj表示检测锚框的位置,yi表示对目标的预测位置,si表示dj与yi之间的协方差矩阵,rj表示检测目标的特征向量,表示跟踪目标的特征向量,λ表示马氏距离度量的权重;
[0131]
当损失值达到预设标准时,得到多物体跟踪分支模型,所述分支模型用于将检测目标与跟踪目标进行匹配,完成多物体跟踪任务,输出多物体跟踪标签并存储。
[0132]
步骤s104,基于级联知识蒸馏的端到端结构化迭代剪枝,具体过程为:对于步骤s103中所述的端到端神经网络模型训练过程,在binary-cross-entropy损失函数后乘以惩罚因子r(w),对卷积层的权重和批归一化bn层的缩放系数进行约束,约束项λr(w)采用l1范数,对于卷积核和bn层缩放系数的约束公式如下:
[0133][0134]
r(w)=|α|
[0135]
式中,α为批归一化层中参数,表示批归一化层的缩放系数。训练上述端到端神经网络模型至收敛后,对滤波器(指每一个channel的卷积核。数值其实就是每一个channel的卷积核的权重)的绝对值进行求和,然后结合缩放系数和滤波器的绝对值之和做计算重要性函数,再根据预设剪枝率对重要性进行升序排序,通过预设剪枝率计算剪枝阈值,将低于阈值的滤波器剪枝。其中,滤波器绝对值求和公式、重要性判断函数和剪枝阈值计算公式如下:
[0136][0137]
mi=αi*ei[0138]
θ=sort
p
(m)
[0139]
式中w是滤波器的权重,e是滤波器权重的和,α是缩放系数,m是通过缩放系数和权重计算所得到的重要性,p是剪枝率,θ就是在p剪枝率下对重要性进行排序保留前p%的阈值。
[0140]
将剪枝前的网络作为教师网络,将剪枝后的网络作为学生网络进行重训练微调,分别从中间层feature maps、rpn/rcn中分类层的暗知识和rpn/rcn中回归层的暗知识三个维度提取蒸馏网络信息,提升学生网络精度。迭代执行上述步骤,减少最终端到端神经网络模型的计算量约40%,模型表现浮动1%以内。
[0141]
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
[0142]
本发明还提出了一种轻量级多任务视频流实时推理系统,其中包括:
[0143]
模块1、获取包含驾驶场景的视频数据集,该视频数据集中包括多个视频流,视频流中视频帧具有标签文件,该标签文件包括目标锚框类别标签、行驶区域标签以及物体跟踪标签;
[0144]
模块2、获取具有主干网络和特征金字塔网络的原目标检测模型,在该特征金字塔网络的目标检测头网络增加两个分支网络,分别作为分割行驶区域头网络和物体跟踪头网络,得到多任务检测模型;
[0145]
模块3、以该视频数据集作为训练数据输入该多任务检测模型,并基于该多任务检测模型输出的目标锚框类别、行驶区域和物体跟踪结果,和该标签文件构建损失函数,以训练该多任务检测模型,得到教师模型,对该教师模型进行级联知识蒸馏的端到端结构化迭代剪枝处理,得到学生模型;
[0146]
模块4、将车辆行驶时采集的待识别的实时驾驶场景视频流输入该学生模型,得到包含目标检测结果、可行驶区域和目标跟踪结果的推理结果;根据该推理结果,控制该车辆执行辅助驾驶相关的控制任务。
[0147]
所述的轻量级多任务视频流实时推理系统,其中该目标锚框类别标签包括类别、
锚框中心点坐标、锚框宽度以及锚框高度;该行驶区域标签包括可行驶区域和不可行驶区域;该物体跟踪标签包括视频流的帧位、锚框编号、锚框中心点坐标、锚框宽度、锚框高度、锚框包含物体的置信度。
[0148]
所述的轻量级多任务视频流实时推理系统,其中该模块3中训练该多任务检测模型具体包括:
[0149]
多任务检测模型通过该主干网络对视频帧进行特征提取,得到不同尺度的特征图,通过该特征金字塔网络对不同尺度的特征图进行融合,通过不同任务的头网络进行解码得到输出并与标签计算损失函数binary-cross-entropy和ciou loss,所述binary-cross-entropy具体为:
[0150]
l
bce
(y
′i,yi)=-wi[yi*logy
′i (1-yi)*log(1-y
′i)]
[0151]
所述ciou loss的公式具体为:
[0152][0153][0154][0155][0156]
其中l
bce
为binary-cross-entropy公式计算出的损失值,n为样本总数,a为预测输出,y为真实输出;l
ciou
为ciou loss公式计算出的损失值,iou为预测框a和标签框b的交并集,b
gt
为标签框中心点位置,b为预测框中心点位置,ρ2(b,b
gt
)为预测框a和标注框b中心点之间的欧几里得距离,c为预测框a和标注框b之间最小外接矩形测对角线的长度,α为权重,为预测框a和标注框b之间长宽比的距离;a为预测框,b为标注框;w
gt
为标注框的宽,h
gt
为标注框的长,w为预测框的宽,h为预测框的长;
[0157]
当总损失值达到预设标准时,得到目标模型,所述目标模型用于获取待识别视频帧并输出所述目标模型识别出的检测目标标签和可行驶区域分割标签,其中检测目标标签作为该物体跟踪头网络的输入;该物体跟踪头网络采用马氏距离与余弦距离度量跟踪目标与检测目标之间的损失函数;其中,马氏距离关联度为:
[0158][0159]
该余弦距离关联度量:
[0160][0161]
综合马氏距离和余弦关联度量的损失函数如下:
[0162]ci,j
=λd
(1)
(i,j) (1-λ)d
(2)
(i,j)
[0163]
其中,dj表示检测锚框的位置,yi表示对目标的预测位置,si表示dj与yi之间的协方差矩阵,rj表示检测目标的特征向量,表示跟踪目标的特征向量,λ表示马氏距离度量的
权重;
[0164]
当损失c
i,j
达到预设标准时,得到该教师网络。
[0165]
所述的轻量级多任务视频流实时推理系统,其中该模块3中剪枝处理包括:
[0166]
对于该多任务检测模型的训练过程,在损失函数l
bce
(y'i,yi)中添加惩罚因子,对卷积层的权重和bn层的缩放系数进行约束,约束项λr(w)采用l1范数,对于卷积核和bn层缩放系数的约束公式如下:
[0167][0168]
r(w)=|α|
[0169]
训练上述端到端该多任务检测模型至损失函数收敛后,对滤波器的绝对值进行求和,然后结合缩放系数和滤波器的绝对值之和做计算重要性函数,再根据预设剪枝率对重要性进行升序排序,通过预设剪枝率计算剪枝阈值,将低于阈值的滤波器剪枝;其中,滤波器绝对值求和公式、重要性判断函数和剪枝阈值计算公式如下:
[0170][0171]
mi=αi*ei[0172]
θ=sort
p
(m)
[0173]
将剪枝前的网络作为教师网络,将剪枝后的网络作为该学生网络。
[0174]
本发明还提出了一种存储介质,用于存储执行所述任意一种轻量级多任务视频流实时推理方法的程序。
[0175]
本发明还提出了一种客户端,用于所述的任意一种轻量级多任务视频流实时推理系统。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献