谈数据驱动的自动驾驶
最近听了一些关于自动驾驶的分享 , 在这里谈一下我个人的一些思考 。 目前大家普遍都认同“普通场景下的自动驾驶已经比较完善了 , 目前主要的难点在于一些cornercases” 。 在技术不出现质变的情况下 , 如何处理cornercases就是目前面临的主要难题了 。
以有涯随无涯 , 殆已
早在一千多年前庄子就发表了"以有涯随无涯 , 殆已"的哲学观点 , 目前自动驾驶面临的问题就是极端场景非常多 , 短时间无法穷举 , 不管是基于规则的方法还是基于模型的方法 , 都不可能保证应对所有的场景 , 特别是极端场景 。

文章图片
为什么人类可以应对极端场景呢?因为人类可以学习、推理 , 所以就到了"吾生也有涯 , 而知也无涯" , 通过学习和推理人类可以适应大量之前没有见到的场景 。 短期来看人造智能暂时还达不到学习和推理能力 , 只是简单的逼近之前遇到的各种场景 , 也就是数据驱动 。
依靠人工无法大量的采集数据 , 解决问题 , 验证并且上线 , 但是机器可以 , 所以目前大家都认可的一个方向是通过自动化来对抗复杂性 。 流水线一旦开启 , 数据在流水线上流转 , 生产出新的模型和规则 , 在自动化的仿真环境验证 , 然后在真车上测试 , 从此自动驾驶的车源源不断的学习处理各种复杂的场景 。 无人车在真实环境中遇到的场景越多 , 算法和模型就越完善 , 通过不断的迭代来慢慢逼近自动驾驶的最高皇冠 。

文章图片
自动化生产流程
数据并不等于价值
既然通过数据驱动 , 使得无人车具备学习能力 , 但并不代表数据就等于有价值 。
没有治理的数据等同于垃圾 , 为什么这么说呢?由于深度学习的兴起 , 很多人对数据很重要已经形成了共识 , 但只是简单的收集数据并不能产生价值 。 下面我们看几个例子 。
我们知道无人车主要是收集车上传感器的数据 , 包括摄像头、毫米波、激光雷达、GPS/IMU等 , 假如软件迭代升级了 , 改变了数据存储的格式 , 那么之前所有录制的数据(Bag包)都需要转换后才能使用 , 如果这期间不对数据做管理 , 不清楚数据采集的软件版本 , 那么之前的数据基本都使用不了 , 所以经常看到百度Apollo上有人提问3.0版本的数据如何在5.5上跑 。
数据存储格式改变是一方面 , 另一方面假如传感器的配置改变 , 比如传感器安装的位置改变 , 或者更换其它型号的传感器 , 如果这些元信息没有加入数据治理 , 后面根本记不清楚这些传感器的配置 , 也就无法对数据进行利用 。
另外传感器收集到的数据一般都是用二进制格式存储 , 不具备可视化的能力 , 如果直接看图片你知道是雨天还是雪天的数据 , 如果是二进制文件 , 你如何知道数据是什么场景、什么环境下采集的呢?所以在不具备数据可视化 , 自动化的情况下 , 很难检索到自己想要的数据 。 此外还有同场景下的数据缺失 , 部分数据的错误处理等 。
所以如果有以上几种场景 , 那么何来“有数据就是有价值 , 有数据就是有竞争力”的说法呢?没有治理的数据就等同于在污水中的盐 , 如果数据使用的成本已经超过了提取本身 , 那么没有人愿意去利用这堆数据 。

