1
去年CES大会期间,英特尔首次展示了Realsense实感技术,一年之后也就是上个月的2016 IDF大会上,英特尔终于向外界推出了Realsense技术的SDK和机器人开发工具包以及无人机平台。搭载Realsense 的3D摄像头能够帮助机器实现查看环境物体“深度”信息,通俗点讲,只需一个手势、一个眼神或者一个动作,电脑就知道你想做什么。
看似很酷炫的技术,实际上并没有外界想得那么高大上。
Realsense之所以能够识别物体的深度信息,关键在于其具备三维重建功能。而能与Realsense齐名甚至是比Realsense更好的产品比比皆是,我们所知道的无人机、机器人以及无人驾驶汽车当中的壁障或路径规划等功能都基于三维重建技术。
说到这里你也许会认为这些产品的技术原理并无差异,那么事实真是如此吗?
随着三维重建的技术方案在不断成熟,其方案也是层出不穷。目前,业界主流的方案就有视觉和激光雷达两大类,例如Realsense和Leap motion以及Kinect就是用视觉方法来实现环境感知功能,而激光雷达则是无人驾驶和扫地机器人等领域的核心一环。那么为什么出现多种方案呢?它们到底有什么差异?
单目/双目视觉
这种技术是利用摄像头来获取象物体表面信息,根据摄像头的数量,我们可以分为单目视觉和双目视觉。
谈到三维重建技术,最早可以追溯到上世纪60年代,当时的研究人员已经展开了双目视觉的研究,正是因为双目立体视觉的出现,业界才向现代计算机视觉技术迈进了一大步,从以往二维图像的分析导入到了三维场景,说双目视觉技术是三维重建的鼻祖并不为过。
其原理比较简单,双目视觉设备直接通过两个红外传感器/摄像头从不同角度同时获得被测物的两幅数字图像,然后基于视差原理恢复出物体的三维几何信息,重建物体三维轮廓及位置,这种没有主动发射光源的也被叫做被动三维视觉。
然而,在有两个摄像头的情况下如何甄别是否是同一个信息点是一个难题,这对软件算法提出了很高的要求。在这样的背景下,单目视觉问世了。
单目视觉,顾名思义,只用一个摄像头来接收信息,因为比双目视觉系统少了一个接收端,所以在摄像头的另一侧需要一个结构光发射光源来填补空缺,相应的我们可以称之为主动视觉。英特尔Realsense是典型的单目摄像头+结构光的代表。因为结构光发射的是一个已知的图案,仅有的摄像头接收到了经过物体表面反射的图案之后,就可以经过图像处理计算出和原始图案的差异,最后就实现了三维重构。
使用视觉方法做三维重构的短板很明显,单目和双目鲁棒性都很差,这种系统的精度会随着周围环境的变化而受到影响,我们分别以双目和单目视觉举个例子:目前好的双目视觉方案精度可以做到几毫米甚至是零点几毫米,但这是在最佳环境下的数值,当外界光线由强变弱时,双目视觉的精度会大打折扣,因为双目摄像头感知图像的能力会变弱,获取的图案也自然而然变得越来越模糊,这与手机摄像头的拍摄原理类似。
而单目视觉恰恰相反,结构光的硬伤是“见光死”,它只适合光线较暗的环境,如果周围的光线很强,摄像头就很难准确的识别亮点,所以结构光法到了室外就显得有些水土不服了。
看到这里,也许你就理解了为什么英特尔选择在一个光线很暗的环境下演示搭载Realsense模组的昊翔Typhoon H壁障功能。说句题外话,因为单目和双目有本质的区别,最近闹得不可开交的大疆(双目视觉原理)和Yuneec昊翔侵权案被业内人士认为并不成立。
无论是单目和双目,其测距方法都是基于三角测距法,测距范围最大只能做到5-8m,这就决定了视觉方法不适合无人驾驶汽车,其最大的应用场景还是室内扫地机器人以及游戏设备。另外,这种方案的硬件成本只有几百元人民币,非常适合消费类的电子产品。
因为采用视觉方案的产品有很多,我们只以Realsense为例看下视觉方案的产品特性。
根据英特尔官方的信息,Realsense有近距离使用和远距离使用两个版本,近距离版本内置了F200 3D图像处理器的芯片,一个红外激光发射器和一个接收图像信息的红外传感器,其采用的是典型的单目+结构光的方案;远距离版本则采用了R200 3D图像处理芯片,另外比近距离版本多配置了一个红外传感器(双目),这意味着该版本直接模仿人眼的“视差原理”,通过打出一束红外光,以左红外传感器和右红外传感器追踪这束光的位置,然后用三角定位原理来计算出 3D 图像中的“深度”信息。后者每秒可以采集1000万个3D点,可以识别跟踪手上的22个关节点,根据手部运动来实现手势操控,并能识别面部的78个特征点,实现面部解锁、表情识别。
除了Realsense,Kinect、和LeapMotion以及国内的奥比中光等都用的是基于视觉的三维建模方案,当然任何一家厂商的方案都有自己的特点,根据各自应用场景的不同都有一定的差异。
激光雷达
既然视觉方案存在这么多的缺陷,就必然需要另外一种技术来完成它不能完成的使命,激光雷达就是其中之一。作为机器人、无人机和无人驾驶领域的新宠,激光雷达是这两年才开始火起来的。
激光雷达之所以能够受到业界的追捧,很关键的原因就是激光解决了上述视觉方案中受光线强度影响的问题,如果在室外,用它来实现壁障、路径规划等功能再合适不过了。
和视觉方式一样,激光雷达实现三维重建大体也可以分为两类,一类是基于三角测量法,另一种被称为ToF测距法,这两种方式不仅仅是文字和原理上的差异,二者的性能以及价格都不在一个等级上。
基于三角测量算法的激光雷达多为非实时性激光雷法,其原理如下:激光从激光头发射,到物体表面之后会形成一条反射光,另一侧的阵列CCD可以实时感应到反射回来的信息,因为激光头的发射角度α和信号接收端的角度β是已知的,激光头和CCD的距离为固定的,根据正弦定理就可以算出雷达与物体的距离。这种方案技术门槛不高,开发周期也不长,硬件成本可以做到几百元的级别。
既攻克了视觉方案的瓶颈,又继承了其成本低廉的优势,这样的方案看似很完美。但它依然存在两个缺陷:首先,基于三角测距法的激光雷达没有摆脱测距范围短的缺陷,大多数产品都在5-6m范围内;其次,因为发射的是单点激光,再加上一般厂商的激光出点数只有4k左右,其重构三维信息的速度会比较慢。如果应用在扫地机器人上,这样的参数是绰绰有余的,目前国内的思岚科技和国外的Neato用的就是这一方案。
ToF(Time Of Flight)的原理是通过测量光脉冲之间的传输延迟时间来计算对象物体的距离。使用ToF的激光雷达在测出物体轮廓边沿与设备间的相对距离后,这些轮廓信息可组成点云数据,最终得出3D环境地图,这种激光雷达的精度可以做到厘米级别。它是目前最适合无人驾驶汽车的技术之一,谷歌无人驾驶汽车上使用的就是国外厂商Velodyne的64线实时性激光雷达。
这种激光雷达在无人驾驶汽车当中充当了眼睛的角色。Velodyne的员工曾拆解够上述这款64线激光雷达,其硬件构造由发射系统、接收系统、信息处理等部分组成(如下图)。
激光从两侧发射,遇到障碍物之后反射的信息被中间接收处接收,通过折返的时间进行一系列的数据分析,最后就可以得出障碍物的距离以及轮廓信息,需要注意的是,在无人驾驶汽车行驶的过程中,这个64线激光雷达也在不停地转动以记录全方位的环境信息,激光接收端收集到的数据实际上是无数个数据组成的点云数据。遗憾的是,Velodyne并不提供点云数据算法,最终的数据处理还是要交到汽车厂商手上。
然而,Velodyne阉割掉的环节正是激光雷达的关键环节。因为激光雷达的难点就在于如何通过硬件进行高速数据采集并通过算法实时处理,获得高精度原始点云数据。硬件系统可以支持一秒进行上百万次的测量,所以软件算法需要不断优化,减少计算量并提高精度,通俗点讲,没有点云算法,激光雷达的硬件条件再好也没有办法完成高精度的测量。
这就是为什么我们会说实时性激光雷达软件算法的技术壁垒很高,纵观全球市场能提供点云算法的厂商屈指可数,国内具备这一实力的更是凤毛麟角。有人说,国外占据了激光雷达的主导位置,我却不这么认为。因为国外的激光雷达产品一直居高不下,而且产品成熟度并不高,即便是目前车用激光雷达市场的代表——Velodyne也被贴上了“低性价比”的标签(Velodyne 64线激光雷达目前售价7万5千美元)。所以几乎可以认为大家都是站在同一起跑线上的,这对国内厂商来说是个空前的机会。以深圳腾聚创科技为例,虽然创立只有两年的时间,但公司的技术团队在点云算法上有10年的经验积累,而且取得了重大突破,目前,速腾已经和国内汽车厂商展开了合作,在性能和价格上都能颠覆现有的激光雷达,预计今年下半年会正式推出。
类似的技术还有毫米波雷达以及其它传感器的方案等等,它们也各有特点,我就不再赘述了。现在讨论它们孰优孰劣还为时过早,但可以确定的是激光雷达的成本降下来之后,必然是厂商的最佳选择,同时也会成为无人机、机器人和无人驾驶市场化的重要推手。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。