Local EPUB Text
数码相机
数码相机借鉴了哺乳动物眼睛的一些概念。硅传感器在某种程度上与视网膜相似:两者的视觉数据都被拆分成几个小的视觉单位进行处理。视网膜上有数百万的生理感光细胞:视杆和视锥,吸收光子并把光能转化成神经信号,传输给大脑处理视觉信息。人眼内的视杆细胞和视锥细胞是不规则排列的,视网膜中部排列密集,边缘部分较为稀疏。而在数码相机里的硅传感器,每个像素在一定间距内呈矩形排列。100万像素的相机包含1000×1000个感光细胞,总共构成100万个像素。
一些适用于无人驾驶领域的专业数码相机功能,远远不止记录像素值。它并非从硅传感器的感光像素网格里直接输出光束的原始数字,先进的自动相机能自动分析图片数据。这样一来,图片的处理速度就能进一步加快了:相机先排除不相关的信息之后,再将数据输送给中层控制软件。
高级无人驾驶摄像机的处理得更到位:它首先处理图片包含的内容,把检测到的物体列成清单,并把结果制成表格。例如,这种相机描述的一个场景是:
1. 在左上方的角落有一个行人,以每秒1.23米的速度向左移动。
2. 最右边,消防栓,静止物体。
3. 左车道,一辆卡车以每秒5米的速度靠近。
4. 东南方向,不明物体,静止。
图8.2 图片拍摄于曼哈顿第十四大街,从第五大道往西看。左图为人眼所见,右图为相机所见。你能通过只观察数据,分辨出图片上的人和背景有何不同吗?
来源:维基百科
自然生物有两只或两只以上对等排列的眼睛,能够适应物体的深度感知,生物学家又把这称为“立体视觉(Stereo Vision)”。然而,数码相机是没有立体视觉的,这是限制数码相机在无人驾驶领域应用的最大问题之一。数码相机根据像素网格里的光线强度来捕捉信息,把三维数据世界转化成简洁的二维格式。但捕捉过程中,会遗漏一则深度感知的关键信息:物体与相机之间的距离。
科学家研究了多项不同技术来克服这固有的限制。解决方案一是在同一辆车内放置多台数码相机。在一辆无人驾驶汽车里,精心布置多台摄像机来捕捉同一个镜头,每台机器的角度有细微的差别。这样能帮助计算机重建3D场景,对周围环境有更清楚的认识。
另一个可能方案是结构光相机(Structured-Light Camera)。使用拥有投影功能的数码相机,使图片数据拥有其深度信息。为了达到深度感知的仿真效果,结构光相机将光线投射到场景上并测量其失真度。通过失真度的测量,结构光相机能从中计算出深度。
结构光相机对无人驾驶汽车,就像Xbox Kinect外设对于交互式电子游戏等室内应用程序一样影响巨大,只是现在还不能确定结构光相机是否能为无人驾驶汽车找到一个稳定的“家”——结构光相机最大弱点之一是其投射的光线在日光充足的白天时段运行不畅,而且被投射出的光线会受到自然光的干扰。另外,当物体距离超过10米时,这种感知方案也不可行,这一点很可能成为结构光相机应用在快速移动的车辆上的致命缺陷。由于以上种种限制的掣肘,结构光相机最好的应用是在室内环境中,比如指引无人驾驶汽车出入停车场或车库,以及感应乘客的靠近车辆的移动。
数码相机持续呈现飞跃式发展,然而让人哭笑不得的是它还有一个低技术含量的弱点:污垢。即便是最好的自动数码相机,只要沾上一抹污泥,就不能正常工作。路边扬尘、沙土、鸟粪、虫子以及其他户外驾驶可能遇到的任一情况,都能妨碍最精密的数码相机和机器软件的正常工作。于是,我们能得出低技术含量的对应解决方案——给车载相机安装清洁器,好比普通汽车的挡风玻璃上装有雨刷,也像人类的眼睛少不了眼泪的清洁和眼睑的保护。
许多针对数码相机弱点的解决方案,最终安装在汽车操作系统上。为了确保车载相机的洁净干燥,每一辆无人驾驶汽车都要配备周期性自我检测的软件工具,它能对数码相机产生的数据质量进行定时自我检测。人工智能软件不断升级,为无人驾驶汽车提供的指引也越来越完备。将来的某一天,它能自动修正视觉数据错误,帮助无人驾驶汽车超越人类司机,在浓雾、暴雨和炫目的阳光下也能看清楚路况。