近几年数字孪生、三维建模、数据可视化等概念很流行,不过几年下来很多人认为这些也就是看起来热闹的花架子,并没有实际价值。
但是,另一方面做为三维建模的前沿技术SLAM(实时定位和地图构建),却是聚集当今世界上最先进的深度神经网络和最高深的数学理论,比如群论、流形等,并成为各大科技公司激烈竞争的战场。那么SLAM到底有什么用呢?
大家可能会非常奇怪,三维建模的最大也是最必须的应用场景是自动驾驶和机器人领域。我把这个结论告诉很多学理工科的朋友,他们都很吃惊,无人驾驶机器人和三维建模有什么关系?简单的理解当然是为了防止碰撞,那么如果装上足够多、足够好的传感器不就可以了吗?其实几年前我也是这样认为的,但是做为无人驾驶和机器人之类活动空间大、环境变换快的智能设备,用简单的传感器远远不够。
大家知道“人无远虑,必有近忧”,无人驾驶之类的机器不能等接收到眼前的传感信号才做出反应,而是必须提前做出预测,同时在预测和真实的反馈之间不断做出调整,才能最终达到预期目的。
仔细想想,我们人类所有智能活动就是一个预测的过程,所谓预测就是要有时空的提前量和预案的多样可选择性,为了达到这样的目的,我们人类要花几十年来学习祖先积累的知识原理,还要把个体生活实践的空间结构在大脑中建立起映射关系,这既和机器人的SLAM有异曲同工之妙,更是人类亿万年进化的结果。
2014
年诺贝尔生理学或医学奖就是授予发现大脑定位系统细胞的科学家约翰·奥基夫等人。他们发现在海马体内部及邻近大脑区域存在三种细胞,即位置细胞(place cell)、头朝向细胞(head direction cell)和网格细胞(grid cell),这三种细胞组成了大脑中的导航体系。这些细胞接收各种来源的空间信息后,对信息进行加工处理,在海马体内形成认知地图,以形成对空间位置的永久记忆。
也许很多人还是不明白,我们为什么非要先在大脑中建立空间模型,直接利用当前看到(感知到)的场景做决策不行吗?当然是可以的,但是你决策的余地会很少,比如一台扫地机器人,如果完全利用碰撞传感器去扫地,虽然可以运行,但是它一直在随机碰撞中,几乎做不了有效的事。这就像让你去一个陌生的城市找一个没有具体地址的朋友,你只能不断地去打听,如果你不分析记录打听的结果再决定下一步的行动,你将永远找不到朋友。
但是,扫地机器人如果在若干次的随机碰撞探索之后可以对空间建模,那么接下来就可以主动规划扫地路线,可以分析哪些地方没扫到,在电量不足的情况下,就可以沿最短的路径找到充电坞。当然,为了实现这些目标还得益于近几年发展起来的激光雷达和机器视觉,同时还有一些牛逼的算法,如卡尔曼滤波等。
由此可见,对环境空间的三维建模绝不只是为了好看,它蕴含着非常深刻的人类认知原理。把看起来随机的环境信息在一个三维的先验框架内构建成一个具体的结构化模型,再根据当前信息的提前量(视觉信息总是以最快的速度到达),就可以在空间路径或对策的选择上有足够多的余地,真正做到“游刃有余”。