雷锋网按:雷锋字幕组获MIT课程团队授权翻译自动驾驶课程,视频链接:http://www.mooc.ai/course/483/info
我们为你整理了每一个 Lecture 的课程笔记,提炼出每一讲的要点精华,推荐结合课程笔记观看视频内容,学习效果更佳。
原标题 MIT 6.S094: Deep Learning for Self-Driving Cars 2018 Lecture 5 Notes: Deep Learning for Human Sensing
作者 | Sanyam Bhutani
翻译 | 陈涛、朱伟杰、Binpluto,、佟金广 整理 | 凡江
所有的图片皆来自课程中的幻灯片。
这次的课程将利用深度学习的方法来理解人类的感官功能。
其中研究的重点在于计算机视觉技术。
我们将了解到:如何使用计算机视觉技术,从拍摄于汽车场景下的视频中提取有用的信息。
深度学习实现人类感知:
使用计算机视觉和深度学习的技术,创造可以在真实世界中发挥作用的系统。
达到此目的的要求是(按重要性排序):
数据:
我们需要大量的真实数据,其中数据收集是最困难且最重要的环节。
半监督:
原始数据需要被归纳成有意义的、具有代表性的例子,这意味着原始数据需要被标注。
我们需要收集数据并采用半监督学习的技术,去找到其中可以被用来训练我们网络的数据。
有效标注:
良好的标注可以使模型表现出色。
对不同的场景,标注技术是完全不同的,比如:视线分类的标注、身体姿态估计的标注、SegFuse 比赛中图片像素级的标注。
硬件:
大批的数据需要得到大规模的分布式计算和存储。
算法:
我们希望算法能够自校准,从而得到泛化的效果。
时间动态:
目前深度学习中的算法都是基于单独的图像开发出来的,我们需要让算法能够处理一连串图像所组成的时间序列。
上述要求的重点是:数据收集及清理比算法本身更重要。
人类的缺点
分心驾驶:
2014 年,分心驾驶所引发的车祸导致 3179 人丧生,超过 431 万人受伤。
眼睛偏离路况:
当你边开车边发消息时,平均每 5 秒钟,你的眼睛就会偏离路况。
酒驾:
在 2014 年中,30% 的交通死亡事件由酒驾造成。
毒驾:
在 2014 年中,23% 的夜间驾驶者都属于毒驾。
疲劳驾驶:
疲劳驾驶引发了 3% 的交通死亡事件。
考虑到这些缺点,以及我们在前面课程中讨论过的未来实现自动化驾驶的两条路径(以人为中心的自动化和完全的自动化):
我们需要思考以人为中心的自动化驾驶的设想是否可行?
人们可能会倾向于过度信赖系统本身。
MIT-AVT 自然驾驶数据集
数据收集:
“2+1”的摄像机配置。
摄像机 1:通过采集驾驶者脸部的高清视频,以实现视线识别和认知负荷评价。
摄像机 2(鱼眼摄像机):负责身体姿态估计(是否手握方向盘以及活动识别)。
摄像机 3:记录车外场景,从而实现全景分割。
收集到的数据使得我们可以了解到如下信息:
驾驶者的行为。
部署自动化技术的效果。
如何设计算法,以帮助训练深度神经网络更好地完成感知任务。
安全性 Vs 针对自动驾驶的偏好
数据集显示无论自动导航仪是否开启,驾驶者身体参与程度其实是一样的。
所以,自动导航仪是允许被应用到实际中的,但是这样的系统并不会被驾驶员过度信任。
行人识别
面对的挑战:
不同的表现方式:类别内差异。
不同的清晰度。
造成视线遮挡的配饰。
行人间的互相遮蔽。
解决方案:
需求是从原始的像素图片中提取特征。
平滑移动图片:
Haar 级联
方向梯度直方图
卷积神经网络
更加智能化的网络:
快速区域卷积神经网络
薄膜区域卷积神经网络
Voxel 网络
这些网络生成的模型会被考虑用于整个方案的一个部分,而不是通过移动窗口的方式。
用一个卷积神经网络分类器去探测是否有兴趣对象出现。
用非最大化控制器来剔除重叠的矩形区域。
数据(从不同的交叉领域中得到的):
每天记录 10 个小时的数据量。
大约有 12000 个行人通过。
2100 万具有特征向量的采样数量。
区域卷积神经网络会对所有行人进行矩形区域的探测。
肢体姿势估计
内容包括:
找到图片中的关联处。
找到图片中的重要节点。
为什么它很重要?
它会被用于判定司机的坐姿方式。
注释:一般情况下,安全气囊是在驾驶员面对正前方的假设下进行安装的。
然而随着驾驶自动化的进步,这个假设可能并不成立。
序列化探测法
先探测手,接下去是脚,然后是肩膀等等。
这是一种传统的方法。
整体姿势洞悉:
这是一种很强大并且成功的用于识别多人,多姿势的方法。
采取回归的手段分别探测完整图像中各个身体部位,而不是序列化的探测。
之后,把探测到的连接处黏连到一起。
能被用于探测各异的姿势,即使连接处并不可见。
级联姿态回归器:
卷积神经网络端输入原始图片后,会在每个连接点处产生一个 x-y 坐标的估计值。
在每个估计值处图像会进行放大,并且不断在更高的识别精度下产生新的估计值。
身体部位探测法:
我们可以用这种方法来识别多人图中的具体身体部位。
首先,人的身体部位的探测可以不经过个体识别而达到。
然后我们可以把这些部位连接起来。
通过二合匹配,再把不同的人黏连在一起。
这种方法被麻省理工学院用于识别人体上半身部分。
驾驶员的位置对比标准的正面位置。
颈部位置随时间变化的图表。
对行人的身体姿势进行预测。
这就允许当一位行人穿过马路并且看着这辆车时,算法进行非言语交际的动态性探测。
一个有趣的发现是:大多数人在横穿马路前,会对驶向自己的汽车视而不见。
浏览分类算法:
判断司机正在看哪儿
注:不同于凝视识别,这个算法用于确定 (x,y,z) 坐标。
(产生)两个结果:(视线)在路上/不在路上。
或六个结果:
在路上
不在路上
(看)左边
(看)右边
(看)仪表盘
(看)后视镜
这个分类算法可以视为机器学习问题。
同样能沿用到行人识别方面,比如他们正在/不在看行驶过来的汽车。
注:参考数据由人工注释提供。
面部定位:
设计一个能识别个体人脸并估计头部姿势的算法。
凝视分类算法工作流程:
源录像
标定:
基于传感器的位置,需要给它定位。
稳定录像
面部识别
面部校准
人眼/瞳孔识别
估计头部(和眼睛)的姿势
分类
最终剪辑
注释工具
半自动注释:网络不确定的数据由人为注释。
基本的比较评定:
我们可以接受的精确度是多少?
为了提高精确度,常常人为迭代和注释数据。
辅助的积极方面:
能够处理更多的训练数据。
某些级别的人工注释修复了一些问题。
驾驶员状态识别:
驾驶员的情绪识别。
多种方式分类情绪。
识别情绪的汇总。
比如:表达情感的数据开发包。
这套算法将我们的表现映射成情绪。
特定的情绪识别应用:
例如:使用基于语音的 GPS(全球定位系统)交互-自注释。
通用的情绪识别器做不到如下判断,在驾驶过程中笑意味着沮丧。
因此,注释是十分重要的。这些数据必须被标记于反映对应的情境。
认知负荷:
对应在一个人身上就是精神层面的繁忙。
眼睛的放大和收缩由认知负荷决定,其移动也可以反映为深度思考。
认知负荷能通过眨眼动态,眼球移动和瞳孔扩张来检测。
然而,现实中的光源使得瞳孔扩张被忽略。
而眨眼动态,眼球移动被加以使用。
3D 卷积神经网络
当输入一些列图片时,我们使用三维卷积的方法。
对多个图像/通道进行交叉卷积
这使得学习的过程在时间跨度上具有一定的动态范围。
真实情景数据:
利用 N 个背景任务来估计认知负荷。
我们检测人脸,提取眼部信息并且将他们输入到卷积神经网络中。
对人眼的移动及对应的认知负荷作图。
标准的 3D 卷积神经网络架构。
真实情景数据的实验结果准确度。
虽然我们一直以来在研究利用机器进行感知,比如利用传感器实现定位及路径规划等功能,我们距离实现真正的机器感知,还有至少 20 年的路要走。
所以,在现阶段必须将人包含在机器感知的过程中。
也就是说,需要通过改善人机接口从而使得机器人「能够理解」人类的行为。
通往大规模自动驾驶之路(不再有方向盘)。
以人为中心的自动驾驶:
SDC 是一个个人机器人而不是一套具有感知功能的控制系统。
传送控制系统中包括一个人机接口。
SDC 机器人将会对自动驾驶汽车产生深远的影响。
预告:MIT 的 SDC 机器人将会在 2018 年 3 月的首次公开亮相,并在公共街道上进行测试。
下节内容提要:
DeepTraffic 深度强化学习竞赛
DeepCrash
SegFuse 视频分割竞赛
更多文章,关注雷锋网,添加雷锋字幕组微信号(leiphonefansub)为好友
备注「我要加入」,To be an AI Volunteer !
雷锋网雷锋网