电子说
北京交通大学电子信息工程学院袁雪副教授给我们讲解了在高级辅助驾驶系统(ADAS)中的多任务深度学习框架的应用。
内容提纲:
ADAS系统包括车辆检测、行人检测、交通标志识别、车道线检测等多种任务,同时,由于无人驾驶等应用场景的要求,车载视觉系统还应具备相应速度快、精度高、任务多等要求。对于传统的图像检测与识别框架而言,短时间内同时完成多类的图像分析任务是难以实现的。
袁雪副教授的项目组提出使用一个深度神经网络模型实现交通场景中多任务处理的方法。其中交通场景的分析主要包括以下三个方面:大目标检测(车辆、行人和非机动车),小目标分类(交通标志和红绿灯)以及可行驶区域(道路和车道线)的分割。
这三类任务可以通过一个深度神经网络的前向传播完成,这不仅可以提高系统的检测速度,减少计算参数,而且可以通过增加主干网络的层数的方式提高检测和分割精度。
以下为当天分享的内容总结。
图文分享总结
一、任务分析
WHO在2009年统计的一个数据显示,在全世界范围内每年由交通事故死亡的人数有123万人。但是我们知道,在朝鲜战争中,整个战争死亡的人数也差不多一百多万。也就是说,每年死于交通事故的人数差不多等于一次非常惨烈的战争的死亡人数了。根据WHO统计,在全世界范围内每年由交通事故造成的死亡人数有123万之多;而发生交通事故90%是由司机人为原因造成的,比如注意力不集中、超速、安全意识弱等等。所以目前减少交通事故的最主要途径通过采用高级辅助驾驶系统(ADAS)就是减少认为错误。
对于ADAS系统,基本上包括这些功能:夜视辅助、车道保持、司机提醒、防撞提醒、车道变换辅助、停车辅助、碰撞疏解、死角障碍物检测、交通标志识别、车道线偏移提醒、司机状态监测、远光灯辅助等。这些功能是ADAS所必备的。
为了实现这些功能,一般其传感器需要包括视觉传感器、超声波传感器、GPS&Map传感器、Lidar传感器、Radar传感器,还有一些别的通信设备。但是我们在市面上看到的大多数传感器其功能其实是比较少的,例如mobile I,它只有车道保持、交通标志识别、前车监测和距离监测的功能,但并不全面。从厂家或者用户的角度来说,自然我们希望能用最便宜的传感器来完成更多ADAS的功能。最便宜的传感器基本上就是视觉传感器。所以我们设计方案时就想,能不能通过算法将视觉传感器实现更多ADAS系统的功能呢?这就是我们整个研发的初衷。
此外,我们还需要考虑ADAS的一些特点。ADAS系统(包括无人驾驶)是在一个嵌入式平台下进行的,也就是说它的计算资源很少。那么我们也必须考虑如何在这样一个计算资源非常少的基础上,保证ADAS系统能够快速且高精度地响应,同时还能保证多任务的需求。这是我们第二个要考虑的问题。
为了解决以上两个问题,我们首先把ADAS的任务分解一下。如图所示,我们将ADAS的任务分解成目标检测与识别、图像分割、摄像机成像目标跟踪、图像分割。我们过去一年多的研发工作其实就是,用一个深度学习框架来同时实现上述这四个的功能。
对于一个前向传播的网络,其计算量和计算时间主要取决于它的参数数量,而80%的参数都来自全链接层,所以我们的第一个想法就是去掉全链接层。其次,网络越深,它的参数就会越多所以如果我们把目标检测与识别、图像分割、摄像机成像目标跟踪、图像分割做成四个网络的话,就会有X4倍的参数。
所以针对这两个考量,我们用一个主干的网络来做前面的运算,然后在后面再根据具体的任务分成多个小的分支加到主干网络上。这样多个图像处理的任务就可以通过一个主干网络的前向传播来完成了,其参数大大减少,计算速度也变的更快。同时我们也能实现多个任务同时进行的需求。另外,在最后我们还可以将多个结果进行融合,驾到训练过程的调整中,这样就可以提高我们结果的可信性。
但是在这个过程中我们也碰到一些难点。第一个难点就是我们在同一个网络中需要将较大的目标(例如车辆)和较小的目标(例如交通标志)同时检测出来。第二个难点是,测速测距时我们需要的目标的位置是非常精确的,目前这个问题我们还没有解决。
全部0条评论
快来发表一下你的评论吧 !