一种基于深度学习的视觉多任务处理方法技术

技术编号:37140031 阅读:20 留言:0更新日期:2023-04-06 21:43
本发明专利技术公开一种基于深度学习的视觉多任务处理方法,包括:搭建视觉多任务处理神经网络模型;针对三个不同任务解码器设计损失函数;对数据集进行预处理与增强操作;调整训练参数,训练视觉多任务神经网络模型;输入RGB图像检测;本方法创新地将多个任务融合到一个神经网络当中可完成目标检测、可行驶区域检测和车道线检测三个任务,使得同样完成三个任务的时间大大缩短,并且各个解码器之间可以使用一个共享特征的编码器,使得特征利用率大大提高;本方法创新地在定位损失使用了CIoU回归定位损失,考虑了边界框重叠面积、中心距离和长宽比因素,使神经网络模型训练时更能够反馈边界框定位准确性;本方法具有实际推广价值与应用价值。用价值。用价值。

【技术实现步骤摘要】
一种基于深度学习的视觉多任务处理方法


[0001]本专利技术涉及自动驾驶中多任务处理的
,尤其是指一种基于深度学习的视觉多任务处理方法。

技术介绍

[0002]自动驾驶的驾驶环境感知系统非常重要,因为它可以从RGB摄像头、深度摄像头和红外摄像头等设备中获取视觉信息,可以作为车辆自动驾驶决策的参考输入信息。为了车辆具有智能驾驶能力,视觉感知系统要求能够获取外界信息并理解场景,向决策系统提供的信息包括:行人车辆障碍物的检测、可行驶区域判断、车道线等信息。驾驶感知系统包括目标检测,帮助车辆识别行人车辆障碍物,安全行驶,遵守交通规则。可驾驶区域分割和车道检测也需要进行,因为它们是规划车辆驾驶路线的关键。
[0003]在自动驾驶领域中,检测车辆、车道行人等的目标检测算法拥有了非常大的进步,并且,自动驾驶系统中车道检测和车道线同样发展迅速。通过上面提到的这些技术,可以定位车辆之间的位置,可以确定车辆周围可行区域,确保行驶车辆的安全性。以往通常这几项任务都是分开处理,即目标检测、可行驶区域检测和车道线检测等多项任务是互不关联的。同时完成这三项任务最经典的方法是,使用Faster R

