30感应超越像素平面
2019-10-30技术宅
技术宅
3D信息捕捉——没你想的那么简单
大家知道3D信息是立体数据,这样捕捉到的信息符合我们双眼在正常世界看到的景象。显然如果自动驾驶系统浦捉到的周边环境也是3D信息,那么在人工驾驶基础上发展起来的自动驾驶系统就可以更好地实现对周围路障,如周边人、其他汽车等,进行更精准的识别和避让,从而让驾驶系统更安全。
不过3D信息的捕捉并不是一件简单的事情,传统的3D数据捕捉是借助“Stereo”(双目视觉)方式获取的。这种方式是通过布置两个或者多个相机对同一个场景进行多角度的捕捉,然后通过不同的图像,匹配对应的像素,并计算每个像素的位置在图像之间的不同,从而计算出这个像素在3D空间中的位置,通过这种方式来获得特定物体的3D数据(图1)。
不过这个方式有个很大的不足,因为驾驶系统经常处在一个快速运行的环境中,并且需要很精准地对对象进行识别,但是使用这个方法获得的数据,我们需要使用视觉细节来匹配相机图像之间的对应点,这种计算方法数据量非常庞大,而且在缺乏纹理或视觉结构重复的环境中容易出错。在自动驾驶系统中,现在很多厂商使用的是LiDAR(激光雷达)方式来捕捉3D数据。在这些自动驾驶车顶上配备了激光雷达相机,它会向周围发射高频激光脉冲,如果遇到物体的遮挡,这些激光脉冲就会反射返回,系统通过计算返回的时间来测量出物体和汽车的实际距离。比如探测到前方的信号灯,通过返回光束就可以探测车辆和红绿灯之间的实际距离了(图2)。
一台自动驾驶汽车配备多个3DLiDAR传感器,它们能快速旋转以观察传感器周围的所有方向,这些雷达通过每秒发送数百万光束,然后通过返回光束的时间就可以推断出与周围任何物体的精确测量值(最大约为60米),从而实现驾驶系统对周边物体的精准探测(图3)。
3D信息識别和处理——点云模式和深度学习
通过上述方法,自动驾驶系统捕捉到3D数据后如何让驾驶系统进行3D物体的识别?这里驾驶系统使用的是“点云模式”方法进行识别(图4)。驾驶系统根据3DLiDAR得到的三维数据,包括物体的三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。这样系统在获取物体表面每个采样点的空间坐标后,得到物体在空间坐标上的一个个数据点,这些点组成点集合,整个集合形成一个3D物体,从而让系统可以实现对物体的精准识别。
比如激光探测到前方的路障,通过返回的信息集合点就可以在驾驶系统中形成一个周边环境的3D地图。3D LiDAR绘制的地图不仅可以让系统准确了解你在世界的哪个位置进而帮助你进行导航。同时它还可以识别和跟踪汽车、行人等障碍物,随着识别技术的发展,现代LIDAR使你可以识别一个骑自行车的人和一个行走的人,甚至可以测量他们改变方向和行进的速度。这样对于自动驾驶系统,它就像在驾驶室里坐着很多个视力极好的驾驶员,他们分别对汽车的前后、上下、左右进行全向观察,从而实现又快又安全的自动驾驶(图5)。
当然在实际驾驶环境中,每种路障的大小、位置、距离都是不同的,只是简单采集并识别3D物体,这还无法让自动驾驶系统在复杂的地理环境下安全、自动地进行驾驶。为此科学家引入了深度学习机制,他们首先建立一个模型,然后将3DLiDAR捕获的不同图形让驾驶系统学习,通过不断地学习,自动驾驶系统可以“认识”捕捉的不同物体。同时借助深度学习神经网络让系统实现自主学习,最终生成一套复杂的算法,让驾驶系统可以精准识别周边复杂环境的物体,实现安全的自动驾驶(图6)。
30信息处理的更多应用
上述我们主要介绍了3D信息处理在自动驾驶中的应用,这个领域的应用和我们的生活有点距离。不过3D信息处理还在很多领域有非常多的应用,比如在医学领域,配备了3D信息识别的医疗设备,通过激光探测,医生们无需在我们的身体中插入传统的探测设备如胃镜等,他们就可以非常快速且精准地对病灶物体进行详细全面的查看,省去现在传统检测中的那些痛苦。
在日益火热的VR游戏领域,3D信息处理技术也有很多的应用,通过类似3D激光扫描和识别,以后的VR游戏可以非常方便地将当前物理环境无缝融入到游戏环境中,让我们的游戏体验更为真实、刺激。