本篇文章3634字,读完约9分钟
雷锋。《com ai技术评论》:8月10日,雷锋。(公开号码:雷锋。人工智能研究会邀请了北京交通大学电子信息工程学院的薛源副教授为我们讲解高级辅助驾驶系统的多任务性。深度学习框架的应用
内容概述:
adas系统包括许多任务,如车辆检测、行人检测、交通标志识别、车道检测等。同时,由于无人驾驶等应用场景的要求,车辆视觉系统也应具备相应的高速度、高精度和多任务的要求。对于传统的图像检测和识别框架,很难在短时间内完成多种类型的图像分析任务。
薛源副教授的项目组提出了一种利用深层神经网络模型在交通场景中进行多任务处理的方法。交通场景分析主要包括以下三个方面:大目标(车辆、行人和非机动车)的检测、小目标(交通标志和交通信号灯)的分类和行驶区域(道路和车道)的分割。
这三种任务可以通过深度神经网络的前向传播来完成,不仅可以提高系统的检测速度和减少计算参数,还可以通过增加骨干网络的层数来提高检测和分割的精度。
以下是当天共享内容的摘要。
图形共享摘要
首先,任务分析
根据世卫组织2009年的统计,全球每年有123万人死于交通事故。但是我们知道在朝鲜战争中,在整个战争中死亡的人数几乎超过了一百万。换句话说,每年死于交通事故的人数几乎等于死于一场非常激烈的战争的人数。据世界卫生组织统计,世界上每年因交通事故死亡的人数高达123万;90%的交通事故是由驾驶员的人为因素造成的,如注意力不集中、超速行驶、安全意识淡薄等。因此,目前减少交通事故最重要的方法就是采用adas来减少思维错误。
对于adas系统,这些功能基本上包括:夜视辅助、车道保持、驾驶员提醒、避免碰撞提醒、车道变换辅助、停车辅助、碰撞解决、盲障碍检测、交通标志识别、车道线偏离提醒、驾驶员状态监控、远光灯辅助等。这些功能是adas所必需的。
为了实现这些功能,传感器通常需要包括视觉传感器、超声波传感器、全球定位系统和地图传感器、激光雷达传感器、雷达传感器和一些其他通信设备。然而,我们在市场上看到的大多数传感器功能相对较少,如移动I,它只具有车道保持、交通标志识别、前方车辆监控和距离监控的功能,但它并不全面。从制造商或用户的角度来看,我们自然希望使用最便宜的传感器来完成更多adas功能。最便宜的传感器基本上是视觉传感器。因此,在设计方案时,我们想,我们可以用该算法来实现adas系统的更多功能吗?这是我们整个研发的初衷。
此外,我们需要考虑adas的一些特性。Adas系统(包括无人驾驶)是在嵌入式平台下进行的,这意味着它的计算资源很少。然后我们还必须考虑如何确保adas系统能够快速准确地做出响应,同时能够保证多任务的要求。这是我们要考虑的第二个问题。
为了解决以上两个问题,我们首先分解adas的任务。如图所示,我们将adas的任务分解为目标检测和识别、图像分割、摄像机成像目标跟踪和图像分割。我们在过去一年左右的研发工作实际上是用一个深度学习框架来同时实现以上四个功能。
对于前向传播网络,其计算量和时间主要取决于其参数的数量,80%的参数来自全链路层,因此我们首先想到的是去除全链路层。其次,网络越深,其参数就越多,因此,如果将目标检测与识别、图像分割、摄像机成像目标跟踪和图像分割四个网络结合起来,就会有x4倍的参数。
因此,考虑到这两个因素,我们使用主干网来完成前面的操作,然后将它分成几个小的分支,并根据特定的任务将它们添加到主干网中。通过这种方式,许多图像处理任务可以通过骨干网的前向传播来完成,并且其参数大大减少,计算速度变得更快。同时,我们可以实现同时执行多个任务的要求。另外,最后,我们可以融合多个结果并调整训练过程,从而提高我们结果的可信度。
但是在这个过程中,我们也遇到了一些困难。第一个困难是我们需要在同一个网络中检测较大的目标(如车辆)和较小的目标(如交通标志)。第二个困难是在测量速度和测距时,我们需要的目标位置非常精确,这个问题还没有解决。
二、模型结构
这是我们设计的网络的基本结构。它分为几个部分:骨干网(我们称之为解码器)、多分支(我们称之为编码器)和基于crf的结果融合。现在我们在这个网络中只设计了两个编码器,一个是检测任务编码器,另一个是分段任务编码器,以后我们还可以增加其他编码器。结果融合的主要目的是利用它来影响骨干网的权值选择。骨干网,我们选择了一些流行的算法,如vgg 16,googlenet,resnet等。分割任务编码器采用fcn编码器,检测任务编码器采用yolo9000编码器。
1、骨干网
让我们详细看看这个网络的每个部分。首先,让我们看看主干网。我们使用vgg、googlenet或resnet作为主干网络。这些是可选的。从右边的图片(纵轴是网络的深度,圆圈的大小表示模型的大小),我们可以看到resnet在深度和大小上更好,我们可以使用resnet来获得更好的实时性能。
2.fcn语义分区解码器
然后我们看看fcn语义分区解码器。在神经网络中,图像通过主干网络后,从中提取高维特征图像。事实上,这个过程是使用池化的方法来减少它的维数。结果当输出高维特征图时,其大小仅为原始图像的1/32。然后我们使用上采样将其升级到原始图像大小。上采样过程如左侧所示。在本例中,我们将2*2图像向上采样为4*4图像。
解码器预测上采样结果。我们将其与标记的图像进行比较,计算损失,然后修改重量。上采样的一个问题是相对较小的物体无法计算。我们知道一些浅层卷积层具有较小的感知阈值,这将包含更多的局部信息;较深的卷积层具有较大的感知阈值,可以学习更多的抽象信息。因此,fcn通过将pool3、pool4和pool5叠加在一起对它们的信息进行上采样,从而可以同时对多个尺度的信息进行上采样。
3.目标检测/识别解码器yolo
其次,我们将介绍用于目标检测/识别的解码器yolo。我们使用yolo v2解码器,但在这里我们将首先介绍yolo v1。这是yolo v1的主要框架,它的主干网络是darknet19,所以我们不需要处理它。我们专注于编码器过程。骨干网络输出的特征图将被归一化为具有1*1卷积核的7*7*30特征图。这30是多少?
在这样一个7*7的矩形框中,每个正方形框都由一个点表示。然后我们用5个维度表示一个包含这个正方形盒子的矩形盒子,其中4个维度代表X,Y,Z和W,另一个维度是置信度。
在yolo v1中,30个维度中的前10个是两个这样的矩形框。它们的(x,y,z,w)分别代表坐标预测,而另一个维度是置信度预测。另外20个维度是类别预测(也就是说,有20个可能的模型,如汽车和行人)。
yolo v2和v1的最大区别是使用了锚盒。所谓的锚框是对于每个中心预测(例如,9种)具有不同大小和比例的建议框,并且每个建议框对应于4维坐标预测、1维置信度预测和20维类别预测。它提出了一个非常有趣的想法,即维度聚类,即通过在训练集中进行聚类来计算锚盒的大小。以这种方式,例如,它从9个盒子中选择5个盒子。因此,对于voc数据集,总共有5个*(4+1+20)=125个输出维度。
Yolo v2锚盒和维度聚类的思想对于我们的汽车摄像头问题更有效,因为我们的摄像头的位置是相对固定的,所以我们可以计算出每个目标的大小是相对固定的。
我们还在yolo v2的基础上做了一些修改。首先,我们使用一些细粒度的特征来检测小目标。其次,对浅层特征进行进一步的坐标预测,并将其加入到整体预测中,可以提高对小目标的预测。
4.一些想法
在这个研究过程中,我们提出了一些想法。
首先,在计算机视觉领域,低级和中级视觉问题更注重原始视觉信号,它们与语义信息的关系相对松散,也是许多高级视觉问题的预处理步骤。今年有很多关于中低水平视觉的论文,涉及去模糊、超分辨率、目标分割和颜色恒常性。
其次,最后一层的抽象特征对分类非常有帮助,可以很好的判断图像中包含了什么样的对象。然而,由于物体的一些细节丢失,物体的具体轮廓不能被很好地给出,并且每个像素属于哪个物体可以被指出。
我们如何将浅层特征和深层特征结合起来?这实际上需要进一步研究。
第三,数据库的建立
从数据库来看,我们发现中国的路况与国外有很大的不同,中国的汽车种类很多。因此,我们开发了一个半自动贴标软件,即可以通过算法自动完成车辆的贴标,同时也可以手动修正误差较大的贴标。目前,我们已经标注了50,000个矩形标注数据集。我们努力在年底前开放数据集。另一方面,我们也可以帮助企业建立数据库。
另外,在数据库建立方面,我们需要扩展数据库类型。例如,通过白天的原始图片,我们可以生成夜晚的图片,并将它们添加到我们的训练样本中。
第四,结果表明
雷锋网注:这里的结果只是一些视频截图。请关注人工智能研究所:第9号共享评论|薛源:在多任务深度学习框架中的应用。
雷锋原创文章。严禁擅自转载。详情请参考转载说明。
标题:多任务深度学习框架在ADAS中的应用 | 分享总结
地址:http://www.hcsbodzyz.com/hcxw/5894.html