聊聊自动驾驶数据标注环节的“槽点”
交流群 | 进“传感器群/滑板底盘群”请加微信号:xsh041388
交流群 | 进“汽车基础软件群”请加微信号:Faye_chloe
备注信息:群名称 + 真实姓名、公司、岗位
所谓数据标注,指的是对未经处理的语音、图片、文本、视频等原始数据进行加工处理, 并转换为机器可识别的信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对原始数据进行加工, 然后输送到人工智能算法模型里完成调用。
随着各类传感器和应用场景的不断丰富,自动驾驶所需标注的数据类型呈现多样化,数据数量也在呈现指数级的提升。其背后对应的正是自动驾驶领域内数据标注目前的普遍现状——标注数据的准确性较低及综合成本较高。
首先,标注数据的准确性较低主要是由于需求的不准确和标注标准的单一化造成的。
一方面,自动驾驶的各类细分场景所涉及到的数据集是不同的。比如,城区场景相比高速场景来说,还会关注行人、电动车等。再比如,泊车场景会关注各车位的停车、立柱等。另一方面,现有的标注标准就是同一张图无论应用于什么场景,都是一种标准,但不同场景关注的数据不同,所以更需要不同场景有各自的标准,而不是一味地“一刀切”。如无人环卫需要标注出路边的垃圾,而城区场景内的乘用车却不需要,所以在标注标准制定时,仍需要一定的差异化。
其次,综合成本较高是由于标注需要大量的人力成本、返工成本等造成的。
如今,自动化标注一般可以完成90%以上的标注工作,但即使如此,由于数据量的不断攀升,剩余不到10%的标注工作仍可能需要由几百人的标注员团队来完成。另外,标注的工作也不是一帆风顺的,如项目的多次返工或者由于客户的原因而被迫暂停等。
本月,笔者参加了恺望数据在上海举办的一场主题为《从数据闭环的磕磕绊绊,到甲方乙方的恩怨情仇》的沙龙。在会上,自动驾驶行业内相关企业围绕着数据标注环节中的问题展开了讨论,笔者将会上各专家的观点进行了梳理,并整理出下文,以供读者参阅。
恺望数据的产品负责人谢玮介绍到,在数据标注的整个流程中,第一步是需求的确认,也就是了解客户的需求;第二步是进入试标阶段,客户会给标注公司一些数据去标;最后待试标生产完之后,就会交给需求方进行验收,若是试标顺利通过的话,就会进入正式生产阶段。
由此可以发现,需求确认对于整个标注环节是首要环节,一个好的需求具备条例清晰、内容易理解等特点,并且标注企业对需求的理解程度将直接决定是否能顺利中标项目,但现实情况却相反。在需求确认环节中,数据标注的上下游都存在着各式各样的问题,下文将一一阐述这些问题所在。
1.1 什么样的需求文档的书写才能使需求更清晰?
通常情况下,需求方会在立项后,梳理一份需求文档给予数据标注企业,其目的在于理清楚所需标注的数据有哪些,并且还会列明具体的样图和描述。
1.1.1 需求文档多少页才合适?
对于这样一份文档,不同的需求方所列出的页数也会不同,有的会很详尽,而有的则几页。
如果页数过少,数据标注企业会需要更多精力去猜想客户的逻辑;如果页数过多,数据标注企业将不得不花费大量时间去阅读需求,并且过于细节化的话,标注的工作量也会非常大。
目前,很多自动驾驶团队会把需求写得非常详细,有些团队甚至能写到几百页,在一个大的原则下,把很多corner case都详尽地罗列出来,并配以贴图和说明。
某自动驾驶公司的解决方案负责人说:“需求文档应该是一份很综合的东西,但是行业内的需求文档内卷现象非常严重,大家都会写得很详实,能达到上百页。从内容的角度来说,需求文档不只是告诉标注员该怎么标,而是应该全方位地介绍怎么去完成整个标注工作。从合作的角度来说,需求方不能把数据标注团队或者外包的数据标注团队当成乙方来对待,更多地是该像自己团队一样来对待,而需求文档就相当于一份操作手册。
“标注团队主要是由培训师先去拆解需求方的需求,整理并转换成标注员能够理解的文档后,再下发给下面的标注员去学习,整个链路非常长。如果需求方的文档写得非常详实的话,可想而知,标注员的学习成本是非常大的。所以必然需要降低他们的学习成本,让他们快速上手,缩短项目周期。”
某矿山场景无人驾驶公司的技术负责人说:“一般来说,需求页数与产品线有关。如果涉及到多品类、并且现场要交付运营的产品线,需求文档会写到10-100页;如果是单一产品线,基本上会以5-10页为主。需求文档需要尽可能的精简,把需求说清楚,所以页数不能过多。”
1.1.2 需求文档需要什么样的格式?
需求文档的格式代表了需求方自身业务的底层逻辑的理解,而好的需求文档反映了甲方对自己的业务是否熟悉、业务运营是否成熟。
那么,到底什么样的需求文档才能反映企业的业务较成熟?
谢玮说:“从接触的实际项目中发现有三类需求文档格式是比较成熟的。以20页的需求文档为例,第一种是排版统一、字号统一、文档美观;第二种是排版整齐、标准和参数详细、举例丰富、含有大量‘等’和形容词(图片为高质量,图片模糊为低质量);第三种是排版整洁、内容有逻辑顺序、讲述清晰、举例详实、示例图有标注示例说明,形容词及‘等’较少。
关于需求方是如何写需求文档的,某L4自动驾驶公司的技术负责人说:“我们通常会要求负责感知的同事按照两个模块来写需求文档,第一个模块主要是文档的背景、需要多少数据、什么时候交付;第二个模块主要是标注规则,需要在每个条例中,把具体的需求描述出来,并附上一些图片来说明。”
“通常来说,需求文档的文字较多且整齐,都是说明该甲方的自身业务已经较为成熟了。至于措辞方面,主要是看编写者的写作水平。实际情况下,大部分需求方的文档都是不成熟的,其特征表现为文字堆叠严重、相同事务称呼不一、图例与文字不对应,这类需求方主要是一些发展较为前期的项目,他们的商业化压力特别大,所以标注方面也特别着急。”
1.2 哪些需要标注的数据能让需求更清晰?
对于自动驾驶公司来说,是不是说收集回来的数据都需要进行标注呢?答案:当然不是。
某环卫场景的技术负责人说:“大家都知道标注是一件非常烧钱的事情,需要采集大量的数据,然后找标注公司团队来来回回制定规则。我们发现,自动驾驶企业的需求其实与标注公司的利益是截然相反的,标注公司是希望你多采集点数据,多标注一些数据,但自动驾驶公司肯定是希望把数据的有效性提高到最高,尽可能减少需要标注的数据。
“很多自动驾驶公司都不是很清楚自己到底需要标注哪些数据。比如无人环卫车,其与乘用车一样,需要标注出路上的车辆、行人、道路等信息,此外也需要标出路上的垃圾。”
某矿山场景的技术负责人说:“目前,不同场景的数据标注标准要求需要有一个范式,而现在急需行业内共同去探讨建立。比如矿山场景需要标注哪些数据、Robotaxi需要标注哪些数据、环卫场景需要标注哪些数据,只有等这些标注标准明了后,才能对自动驾驶标注产业后续的发展分工才有帮助。如果行业分工不明细的话,很多自动驾驶企业后续都可能会选择自己干数据标注,因为连他们自己都可能不知道需要给出哪些数据,又怎么能把正确的需求给到标注公司呢?”
如果标注数据不准的话,注定最后推理出来的东西也是歪的,若拿此来做深度估计的话,可能估计出的距离都是不准确的,最终还会影响自动驾驶车辆的规控。
某自动驾驶公司的解决方案负责人说:“从19年开始,大家都是在融合的感知模式下去做数据的标注,由于点云有外参的变化,所以或多或少标注框会有点歪,不会那么准。这就需要感知人员去跟标注团队进行沟通,去标注现场了解标注员的具体工作,规范他们的操作。”
另外,有时候也会遇到标注后的图像与真实图像出现一定的差异。
例如,车道线的标注会比车的标注更复杂。因为每个城市的车道线都会不一样,而车无非就是类型多样,只要做好归类就好,所以车道线的文档会比车多。
某自动驾驶公司的解决方案负责人说:“若需求方是做urban场景的话,会碰到两种逻辑完全相反的诉求。第一种诉求是当自车在直道上行驶时,由于左边是逆行道,所以当你看到车道的时候,不希望将逆行道推理出来,而只希望推理出本车道。第二种诉求是当自车行驶到十字交叉路口时,路口当中是没有车道线的,有些公司会希望虚拟出一条通向对面的车道线,但实际情况是没有这根线的。”
按照该标注出的图像,该十字路口可类比一条直道,但实际情况下,相机所看到的并非如此,最终感知系统如何来判定,仍需要算法团队从技术上再做出考虑。
总的来看,数据标注在自动驾驶领域中应用时,会存在各式各样的问题,导致标注成本的提高和标注效率的下降。以下列举了几个常见的标注数据的质量问题:
第一,数据准确度较低。例如,图像数据明明显示是一辆SUV车,可需求方在定义的时候认为这是一辆卡车。
第二,数据清晰度不够。例如,图像属于一张模糊图,但图上的车辆无法直观的判断出具体车型,这种时候这类图片是无法标注的。
第三,数据需过度分析。例如,标注员需要寻找到图像中远处某辆红色车辆具体是什么类型的车,但是需要花费大量的时间去找,然后去分析。
所以用于做标注的数据,需要满足一定的标准(即数据准确度要高、数据无需过度分析、数据需保持一定清晰度),才能更高效地完成标注。
磨合期较长会导致项目落地进度变慢,如果是甲方的原因导致数据没有按时给到标注团队,那么前期已经准备好的人力和工具都会因停摆而造成损失;如果是乙方的原因导致数据没有及时生产,那么会造成需求方的感知团队没能及时拿到数据进行下一步的项目研发。
某自动驾驶公司的解决方案负责人说:“甲方通常希望的是在1~2周内启动项目,一个月内开始回数据,但实际情况却是大概花费三个月时间来磨合。内部感知的同事在写需求时的心态是把标注团队当成了自己的客户,然后思考怎么让标注员理解更快,怎么能让他们可以举一反三,尽量去做得更好。”
总的来说,磨合周期长短的关键其实还是在于双向需求传递是否到位,以及甲乙方的需求是否对齐。
某L4自动驾驶公司技术负责人说:“在数据生产的过程中,标注团队作为乙方,需要去跟甲方的感知算法团队进行对接。在对接的过程中,我们也发现了一些问题,标注公司的员工结构中,普遍学历层次不会特别高,但感知的模型不是这些标注员做的,具体哪些东西需要标,哪些不需要标,主要依赖于感知算法团队自己对模型的逻辑理解。
“一方面,需求文档需要做到知识的标准化。感知算法团队需要出一份标注规则,并给与培训师。在培训的过程中,通常需要由浅入深的去完成培训,比如第一周就是了解最基础的规则,然后再花更多的精力在找物体之类的工作上;另一方面,甲乙方需要减少沟通的流程。通常会直接拉上感知算法团队、标注团队的质检员以及具体的执行团队,让他们在一个会议群内直接沟通,缩短沟通的距离。”
另外,造成甲乙方磨合周期较长的另一个原因则是:新需求的随意添加。”
当一个自动驾驶项目已经运营了一段时间后,如果突然有一个新的需求需要加入,这会是一件很崩溃的事情。
某自动驾驶公司的解决方案负责人说:“如果需求是稳定的,感知人员可以往上面加规则,但这个新加的规则一定不能是全新的需求,或者说是完全颠覆原有需求的规则。它应该是一个正向的需求规则,并且该规则是对前面规则的补充,但不能是一个特别生硬的规则。”
自动驾驶公司在采购数据服务时,除了服务能力外,也会特别关心服务的采购价格。甲方会在意如何采购到既便宜又高效的服务,而乙方会在意如何能以合适的价格竞标到数据标注项目。关于数据服务成本的话题,各路代表也阐述了自己的观点。
一般来说,自动驾驶企业会根据自己业务发展所处的阶段,再考虑到预算状况后,选择合适且性价比最高的数据服务。大部分的自动驾驶企业会把低成本作为首要原则来考虑,但这种选择低价格的策略往往会让企业在采购数据标注服务时,陷入低价者的陷阱中。
恺望数据项目经理史笑宁说:“以恺望数据为例,虽然公司的报价比起那些低价供应商的价格要高出一些,但也不是特别夸张,比如所出的报价相差10倍。好的数据标注企业的报价是有一定科学依据的,为了保证数据交付的质量,不能光看表象的成本,而应该是看报价背后的一些隐性成本。
“第一,项目前期的供应商沟通成本。甲方在筛选优质供应商时,或许前期沟通已经需要三个月的时间了,而某些标注企业虽然能提供所谓的低成本的服务,但与其沟通成本可能会更高。
“第二,项目中期的供应商更换成本。如果已经选定的供应商做的标注质量不好,甲方可能会选择更换供应商,那就需要再走内部流程,还需要去重新磨合,在经过一个艰难的上升爬坡过程后,才能正式进入数据生产。如果更换后的供应商,其标注质量还是不达标的话,就会陷入一个死循环中。
“最后一个成本是项目后期的返工成本。如果进入生产阶段后,由于标注质量较差,而进入无尽的返修中,可能需要一个月的返修重新标注,甚至可能会延长到两个月,其中浪费的时间会造成算法部门的‘空等’。在甲方‘空等’的同时,其竞争对手或许就像F1赛车一样,已经跑完一圈,正在加下一波油了,而它却还在加第一次油。”
对于数据标注的成本,一味地恶性竞争只会降低标注服务质量,应该选择一种更可取的良性的降价方式——从数据价值最大化角度,降低标注成本相对数据价值的占比。
首先,在当前优质的数据标注服务的报价无法下降的前提下,更应该挖掘数据背后的价值,如果一味地只关注价格,并不能发现数据背后带来的价值变现。
某云服务企业的BD总监说:“如果我们关注的是数据及其所能够带来的价值,客户可能会为这种数据带来的额外价值而去付费,这是价格和价值之间的关联。另外,对于任何一个数据,它的潜在价值需要不断地去挖掘。
“如今可能已有10家以上的自动驾驶公司已经存储100个PB的数据,后期主机厂如此的数据规模可能会更多,行业内的玩家对数据自身能带来的价值越来越重视,数据相应的价格以后也会有更大的价值空间来支撑。
“所以,一家好的数据标注公司,它的技术对传统的标注方式会有很大的帮助,也会对客户后面更大规模的数据变现,创造额外的价值。”
其次,数据标注成本的降低还可以通过批量规模化和降低成本收益比的方式来实现。
一方面,批量规模化是指通过规模化来加强数据的复用性,降低数据标注成本的整体占比;另一方面,先梳理清楚隐性的成本有哪些,并有针对性的降低隐性成本的支出,同时提高产品的附加服务和收益,让成本占整体收益的占比越来越小。
A:信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;
B:信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需有特别牛逼的独家观点才行。多谢理解与支持。
推荐阅读:
◆当候选人说“看好自动驾驶产业的前景”时,我会心存警惕——九章智驾创业一周年回顾(上)
◆数据收集得不够多、算法迭代得不够快,就“没人喜欢我”————九章智驾创业一周年回顾(下)