文章图片
数据驱动的成本
以前是纯手工 , 劳斯莱斯打造汽车 , 现在是流水线打造汽车 , 2者的生产模式根本就不一样 。 纯手工的是小作坊 , 每年只能生产几百台汽车 , 而流水线一年可以量产百万台汽车 , 生产力差距非常大 , 小手工作坊投入要求不高 , 对个人水平要求非常高 , 流水线对设备的初期投入非常高 , 对个人的能力要求不高 , 通过培训就可以上岗 。
目前无人驾驶的开发模型也存在着向这个方向转变 。 如果说是做简单的demo , 演示项目 , 需要的人不多 , 主要是人员的能力要强 , 但如果落地处理工程问题 , 具体的任何算法都会出现瓶颈 , 这时候就需要流程和人去不断的解决问题 。 也许有人会说支付宝不就是个支付软件吗 , 为什么需要这么多研发、维护人员呢 , 实际上这些人都是在处理各种复杂的场景 , 制作各种工具 , 应对环境的变化推出新的解决办法 。
数据驱动实际上就是刚才说的第二种方式 , 但数据驱动的投入比较大 , 而且短期也看不到实际的产出 。 下面我们看下数据驱动需要的成本 。
1.数据中心存储
鉴于自动驾驶的数据量非常大 , 我们优先采用分布式存储 , 目前比较适合的是HDFS文件系统 。 关于存储这里不展开了 , 实际的应用可能还会用到对象存储和数据库 。
存储只是一方面 , 通过上面的论述 , 我们知道数据的治理才是最重要的 , 需要保存数据采集的时间、地点、软件版本、传感器配置、以及天气情况等 , 建立数据的meta信息 。 通过数据的治理才能发掘数据的价值 , 否则你只能抱着一堆数据 , 空惆怅着怎么使用 。
2.数据处理(流批式计算 , 标注 , 机器学习平台)
数据的处理实际上包括几个方面:数据标注、机器学习模型训练、在线的流式计算和离线计算等 。 数据处理之后的数据产生大量价值 。
【谈数据驱动的自动驾驶】首先通过不断的收集数据 , 机器学习的模型会越来越完善 , 具体应用到无人车上就代表感知目标越来越准确、全面 。
离线计算还可以生成高精度地图 , 达到车道级的精度 。
不断完善的算法 , 不仅仅包括底层传感器的算法优化 , 也包括定位、规划、融合算法的提升 , 基于原来的数据进行算法验证 , 然后再应用到车上重新收集数据 , 实现闭环 。
3.数据可视化
数据可视化主要是为了方便调试和解决问题 , 我们可以把目前流行的各种viewer看作是比较好的可视化界面 , 对研发效能的提升很明显 。 下面是Uber开源的数据可视化界面 。

文章图片
目前比较欠缺的是一些辅助的可视化开源工具 , 例如高精度地图的可视化工具 , 规划线路的可视化验证(检查道路是否连通)等 。
针对数据流程的一些可视化工具 , 数据流水线执行到了那里 , 从数据库查找对应的数据之后能够可视化展示出来等 。

文章图片
4.数据效能(仿真)
每道流水线生产环节都有品控 , 如何快速评价和验证算法是自动驾驶的关键 。 因此我认为仿真在自动驾驶中会扮演越来越重要的角色 , 通过在虚拟环境中快速构建测试用例 , 拦截掉90%以上的问题 , 然后再进行实际的训练场地测试和开放路测 , 最后保证整个数据闭环 。
未来
通过这2年的面试和一些了解 , 小的自动驾驶初创公司根本无力做数据驱动 , 车才是核心竞争力 , 一是没有车就没有项目 , 没有车就没有项目 , 二是你拿数据中心说自己多牛逼多厉害 , 投资人根本不买账 。
数据中心的建设投入也很大 , 如果全部自研平台 , 基本就是个无底洞 , 比较理想的方式是上云 , 上云的好处是深度学习训练、存储、计算等都由云提供服务 , 虽然目前的网络带宽可能看起来是瓶颈 , 但随着5G的网络建设 , 云技术可能又有飞跃 。 这里还牵扯到一个问题 , 就是各个公司都喜欢数据私有 , 觉得数据在自己的硬盘上才放心 , 实际上机房和云有什么区别?
可以预见如果自动化驱动成为主流 , 并且验证可行 , 那么小的自动驾驶初创公司根本就玩不转 , 整个数据驱动类似于投入一条生产流水线去取代人工处理各种Case 。

文章图片
核算下人力 , 那么小玩家就玩不转了 。
小玩家的出路可能是找准定位之后 , 做TIR1 , 行业会更加细分 。 要么在细分领域深耕 , 要么安心做模块提供商 , 做好自己擅长的事情 。
大玩家通过数据驱动解决现有问题 , 同时开始长期的探索 , 我还是很相信技术成熟度曲线 。 自动驾驶可能会步VR后尘 , 走在幻灭期 。 面临着长期的爬坡过程 。

文章图片
推荐阅读
- 中韩季中杯A组巡礼,综合数据T1和FPX更好,大概率会携手小组出线
- 环球网林郑月娥三谈香港国家安全立法:将尽全力宣传和解释重要性,抗衡无理攻击和肆意诋毁
- 这四个星座不想谈恋爱的原因,金牛座害怕受伤,天蝎座习惯了单身
- 中美关系王毅谈中美关系:中国无意改变美国,更不想取代美国,美国也不可能一厢情愿地改变中国
- 王毅王毅谈病毒溯源调查:反对任何“有罪推定”
- 中国新闻网王毅:加快中日韩自贸谈判 力争年内签署区域全面经济伙伴关系协定
- 中国网王毅谈疫情下的中美关系:不要再浪费宝贵时间 不要再无视鲜活的生命[组图]
- 负利率危险!鲍威尔最新访谈:为什么美联储对负利率说不
- 林志颖老婆谈婚姻落泪,与婆婆关系尴尬,这就是婆婆与妈妈的区别
- 非常时期谈就业,总书记为何说这8个字? | 两会观察