CNN和YOLOv4算法处理目标检测任务,使用ENet和PSPNet算法来处理可行驶区域分割检测任务,使用SCNN和SADENet算法处理车道线检测任务。尽管以上方法在单一任务的处理中表现非常优秀,包括速度与精度都非常优秀。但是,实际自动驾驶系统中运用并不仅仅需要处理单一的视觉任务,若需要完成目标检测、可行驶区域检测和车道线检测这三项任务,那么需要执行三项任务,需要花费三个时间来处理三个任务,显然对于速度要求极高的自动驾驶任务是不能接受的。自动驾驶中嵌入式设备上部署驾驶感知系统时,需要考虑有限的功耗、算力和延迟。在自动驾驶环境感知中,往往不同任务都有很多互相关联的信息,这部分信息可以用于共享。视觉多任务神经网络适合于这种情况,因为它可以一个网络主体实现多个任务处理,不需要分开多项串行或者并行多个神经网络任务处理。并且由于视觉多任务神经网络可以共享相同的特征提取主干,多个任务之间可以共享信息,多个模型合并到一个视觉多任务神经网络模型中,大量减少冗余的参数,大量减少算力的需求,并在多个任务上都能取得较优秀的结果。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的缺点与不足,提出了一种基于深度学习的视觉多任务处理方法,可以同时完成目标检测任务、可行驶区域检测任务和车道线检测任务。
[0005]为实现上述目的,本专利技术所提供的技术方案为:一种基于深度学习的视觉多任务处理方法,该方法是利用一个基于深度学习的视觉多任务处理神经网络模型同时完成车辆自动驾驶中需要的多任务视觉处理,包括目标检测任务、可行驶区域检测任务和车道线检测任务,其中,该视觉多任务处理神经网络模型由输入层、共享特征编码器、瓶颈模块和三个针对不同任务的解码器组成,解码器之间与相似的任务共享特征映射,实现联合语义理
解,并且用于目标检测任务的解码器使用CIoU衡量损失值;
[0006]该视觉多任务处理方法的具体实施包括以下步骤:
[0007]S1、获取数据集并进行预处理,包括:对数据集进行缩放操作以满足视觉多任务处理神经网络模型的输入要求,对数据集进行增强操作,对数据集进行风格转换以更好地模拟实际恶劣驾驶天气环境;将预处理后的数据集划分为训练集和测试集;
[0008]S2、调整训练参数,构建数据集生成器,分步骤训练视觉多任务神经网络模型:先训练视觉多任务神经网络模型的共享编码器,再分别训练视觉多任务神经网络模型三个针对不同任务的解码器;
[0009]S3、采集测试集中的RGB图像数据,输入到训练好的视觉多任务神经网络模型中预测,得到目标检测预测结果、可行驶区域预测结果和车道线预测结果,并将所有预测结果绘制到测试的RGB图像展示输出。
[0010]进一步,在步骤S1中,使用BDD100K数据集,BDD100K数据集的原始RGB图像格式为jpg格式,分辨率为1280
×
720,目标检测的标签格式是json格式,在训练过程中需要将json格式的标签转换成{x,y,w,h,class},(x,y)代表边界框的坐标,(w,h)代表边界框的宽度和高度,class代表目标的类别;BDD100K数据集中的可行驶区域标签和车道线标签是png格式,分辨率为1280
×
720,需要将可行驶区域标签和车道线标签尺寸转换成视觉多任务神经网络模型对应可行驶区域检测任务和车道线检测任务的两个解码器输出的尺寸大小;对BDD100K数据集进行色彩变换增强操作,使用直方图均衡算法,计算图像的灰度直方图,求图像像素总数,归一化直方图分布,计算图像的灰度级累计分,求出增强图像的灰度值,得到一个经过直方图均衡化的图像;对数据集进行场景变换操作,使用CycleGAN算法进行场景转换,CycleGAN是一种风格转换神经网络,使用CycleGAN将BDD100K数据集进行天气转换,包括晴天转雷雨天,晴天转雪天、晴天转雾霾天气和晴天转雨天的恶劣天气,扩充自动驾驶数据集的数量,并且使得视觉多任务处理神经网络模型学习更多恶劣环境的数据图像,使得模型更加具有泛化性能。
[0011]进一步,在步骤S2中,所述视觉多任务处理神经网络模型的具体情况如下:
[0012]a、构建视觉多任务处理神经网络模型的输入层,要求:输入一张RGB图像,通过缩放或者裁剪得到一张N
×
M尺寸的RGB图像,N为通过缩放或者裁剪后RGB图像的横向分辨率大小,M为通过缩放或者裁剪RGB图像的纵向分辨率大小,再转换成一个维度为N
×
M
×
3的张量;
[0013]b、构建视觉多任务处理神经网络模型的共享特征编码器,所述共享特征编码器中使用到的模块有CBM模块、CSPx模块、CBLx模块和SPP模块;
[0014]CBM模块由Conv操作、BatchNorm操作和Mish激活函数按顺序组成;
[0015]CSPx模块具有主干和捷径两个分支,CSPx模块起始为一个CBM模块,这个起始的CBM模块分别连接至CSPx模块的主干和捷径,主干有一个CBM模块、x个ResUnit模块和一个CBM模块按顺序组成,捷径由一个CBM模块组成,CSPx模块的主干和捷径进行Concat操作,末尾再有一个CBM模块组成;ResUnit模块有主干与捷径组成,ResUnit的主干由两个CBM模块组成,ResUnit的捷径直接将输入特征与主干输出特征进行相加操作;
[0016]CBLx模块由x个CBL模块组成,CBL模块由Conv操作、BatchNorm操作和LeakyReLU激活函数按顺序组成;
[0017]SPP模块由4个分支组成,分别为3
×
3、5
×
5和9
×
9尺寸的Maxpool操作和一条空操作捷径,再将这4个分支进行Concat操作;...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的视觉多任务处理方法,其特征在于,该方法是利用一个基于深度学习的视觉多任务处理神经网络模型同时完成车辆自动驾驶中需要的多任务视觉处理,包括目标检测任务、可行驶区域检测任务和车道线检测任务,其中,该视觉多任务处理神经网络模型由输入层、共享特征编码器、瓶颈模块和三个针对不同任务的解码器组成,解码器之间与相似的任务共享特征映射,实现联合语义理解,并且用于目标检测任务的解码器使用CIoU衡量损失值;该视觉多任务处理方法的具体实施包括以下步骤:S1、获取数据集并进行预处理,包括:对数据集进行缩放操作以满足视觉多任务处理神经网络模型的输入要求,对数据集进行增强操作,对数据集进行风格转换以更好地模拟实际恶劣驾驶天气环境;将预处理后的数据集划分为训练集和测试集;S2、调整训练参数,构建数据集生成器,分步骤训练视觉多任务神经网络模型:先训练视觉多任务神经网络模型的共享编码器,再分别训练视觉多任务神经网络模型三个针对不同任务的解码器;S3、采集测试集中的RGB图像数据,输入到训练好的视觉多任务神经网络模型中预测,得到目标检测预测结果、可行驶区域预测结果和车道线预测结果,并将所有预测结果绘制到测试的RGB图像展示输出。2.根据权利要求1所述的一种基于深度学习的视觉多任务处理方法,其特征在于,在步骤S1中,使用BDD100K数据集,BDD100K数据集的原始RGB图像格式为jpg格式,分辨率为1280
×
720,目标检测的标签格式是json格式,在训练过程中需要将json格式的标签转换成{x,y,w,h,class},(x,y)代表边界框的坐标,(w,h)代表边界框的宽度和高度,class代表目标的类别;BDD100K数据集中的可行驶区域标签和车道线标签是png格式,分辨率为1280
×
720,需要将可行驶区域标签和车道线标签尺寸转换成视觉多任务神经网络模型对应可行驶区域检测任务和车道线检测任务的两个解码器输出的尺寸大小;对BDD100K数据集进行色彩变换增强操作,使用直方图均衡算法,计算图像的灰度直方图,求图像像素总数,归一化直方图分布,计算图像的灰度级累计分,求出增强图像的灰度值,得到一个经过直方图均衡化的图像;对数据集进行场景变换操作,使用CycleGAN算法进行场景转换,CycleGAN是一种风格转换神经网络,使用CycleGAN将BDD100K数据集进行天气转换,包括晴天转雷雨天,晴天转雪天、晴天转雾霾天气和晴天转雨天的恶劣天气,扩充自动驾驶数据集的数量,并且使得视觉多任务处理神经网络模型学习更多恶劣环境的数据图像,使得模型更加具有泛化性能。3.根据权利要求2所述的一种基于深度学习的视觉多任务处理方法,其特征在于,在步骤S2中,所述视觉多任务处理神经网络模型的具体情况如下:a、构建视觉多任务处理神经网络模型的输入层,要求:输入一张RGB图像,通过缩放或者裁剪得到一张N
×
M尺寸的RGB图像,N为通过缩放或者裁剪后RGB图像的横向分辨率大小,M为通过缩放或者裁剪RGB图像的纵向分辨率大小,再转换成一个维度为N
×
M
×
3的张量;b、构建视觉多任务处理神经网络模型的共享特征编码器,所述共享特征编码器中使用到的模块有CBM模块、CSPx模块、CBLx模块和SPP模块;CBM模块由Conv操作、BatchNorm操作和Mish激活函数按顺序组成;CSPx模块具有主干和捷径两个分支,CSPx模块起始为一个CBM模块,这个起始的CBM模
块分别连接至CSPx模块的主干和捷径,主干有一个CBM模块、x个ResUnit模块和一个CBM模块按顺序组成,捷径由一个CBM模块组成,CSPx模块的主干和捷径进行Concat操作,末尾再有一个CBM模块组成;ResUnit模块有主干与捷径组成,ResUnit的主干由两个CBM模块组成,ResUnit的捷径直接将输入特征与主干输出特征进行相加操作;CBLx模块由x个CBL模块组成,CBL模块由Conv操作、BatchNorm操作和LeakyReLU激活函数按顺序组成;SPP模块由4个分支组成,分别为3
×
3、5
×
5和9
×
9尺寸的Maxpool操作和一条空操作捷径,再将这4个分支进行Concat操作;所述共享特征编码器由CBM模块、CSP1模块、CSP2模块、第一CSP8模块、第二CSP8模块、CSP4模块、CBL3模块和SPP模块按顺序构成;c、构建视觉多任务处理神经网络模型的瓶颈模块,由三个CBL6模块组成,分别为第一CBL6模块、第二CBL6模块、第三CBL6模块,要求:输入SPP模块提取的特征到第一CBL6模块,将第一CBL6模块的输出特征进行UpSample操作后,再与第二CSP8模块的输出特征进行Concat操作得到特征输出到第二CBL6模块,将第二CBL6模块的输出特征进行UpSample操作后,再与第一CSP8模块的输出特征进行Concat操作得到特征输出到第三CBL6模块;d、定义视觉多任务处理神经网络模型中三个针对不同任务的解码器,分别为:目标检测解码器、可行驶区域检测解码器和车道线检测解码器;构建的目标检测解码器有三个尺度的目标检测head,每个目标检测head都由一个CBL1模块组成,三个尺度的目标检测head分别命名为Y1、Y2、Y3;Y3获取第一CBL6模块输出的特征,Y2获取第二CBL6模块输出的特征,Y1获取第三CBL6模块输出的特征;构建的可行驶区域检测解码器由两个CBL3模块组成,分别为第一CBL3模块和第二CBL3模块,要求:输入第三CBL6模块提取的特征进行UpSample操作并输出特征到第一CBL3模块,将第一CBL3模块输出特征进行UpSample操作并输出特征到第二CBL3模块;构建的车道线检测解码器由两个CBL3模块组成,分别为第三CBL3模块和第四CBL3模块,要求:输入第三CBL6模块提取的特征进行UpSample操作并输出特征到第三CBL3模块,将第三CBL3模块输出特征进行UpSample操作并输出特征到第四CBL3模块。4.根据权利要求3所述的一种基于深度学习的视觉多任务处理方法,其特征在于,所述视觉多任务处理神经网络模型针对目标检测任务、可行驶区域检测任务和车道线检测任务分别设计损失函数,分别为目标检测损失、可行驶区域检测损失和车道线检测损失,见公式(1);L
all
=αL
det

【专利技术属性】
技术研发人员:祝裕昌肖南峰
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1