xingchenshanyao / NNLearning

这里只是学习深度学习过程中的一些记录
4 stars 0 forks source link

多任务网络———同时进行目标检测与图像分割 #24

Open xingchenshanyao opened 1 year ago

xingchenshanyao commented 1 year ago

参考来源:

https://blog.csdn.net/jiebaoshayebuhui/article/details/128258592
https://blog.csdn.net/jiebaoshayebuhui/article/details/128258888
xingchenshanyao commented 1 year ago
  1. 自动驾驶中的深度学习网络 视频分析领域的四大任务是:图像分类、目标检测 、目标跟踪和图像分割。 基于深度学习的图像处理方法需要庞大的计算资源给予支持,在实际项目中,选择价格便宜且稳定性好的硬件设备是算法设计的重要环节,以实际项目为例,下图给出了自动驾驶环境感知这一实际问题拆解出的图像处理任务,自动驾驶技术的核心在于替代驾驶员完成对复杂动态场景的感知并作出正确的判断,即通过搭载的多种传感器获取与驾驶相关的有效信息,包括机动车,行人,非机动车等等。 为了感知上述目标的状态,需要经过图像分类,目标检测和图像分割几个步骤来组合完成,如果将每个任务建立一个深度学习模型,再把所有的任务并行起来,计算量过于庞大,这将导致项目预算大幅增加,硬件服务器功耗过大,会产生安装条件受限等问题,实际项目在环境感知过程需要达到响应速度快,精度高,任务多等要求,而对于传统的视觉感知框架而言,难以实现短时间内同时完成多类的图像分析任务。 所以使用一个深度神经网络模型实现交通场景中多任务处理是更为合理的方式,通过将分类、检测和分割这三个任务并入统一的编码器-解码器架构来完成,多类任务可以通过一个深度神经网络的前向传播完成,这样可以减少计算参数,从而提高系统的检测速度,多任务深度学习网络可以提高图像处理系统的速度同时可以降低图像处理算法对硬件计算能力以及存储能力的需求 1
xingchenshanyao commented 1 year ago
  1. 多任务深度学习网络的概念 无论是图像识别,目标检测还是图像分割,所使用的基础网络都是一致的,这些基础网络的目的是提取不同的任务的不同图像特征,自动驾驶环境感知多任务深度学习网络如下图所示,它由三部分组成:图像特征提起部分,目标检测与识别部分,图像分割部分。 2
xingchenshanyao commented 1 year ago
  1. 多任务网络的主要分类 目前建立的多任务网络可以分为两种方法,一种为并联多任务网络结构,另一种为级联多任务网络结构,两种网络构建方式分别如下图所示: -1. 并联式: 1 并联网络结构大多为共享基础网络而保留所有与任务相关的卷积层网络,这种方法可以实现任意两种或者多种相关任务之间的多任务网络构建,不需要考虑任务之间的结构关系,较为简单 并联式多任务联合算法的检测任务和分割任务共享卷积特征,每个任务包含一个损失函数,多任务联合算法的整体损失函数定义为检测损失函数和分割损失函数的总和,在反向传播的梯度合并过程中,不同任务的损失所占权重都是平等的。 3 并联式多任务联合算法的检测任务和分割任务共享卷积特征,每个任务包含一个损失函数,多任务联合算法的整体损失函数定义为检测损失函数和分割损失函数的总和。 4 -2. 级联式: 2 级联网络结构为通过一个任务结果来影响下一个任务结果,此种方法需要考虑两种任务之间的转化关系,但该方法可以使任务之间共享更多的网络参数,还可以使各个任务相辅相成,提高各自任务的准确率 网络结构如下图,它直接将目标检测预测结果加入到分割任务当中,从而对分割任务进行优化,分割任务首先针对来自conv3的浅层特征,将深层特征的2倍上采样与中层特征融合,再与来自浅层预测结果的特征进行融合,之后进入一个卷积模块,该卷积模块的作用主要有两个: --1. 学习分割任务与目标检测任务之间的关系 --2. 降低特征矩阵的维度 最后经过8倍上采样得到与图像尺寸大小一致的类别矩阵1248×384×2,其中2代表针对原图的每个像素点有两个类别,之后将检测结果框直接映射到原图上,得到针对原图的一个掩膜,即目标框内部与目标框上部为0而其他地方为1,用该掩膜与得到图像分割结果想卷积,对分割结构进行优化,最后掩膜为1的位置对应的像素点预测为置信度大的类别 5 损失函数即为预测值与真实值之间的差距,差距越小,代表算法越能更好的进行预测,所以算法都会在保证损失函数最小值大于或等于0的情况下,通过优化使损失函数得到最小的参数,多元函数的方差函数与以极大似然为原理的交叉熵函数使求最优化时常用的两个办法,因为这两个函数一定大于0,且当预测值与实际值越接近时损失越小 --1. 预测框中心点损失,采用方差损失函数: 6 --2. 预测框宽和高的损失,采用方差损失函数: 7 --3. 预测框是否存在实际目标损失,采用交叉熵损失函数: 8 --4. 预测类别损失函数,采用交叉熵损失函数: 9 --5. 目标检测总损失为: 10
xingchenshanyao commented 1 year ago
  1. 多任务深度学习网络测试结果 11 12