罗丹说过:“这世上并不缺少美,只是缺少发现美的眼睛”。眼睛是人类探索世界、发现世界、融入世界最重要的感官之一,从日出清晨的朦胧睁眼到夜深人静的疲惫闭眼,从深夜的艰难寻找到日出东方后的辛勤劳作,这一切都离不开眼睛对环境和场景的智能感知。而随着智能时代的到来,机器如何实现像人类一样的智能感知?无人驾驶汽车、人造卫星又是如何感知周围环境的呢?这一切都离不开机器的眼睛——视觉摄像装置和激光雷达。那么,视觉摄像装置和激光雷达的工作原理是什么,它们又是如何帮助机器感知世界的呢?
图1 西安光机所飞行器室研制的不同种类摄像装置(图片来自网络)
一、视觉摄像装置
视觉摄像装置由于低成本的原因,一直到现在也是汽车、飞行器、航天器上应用最为广泛的感知硬件。特别是在应用最广泛的自动驾驶领域,基于视觉成像的自动驾驶技术被广泛认为是自动驾驶技术落地的基石之一。谷歌旗下自动驾驶公司CEO克拉夫西克说过:“我们不是在制造汽车,我们是在制造司机”。这一观点更是视觉成像技术在自动驾驶领域重要性的直接体现。而根据视觉摄像装置所含摄像机数目的不同,主要分为单目摄像装置和双目摄像装置,近年来也有公司研发多目摄像装置,但是由于随着摄像机数目的增多,摄像装置之间数据的融合和协调也成为随之而来的问题。所以主流的应用以单目摄像装置和双目摄像装置为主。
1.1单目摄像装置
目前应用于自动驾驶领域路况判断的摄像装置多以单目摄像装置为主。单目摄像装置优点在于系统简单、布置灵活、体积小、质量轻。这使得其在自动驾驶领域得到广泛应用。
图2 不同种类单目摄像装置(图片来自网络)
1)单目摄像装置的测距原理:先匹配识别后估算距离,通过图像匹配识别出目标类别,随后根据图像大小估算距离。单目摄像装置主要工作流程:图像获取、预处理、特征提取、特征分类、匹配、完成识别。
2)单目摄像装置的标定:相机标定就是确定图片中的物理和现实中物体之间的相互转化关系。通常情况下,相机的标定需要相机对特殊的靶标(如纵横交错的棋盘格平板) 多次成像来实现,如图3所示为相机标定的棋盘格模型。事先将相机标定好后,就可以根据标定好的相机参数,来得到拍摄到的物体与相机之间的相对位置关系了。
图3 相机标定棋盘格模型(图片来自网络)
3)单目摄像装置的应用:单目摄像装置广泛应用于自动驾驶领域。主要用于内视摄像装置、后视摄像装置、前视摄像装置、侧视摄像装置、环视摄像装置。其中最核心的就是前视摄像装置,如图4(c)所示,作为主要的“眼睛”,直接感知前方的信息,对前方路况环境做最直接的判断。车载摄像装置不同于我们经常使用的手机和摄像机,高级自动驾驶搭载的摄像装置在稳定性和物体姿态的分析性能上要求极高,这样才能在面对复杂的环境时做出有效判断,获得最真实的信息。
图4 车载摄像装置(图片来自网络)
4)单目摄像装置的缺点:单目视觉摄像装置最开始广泛应用在自动驾驶汽车和一些航天器上,但随之而来的问题是:1.对于比较复杂的环境,比如所到达的环境是人山人海的闹市,如图5(a)、有高楼大厦,有树、有动物、有高低不一的建筑物、有路障、有道路崎岖的村庄、有雨水淹没的街道、有云雾缭绕的山路,如图5(b)等等。单目视觉在这种环境下很难发挥出好的性能,一个原因是它感知的距离和宽度有限,面对这一情况,通常的想法就是“三个臭皮匠,顶一个诸葛亮”,既然当前这个摄像装置被遮挡或者测距和视野不足,那么就多加几个摄像装置同时来判断,但是这种简单又粗暴的方法面临的另一个问题就是摄像设备之间数据的融合,这不可避免的增加了工程师的难度,并且处理速度也大大下降。2.单目摄像装置对于深度信息的获取上表现的不敬人意,这也是单目摄像装置最致命的缺点。最简单的例子就是当把环境和目标放大相同的倍数之后,单目摄像头测得目标的距离和没放大之前是一样的,并且所获得的轨迹和地图也和没放大之前一样。而且当摄像头处于绝对静止时,单目摄像头很难测得目标的具体距离,只有相机相对目标运动才能测相对距离。
图5 车辆行驶在不同环境
1.2双目摄像装置
双目摄像装置的出现是对单目摄像装置缺点的弥补,也是与人眼比拟下的产物。之所以这样说,是因为有学者不止一次提出“既然人用两只眼睛能够判断任何信息,为什么双目摄像装置就不可以?”,多年来无人驾驶领域的巨头之一特斯拉也是一直坚持这个观点,主张只需要纯视觉的摄像装置就能够实现真正意义上的无人驾驶。
1)双目摄像装置测距原理:与人眼类似,双目摄像装置是两个摄像装置分别从不同角度来拍摄,之后依据立体视觉的几何原理对两个摄像装置数据进行融合,准确的确定目标的姿态和深度信息。
2)双目摄像装置的标定:双目视觉在标定过程中除了要对两个相机分别做和上面单目摄像装置同样的标定外,还需要标定左右相机之间的相互位置关系。
图6 不同场景下的双目视觉系统(图片来自网络)
3)双目摄像装置的缺点:对环境光照特别敏感,光照的强弱都会影响双目系统对图像的采集。双目摄像装置的计算复杂度高,由于是纯视觉的方法,需要逐像素进行计算匹配,况且相机的基线限制了测量的范围,导致双目系统的测量范围有限。
不管是单目摄像装置,还是双目摄像装置,都有其被动式信息获取的弊病,光照条件和环境复杂度都会直接影响摄像装置获取信息。并且这些缺点直接影响着自动驾驶技术的发展。那么有没有一种设备能弥补这些缺点能?答案是肯定的,也就是接下来我们需要了解的又一核心技术——激光雷达。
二、激光雷达
眼睛是心灵的窗口,但是我们周围还是有些许不幸的人失去了光明,那么他们是如何感知世界和学习知识的呢?众所周知盲人一般情况下是依靠导盲棍判断路况,而他们读书的方式主要靠皮肤触摸突起的文字来感知的,而这种主动式的探索方式和激光雷达的工作原理基本类似,这里主动式的意思就是主动发射激光来探测。
二十世纪中叶激光的问世使得光学开始进入一个新世纪,不同波长的激光开始广泛运用于各行各业,其中最以激光测距、激光医疗、激光焊接最为普及。激光雷达作为激光发展中标志性的应用,对各行各业都有着非常大的影响,早年间由于其价格昂贵、测绘性能不理想,并没有广泛应用于自动驾驶领域。随着自动驾驶技术的发展,在纯视觉的研究中屡屡碰壁的情况下,科研人员逐渐意识到激光雷达对自动驾驶汽车的重要性,可以说是自动驾驶的发展推动了激光雷达的更新换代,而激光雷达性能不断升级和价格不断下降的条件决定着自动驾驶汽车未来的发展方向。特别是当激光雷达的成本越来越低的情况下,激光雷达将成为自动驾驶企业的首选项。激光雷达的探测距离远,作为主动式的探测器,能够对周围环境进行精准的测绘,并且搭载在汽车两边的毫米波雷达能够非常精确的对近景的障碍进行探测。
图7 盲人导盲(图片来自网络)
1)激光雷达的工作原理:激光雷达的工作原理和盲人感知障碍物的基本性质是一样的,盲人是靠导盲棍不停的敲打来获取环境信息的,对盲人来说,最主要的环境信息就是障碍物的距离,因为棍子的长度是一定的,盲人可以根据不同方向的敲打来判断前方的路况,激光雷达主要的工作原理也是主动的发射激光测距,测距方式包括三角测距原理和TOF(飞行时间原理)原理,这两种原理的不同之处在于三角测距原理的接受器是线性CCD(电荷耦合器件),如图8(a),激光器发射激光,遇到障碍物后反射到CCD上,而不同距离的障碍物反射回来的成像位置并不相同,所以根据这个即可判断障碍物的距离。而TOF原理,如图8(b)所示,主要包括激光发射器、激光接受器,激光的速度是已知的,那么只要能够测得激光从发射器到接收器的时间差就能测得障碍物的距离。
图8 激光雷达的工作原理
2)激光雷达的分类:激光雷达按扫描方式一共分为三类,分别是机械式激光雷达,纯固态激光雷达和混合固态激光雷达。
1.机械式激光雷达:机械式的激光雷达很容易辨识,激光发射器和接收器与底座是分离的,可360度旋转扫描,如图9所示。
图9 机械式激光雷达
2.纯固态激光雷达:包括Flash(泛光面阵式激光雷达,图10(a)示),和Opt(光学相控式激光雷达,图10(b)示)两类,其中Flash激光雷达类似于手机的闪光灯,和闪光灯曝光方式一样,不同的是激光雷达是持续向外面“照射”激光。Opt(光学相控式激光雷达)激光雷达采用多个光源组成阵列,通过控制各光源发光时间差(相对相位),合成具有特定方向的主光束,加以控制便可实现不同方向的扫描。
图10 纯固态激光雷达
3.混合固态激光雷达:混合固态激光雷达是兼并其他两类的特性而成,因为不管是机械式激光雷达还是纯固态激光雷达,都有各自的优缺点,那么混合固态激光雷达就是取其精华去其糟粕。混合固态激光雷达(MSES)基于微振镜引导激光束射向不同方向,可以动态调整自己的扫描模式,以此来聚焦特殊物体,可以采集更远更小物体的细节信息并实现对其识别。混合固态激光雷达微振镜的设计极大地减小了激光雷达的体积且降低了成本,且由于其惯性力矩较小,可以实现快速移动,在中远测距方面有巨大潜力,但稳定性方面有待商榷。除了按扫描方式划分,激光雷达也可按线数分为单线激光雷达和多线激光雷达,单线激光雷达只能完成平面扫描,主要用于规避障碍物,多线激光雷达可识别物体的高度信息(可理解为竖直方向的积分),目前业界以4~128线为主,造价昂贵,主要用于自动驾驶等领域。除此之外,激光雷达还可按照激光波形划分为连续性和脉冲性,具体差别可以从名字上看出来。还有毫米波激光雷达、超声波激光雷达等。
图11 混合固态激光雷达
既然激光雷达这么好,为什么不直接把视觉摄像头全用激光雷达来代替呢?这就与激光雷达的点云数据相关了。激光雷达所得到的数据是不连续的点云信息,如图12所示,对于距离较远和细节区域的探测性能表现得非常好,但是对于前方主要区域的探测中,激光雷达很难将点云信息进行归类,也就是虽然对所有障碍物能够做到很好的避障,但是前面的障碍物究竟是什么并不清楚,况且当障碍物数量增多时,如何把单个障碍物提取出来也是问题。目前大多数自动驾驶汽车都是同时搭载视觉摄像装置和激光雷达,这样可以把激光雷达和视觉摄像装置各自的优点同时发挥出来,扬长避短。
图12 激光雷达的点云数据
3)激光雷达在自动驾驶汽车上的应用:最常见的就是搭载在车顶的一类激光雷达,一些物流车上也搭载有如图13(a)所示的激光雷达,还有一些小型的激光雷达和微波雷达搭载在汽车的底盘前方和侧方,图13(b)和图13(c)所示,以对周围环境进行准确的测绘。
图13 车载激光雷达
三、无人驾驶的现状
值的一提的是目前国内外能达到真正意义上的无人驾驶的汽车还没有出现,根据自动驾驶汽车的自主程度,将自动驾驶技术分为以下五个级别。
L1级别:完全的人类驾驶,但可以提供一些特殊情况下的警报,比如倒车时的倒车警报,至于汽车的其他操作,包括转向和速度以及对路况的判断等等都由人类驾驶员来完成,相信我们很快能联想到老式的手动挡汽车。
L2级别:主要还是由人类驾驶员完成主要操作,但是当辅助汽车减速,也就是说当车速超过安全速度的话,会帮助减速和修正车辆运动轨道,并且车辆配备有行进地图,但是并不能控制车辆转向和加速。级别L2的自动驾驶汽车正好弥补了L1的不足,在特殊环境下可以协助汽车转向和加速,但驾驶员还是充当主要驾驶角色。
L3级别:该级别自动驾驶汽车人类驾驶员和汽车驾驶员的责任相当,也就是说人类驾驶员并不能离开驾驶位,当系统请求时,人类驾驶员必须接管车辆,并且系统必须给人类驾驶员留有足够的接管时间,否则事故的责任完全由运营商承担。
L4级别:该级别的自动驾驶汽车目前还没有正式运行,大多是在指定路段测试,或者是在特定环境下运行,因为这一级别的自动驾驶汽车已经接近完全的自动驾驶汽车,并且主要驾驶操作由系统完成,遇到紧急情况时向人类驾驶员发送接管请求,值得一提的是,在这一级别自动驾驶汽车的事故责任在预留接管时间之外的其他责任全部由运营商承担。
L5级别:真正意义上的无人驾驶(图14),驾驶员无需干预,无需在驾驶位,事故的一切责任全部由运营商所承担。而自动驾驶从完全人类驾驶到完全的无人驾驶这一技术的实现,离不开视觉摄像头和激光雷达、毫米波雷达、超声波雷达的作用。
由于激光雷达和视觉摄像装置性能以及相关算法的限制,目前的自动驾驶自主水平基本都停留在L3级别, 相信在不远的将来,随着硬件和算法的不断改善,我们终将实现无人驾驶,当然随着完全无人驾驶技术的实现,我们可以尽情畅想未来这一技术在太空飞船(图15)、飞行器上的应用,甚至实现民用飞机的无人飞行和降落。这无疑对人类事业的发展是一次巨大的飞跃。
图14 真正意义上的无人驾驶
图15 无人驾驶飞船的星际穿越