CN115909245A - 一种基于深度学习的视觉多任务处理方法 - Google Patents
一种基于深度学习的视觉多任务处理方法 Download PDFInfo
- Publication number
- CN115909245A CN115909245A CN202211515937.3A CN202211515937A CN115909245A CN 115909245 A CN115909245 A CN 115909245A CN 202211515937 A CN202211515937 A CN 202211515937A CN 115909245 A CN115909245 A CN 115909245A
- Authority
- CN
- China
- Prior art keywords
- module
- visual
- neural network
- network model
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 90
- 238000013135 deep learning Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract description 187
- 238000003062 neural network model Methods 0.000 claims abstract description 85
- 238000012549 training Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 101150107454 CBL6 gene Proteins 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 39
- 101150039392 CBL3 gene Proteins 0.000 claims description 35
- 101150058299 Cblc gene Proteins 0.000 claims description 35
- 102100035275 E3 ubiquitin-protein ligase CBL-C Human genes 0.000 claims description 35
- 230000009466 transformation Effects 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 14
- 230000004438 eyesight Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 101100441251 Arabidopsis thaliana CSP2 gene Proteins 0.000 claims description 3
- 101100222094 Arabidopsis thaliana CSP4 gene Proteins 0.000 claims description 3
- 101150041156 CBL1 gene Proteins 0.000 claims description 3
- 102100027557 Calcipressin-1 Human genes 0.000 claims description 3
- 101100247605 Homo sapiens RCAN1 gene Proteins 0.000 claims description 3
- 101150064416 csp1 gene Proteins 0.000 claims description 3
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012805 post-processing Methods 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims description 3
- 206010037180 Psychiatric symptoms Diseases 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims description 2
- 238000009825 accumulation Methods 0.000 claims 1
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开一种基于深度学习的视觉多任务处理方法,包括:搭建视觉多任务处理神经网络模型;针对三个不同任务解码器设计损失函数;对数据集进行预处理与增强操作;调整训练参数,训练视觉多任务神经网络模型;输入RGB图像检测;本方法创新地将多个任务融合到一个神经网络当中可完成目标检测、可行驶区域检测和车道线检测三个任务,使得同样完成三个任务的时间大大缩短,并且各个解码器之间可以使用一个共享特征的编码器,使得特征利用率大大提高;本方法创新地在定位损失使用了CIoU回归定位损失,考虑了边界框重叠面积、中心距离和长宽比因素,使神经网络模型训练时更能够反馈边界框定位准确性;本方法具有实际推广价值与应用价值。
Description
技术领域
本发明涉及自动驾驶中多任务处理的技术领域,尤其是指一种基于深度学习的视觉多任务处理方法。
背景技术
自动驾驶的驾驶环境感知系统非常重要,因为它可以从RGB摄像头、深度摄像头和红外摄像头等设备中获取视觉信息,可以作为车辆自动驾驶决策的参考输入信息。为了车辆具有智能驾驶能力,视觉感知系统要求能够获取外界信息并理解场景,向决策系统提供的信息包括:行人车辆障碍物的检测、可行驶区域判断、车道线等信息。驾驶感知系统包括目标检测,帮助车辆识别行人车辆障碍物,安全行驶,遵守交通规则。可驾驶区域分割和车道检测也需要进行,因为它们是规划车辆驾驶路线的关键。
在自动驾驶领域中,检测车辆、车道行人等的目标检测算法拥有了非常大的进步,并且,自动驾驶系统中车道检测和车道线同样发展迅速。通过上面提到的这些技术,可以定位车辆之间的位置,可以确定车辆周围可行区域,确保行驶车辆的安全性。以往通常这几项任务都是分开处理,即目标检测、可行驶区域检测和车道线检测等多项任务是互不关联的。同时完成这三项任务最经典的方法是,使用Faster R-CNN和YOLOv4算法处理目标检测任务,使用ENet和PSPNet算法来处理可行驶区域分割检测任务,使用SCNN和SADENet算法处理车道线检测任务。尽管以上方法在单一任务的处理中表现非常优秀,包括速度与精度都非常优秀。但是,实际自动驾驶系统中运用并不仅仅需要处理单一的视觉任务,若需要完成目标检测、可行驶区域检测和车道线检测这三项任务,那么需要执行三项任务,需要花费三个时间来处理三个任务,显然对于速度要求极高的自动驾驶任务是不能接受的。自动驾驶中嵌入式设备上部署驾驶感知系统时,需要考虑有限的功耗、算力和延迟。在自动驾驶环境感知中,往往不同任务都有很多互相关联的信息,这部分信息可以用于共享。视觉多任务神经网络适合于这种情况,因为它可以一个网络主体实现多个任务处理,不需要分开多项串行或者并行多个神经网络任务处理。并且由于视觉多任务神经网络可以共享相同的特征提取主干,多个任务之间可以共享信息,多个模型合并到一个视觉多任务神经网络模型中,大量减少冗余的参数,大量减少算力的需求,并在多个任务上都能取得较优秀的结果。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种基于深度学习的视觉多任务处理方法,可以同时完成目标检测任务、可行驶区域检测任务和车道线检测任务。
为实现上述目的,本发明所提供的技术方案为:一种基于深度学习的视觉多任务处理方法,该方法是利用一个基于深度学习的视觉多任务处理神经网络模型同时完成车辆自动驾驶中需要的多任务视觉处理,包括目标检测任务、可行驶区域检测任务和车道线检测任务,其中,该视觉多任务处理神经网络模型由输入层、共享特征编码器、瓶颈模块和三个针对不同任务的解码器组成,解码器之间与相似的任务共享特征映射,实现联合语义理解,并且用于目标检测任务的解码器使用CIoU衡量损失值;
该视觉多任务处理方法的具体实施包括以下步骤:
S1、获取数据集并进行预处理,包括:对数据集进行缩放操作以满足视觉多任务处理神经网络模型的输入要求,对数据集进行增强操作,对数据集进行风格转换以更好地模拟实际恶劣驾驶天气环境;将预处理后的数据集划分为训练集和测试集;
S2、调整训练参数,构建数据集生成器,分步骤训练视觉多任务神经网络模型:先训练视觉多任务神经网络模型的共享编码器,再分别训练视觉多任务神经网络模型三个针对不同任务的解码器;
S3、采集测试集中的RGB图像数据,输入到训练好的视觉多任务神经网络模型中预测,得到目标检测预测结果、可行驶区域预测结果和车道线预测结果,并将所有预测结果绘制到测试的RGB图像展示输出。
进一步,在步骤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数据集进行天气转换,包括晴天转雷雨天,晴天转雪天、晴天转雾霾天气和晴天转雨天的恶劣天气,扩充自动驾驶数据集的数量,并且使得视觉多任务处理神经网络模型学习更多恶劣环境的数据图像,使得模型更加具有泛化性能。
进一步,在步骤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模块。
进一步,所述视觉多任务处理神经网络模型针对目标检测任务、可行驶区域检测任务和车道线检测任务分别设计损失函数,分别为目标检测损失、可行驶区域检测损失和车道线检测损失,见公式(1);
Lall=αLdet+βLda+γLll (1)
式中,Lall是总损失值,α、β、γ分别是目标检测损失、可行驶区域检测损失和车道线检测损失的权重参数,Ldet是目标检测损失值,Lda是可行驶区域检测损失值,Lll是车道线检测损失值;
所述目标检测损失函数由定位损失、目标置信度损失和类别损失组成,见公式(2);
Ldet=λ1Lciou+λ2Lobj+λ3Lcla (2)
式中,λ1代表定位损失权重参数、λ2代表目标置信度损失的权重参数和λ3代表类别损失的权重参数,Lciou是定位损失值,Lobj是目标置信度损失值,Lcla是类别损失值;Ci表示第i个格子边界框的预测置信度,表示第i个格子边界框的目标置信度,表示第i个格的第j个边界框不存在目标;c表示类别,c归属于总类别classes,pi(c)表示第i个格的预测为类别c的概率,表示第i个格的目标值类别c的概率;S代表将图像分割成S×S格,S2代表图像分割之后的总格数S×S,i的范围从0到S2,B表示在i格子中边界框的个数,j的范围从0到B,表示第i个格的第j个边界框存在目标,使用了CIoU回归定位损失,见公式(6)、(7)、(8),CIoU是IoU的改进算法,IoU表示两个边界框的交并比,CIoU考虑了边界框重叠面积、中心距离和长宽比因素,使用的CIoU回归定位损失使神经网络模型训练时更能够反馈边界框定位准确性;
其中,公式(6)是CIoU的计算方式,IoU是交并比,即两个边界框交集面积除以并集面积,ρ2(b,bgt)代表预测边界框b与真实边界框bgt的欧式距离,diag代表两个边界框的最小外接矩形对角线长度,v是一个用于去度量长宽比一致性的参数,见公式(7),a是一个正的trade-off参数,见公式(8),w、h和wgt、hgt分别代表预测边界框的高、宽和真实边界框的高、宽;
定义Lda是可行驶区域检测损失值,见公式(9),输入可行使区域检测特征
定义Lll是车道线检测损失值,见公式(10),其中ω1、ω2、ω3为权重参数,Lll_seg是车道线检测分割损失函数,使用交叉熵计算,输入车道线检测特征图并与Lda计算方式相同,Lll_iou是预测车道线与真实车道线的交并比,Lll_exist为是否存在车道线损失;
Lll=ω1Lll_seg+ω2Lll_iou+ω3Lll_exist (10)。
进一步,在步骤S2中,使用adam优化器,设定batch_size值,设定总训练epoch值,打印每个epoch得到的训练loss值和验证loss值,训练loss值下降并且验证loss值也在下降证明模型还没训练完成,继续训练提升模型的性能,当训练loss值下降但是验证loss值上升说明模型已经开始过拟合,需要停止训练;根据不同epoch设定不同的学习率learningrate,随着epoch值的上升,动态调节learning rate下降;
创建数据集生成器,将BDD100K数据集批量导入到视觉多任务处理神经网络模型中训练;导入BDD100K数据集划分的训练集和验证集;训练集用于训练视觉多任务处理神经网络模型,训练时使用的数据集生成器导入内容包括输入RGB图像、目标检测边界框、可行驶区域检测分割图像和车道线检测分割图像,通过batch size控制每批导入数量;验证集用于验证训练视觉多任务处理神经网络模型的效果,输出目标检测解码器预测的mAP平均精准度、IoU交并比和Recall召回率,输出可行驶区域检测解码器和车道线检解码器预测的precise准确率和IoU交并比;
初始化视觉多任务处理神经网络模型、数据集生成器和训练参数,开始训练视觉多任务处理神经网络模型,训练模型至设定的epoch值,将视觉多任务处理神经网络模型的共享特征编码器进行冻结操作,再依次对视觉多任务处理神经网络模型的目标检测解码器、可行驶区域检测解码器和车道线检测解码器进行单独训练;
进一步,所述步骤S3的具体过程如下:
S31、使用BDD100k数据集中的测试集图像,使用GPIO摄像头、USB摄像头拍摄一个RGB图像作为输入图像,将采集得到的RGB图像尺寸缩放至视觉多任务处理神经网络模型的输入尺寸N×M,转换为一个N×M×3的张量;
S32、将得到的一个N×M×3的张量输入到视觉多任务处理神经网络模型中预测,模型将会输出三个部分的结果,分别是目标检测结果、可行驶区域检测结果和车道线检测结果;分别对这三个结果进行后处理,目标检测得到的是多个格式为{x,y,w,h,conf,class}的结果;(x,y)为边界框的坐标;(w,h)为边界框的宽度和高度;conf为边界框的置信度;class为目标的类别,设定IoU值和confidence值,使用NMS非极大值抑制算法挑选合适边界框,并将边界框绘画到图像中;可行驶区域检测和车道线检测是实例分割的数据格式,需要对输出矩阵进行平滑操作与二值化操作得到结果,并将其绘制到图像中,得到一个绘制有目标检测结果、可行驶区域检测结果和车道线检测结果的RGB图像。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明提出的基于深度学习的视觉多任务处理神经网络模型只需要一个编码器和三个各自不同任务的解码器,就可以同时完成目标检测任务、可行驶区域检测任务和车道线检测任务这三个任务,大大减少模型参数量和推理时间,解码器之间与相似的任务共享特征映射,实现联合语义理解,更加符合自动驾驶技术中需要的多任务视觉处理。
2、视觉多任务神经网络模型使用的是相对轻量化的神经网络主体结构,无论在训练或者是在推理的情况下,速度都是非常优秀的,并且参数量足够承担三个解码器所需要的特征信息,既保持了速度的要求也保证了精度的要求。
3、本发明对BDD100K数据集进行多种模式增强,能够更好提高模型的泛化性能,更加符合实际驾驶中遇见的恶劣环境,并且可适应不同的驾驶场景和各种天气,这也体现了本发明的潜在的市场与应用价值。
附图说明
图1为对数据集进行直方图均衡增强效果图。
图2为视觉多任务处理神经网络模型的示意图。
图3为视觉多任务处理神经网络模型的架构图。
图4为输入预测的RGB图像效果展示图(此处展示灰度图)。
图5为输入RGB图像进入视觉多任务处理神经网络模型的效果图;其中,图左为目标检测结果,图右为可行驶区域检测结果和车道线检测结果。
图6为目标检测结果、可行驶区域检测结果和车道线检测结果绘制到RGB图像的展示效果图(此处展示灰度图)。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本实施例在Pytorch深度学习框架下实现,计算机配置爱用Intel Core I7-12800H处理器,64GB内存,nVIDIA GeForce RTX3090 24GB显卡,Windows11 22H2操作系统;本实施例公开了一种基于深度学习的视觉多任务处理方法,该方法是利用一个基于深度学习的视觉多任务处理神经网络模型同时完成车辆自动驾驶中需要的多任务视觉处理,包括目标检测任务、可行驶区域检测任务和车道线检测任务,其中,该视觉多任务处理神经网络模型由输入层、共享特征编码器、瓶颈模块和三个针对不同任务的解码器组成,解码器之间与相似的任务共享特征映射,实现联合语义理解,并且用于目标检测任务的解码器使用CIoU衡量损失值;其具体过程如下:
1)使用BDD100K数据集用于训练视觉多任务神经网络模型,BDD100K数据集的原始RGB图片格式为jpg格式,分辨率为1280×720,目标检测的标签格式是json格式,在训练过程中需要将json格式的标签转换成{x,y,w,h,class},即边界框的坐标(x,y);边界框的宽度和高度(w,h);目标的类别class;BDD100K数据集中的可行驶区域标签和车道线标签是png格式,分辨率为1280×720,需要将可行驶区域标签和车道线标签尺寸转换成视觉多任务神经网络模型对应可行驶区域检测任务和车道线检测任务的两个解码器输出的尺寸大小;
对数据集进行色彩变换增强操作,使用直方图均衡算法,计算图像的灰度直方图,求图像像素总数,归一化直方图分布,计算图像的灰度级累计分,求出增强图像的灰度值,得到一个经过直方图均衡化的图像,见图1所示。对数据集进行场景变换操作,使用CycleGAN算法进行场景转换,CycleGAN是一种风格转换神经网络模型,本发明使用CycleGAN将BDD100K中的数据集进行天气转换,包括晴天转雷雨天,晴天转雪天、晴天转雾霾天气和晴天转雨天的恶劣天气,扩充自动驾驶数据集的数量,并且使得视觉多任务处理神经网络模型学习更多恶劣环境的数据图像,使得模型更加具有泛化性能。
2)构建视觉多任务处理神经网络模型,见图2所示,视觉多任务处理神经网络模型分为四个部分,分别是输入层、共享特征编码器、瓶颈模块和三个针对不同任务的解码器,定义三个针对不同任务的解码器分别为目标检测解码器、可行驶区域检测解码器和车道线检测解码器;
构建视觉多任务处理神经网络模型的输入层,要求:输入一张RGB图像,通过缩放或者裁剪得到一张N×M尺寸的RGB图像,N为通过缩放或者裁剪后RGB图像的横向分辨率大小,M为通过缩放或者裁剪RGB图像的纵向分辨率大小,再转换成一个维度为N×M×3的张量;
构建视觉多任务处理神经网络模型的共享特征编码器,共享特征编码器中使用到的模块有CBM模块、CSPx模块、CBLx模块和SPP模块,见图3所示;
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模块按顺序构成;
构建视觉多任务处理神经网络模型的瓶颈模块,由⑨CBL6模块、⑩CBL6模块、CBL6模块组成,要求:输入⑧SPP模块提取的特征到⑨CBL6模块,将⑨CBL6模块的输出特征进行UpSample操作并与⑤CSP8模块输出特征进行Concat操作得到特征输出到⑩CBL6模块,将⑩CBL6模块的输出特征进行UpSample操作并与④CSP8模块输出特征进行Concat操作得到特征输出到CBL6模块,按以上顺序构建视觉多任务处理神经网络模型的瓶颈模块;
构建视觉多任务处理神经网络模型三个针对不同任务的解码器,分别设计目标检测解码器、可行驶区域检测解码器和车道线检测解码器三个解码器;
构建的目标检测解码器三个尺度的目标检测head,每个目标检测head都由一个CBL1模块组成,三个尺度的目标检测head分别命名为Y1、Y2、Y3;Y3获取⑨CBL6模块输出的特征,Y2获取⑩CBL6模块输出的特征,Y1获取CBL6模块输出的特征;
构建的可行驶区域检测解码器由CBL3模块和CBL3模块组成,要求:输入CBL6模块提取的特征进行UpSample操作并输出特征到CBL3模块,将CBL3模块输出特征进行UpSample操作并输出特征到CBL3模块;
构建的车道线检测解码器由CBL3模块和CBL3模块组成,要求:输入CBL6模块提取的特征进行UpSample操作并输出特征到CBL3模块,将CBL3模块输出特征进行UpSample操作并输出特征到CBL3模块。
3)总损失函数设计,总损失函数分为三个部分,分别为目标检测损失、可行驶区域检测损失和车道线检测损失,见公式(1);
Lall=αLdet+βLda+γLll (1)
式中,Lall是总损失值,α、β、γ分别是目标检测损失、可行驶区域检测损失和车道线检测损失的权重参数,Ldet是目标检测损失值,Lda是可行驶区域检测损失值,Lll是车道线检测损失值;
所述目标检测损失函数由定位损失、目标置信度损失和类别损失组成,见公式(2);
Ldet=λ1Lciou+λ2Lobj+λ3Lcla (2)
式中,λ1、λ2、λ3分别是定位损失、目标置信度损失和类别损失的权重参数,Lciou是定位损失值,Lobj是目标置信度损失值,Lcla是类别损失值;Ci表示第i个格子边界框的预测置信度,表示第i个格子边界框的目标置信度,表示第i个格的第j个边界框不存在目标;c表示类别,c归属于总类别classes,pi(c)表示第i个格的预测为类别c的概率,表示第i个格的目标值类别c的概率;S代表将图像分割成S×S格,S2代表图像分割之后的总格数S×S,i的范围从0到S2,B表示在i格子中边界框的个数,j的范围从0到B,表示第i个格的第j个边界框存在目标,使用了CIoU回归定位损失,见公式(6)、(7)、(8),CIoU是IoU的改进算法,IoU表示两个边界框的交并比,CIoU考虑了边界框重叠面积、中心距离和长宽比因素,使用的CIoU回归定位损失使神经网络模型训练时更能够反馈边界框定位准确性;
其中,公式(6)是CIoU的计算方式,IoU是交并比,即两个边界框交集面积除以并集面积,ρ2(b,bgt)代表预测边界框b与真实边界框bgt的欧式距离,diag代表两个边界框的最小外接矩形对角线长度,v是一个用于去度量长宽比一致性的参数,见公式(7),a是一个正的trade-off参数,见公式(8),w、h和wgt、hgt分别代表预测边界框的高、宽和真实边界框的高、宽;
其中,Lll是车道线检测损失值见公式(10),其中ω1,ω2,ω3为权重参数,Lll_seg是车道线检测分割损失函数,使用交叉熵计算,输入车道线检测特征图并与Lda计算方式相同,Lll_iou是预测车道线与真实车道线的交并比,Lll_exist为是否存在车道线损失;
Lll=ω1Lll_seg+ω2Lll_iou+ω3Lll_exist (10)
4)使用adam优化器,设定batch_size值,设定总训练epoch值,打印每个epoch得到的训练loss值和验证loss值,训练loss值下降并且验证loss值也在下降证明模型还没训练完成,继续训练可以提升模型的性能,当训练loss值下降但是验证loss值上升说明模型已经开始过拟合了,需要停止训练;根据不同epoch设定不同的学习率learning rate,随着epoch值的上升,动态调节learning rate下降;
创建数据集生成器,将BDD100K数据集批量导入到视觉多任务处理神经网络模型中训练;导入BDD100K数据集划分的训练集和验证集;训练集用于训练视觉多任务处理神经网络模型,训练时使用的数据集生成器导入内容包括输入RGB图像、目标检测边界框、可行驶区域检测分割图像和车道线检测分割图像,通过batch size控制每批导入数量;验证集用于验证训练视觉多任务处理神经网络模型的效果,输出目标检测解码器预测的mAP平均精准度、IoU交并比和Recall召回率,输出可行驶区域检测解码器和车道线检解码器预测的precise准确率和IoU交并比;
初始化构建的视觉多任务处理神经网络模型、数据集生成器和训练参数,开始训练视觉多任务处理神经网络模型,训练模型至设定的epoch值,将视觉多任务处理神经网络模型的共享特征编码器进行冻结操作,再依次对视觉多任务处理神经网络模型的目标检测解码器、可行驶区域检测解码器和车道线检测解码器进行单独训练;
5)采集测试数据,使用BDD100k数据集中的测试集图像,使用GPIO摄像头、USB摄像头拍摄一个RGB图像作为输入图像,将采集得到的RGB图像尺寸缩放至视觉多任务处理神经网络模型的输入尺寸N×M,转换为一个N×M×3的张量,本实施例使用样本数据见图4所示,原始图片为RGB图片,以灰度图方式展现;
将得到的一个N×M×3的张量输入到视觉多任务处理神经网络模型中预测,模型将会输出三个部分的结果,分别是目标检测结果、可行驶区域检测结果和车道线检测结果;分别对这三个结果进行后处理,目标检测得到的是多个格式为{x,y,w,h,conf,class}的结果;(x,y)为边界框的坐标;(w,h)为边界框的宽度和高度;conf为边界框的置信度;class为目标的类别,设定IoU值和confidence值,使用NMS非极大值抑制算法挑选适合边界框,效果见图5左边展示,并将边界框绘画到图像中;可行驶区域检测和车道线检测是实例分割的数据格式,需要对输出矩阵进行平滑操作与二值化操作得到结果,效果见图5右边展示,并将其绘制到图像中,得到一个绘制有目标检测结果、可行驶区域检测结果和车道线检测结果的RGB图像,效果见图6展示,原始图片为RGB图像,以灰度图方式展示。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
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);
Lall=αLdet+βLda+γLll (1)
式中,Lall是总损失值,α、β、γ分别是目标检测损失、可行驶区域检测损失和车道线检测损失的权重参数,Ldet是目标检测损失值,Lda是可行驶区域检测损失值,Lll是车道线检测损失值;
所述目标检测损失函数由定位损失、目标置信度损失和类别损失组成,见公式(2);
Ldet=λ1Lciou+λ2Lobj+λ3Lcla (2)
式中,λ1代表定位损失权重参数、λ2代表目标置信度损失的权重参数和λ3代表类别损失的权重参数,Lciou是定位损失值,Lobj是目标置信度损失值,Lcla是类别损失值;Ci表示第i个格子边界框的预测置信度,表示第i个格子边界框的目标置信度,表示第i个格的第j个边界框不存在目标;c表示类别,c归属于总类别classes,pi(c)表示第i个格的预测为类别c的概率,表示第i个格的目标值类别c的概率;S代表将图像分割成S×S格,S2代表图像分割之后的总格数S×S,i的范围从0到S2,B表示在i格子中边界框的个数,j的范围从0到B,表示第i个格的第j个边界框存在目标,使用了CIoU回归定位损失,见公式(6)、(7)、(8),CIoU是IoU的改进算法,IoU表示两个边界框的交并比,CIoU考虑了边界框重叠面积、中心距离和长宽比因素,使用的CIoU回归定位损失使神经网络模型训练时更能够反馈边界框定位准确性;
其中,公式(6)是CIoU的计算方式,IoU是交并比,即两个边界框交集面积除以并集面积,ρ2(b,bgt)代表预测边界框b与真实边界框bgt的欧式距离,diag代表两个边界框的最小外接矩形对角线长度,v是一个用于去度量长宽比一致性的参数,见公式(7),a是一个正的trade-off参数,见公式(8),w、h和wgt、hgt分别代表预测边界框的高、宽和真实边界框的高、宽;
定义Lll是车道线检测损失值,见公式(10),其中ω1、ω2、ω3为权重参数,Lll_seg是车道线检测分割损失函数,使用交叉熵计算,输入车道线检测特征图并与Lda计算方式相同,Lll_iou是预测车道线与真实车道线的交并比,Lll_exist为是否存在车道线损失;
Lll=ω1Lll_seg+ω2Lll_iou+ω3Lll_exist (10)。
5.根据权利要求4所述的一种基于深度学习的视觉多任务处理方法,其特征在于,在步骤S2中,使用adam优化器,设定batch_size值,设定总训练epoch值,打印每个epoch得到的训练loss值和验证loss值,训练loss值下降并且验证loss值也在下降证明模型还没训练完成,继续训练提升模型的性能,当训练loss值下降但是验证loss值上升说明模型已经开始过拟合,需要停止训练;根据不同epoch设定不同的学习率learning rate,随着epoch值的上升,动态调节learning rate下降;
创建数据集生成器,将BDD100K数据集批量导入到视觉多任务处理神经网络模型中训练;导入BDD100K数据集划分的训练集和验证集;训练集用于训练视觉多任务处理神经网络模型,训练时使用的数据集生成器导入内容包括输入RGB图像、目标检测边界框、可行驶区域检测分割图像和车道线检测分割图像,通过batch size控制每批导入数量;验证集用于验证训练视觉多任务处理神经网络模型的效果,输出目标检测解码器预测的mAP平均精准度、IoU交并比和Recall召回率,输出可行驶区域检测解码器和车道线检解码器预测的precise准确率和IoU交并比;
初始化视觉多任务处理神经网络模型、数据集生成器和训练参数,开始训练视觉多任务处理神经网络模型,训练模型至设定的epoch值,将视觉多任务处理神经网络模型的共享特征编码器进行冻结操作,再依次对视觉多任务处理神经网络模型的目标检测解码器、可行驶区域检测解码器和车道线检测解码器进行单独训练。
6.根据权利要求5所述的一种基于深度学习的视觉多任务处理方法,其特征在于,所述步骤S3的具体过程如下:
S31、使用BDD100k数据集中的测试集图像,使用GPIO摄像头、USB摄像头拍摄一个RGB图像作为输入图像,将采集得到的RGB图像尺寸缩放至视觉多任务处理神经网络模型的输入尺寸N×M,转换为一个N×M×3的张量;
S32、将得到的一个N×M×3的张量输入到视觉多任务处理神经网络模型中预测,模型将会输出三个部分的结果,分别是目标检测结果、可行驶区域检测结果和车道线检测结果;分别对这三个结果进行后处理,目标检测得到的是多个格式为{x,y,w,h,conf,class}的结果;(x,y)为边界框的坐标;(w,h)为边界框的宽度和高度;conf为边界框的置信度;class为目标的类别,设定IoU值和confidence值,使用NMS非极大值抑制算法挑选合适边界框,并将边界框绘画到图像中;可行驶区域检测和车道线检测是实例分割的数据格式,需要对输出矩阵进行平滑操作与二值化操作得到结果,并将其绘制到图像中,得到一个绘制有目标检测结果、可行驶区域检测结果和车道线检测结果的RGB图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515937.3A CN115909245A (zh) | 2022-11-30 | 2022-11-30 | 一种基于深度学习的视觉多任务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515937.3A CN115909245A (zh) | 2022-11-30 | 2022-11-30 | 一种基于深度学习的视觉多任务处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115909245A true CN115909245A (zh) | 2023-04-04 |
Family
ID=86495246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211515937.3A Pending CN115909245A (zh) | 2022-11-30 | 2022-11-30 | 一种基于深度学习的视觉多任务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115909245A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116665176A (zh) * | 2023-07-21 | 2023-08-29 | 石家庄铁道大学 | 一种面向车辆自动驾驶的多任务网络道路目标检测方法 |
CN117830981A (zh) * | 2023-12-19 | 2024-04-05 | 杭州长望智创科技有限公司 | 一种基于多任务学习的自动驾驶感知系统及方法 |
CN118628876A (zh) * | 2024-08-14 | 2024-09-10 | 珠海亿智电子科技有限公司 | 目标检测模型的量化感知训练方法、装置、设备及介质 |
-
2022
- 2022-11-30 CN CN202211515937.3A patent/CN115909245A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116665176A (zh) * | 2023-07-21 | 2023-08-29 | 石家庄铁道大学 | 一种面向车辆自动驾驶的多任务网络道路目标检测方法 |
CN116665176B (zh) * | 2023-07-21 | 2023-09-26 | 石家庄铁道大学 | 一种面向车辆自动驾驶的多任务网络道路目标检测方法 |
CN117830981A (zh) * | 2023-12-19 | 2024-04-05 | 杭州长望智创科技有限公司 | 一种基于多任务学习的自动驾驶感知系统及方法 |
CN118628876A (zh) * | 2024-08-14 | 2024-09-10 | 珠海亿智电子科技有限公司 | 目标检测模型的量化感知训练方法、装置、设备及介质 |
CN118628876B (zh) * | 2024-08-14 | 2024-10-15 | 珠海亿智电子科技有限公司 | 目标检测模型的量化感知训练方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783568B2 (en) | Object classification using extra-regional context | |
CN108216229B (zh) | 交通工具、道路线检测和驾驶控制方法及装置 | |
CN115909245A (zh) | 一种基于深度学习的视觉多任务处理方法 | |
CN110097109A (zh) | 一种基于深度学习的道路环境障碍物检测系统及方法 | |
CN106326858A (zh) | 一种基于深度学习的公路交通标志自动识别与管理系统 | |
CN111709381A (zh) | 基于YOLOv3-SPP的道路环境目标检测方法 | |
CN110060508B (zh) | 一种用于内河桥区的船舶自动检测方法 | |
CN105844257A (zh) | 基于机器视觉雾天行车错失道路标志牌的预警系统及方法 | |
KR20210043516A (ko) | 궤적 계획 모델을 훈련하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
Guo et al. | Robust semantic segmentation based on RGB-thermal in variable lighting scenes | |
JP2022025008A (ja) | テキスト行識別に基づくナンバープレート識別方法 | |
CN114418895A (zh) | 驾驶辅助方法及装置、车载设备及存储介质 | |
CN114419603A (zh) | 一种自动驾驶车辆控制方法、系统和自动驾驶车辆 | |
CN111462140A (zh) | 一种基于区块拼接的实时图像实例分割方法 | |
Carranza-García et al. | Object detection using depth completion and camera-LiDAR fusion for autonomous driving | |
CN116597270A (zh) | 基于注意力机制集成学习网络的道路损毁目标检测方法 | |
CN117372991A (zh) | 基于多视角多模态融合的自动驾驶方法及系统 | |
CN116935356A (zh) | 基于弱监督的自动驾驶多模态图片和点云实例分割方法 | |
CN112288702A (zh) | 一种基于车联网的道路图像检测方法 | |
KR102014288B1 (ko) | 드론을 이용한 인공지능 기반 개발압력 예측방법 | |
CN112233079A (zh) | 多传感器图像融合的方法及系统 | |
CN106650814A (zh) | 一种基于车载单目视觉室外道路自适应分类器生成方法 | |
CN111160206A (zh) | 一种交通环境元素视觉感知方法及装置 | |
Wang et al. | Road semantic segmentation and traffic object detection model based on encoder-decoder cnn architecture | |
CN114882205A (zh) | 基于注意力机制的目标检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |