zz在自动驾驶研发中充分发挥数据的潜能
本次分享内容提纲
数据标注
数据驱动开发
数据驱动决策
前言
上图这是我加入小马智行之前的一个小故事。这不断的提醒我,人工智能需要有足够的数据量,并且充分发挥这些数据的潜能,是我们作为人工智能公司的一个非常重要的核心竞争力。
数据的作用
1. 数据驱动开发:提到数据的作用我们首先会想到,数据驱动开发,包括感知领域、行为预测领域、决策领域,需要有数据(标注好的数据)来作为我们模型训练的粮食和作为系统准确度评测的依据。
2. 数据驱动决策:尤其是优先级的决策,作为创业公司我们现在想做的事情,远远多于我们的人力,如何把人力用在我们需要优先解决的问题上,不管在行车安全性、乘坐舒适性、车辆的运营等等,每个方面都有更重要的问题,或者次要一点的问题,需要做优先级的决策,通过对于数据的分析和处理,拿出一些有效的决策。
3. 展现公司实力:通过对数据的分析,展示出来的结果是可以展示公司实力的。
4. 满足监管要求:数据的保存、处理、分析也是为了满足监管的要求。
数据标注
在讲数据驱动开发和决策前,先分享下关于数据标注的一些体会。
1. 评价指标
对于数据标注来说,它的评价指标有:
① 团队规模:只有你有足够大的团队,你才能在单位时间内标注出你所需要的数量的数据。
② 效率和成本:二者间的关系像是硬币的正反两面,效率是指单个人单位时间的产出量,成本是指单位产出的人力、设备、场地开销。
③ 质量:标注的准确度,比如标注一个激光点云里障碍物的尺寸、位置、朝向的准确度,又比如预测下一步行为的准确度。
这是大家通常所关注的三个方面,下面再讲下另外两个很重要的点:
① 能力多样性:能够处理各种不同种类的标注任务的能力,对地图来说我们需要标注车道线,对于感知来说我们需要标交通灯、障碍物,还有行为预测所需要的标注等。
② 标准灵活性:各种长尾场景(如雨点,汽车尾气等)的处理方式在不断的探索和迭代,随之标注的方式也在不断的探索和迭代,如何保证在这些快速探索和迭代过程中标注团队直接的高效沟通,不至于出现混乱,这需要花很多精力去做。
2. 团队构成
如下图所示:
3. 效率提升与成本控制
技术手段:
① 默认障碍物大小:第一帧可以通过一些人机交互的方式默认障碍物大小。
② 自动追踪外推:接下来,比如说标注员跳了一帧到第3帧,然后把车新的位置手工找到了,当再跳到第5帧的时候,系统就可以通过智能算法做到自动的追踪外推来找到车在第5帧中的新位置。
③ 自动插值:当车在第1帧、第2帧、第5帧的位置都标出来之后,系统可以做自动插值,自动找到车在第2帧,第4帧中的位置。
这里大概看下车的整个标注过程,以及人机交互方面的技巧,通过人工智能的方法提高标注员的效率。
相比于车载系统,智能标注系统所受的限制更少:
① 更多的可用信息:比如在尝试智能标注某一帧数据的时候,可以参考其后的数据帧里的信息;
② 更宽松的计算资源和时间限制。
需要注意的问题:
对自动化结果的依赖,可能导致标注结果中产生系统性偏差
如何发现和识别这些系统性偏差
不同的自动化功能,产生系统性偏差的几率和程度各不相同
非技术手段:
① 薪酬激励
② 组织结构设计:这里最主要的是信息流动的结构,比如:具体的某些场景的某个细节如何通过标注平台的某些技巧去标注,如何促进这些技巧在标注团队内部被高效地总结、传播。
③ 各工段之间成本平衡:系统化的思考,我们标准的流程分为标注、质检、复检等多个工段,通过各工段的配合达到整体的优化,而不是单纯的只优化某个工段。
当然所有的非技术手段依赖于标注平台对于标注任务生命周期与标注团队架构、绩效的管理。
4. 系统能力
这里的一个核心目标是何如保证系统在大规模标注团队持续高频使用的条件下能保持稳定运行。这里举一个因为平台不稳定性产生的焦虑感,进而导致恶性循环的例子:
保存失败:比如标注了5分钟,尝试保存的时候失败了。
工作成果丢失的焦虑感
更加频繁地尝试保存
系统负载进一步提高
系统稳定性和响应速度进一步下降
而且有些时候牵扯到外部合作商时,会进步一加剧一种情况:信任成本升高,降低长期合作意愿。
这对我们提出的要求是:
① 不断优化、提升效率
② 保持稳定、保障效率:最细微的稳定性问题都可能导致效率下降
③ 良好的工程实践:
与线上系统隔离的完整测试环境,要求能较为准确地重现线上数据规模和数据分布
分级发布流程
线上系统监控及应急处理预案
关于提升效率的 Tips:
开发:实现效率优化方案
测量:在实现方案后,对标注员的操作流程和节奏进行记录和准确复现
提升:在测量和观察中,发现可能的效率提升点,然后再循环到第一点。
数据驱动开发
上图是我们的一个愿景:先是利用机器智能,提高人工标注效率,然后利用人工标注结果,提升机器智能,最后再反过来利用机器智能,提高人工标注效率,达到一个交互促进的过程。
1. 充分利用海量标注数据
① 分布式训练和评测系统
② 人工标注的质量是有极限的,这需要我们:
对标注数据的进一步处理与修正
在设计评测指标时,要考虑到标注数据常见的质量问题。避免设计出的评测指标对于这些常见质量问题过于敏感。
2. 数据索引平台
数据在各个维度上的分布,例如:
时段和天气
道路等级
障碍物种类
住宅、商业区、工业区
当我有了索引平台,可以做的事情有:
① 标注任务筛选:基于分布上不平衡的维度,对路测原始数据的自动化初筛
② 训练数据选取:按照指定的维度检索访问标注数据
③ 评测数据集维护:难度和规模分级
数据驱动决策
1. 路测事件分析
问题路段
问题模块
问题车辆
问题时间段
深入分析的工具
2. 数据展现方式
这里我们主要面临的挑战:
准确性:给的数据要靠谱,有说服力
实时性:每次采集的数据都可以实时更新
易用性:从界面上可以直观的看到关键数据
这需要我们:
① 以用户为中心,依据关键决策流程,不断迭代与优化
② 根据不同受众和使用场景,提供差异化的视图
运营团队周会
公司高管 C-level
团队 tech lead
③ 在每个视图中,提供最简洁实用的图表
在默认视图中,提供刚刚好用户想要的信息,不多不少
对于每一个数据点,提供进一步深入分析的工具
zz在自动驾驶研发中充分发挥数据的潜能的更多相关文章
- zz“老司机”成长之路:自动驾驶车辆调试实践
随着自动驾驶技术的发展,一辆新车从被改装到上路需要经过的调试流程也有了许多提升.今天,我希望结合自己之前的调车经验来跟大家分享一下我们是如何将系统的各个模块逐步上车.调试.集成,进而将一辆“新手”车培 ...
- 自动驾驶缺人才?听听David Silver怎么说!
如今自动驾驶在全球范围内的发展势头愈发“凶猛”,该领域人才也一度被视为“香饽饽”. 即使在美国,自动驾驶工程师的起薪也已经突破了25万美元,我国‘“开价”之高更是令人咋舌. 人才.人才.还是人才!重要 ...
- 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统
日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...
- Mobileye 自动驾驶策略(二)
Mobileye 自动驾驶策略(二) 与多方都成功进行了合作,其中比较大型的合作包括法雷奥.百度和中国 ITS. 法雷奥是最近的的 Tier 1 合作伙伴,法雷奥和 Mobileye 签署协议,表示未 ...
- 自动驾驶系统 bfs
一家科技公司有一块试验地用于测试自动驾驶系统.试验地由n×m个格子组成,从上到下依次编号为第1到n行,从左到右依次编号为第1到m列.试验车位于其中的某个格子上,每次自动驾驶系统可以控制汽车往上下左右移 ...
- 自动驾驶定位算法-直方图滤波(Histogram Filter)定位
1.直方图滤波(Histogram Filter)的算法思想 直方图滤波的算法思想在于:它把整个状态空间dom(x(t))切分为互不相交的部分\(b_1.b_2....,b_{n-1}\),使得: 然 ...
- 自动驾驶传感器比较:激光雷达(LiDAR) vs. 雷达(RADAR)
自动驾驶传感器比较:激光雷达(LiDAR) vs. 雷达(RADAR) 据麦姆斯咨询报道,2032年全球范围内自动驾驶汽车的产量将高达2310万辆,未来该市场的复合年增长率(CAGR)高达58%.届时 ...
- L3级自动驾驶
L3级自动驾驶 2020年开年 3月9日,工信部在其官网公示了<汽车驾驶自动化分级>推荐性国家标准报批稿,并拟于2021年1月1日开始实施. 按照中国自身标准制定的自动驾驶分级标准,在千呼 ...
- Mobileye 自动驾驶策略(一)
Mobileye 自动驾驶策略(一) 详解 Mobileye 自动驾驶解决方案 Mobileye的自动驾驶解决方案.总得来说,分为四种: Visual perception and sensor fu ...
随机推荐
- Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- python实现定时任务那些你不知道的模块
一.使用time中的sleep 这种方式最简单,在循环里放入要执行的任务,然后sleep一段时间在执行 from datetime import datetime import time # 每n秒执 ...
- Vue中MVVM模式的双向绑定原理 和 代码的实现
今天带大家简单的实现MVVM模式,Object.defineProperty代理(proxy)数据 MVVM的实现方式: 模板编译(Compile) 数据劫持(Observer) Object ...
- jdk自带监控程序jvisualvm的使用
监控小程序的配置 生产环境tomcat的配置 编辑应用所在的tomcat服务器下的bin目录下的catalina.sh文件,修改如下: 配置如下内容: export JAVA_OPTS="- ...
- Salesforce学习之路(八)一次拉取多个文件或全部文件至本地
在开发中,经常会遇到本地工程错乱或者误操作导致本地本地项目被删除,此时利用SFDX: Retrieve Source from Org只会拉取新建并且名称相同的组件,若通过创建一个个文件,然后再拉取的 ...
- 网页静态化技术Freemarkerh简介
1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信 ...
- css不常用的4个选择器-个人向
①:element1.element2(给同时满足有element1和element2 2个类名的元素添加样式) <!DOCTYPE html> <html> <head ...
- jQuery 源码分析(二) 入口模块
jQuery返回的对象本质上是一个JavaScript对象,而入口模块则可以保存对应的节点的引用,然后供其它模块操作 我们创建jQuery对象时可以给jQuery传递各种不同的选择器,如下: fals ...
- 带你认识MySQL sys schema
前言: MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库. sys库里 ...
- Zabbix图表中文乱码(包含Docker安装乱码)
目录 Zabbix 4.0 版本 Zabbix 3.0 版本 Zabbix 4.0 Docker 版本 图表乱码问题解决 文章github 地址: 点我 最近在看 Zabbix 4.0 版本的官方文档 ...