汽车的ADAS功能仅需要在有限、特定的场景下进行仿真测试验证即可,而高阶自动驾驶系统需要面对海量的测试场景。在此情形下,传统的单机仿真测试呈现出算力不足、且无法实现加速测试的问题,导致测试周期长,效率低;而云平台仿真凭借其分布式架构以及并行加速计算能力,可大大提升系统研发和测试的效率,是实现自动驾驶大规模仿真场景的有效解决方案。然而令笔者好奇的是,既然云仿真如此的“优秀”,为何在自动驾领域迟迟没有大规模落地应用?在网上搜集关于自动驾驶云仿真相关话题的技术信息时,笔者感觉到,关于这个话题的信息与操作系统或者AI芯片这些热门领域相比,简直是少得可怜。于是,笔者带着诸多疑问,与51WORLD CTO鲍世强、PanoSim CEO李祥明、赛目科技总经理何丰、腾讯自动驾驶仿真技术总监孙驰天等6位业内专家进行深入交流。在此基础上,笔者整理了自己对自动驾驶云仿真的一些基本理解以及几位专家对自动驾驶云仿真的一些看法。《九章智驾》时刻保持对自动驾驶前沿领域的关注和探索,希望能够为推动自动驾驶的商业化落地贡献自己的一点点力量。在此,也对几位专家无私的技术干货分享表示感谢。自动驾驶云仿真到底有多高深?它与普通的单机仿真到底有哪些区别?往简单了说,云仿真就是云+仿真,之前是在单机上进行仿真,现在无非是把仿真搬到了云上。对于云仿真的理解,几位专家也从不同角度给予了生动形象的解释。PanoSim CEO李祥明是这样解释的:“从仿真本身来讲,云仿真也是一种仿真,没有什么特别神秘的地方。云仿真可以理解成是云对仿真是一种加持。就像互联网+X一个道理,所有的业务和物理世界本身就存在,只不过互联网让它的效率更高了,互联网还是互联网,不是业务,只是对它本身对业务的一种加持,一种实现这些业务更好的方式而已。”另外,51WORLD CTO鲍世强认为:“云仿真并不神秘,只是把单机的规模扩大了,但是规模扩大后会产生很多问题。云仿真目前主要有两种使用的模式:一种是脱机全自动化运行,即批量运行无人值守的,主要用于对现在版本的状态进行整体的测试和验证。比如,做一种算法开发需要跑1万个场景,系统自动跑完后,工程师提交了10个改动,系统会自动去打个包,推一个镜像到仿真平台,然后仿真平台就又自动启动了,整个仿真过程是全自动的,不需要人看守。另外一种模式是交互式的使用方式,这种方式是为了有针对性地解决相应的问题。比如开发团队今天在做某一种算法的开发,首先需要从场景库里找一些与该算法相关度高的一些场景,然后进行验证测试,如果发现算法在某一两个场景里出问题了,那么,今天剩下的时间开发人员可能都在围绕着这些有问题的场景不断地去调试和验证。”腾讯自动驾驶仿真技术总监孙驰天告诉《九章智驾》:“云端,更像是一个单机版的放大器,云仿真可以将单机版的仿真能力放大,然后在调度层去做更丰富的操作,比如先从回放场景的仿真开始,然后是虚拟场景的仿真,再从回放场景实时切换到虚拟场景的仿真,最后还可以运行城市级别的虚拟城市仿真。”相比传统的单机仿真,云仿真具有多方面的优势 ,包括它的高并发测试、大算力、强协同以及易于对接大数据平台等。对于L2及以下的ADAS功能,所需要的测试场景有限,仿真测试场景库会比较小,传统的单机测试完全能够搞定,但是后续高阶自动驾驶需要测试的场景越来越多,对仿真测试的要求越来越高。现在自动驾驶基本上都是采用快速迭代的方式,所以回归测试的次数或者频率会非常高。面对这样海量的测试场景,只有利用云仿真进行高并发测试才能快速地迭代,比较快地得到仿真测试结果。赛目科技总经理何丰认为:功能安全和预期功能分析是确保自动驾驶算法安全很重要的一种保障手段。待相关标准发布后,基于预期功能安全场景集去做这个测试,需要大量的测试场景。一种算法或一套传感器方案可能需要几十万甚至上千万个测试场景进行验证。如果在单机里面进行测试,需要跑好几月,这是不能满足自动驾驶快速迭代开发需求的。汽车智能驾驶系统越来越复杂,车上配置的传感器也越来越多。比如,近日在广州车展亮相的高端智能电动车“机甲龙”,搭载4颗96线激光雷达、5颗毫米波雷达、7颗800万高清摄像头等共计38个智能感知硬件。未来高阶自动驾驶车辆对算力的需求也是越来越大,若是采用单机仿真的话,性能再强算力也总是有天花板的,如果利用云仿真的话,可以把算力分布到多个服务器上,形成强大算力,这就是所谓“抱团”的力量,大大的提升了算力的上限。腾讯自动驾驶仿真技术总监孙驰天解释道:“大规模高并发的云仿真对算力的需求是巨大的。简单来讲,云仿真总的算力需求约等同于单节点的算力消耗乘以节点数。在单节点算力消耗一定的情况下,节点数跑得越多,需求的总算力就越高;仿真节点内的算力消耗,主要取决于用户跑哪些算法,比如,感知仿真对GPU算力的消耗就比较高。”云仿真能够让全球的团队乃至相关产业链一体化开发,这就是数字化的力量。上云本来就是企业走向数字化的必选之路,云仿真更是趋势中的趋势。关于强协同这点,Panosim执行总裁李祥明先生举了一个简单容易理解的例子:“在云上,可以做全球化的开发,比如,员工A在一个地方写代码,员工B在另外一个地方写代码,可以同时提交到云上,两个代码合并集成在一起便可以做仿真测试,提高了协作办工的效率。”在软件定义汽车的时代,OEM也普遍注意到了数据的重要性,因此基本都建有自己的大数据平台,用于把车辆路采的一些数据上传到自己的云端服务器上。如果是做单机仿真的话,需要将大量采集的数据和虚拟场景库数据下载到本地运行,再将结果上传。这样的做的弊端,一方面是时间周期比较长,另一方面,用户本地未必有这么大的存储空间;云仿真则不同,云仿真平台能够很好地跟大数据平台去做对接,便于数据提取、数据分析,然后再做仿真测试分析,最后把结果反馈回大数据平台,大大增强了仿真测试的便利性。难道云仿真目前已经如此完美了么?当然不是的,目前的确也是存在一些问题。云仿真受通讯链路的影响,并且涉及到云端的计算,不管是传输到硬件在环的实时机,还是车辆在环的测试厂,最后都需要再返回到云端,整个通讯的时延是很难去控制,而且一定会存在,因此云仿真目前的实时性是很难保证的。同时,对于自动驾驶的HIL和VIL的测试对于实时性的要求是很高的,如果做不到实时的话,云仿真是无法得到准确的系统测试结果的。PannoSim CEO李祥明提到:“云平台的算力是没有限制的,唯一的限制可能就是云的实时性问题。因为云是一个非实时性系统,只是强调算力,没有强调实时性,这是云仿真的一个短板”云端的感知仿真会涉及到GPU的使用,把云端的GPU做虚拟化的难度是比较大的,并且云端感知从整体上来讲,对算力需求比较大,做大规模并发测试成本投入更高。目前在云端大多是跑决策、规划和控制算法,包括感知在内的全栈算法则更多是在车端跑。据腾讯自动驾驶仿真技术总监孙驰天介绍:感知的仿真对算力消耗比较大,相比在云上做决策规划控制仿真相比,其性价比会低很多。举个例子,对于配置有11个摄像头+2个激光雷达这样的车型,在云上做感知仿真的话,如果并发运行500个节点,粗略计算的话大概是需要3000多块卡,这个成本是非常高的。数据采集回来之后如何去构建场景呢?目前场景的构建大概有两种方式:一种方式是基于真实数据场景的回放,采集回来的是什么场景,就使用什么样的场景。另外一种方式是基于真实数据自动构建。类似OpenScenario这种,用类似这种形式的语言的去写,我碰到一个什么场景,在什么条件下会触发一个什么样的事件,这种方式对经验要求非常高,需要从大量具体的场景里去提取出规律,所以写出一个符合逻辑的高逼真场景也是比较难的一件事。即使单纯的地使用真实数据,在数据使用的时候也存在一些问题。51WORLD CTO鲍世强提到:“真实数据是由什么样的车辆采集的?是完全由算法控制的车在路上采集的,还是依靠人类驾驶员驾驶的方式收集的?如果是人类驾驶员收集的数据,算法控制的车用这些数据,能配合得上吗?即使算法控制的车采集的数据,不同版本的,能配合得上吗?这都是有问题的,数据是死的,因此如何有效地利用采集到的大量场景数据是个非常大的问题。“并且,在云端去做大规模并发测试的时候,上规模会遇到很多的问题,成本和效率的考虑,以及测试有效性问题;怎么样用更短的时间跑更多的场景、实现更大范围的覆盖?整个的数据怎么样去处理,是不是足够的轻量化以便于发展规模,并且还能把成本降低,这些都是核心问题。”1)自动驾驶云仿真类型:片段式场景型云仿真与虚拟城市仿真基于场景库的片段式场景型云仿真,是一种确定性的测试。在测试之前便已经清晰的知道这个车要面对什么样的场景。相当于我先把场景定义和编辑出来,然后再让车去跑,并且对仿真会出现什么样的结果也会有一个大致的预期。这种测试方法是比较有针对性的,比如我今天跑这个场景,明天还跑这个场景,每一帧的数据其实都是一样。如果明天我改了一下算法,仿真结果出现了不一样,一定是什么地方出了问题,需要改进的方向是明确的。51WORLD CTO 鲍世强举例说:“比如构建Cut-in的这样的一个场景,通过改变车的角度、相对速度,以及道路的宽度和弯曲的程度等几个重要维度的参数,可以重新组合出成千上万个场景,这些都属于片段式的确定型的场景。虽然是片段式,但由于其是有一定的覆盖程度,在这种覆盖程度的条件下,测试车跑的怎么样,大家有一些整体上的理解,而不是靠撞运气。”虚拟城市仿真是一种随机的、不确定性的测试。在跑测试之前,不清楚车辆会遇到什么样的状况,总之就是让车辆一直在里面不停地跑,直到遇到一个处理不了的场景,系统会识别出来,并把这段数据录下来,转成一个场景文件,补充到场景库里来。以后再进行相关算法迭代测试的时候,场景库就多了一个极端测试场景。关于虚拟城市仿真,51WORLD CTO鲍世强认为:“虚拟城市仿真是现有片段式测试一种比较好的补充,但目前尚不能作为主体的测试方法去用,因为对于通用的测试方法论来讲,它比较缺乏确定性。比如放个20辆自动驾驶车在半面城市去跑,具备非常强的随机性,更多的是一种自由测试的一个方式。仿真系统可能跑10个小时才碰到1个特殊的场景,效率不是特别高。同时还存在一个难点:可能为了训练10几辆车,需要模拟成千上万辆车,如何保证这成千上万辆车行为的真实性呢?”根据ISO21448,预期功能安全定义的驾驶的场景可以分为四个部分:“已知安全”、“已知不安全”、“未知不安全”、“未知安全”。由于“已知安全”和“未知安全”两个场景都是安全的,因此预期功能安全的重点侧重于“已知不安全”、“未知不安全”两大场景。对自动驾驶来说最大的挑战就是“未知不安全”这种类型的场景,你不知道它,并且也还没碰到过它,但是一旦碰到,那是很危险的。这样的场景需要尽早挖掘出来,然后提供给自动驾驶算法进行测试。那怎样找到这种类型的场景呢?按照腾讯自动驾驶仿真技术总监孙驰天的说法:“随着自动驾驶的开发和测试的不断迭代,正向建立的场景库可能很快就饱和了。这个时候我们又该如何去不停地去补充场景库呢?尤其是如何去寻找‘未知不安全’的场景?这时候通过虚拟城市的交通流仿真,让城市交通系统不停地自己运行,由虚拟城市系统系统来生成和筛选出随机的未知不安全场景。这些新场景并不是由任何一个人定义出来的,而是在一个相对很真实、很随机的情况下碰到的。”虚拟城市仿真测试的确是发现Corner Case的一种方法,但是这种仿真技术目前尚未成为主流,当前这种测试方法的不确定性比较大,并且高度依赖高精地图;其次还需要具备后台同步开发技术;更重要的是,还需要保证连续交通流的真实性。首先不管是单机仿真或者是云仿真,仿真的真实度很重要,因此仿真平台首先就需要拥有支持仿真测试的高逼真度模型,包括车辆及动力学模型、环境模型、各类传感器模型,能够逼真地反映自动驾驶各相关子系统复杂的真实物理特征与动态耦合现象。其次需要能够支持仿真测试功能的强大且齐全的工具链,包括虚拟场景构建、车辆建模、仿真引擎、传感器安装与标定、测试与评价自动化等;整个自动驾驶云仿真的话,核心是仿真引擎和云服务能力。仿真引擎和仿真云服务是自动驾驶云仿真的两条腿,是其最关键的两部分。仿真引擎决定了你的云仿真平台能够验证哪些算法、怎样去验证。目前仿真引擎有的公司自研,有的公司购买第三方的。云服务能力支持任务调度、资源分配、通信与交互、数据处理等功能。比如能做多少并发,数据调度能力怎么样等,这些都是云服务的重要考察指标。腾讯自动驾驶仿真技术总监孙驰天做了个简单的说明:“仿真云服务包括仿真场景的实时监控,并进行实时评测,出了问题会自动回收仿真节点。比如说腾讯目前正在做的虚拟城市云仿真系统,就是在一个城市级别的场景里面运行很多自动驾驶车辆和交通流车辆,车辆之间需要相互通信。过程中如果有个别车辆任务结束了,需要在结束他们任务同时,然后再拉几个新的节点出来。这些任务的处理都是仿真云服务的一部分。因此,云服务能力的好坏也直接决定了云仿真平台是否好用。”对于从哪些维度来评价云仿真的好坏,51WORLD CTO 鲍世强也简单的给出了自己的看法:“首先是仿真软件本身的通用要求,比如仿真精度(一致性、时间同步等)、接口的丰富程度、开放标准的支持以及仿真模块是否齐备等。其次,云仿真还具有自己独有的评价维度:包括云仿真系统设计需要轻量化,具备面向大量运行的分布式仿真框架,易于部署和扩容,需要支持团队协作能力,可以与上游的数据工具链的进行深度整合,可以支持不同仿真测试理论的支撑和实现。同时,需要具备开放的平台架构设计,易于定制化。这些都是云仿真的重要评价指标。”现在做云仿真的不仅有传统或初创的仿真测试公司、互联网科技公司、自动驾驶解决方案公司,甚至一些主机厂也要自主研发云仿真系统。那么不同类型的公司做云仿真的目的是否相同呢?各自的出发点又是什么?PanoSimCEO李祥明给出的观点是:“大家都在做云仿真,也从侧面说明了其对自动驾驶的重要性,各自的侧重点也都是围绕‘ 如何加速自动驾驶算法的进化历程 ’这一核心诉求。通过丰富逼真的场景、边缘极限场景设计,高仿真度的软硬件架构+高置信度的仿真模型的开发,来实现其算法和软件的加速进化。”他们更加关注产品本身,专注于做自动驾驶云仿真相关的工具链。整个的自动驾驶,可分为感知、定位、规划、决策、控制多个环节,每个环节都需要去进行算法测试,然后再返回来进行迭代。整个过程可以分成多个环节,把这些环节抽象解耦出来就是其工具链的一环。工具链既然能够解耦,就是为了方便客户去定制化开发。客户可能会选用“全家桶”方案。不过对于主机厂来说,这种可能性比较小。基本上都会货比三家,“择优”选用,最后“拼凑出”一套完整的工具链。比如说有些客户会希望把之前自己做的一些场景库、测试用例,以及购买的一些国外版本的仿真软件,比如VTD、PreScan等,都能够复用起来,所以对平台的兼容性和联合仿真能力提出了较高的要求。赛目科技总经理何丰提到:我们的定位是基于量产车准入要求的测试验证,根据相关主管部门提出的要求,打造了一套包括功能安全和预期功能安全分析的工具,并与自己的仿真平台无缝对接,实现整个测试验证的闭环;同时还能够实现海量测试场景的管理以及算法的训练。这是研发整个这一套的测试工具链的目的,同时也是为了支撑相关政策的落地。互联网科技公司提供的云仿真服务更多的是偏向云端框架型,在传统的通用IAAS,PAAS基础上提供诸如数据标注平台,大数据平台等。虽然也提供诸多仿真软件的集成及相关工具链的工作,但他们是平台类的公司,更多的是一个生态搭建者的定位,最终主推的应该还是平台和生态。他们具备云平台这样的基础设施,把云平台的存储、交换能力、带宽以及稳定性等做好,并且保持开放和兼容,做好基础服务,这也许就是一些应用型玩家渴望的平台类型。主机厂建云仿真主要是面向研发测试端,以自用为主。一款车的研发过程是非常严谨的,每一步都要做仿真验证,所以每个主机厂都有自己的一套体系。但具体仿真测试要覆盖到什么程度,不同的主机厂各有各自的打算。总体来讲,做云仿真基本都是以当前产品和技术规划为基础;也就是说,根据自己当前以及未来规划车型的操作系统、算法布局的方式,去量身定做最适合自己的云仿真系统,从而保证其算法可以在此平台上得到最大效率的测试验证。对于云仿真,大多数主机厂还是不太可能把云仿真相关的全套工具链都自己做,还是需要与相关的工具链供应商进行合作,但是在合作的时候,主机厂非常关注其整个的评价体系是不是开放,能不能自己自由的地定制;同时很关注他的场景,不同类型的场景能不能在其平台上进行仿真以及不同的算法怎么去接入等问题。对于自动驾驶解决方案公司,比如说小马、文远以及Momenta等,他们做云仿真的目的和主机厂比较类似,以自用为主。其路线方向与算法迭代紧密耦合,用于以数据驱动的方式,比较细粒度的地去迭代算法。自动驾驶云仿真之所以没有大规模的商业化落地,在笔者看来主要有两大方面的问题:一是仿真本身的置信度问题,另外一个重要的因素是成本问题。自动驾驶仿真的置信度包括仿真软件本身的置信度问题、仿真平台复现和泛化出场景的置信度问题以及测试结果评价标准的置信度问题。对于仿真本身的置信度问题,《九章智驾》发过一篇《自动驾驶仿真测试的两大痛点问题》的文章,里面有关于仿真本身置信度的一些介绍,这里就不做过多解释。其实,在仿真软件本身的置信度问题里,不仅构建高逼真度传感器模型是难点,如何将仿真出来的数据很好地用于传感器的仿真也是亟待解决的痛点问题。腾讯自动驾驶仿真技术总监孙驰天提到:“直接用游戏引擎构建出的高渲染、高画质的场景直接用于感知算法和神经网络训练缺乏一定的可信度。目前,有一些公司会拿一些标注好的真实数据和仿真的虚拟数据混合成一个数据集来进行感知算法的训练。但是业界目前还没有一个很明确的、标准的答案来告诉大家,能用多少的虚拟数据来做训练,或者说虚拟数据和真实数据的混合到什么程度就可以用来做训练,这个目前可能还是困扰行业的一个部分。”有些主机厂对数据安全很敏感,在前期还没有做规模投入的时候,会使用公有云的方式来做云仿真;但后期随着云仿真规模多大,有些传统主机厂可能会采用自建私有云的方式。也有些比较开放一些的主机厂和自动驾驶解决方案公司会考虑采用混合云或者公有云的服务。无论哪种方式,大规模并发的云仿真都是需要高昂的软硬件成本投入,甚至高达千万元甚至上亿元。同时,高投入也会带来一些决策链路上的影响。当主机厂投几千万进去的时候,肯定会在项目开始前反复让供应商去证明它的绝对安全可靠,到底能给整个研发体系带来多大的回报,毕竟谁拍板谁负责,大家比较谨慎也正常。毕竟这种云仿真相关的软件和工具链是属于基础性设施,投进去之后,到底能给公司带来什么效益,短时间内很难去直接量化。因此很多的时间会浪费在内部决策和反复的验证上。但是主机厂也都明白云仿真是大势所趋,他们也是在等一个合适的时间点的到来;从业内了解到,虽然OEM对上云仿真比较谨慎,但是今年大家确实开始慢慢落地实施了。最开始可能是建一个小规模集群,并发数少一些,成本控制得更低一些,先做尝试,然后再逐渐扩容。虽然说自动驾驶云仿真的规模化落地尚需时日,但是大家也都在向这个方向在试探和努力。那么云仿真现在的商业模式是怎样的,未来又会发生什么变化呢?51WORLD CTO鲍世强告诉《九章智驾》:目前在云仿真上与主机厂合作的模式也比较明确,对于每家主机厂来讲,云仿真能力的建设都有它自己的需求和特点,我们更多的是作为一个技术赋能者的角色,通过开放平台为每一家主机厂打造最契合的自动驾驶仿真产品,首期合作的时候会交付云仿真,但是规模可能比较小,同时会交付单机版,也会涉及到一定的定制化开发。如果大家合作得非常好的话,会有二期,三期的合作,主机厂依然会提出很多需求,我们会更多的通过产品迭代的方式响应这些需求,随着合作的深入,仿真的应用规模会变得越来越大,应用场景会变得越来越多,这种模式是走得通的,也越来越得到大家的认同。PanoSim CEO李祥明先生谈到未来自动驾驶云仿真商业模式的时候,他是这样理解的:”云仿真的商业模式在未来的可能性有很多,不过不太可能沿用现在这种产品设备模式,财务上一次性投入太高,对于甲方的要求太高了,决策成本太高。”“也不会是纯粹甲方乙方的模式,我们相信未来可能会走向产品,以产品为基础、以服务为盈利的商业模式。首先需要有个非常靠谱的产品,但是光靠卖产品比较麻烦,因为仿真上云以后,更多的是走向服务,变成以服务来长期的收费的模式,而不是一锤子买卖。这就是产业链的依存关系,只有生态欣欣向荣,生态里面每一个成员才能过得都很好。”总之,自动驾驶云仿真是大势所趋,虽然现在还处于“群雄割据,诸侯争霸”的局面,未来的市场格局也一定会越来越清晰,拨开云雾而见天日。
行业转型交流群交流转型遇到的困难、分享转型过程中的心得,可扫描右方二维码添加工作人员微信,并提供一下名片和个人简历,然后拉您入群。注:加微信时务必备注您的真实姓名、公司、现岗位
以及意向岗位等信息,谢谢!
关于投稿如果您有兴趣给《九章智驾》投稿(“转型经历总结”及“知识积累整理”两个方向),请扫描右方二维码,添加工作人员微信。注:加微信时务必备注您的真实姓名、公司、现岗位
以及意向岗位等信息,谢谢!
“知识积累”类稿件质量要求:
A:信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;
B:信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需要有特别牛逼的独家观点才行。多谢理解与支持。