好算法更要配好用的芯片——基于LSS范式的BEV感知算法优化部署详解
地平线征程®5
地平线征程5是专为高阶智能驾驶打造的智能计算方案,搭载地平线第三代架构BPU--贝叶斯(Bayes),算力可达128TOPS,是率先实现前装量产的国产百TOPS级智能计算方案。基于征程5开发的高等级自动驾驶方案可实现ADAS功能、高速导航智能驾驶、城区导航智能驾驶和智慧泊车的全场景覆盖。针对自动驾驶实际工况,Bayes结合突破性的AI加速计算技术,通过灵活配置的访存计算,极大的优化内存占用及访存,将并行计算发挥到极致!
简介
BEV即Bird's Eye View(鸟瞰视图)是一种从空中俯视场景的视角。由多张不同视角采集的图像通过不同的空间转换方式形成,如下图所示,左侧为6张不同位置的相机采集的图像,右侧为转换的BEV图像。
BEV感知模型指的是直接输出BEV坐标系下的感知结果,如动静态检测目标,车道线,路面标识等。BEV坐标系好处是:
1. 成本低。相比3D点云的方式来补充3维信息,纯视觉方案的成本更低;
2. 可以直接给到下游任务,例如预测和规划;
3. 可以在模型中融合各视角的特征,提升感知效果;
4. 可以更好的和各类传感器进行融合。
对于下游的预测和规控任务而言,需要的是3D的目标,因此在传统的自动驾驶方案中,2D的感知推理结果需要通过复杂的后处理去解决3D坐标提升的问题。而BEV感知模型是更接近于一种端到端的解决方案。
当前主要的BEV 转换方式为以下三种:
• IPM-based:基于地面平坦假设的逆透视映射方式,技术简单成本低,但是对上下坡情况拟合效果不好。
• LSS-based:通过显示的深度估计方式构建三维视锥点云特征,也是较常用的转换方式。
• Transformer-based:用transformer机制学习3D query和2D 图像特征之间的关系来建模。部署时global attention的计算量较大, 需要考虑端侧运行时对性能的影响。
在实际部署时,需要考虑算法的端侧性能。地平线的参考算法目前已赋能多家客户实现BEV感知算法在征程5上的部署和开发,多家客户已实现BEV demo开发。本文以LSS范式的BEV感知算法为例,介绍地平线提供的参考算法如何在公版的基础上做算法在征程5芯片的适配和模型的优化。
整体框架
BEV系列的模型使用多视图的当前帧的6个RGB图像作为输入。输出是目标的3D Box和BEV分割结果。多视角图像首先使用2D主干获取2D特征。然后投影到3D BEV视角。接着对BEV feature 编码获取BEV特征。最后,接上任务特定的head,输出多任务结果。模型主要包括以下部分:
Part1—2D Image Encoder:图像特征提取层。使用2D主干网络(efficientnet)和FastSCNN输出不同分辨率的特征图。返回最后一层--上采样至1/16原图大小层,用于下一步投影至3D BEV坐标系中;
Part2—View transformer:采用不同的转换方式完成图像特征到BEV 3D特征的转换;
Part3—BEV transforms:对BEV特征做数据增强,仅发生在训练阶段;
Part4—3D BEV Encoder:BEV特征提取层;
Part5—BEV Decoder:分为Detection Head和Segmentation Head。
LSS方案
公版的LSS方案如下:
公版的LSS方案分为3个部分:
1. 将图像从2d平面提升到3d空间,生成3d视锥(frustum)点云,并对点云上所有的点预测context特征,生成context特征点云;
2. 对视锥点云和context特征点云进行 “Splat” 操作,在BEV网格中构建BEV特征;
3. BEV特征后,可通过“Shooting”完成特定的下游任务,比如Motion Planning。
模型部署分析
在部署之前,需要对公版模型做部署分析,避免模型中有BPU无法支持的算子和某些对性能影响较大的算子。对于无法支持的算子,需要做替换;对于影响性能的算子需要做优化。同时为了达到更好的精度会增加训练策略的优化和量化策略的优化。本章节先对公版模型做部署分析,最后给出地平线的优化方式。
问题1 大尺寸运算导致性能瓶颈
由于深度特征的增加,feature的维度是高于4维的,考虑到transpose算子的耗时问题和部署问题,LSS方案中会存在维度的折叠,对feature做view和H维度的折叠。对应的操作为:depth_feature会做view和Dim、H和W的折叠。维度折叠会导致feature的维度变大,在生成视锥点云时,其涉及的操作mul操作的输入也就增大了,在做部署时会导致DDR带宽问题。因此公版的步骤1中的大尺寸算子计算需要做对应的优化。
问题2 BEVpooling的索引操作支持问题
公版在做2D到3D转换时,从图像空间的index映射到BEV空间的index,相同的BEV空间index相加后再赋值到BEV tensor上,即公版的步骤二。考虑到征程5对索引操作无法支持,因此该操作在部署时需要做替换。
问题3 分割头粒度太粗
地平线提供的是多任务的BEV感知算法,对于多任务模型来说不同的任务需要特定的范围和粒度,特别是对于分割模型来说,分割的目标的粒度较小,因此相比于检测任务来说feature需要细化,即用更大的分辨率来表示。
问题4 grid 量化精度误差问题
对于依赖相机内外参的模型来说,转换时的点坐标极其重要,因此需要保障该部分的精度。同时grid的表示范围需要使用更大比特位的量化。
针对以上4个问题,本章节会介绍该部分在征程5的实现方式使其可以在板端部署并高速运行。
性能优化
mul的性能优化
为了减少大量的transpose操作和优化mul算子的耗时问题, 我们选择把深度和 feature 分别做grid_sample后执行mul操作,具体操作如下:
mul操作的计算量大幅减少,性能上提升4~5倍!
BEV_pooling部署优化
使用grid_sample代替公版的3D空间转换。即从原来的前向wrap-从图像空间特征转换到BEV空间特征,改为从BEV空间拉取图像空间特征。
公版实现:
a. 通过一个深度估计变成6D的tensor
b. 从图像空间的index映射到BEV空间的index,相同的BEV空间index相加后再赋值到BEV tensor上
2. 地平线实现:
使用grid_sample代替公版的3D空间转换。grid_sample为采样算子,通过输入图像特征和2D点坐标grid,完成图像特征到BEV特征的转换,其工作原理见下图。
horizon_plugin_pytorch提供的grid_sample算子和公版输入略有差异,地平线已支持公版的grid_sample算子。
由于该转换方式是前向映射,前向映射会产生的BEV index并不均匀,最多的一个voxel有100多个点,最少有效点为0。我们在提供的源代码中使用了每个voxel使用了10个点,如果想要提升精度可以考虑增加每个voxel的有效点。
精度优化
多任务模型的精度优化
参考BEVerse模型对多任务根据不同粒度进行细化,在分割头做解码之前,将BEV feature的分辨率增大,map size为[200,400],实现上由grid_sample完成。
浮点模型精度的优化
在浮点模型的训练上,使用数据增强来增强模型的泛化能力,通过尝试不同的增强方式,最终选取BEVRotate方式对输入数据做transform。相比于未做数据增强的浮点模型mAP提升1.5个点,NDS提升0.6个点。详细实验记录见实验结果章节。
量化精度的优化
BEV_LSS的量化训练采用horizon_plugin_pytorch的Calibration方式来实现的,通过插入伪量化节点对多个batch的校准数据基于数据分布特征来计算量化系数,从而达到模型的量化。BEV_LSS模型无需QAT训练就可以达到和浮点相当的精度。
除了量化方式上的优化,地平线对输入的grid也做了优化,包括了
手动计算scale,使用固定的scale作为grid的量化系数。
2. grid_sample算子的输入支持int16量化,为了保障grid的精度,地平线选择int16量化。
基于以上对量化精度的优化后,最终定点精度达到和浮点相当的水平,量化精度达到99.7%!
实验结果
1. 性能和精度数据
2. 不同数据增强方式对浮点模型的精度影响。
3. 地平线征程5部署LSS范式的BEV模型通用建议
• 选用BPU高效支持的算子替换不支持的算子。
• num_point会直接影响性能和精度,可以根据需求做权衡。处于训练速度考虑使用topk选择点,若想要更高的精度可以对点的选择策略做优化。
• grid使用fixed scale来保障量化精度,如超过int8表示范围则开启int16量化,具体见grid量化精度优化章节。
• 对于分辨率较大导致带宽瓶颈或不支持问题,可以拆分为多个计算,缓解带宽压力,保障模型可以顺利编译。
• 对于常量计算(例如:grid计算)编译时可以作为模型的输入,提升模型的运行性能。
总结
本文通过对LSS范式的BEV多任务模型在地平线征程5上量化部署的优化,使得模型在该计算方案上用远低于1%的量化精度损失,得到latency为8.21ms的部署性能,同时,通过LSS范式的BEV模型的部署经验,可以推广到基于该范式的BEV模型的优化中,以便更好的在端侧部署。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由FY转载自地平线HorizonRobotics公众号,原文标题为:好算法更要配好用的芯片 —— 基于LSS范式的BEV感知算法优化部署详解,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
世界模型:地平线眼中的「认知大脑」
在8月28日举办的地平线高阶智驾技术开放日上,地平线创始人兼CEO余凯博士就当下火热的端到端,智能驾驶未来发展趋势、地平线软硬结合的王炸产品Horion SuperDrive™(HSD™),与参会嘉宾进行了真诚的分享。其中,余凯博士提到,“端到端是每家公司都能掌握的,魔鬼在细节中。” 本篇文章即从端到端讲起 ,并为大家剖析何为地平线的“驾驶世界观”。
技术探讨 发布时间 : 2024-10-23
智能驾驶是创造需求吗?
层出不穷的智能化功能真的是消费者需要的吗;智能驾驶,是否是在创造需求;智能驾驶作为一个强生态的产业链,在每个节点上是否演化出了其他相关的新需求?
技术探讨 发布时间 : 2024-04-20
地瓜创客孵化营 | 让每一块 RDK X5,都成为你手中的机器人!
地瓜机器人开发者日就要来啦!面向智能计算与机器人解决方案的通用型开发板新品RDK X5,接口丰富,极具性价比,具有10T算力,与强大的图像处理能力,助力开发者轻松实现多种智能应用。加入“地瓜创客孵化营”你将和一群“地瓜创客”一起找到将你的开发板转变为智能机器人的最佳路径。
原厂动态 发布时间 : 2024-09-13
四维图新发布基于地平线征程6系列的智驾产品矩阵,加速行业高质量发展
征程 6 系列是地平线在今年 4 月正式推出的全新车载智能计算方案,可覆盖从主动安全到全场景智驾的全阶应用。作为一款系列化的车载智能计算方案,征程 6 拥有统一的硬件架构、统一的工具链以及统一的软件栈,以及配套一致、完整成熟的智能驾驶量产开发平台,将助力四维图新等合作伙伴实现“快人一步”的量产效率,从而赋能车企决胜汽车智能化时代。
应用方案 发布时间 : 2024-11-13
地平线与大众汽车集团旗下软件公司CARIAD合资公司正式成立,强大智能驾驶计算方案驱动出行变革
行业领先的智能驾驶计算方案提供商地平线与大众汽车集团旗下软件公司CARIAD正式宣布合资公司酷睿程(CARIZON)成立。新合资公司将整合地平线强大的软硬结合技术能力以及CARIAD在智能车身和软件系统整合方面的专业经验,开发行业领先的、高度优化的全栈式高级驾驶辅助系统和自动驾驶解决方案。酷睿程将基于地平线征程家族计算方案开展研发工作,落地智驾方案将搭载于大众汽车集团在中国市场的纯电动车型。
原厂动态 发布时间 : 2023-12-14
地平线算法工具链新进展! GANet在征程®5上实现高效部署
地平线征程5是专为高阶智能驾驶打造的智能计算方案,搭载地平线第三代架构BPU--贝叶斯(Bayes),算力可达128TOPS,是率先实现前装量产的国产百TOPS级智能计算方案。基于征程5开发的高等级自动驾驶方案可实现ADAS功能、高速导航智能驾驶、城区导航智能驾驶和智慧泊车的全场景覆盖。
原厂动态 发布时间 : 2024-02-23
再创新高,地平线征程家族出货量正式突破600万!
地平线车载智能计算方案出货量突破600万套,自2020年起持续快速增长。征程家族计算方案适应多级别智驾市场,合作车型超30家,累计量产车型270款。新推出的征程®6系列和SuperDrive全场景智能驾驶解决方案致力于提升城区NOA领域的智驾体验,预计2024年第四季度推出标准版量产方案。地平线以其技术成熟度和量产合作模式,稳居智驾科技供应商领先地位。
原厂动态 发布时间 : 2024-09-19
多维优化Centerpoint模型成果显著!基于3D点云的多任务模型在板端实现高效部署
本文通过对基于3D点云的多任务模型在地平线征程5上量化部署的优化,使得模型以低于1%的量化精度损失,得到latency为23.79ms 的部署性能。在点云处理方面,通过针对性的优化方法,灵活支持了不同点云输入并大幅提高点云处理的速度;在特征提取方面,选用了征程5高效结构 MixVarGENet+UNET;在输出设置上,采用多任务输出设计,能够同时得到 3D 目标检测结果和可行驶区域的分割结果。
原厂动态 发布时间 : 2024-01-16
比亚迪汉EV荣耀版搭载征程®5上市!地平线助力比亚迪加速智驾全面普及
比亚迪汉EV荣耀版正式上市,推出天神之眼四驱智驾型,成为比亚迪王朝首个搭载“天神之眼”DiPilot 100 平台的车型。采用国内首款百TOPS级算力,高阶智驾专用计算方案地平线征程®5,在L2+级智能驾驶辅助功能基础上,可进一步升级涵盖高速和城市快速路的高快领航NOA、AVP代客泊车功能......
原厂动态 发布时间 : 2024-04-11
基于地平线征程6E的中阶智驾方案已正式启动量产交付开发
智能驾驶系统供应商鉴智机器人基于地平线征程6E打造的多款中阶方案获得头部车企与Tier-1定点,并已正式启动量产交付开发。鉴智机器人作为地平线征程6首批算法合作伙伴,在征程6于今年4月发布同期,便推出基于征程6E的全栈解决方案,仅用3天完成感知算法迁移部署,15天内完成高速NOA方案上车,3个月内斩获定点合作,开发效率大幅提升。
原厂动态 发布时间 : 2024-08-10
【IC】地平线发布征程6和高阶城区智驾样板间,以顶级的软硬结合全栈技术加速智驾平权
2024年4月24日,地平线举办“征程所向,向高而行”——2024智驾科技产品发布会。立足于智能驾驶时代,地平线凭借对软硬结合全栈技术理念的前瞻预判和深厚积累,重磅发布新一代车载智能计算方案征程®6系列以及Horizon SuperDrive™全场景智能驾驶解决方案,全面开启智能驾驶的范式级创新,加速智驾平权时代的到来。
产品 发布时间 : 2024-04-26
搭载地平线征程®系列车规级智能芯片,佑驾创新推出高性能行泊一体域控与高性价比智驾前视一体机
智能驾驶解决方案研发商佑驾创新宣布推出两款搭载地平线征程®芯片的智能驾驶产品:搭载征程®5的高性能行泊一体智能驾驶域控制器D3t和搭载征程®3的高性价比智能驾驶前视一体机D2。
原厂动态 发布时间 : 2023-01-11
「老司机」首秀后,关于Horizon SuperDrive™的十问十答
4月24日,地平线发布了全新一代车载智能计算方案征程®6系列和Horizon SuperDrive™全场景智能驾驶解决方案。这两款产品的发布标志着地平线作为下一代全场景高阶智驾的行业标杆,为行业提供了全场景、全天候的高阶城区智能驾驶功能。围绕SuperDrive的拟人体验、端到端算法实践、原生软硬结合等优势,筛选了10个热门典型问题,带来了系统且更具针对性的解读。
原厂动态 发布时间 : 2024-06-27
如何打造“好用”的算法工具链?地平线「你好,开发者」工具链技术专场
地平线作为国内自动驾驶智能计算方案领域的领头羊,基于征程系列芯片打造了天工开物算法工具链。天工开物为开发者提供了一套灵活、高效、开放的软件工具,能够满足其在模型训练、量化、优化、编译、仿真和部署、调试等各个环节的开发需要。
原厂动态 发布时间 : 2023-11-18
电子商城
现货市场
服务
提供稳态、瞬态、热传导、对流散热、热辐射、热接触、和液冷等热仿真分析,通过FloTHERM软件帮助工程师在产品设计初期创建虚拟模型,对多种系统设计方案进行评估,识别潜在散热风险。
实验室地址: 深圳 提交需求>
使用FloTHERM和Smart CFD软件,提供前期热仿真模拟、结构设计调整建议、中期样品测试和后期生产供应的一站式服务,热仿真技术团队专业指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论