深度:自动驾驶特斯拉背后核心技术解析
说起特斯拉,大家可能立马会想到今年 5 月份发生在特斯拉 Model S 无人驾驶上的一宗夺命车祸。初步的调查表明,在强烈的日照条件下,驾驶员和无人驾驶系统都未能注意到牵引式挂车的白色车身,因此未能及时启动刹车系统。而由于牵引式挂车正在横穿公路,且车身较高,这一特殊情况导致 Model S 从挂车底部通过时,其前挡风玻璃与挂车底部发生撞击,导致驾驶员不幸遇难。
无独有偶,8 月 8 日美国密苏里州的一名男子、特斯拉 Model X 车主约书亚?尼利(Joshua Neally)在上班途中突发肺栓塞。在 Model X 的 Autopilot 无人驾驶功能的帮助下,他安全抵达了医院。这「一抑一扬」着实让人回味无穷,略有些「败也萧何,成也萧何」之意。
好奇的读者一定会有疑问:这「一成一败」背后的原理到底是什么?是无人驾驶系统中的哪个部分发生了失误而造成车祸?又是哪部分技术支撑了无人驾驶过程呢?
今天,我们就来谈谈无人驾驶系统中的一项重要核心技术——图像语义分割(semanTIc image segmentaTIon)。图像语义分割作为计算机视觉(computer vision)中图像理解(image understanding)的重要一环,不仅在工业界的需求日益凸显,同时语义分割也是当下学术界的研究热点之一。
什么是图像语义分割?
图像语义分割可以说是图像理解的基石性技术,在无人驾驶系统(具体为街景识别与理解)、无人机应用(着陆点判断)以及穿戴式设备应用中举足轻重。
我们都知道,图像是由许多像素(pixel)组成,而「语义分割」顾名思义就是将像素按照图像中表达语义含义的不同进行分组(grouping)/分割(segmentation)。下图取自图像分割领域的标准数据集之一 PASCAL VOC。其中,左图为原始图像,右图为分割任务的真实标记(ground truth):红色区域表示语义为「person」的图像像素区域,蓝绿色代表「motorbike」语义区域,黑色表示「background」,白色(边)则表示未标记区域。
显然,在图像语义分割任务中,其输入为一张 H×W×3 的三通道彩色图像,输出则是对应的一个 H × W 矩阵,矩阵的每一个元素表明了原图中对应位置像素所表示的语义类别(semantic label)。因此,图像语义分割也称为「图像语义标注」(image semantic labeling)、「像素语义标注」(semantic pixel labeling)或「像素语义分组」(semantic pixel grouping)。
从上图和题图中,大家可以明显看出图像语义分割任务的难点便在于这「语义」二字。在真实图像中,表达某一语义的同一物体常由不同部件组成(如,building,motorbike,person 等),同时这些部分往往有着不同的颜色、纹理甚至亮度(如building),这给图像语义的精确分割带来了困难和挑战。
前 DL 时代的语义分割
从最简单的像素级别「阈值法」(thresholding methods)、基于像素聚类的分割方法(clustering-based segmentation methods)到「图划分」的分割方法(graph partitioning segmentation methods),在深度学习(deep learning, DL)「一统江湖」之前,图像语义分割方面的工作可谓「百花齐放」。在此,我们仅以「normalized cut」[1]和「grab cut」 [2]这两个基于图划分的经典分割方法为例,介绍一下前 DL 时代语义分割方面的研究。
Normalized cut (N-cut)方法是基于图划分(graph partitioning)的语义分割方法中最著名的方法之一,于 2000 年 Jianbo Shi 和 Jitendra Malik 发表于相关领域顶级期刊 TPAMI。通常,传统基于图划分的语义分割方法都是将图像抽象为图(graph)的形式 G=(V,E) (V 为图节点,E 为图的边),然后借助图理论(graph theory)中的理论和算法进行图像的语义分割。
常用的方法为经典的最小割算法(min-cut algorithm)。不过,在边的权重计算时,经典 min-cut 算法只考虑了局部信息。如下图所示,以二分图为例(将 G 分为不相交的 , 两部分),若只考虑局部信息,那么分离出一个点显然是一个 min-cut,因此图划分的结果便是类似 或 这样离群点,而从全局来看,实际想分成的组却是左右两大部分。
针对这一情形,N-cut 则提出了一种考虑全局信息的方法
- 汽车无人驾驶传感器平台大盘点(02-02)
- 自动驾驶距离我们还有多遥远?(02-16)
- 机器人时代:无人驾驶的野心(02-16)
- 多功能导盲车系统设计与实现(02-02)
- 智能汽车电子控制单元该如何简化(02-19)
- 汽车应用标准之争 凸显LIN竞争优势(02-24)