2
雷锋网按:本文是辰韬资本张骑对百度Apollo平台的分析与思考,张骑专注于人工智能和智能驾驶领域,先后毕业于同济大学和台湾大学,阅后若有所感,欢迎添加微信“kamizhq”与他交流。
百度的开发者大会无疑是最近自动驾驶界最瞩目的事情,甚至没有之一。
*Apollo开放路线图
谷歌在今年的I/O大会上提出了“AI First”,之前可能是“送外卖”去了的百度,好像终于和谷歌有了那么几分神似。
整场发布会陆奇强调了无数遍人工智能时代,数据是多么多么重要。无论是对于自动驾驶或是更广泛意义上的人工智能,Data is King 或者更准确的说 He who has data is King.
所以Apollo计划的内在核心,是数据。
我们知道百度从2013年就开始了自动驾驶项目,百度进行了不少路测,只是我们好像从来没有在什么渠道上看到或是听到百度积累了多少公里的路测。作为国内非常早开始做自动驾驶的大公司,我们似乎很难找到理由如果自己有不错的数据积累的情况下,作为自动驾驶水平的重要依据,不去提这个数字。
在百度谜一样的路测/数据背后,一个原因可能是由于国内相关法律法规的缺失。法律法规的缺失导致路测在没有合法身份的情况下,并没有办法大规模的或是高效的开展。同时,在法律法规出台前公开数据,就像在高调宣布自己违法一样,毕竟树大招风,这次Robin上五环可不是分分钟就被盯上了。
数据为王,数据不够,怎么办?有一个声音说:开放平台。
Apollo开放平台孕育而生。
百度并不是第一个在自动驾驶领域开源的公司,早在2016年11月底,天才黑客George Hotz就宣布他创办的Comma.ai的软硬件全部开源。开源的目的也很简单就是收集收据。
Comma.ai还提供手机APP来收集数据,仅仅是通过1900多名APP用户,在今年3月份时就已经收集了2.2万小时行驶数据,84.5万英里行驶里程。而他的自动驾驶和机器人开源平台已经聚集了超过5000名开发者。对Comma.ai来说,无疑是一个不错的成绩单。
既然Comma.ai开源的最主要任务是收集收据以及汇聚开发者,那么同样作为开放平台的Appllo也不例外。
我们先说说汇聚开发者,作为一名曾经的十八线程序猿,我决定以开发者的视角来接触Apollo开放平台。
*毫不犹豫的点了Github
进入开发者页面,可以看到目前可以使用的组件只有智能决策与控制,数据开放平台。未来还有感知、仿真、DuerOS等模块可使用。
智能决策与控制会把你带到Github的页面,提供了非常标准的说明文档,对于有简单开发基础的人来说,配置环境、运行Apollo都不是难事。Apollo提供了一个非常有好的HMI界面。
红色框中的Dreamview 是一个针对当前自动驾驶功能的可视化输出模块
Dreamview预览,目前Apollo 1.0仅包含循迹自动驾驶功能
我们常说自动驾驶包含三大模块,感知、决策、执行。通过Apollo我们可以看到实际开发中,自动驾驶会包含以下更细致的模块,包括感知、定位、预测、规划、决策、控制、HMI、监测以及CANBUS模块。
作为一个开源项目,Apollo 1.0上线一周以来,目前有16位贡献者对代码做出了68处改动,涉及156个文件,新增3832行代码,删去了3703行代码,还有65处改动有待审阅。不过仔细看了下可能绝大部分贡献来自百度Apollo团队自身。
根据Apollo路线图,今年年底就要上线简单城市路况自动驾驶,到了明年年底,就可以有城市道路自动驾驶和特定区域高速驾驶功能。
看起来,作为开发者,我离自动驾驶,可能就差一辆车了。
Apollo成功降低了自动驾驶的参与门槛,让一些对自动驾驶有兴趣的开发者,有了参与其中可能,只是开发者发现了Apollo网页底部的免责声明。
“汽车自动驾驶本身存在其内在风险,参与人员可能遭受潜在财产损失、损害或人身伤害。本平台和百度均不会对平台代码的输出和使用结果的正确性、准确性或可靠性作出任何保证,也不会就任何已知或未知的错误或缺陷承担任何进行改正、修改、发布升级补丁或做出通知的法律责任。若您在道路测试或其他行动中依赖平台代码,您将自行承担使用平台代码的风险和相应责任。”
是的,毕竟自动驾驶太特殊了,它具有危险性,百度虽然开发了并且开放了这个功能,但是,要是出事儿了,请务必注意这和百度没一点关系,请自行负责。
毕竟自动驾驶还在一个比较早期的阶段,无论算法、测试环境等各方面都不成熟,百度这么做实在情有可原。但是对于开发者,无论是个人还是机构/企业又是否愿意去承担呢。对于个人开发者,承担不起这样的后果,作为企业,尤其是缺乏研发能力的企业/机构,相比于承担这样的风险,倒不如等百度开发成熟了拿来用。那对于有一定研发能力的企业/机构,与其拿着百度的算法去承担风险,是不是参考百度算法取长补短最后用自己的算法去承担风险更合理一些。这也让人好奇百度和Apollo平台上的50位合作伙伴是否也有这样的免责条款。
所以对于Apollo平台,推出仿真平台就变得非常有必要甚至迫切了。有了仿真平台,大家的后顾之忧看起来都解决了。其实在会上陆奇也强调仿真是Apollo平台非常核心的一环。没有这一环,这个平台对于开发者的吸引力可能就要大打折扣。
2个月后,仿真模拟器就会上线。
Apollo平台随着仿真模拟器的加入以及升级,汇集开发者的任务看起来可以实现。那接下来的核心就是数据了。Apollo平台提供了一个数据开放平台。向开发者开放数据以及计算能力。
开放数据提供了一些标注的数据,目前开放的包括三类,激光点云障碍物检测分类样本、红绿灯检测样本以及Road Hacker的小部分数据集。你满怀着希冀的下载了激光点云样本和红绿灯检测样本,打开发现里面有100个标记样本,是的,只有100个。
我们都知道深度学习的效果优劣与样本数据量息息相关,所以你看百度是非常清楚数据的价值的。另外,如果想要更多的数据,那就拜托各位开发者或是合作伙伴多多贡献了。
开放能力主要包括计算能力和标注服务,主要依托于百度云。可以在云端完成样本训练(与NVIDIA DIGITS类似),但Apollo平台在这里给开发者设置了门槛,当前仅针对科研机构,企业单位开放云端计算能力,允许他们通过API访问开放数据。当然对于个人开发者,这并不是太大的问题,选择还是比较多的。
Apollo开放的计算能力,降低了开发者或是合作伙伴样本训练的成本,但仅仅是降低训练成本是否真的构成去开放数据的吸引力呢。首先数据训练的选择还是比较多的,其次,也是更重要的一点,开发者和合作伙伴肯定明白,数据为王,那么他们,真的有意愿去共享自己的数据吗。
在Apollo网页底部,可以看到一个数据开放与分享倡议,以下摘录部分核心内容:
“……
公平数据原则
在数据开放规模方面,以“贡献越多收获越大为原则”。
合作伙伴贡献以数据里程(公里)为单位进行核算。
收获指合作伙伴在阿波罗数据开放平台(以下简称“平台”)可以获取的数据、服务和算法模型等。
初始数据与后续数据
百度作为平台的发起者,为平台提供初始数据。这部分数据将对平台的所有合作伙伴开放。
初始数据之后,平台将依靠平台全体合作伙伴的贡献逐步成长。每位合作伙伴都应遵循公平数据原则。
数据加工
平台有权对合作伙伴上传并标记为公开的数据进行加工处理,处理后的数据将作为本平台的公开数据。
数据隐私
任何合作伙伴可以查看自己的数据,并设定数据的隐私属性为:私有或公开。
私有:表示该数据只能由合作伙伴自己查看和使用。
公开:表示将该数据授权给本平台,本平台将根据平台的数据共享原则公开衍生的数据和资源。
合作伙伴上传的数据默认为该合作伙伴私有;平台在合作伙伴上传且标记为公开的数据基础上经过二次加工的数据(如:标注或场景提取)需要作为平台公开数据。
黑名单:如果合作伙伴不希望自己的数据被某个敏感合作伙伴访问,则可以进行设定。
特殊数据:默认为合作伙伴私有数据。该数据的拥有者可以指定将其开放给平台的特定合作伙伴。
三、数据范围与开放方法
1、数据内容
原始数据、标注数据、无人驾驶场景(供仿真模拟器使用)、特殊数据
……”
在这份倡议中(具有法律约束力),我们看到百度试图营造一个正向激励的循环,并且告诉开发者你的数据隐私可以得到很好的保护。
所以在这样的前提下,资源是否有机会真正共享起来呢,我做了诸多假设,发现很多情况下都无法满足最核心的两点:第一是百度要收集数据这个目的,第二是数据对于合作伙伴或是开发者是非常有价值的,他们主观上不会有共享的意愿。
如果要满足这两点诉求,目前看来最理想的方案是,每个合作伙伴与百度单独共享数据,正向激励循环也可以在百度和每个合作伙伴间流畅运作,百度因此也可以收集到大量数据,唯一会造成的现象就是,这个数据开放平台上,真正标记为“公共“的数据非常少,大部分都是“私有及仅向百度开放“的状态。当然这种看起来是双赢的合作,其实真正的大赢家,只有百度。
以仿真汇聚开发者,以数据成就百度在国内自动驾驶的领先地位,这是我们目前看到的Apollo平台。然汇聚开发者易,开放数据难,检验Apollo的最好办法,就是用数据说话。
或许我们几个月之后就可以看出一些端倪。
雷峰网版权文章,未经授权禁止转载。详情见转载须知。