0 前言
在自动驾驶的pipeline中,环境感知、定位地图和决策规划比较偏算法,两端偏硬件外设,这是由车的硬件架构决定。虽然pipeline在这几十年来已逐渐成型,在最近几年有了很大的演进趋势变化。从下方的图可以看出主流的方法只在环境感知中很窄的一段区间应用AI算法,而近几年的趋势中, AI算法在整个pipeline里的范围越来越大,这种趋势更好的表述为--软件2.0。深度学习作为“软件2.0”的重要技术,是自动驾驶发展的核心驱动力,在感知层面大幅提高图像识别准确率,在决策层面深度强化学习有效提升算法能力。由此自动驾驶在深度神经网络算法出现后开启了加速式发展,感知算法从传统的2D检测、分割转变为大模型趋势。其中以Transformer为代表的大模型成为自动驾驶感知中的热门算法,与此同时也诞生了新的感知范式-bev 感知。
在自动驾驶的pipeline中,环境感知、定位地图和决策规划比较偏算法,两端偏硬件外设,这是由车的硬件架构决定。虽然pipeline在这几十年来已逐渐成型,在最近几年有了很大的演进趋势变化。从下方的图可以看出主流的方法只在环境感知中很窄的一段区间应用AI算法,而近几年的趋势中, AI算法在整个pipeline里的范围越来越大,这种趋势更好的表述为--软件2.0。深度学习作为“软件2.0”的重要技术,是自动驾驶发展的核心驱动力,在感知层面大幅提高图像识别准确率,在决策层面深度强化学习有效提升算法能力。由此自动驾驶在深度神经网络算法出现后开启了加速式发展,感知算法从传统的2D检测、分割转变为大模型趋势。其中以Transformer为代表的大模型成为自动驾驶感知中的热门算法,与此同时也诞生了新的感知范式-bev 感知。

随着软件2.0的到来,自动驾驶感知算法层出不穷,随之也进入了“高阶”时代,但是算法发展快与芯片迭代慢的矛盾导致将算法部署和量产落地变得不那么容易,随之而来的是对技术和成本的大量投入。为了加速算法开发速度和在地平线J5芯片上的部署速度,芯片算法工具链提供了丰富的参考算法示例以提高适配和落地的效率,帮助使用者快速上手,让算法移植不再艰难。
1 参考算法
地平线为加速使用者算法开发和方案部署提供了多个参考算法示例。这些示例是基于地平线的深度学习框架HAT(Horizon Algorithm Toolkit)下开发实现的,其中包括基础示例模型和智能驾驶领域的热点模型,具体包含的场景见下图。参考算法不仅涵盖了经典的场景模型,还对热点模型-transformer类的大模型也提供了多个应用示例,同时支持多种bev转换方式。这些示例模型均可直接在J5上编译、部署,参考算法的作用是帮助使用者可以快速完成模型的J5模型部署、加速落地。同时参考算法提供了多个对J5友好的模型结构以便你可以快速搭建出自己的模型或可基于参考模型二次开发以减少投入成本。从支持经验和使用反馈表现来看参考模型在快速适配J5上有很大价值!

2 参考示例
目前参考算法包中提供了多种示例模型,包括公版模型和各场景的示例模型。公版模型为基于torchvision的公版模型,有助于您了解J5芯片对公版的支持情况,以及做benckmark评测;在场景示例中,地平线工具链参考算法包中提供5类场景模型,涉及场景可参考以下图表。同时为响应智驾市场需求,加快智能驾驶方案快速部署落地,参考算法包中还集成了智能驾驶3D感知中的热点模型,其中包括bev模型,transfomer模型和基于雷达点云的3D检测模型。以下章节将介绍示例模型的作用和部分检测效果。

2.1 基础示例
基础模型
基础示例模型是为更好的适配J5和追求更高的性能,基于对公版模型做了一些改动而成。例如mobilenet、resnet、efficientnet等。基础模型在J5上的运行效率非常可观,基于这些网络结构可以让您快速搭建对J5友好的模型,方便部署,加快落地,例如将backbone替换为地平线高效支持的efficientnet或轻量级的mobilenet等。
基础模型
基础示例模型是为更好的适配J5和追求更高的性能,基于对公版模型做了一些改动而成。例如mobilenet、resnet、efficientnet等。基础模型在J5上的运行效率非常可观,基于这些网络结构可以让您快速搭建对J5友好的模型,方便部署,加快落地,例如将backbone替换为地平线高效支持的efficientnet或轻量级的mobilenet等。

Basic model 性能/精度数据
注:quantization为浮点模型量化后的定点模型精度,各版本精度会有细微差异
注:quantization为浮点模型量化后的定点模型精度,各版本精度会有细微差异
MixVarGENet
除公版改进的基础示例外,地平线提供了自研的MixVarGENet模型,MixVarGENet为基于J5的自动网络结构搜索模型。该网络是引入芯片模拟器(HBDK)信息,自动搜索对硬件高效网络结构的模型结构,基于该结构可以充分发挥J5的算力优势,提升网络性能,减少访存时间,具有高性能,高效率特点,双核FPS达5770+。

Swin-Transformer
地平线基于公版transformer结构开发了适配于J5的swin-transformer和detr。swin-transformer目前我们已支持SW-MSA和W-MSA结构,Swin-t模型在224*224分辨率输入下,J5上性能可达140FPS。
2.2 2D场景模型
地平线工具链参考算法发布包中集成了多个场景的2D模型,例如在XJ3/5中均可支持的检测模型-fcos,实现是基于free-anchor的,性能达到双核1763FPS。在自动驾驶的车道线检测和可行驶区域检测任务中均用到了语义分割,代表性的算法有FCN、U-Net、DeepLab系列等,以上均在参考算法包中提供。同时还提供了车道线检测、光流预测等多个场景下多个示例模型。
车道线场景:GANet

性能数据

GANET可视化效果图
2D检测: FCOS

性能数据

fcos可视化效果图
2D分割:UNet

性能数据

unet可视化效果图
光流预测场景:PWCNet

性能数据

PWCnet可视化效果图
基于transformer:DETR

性能数据

detr 检测效果图
2.3 3D感知算法
在自动驾驶感知算法中3D感知势如破竹,为响应市场需求,地平线集成了基于bev、transformer的纯视觉模型和基于雷达点云的3D检测算法。在BEV感知中已支持ipm-based 、lss-based、 transformer-based(Geometry-guided Kernel Transformer) 多种bev视觉转换方法。同时对关注度极高的热点模型——transformer 结构,地平线也提供支持swin-t和detr。地平线不仅局限于纯视觉的感知方案,对雷达点云的3D检测也提供了业界关注度极高的pointpillars参考方案。
Lidar 3D检测-pointpillars
地平线实现的激光雷达检测算法中,为提升性能将不友好的算子等效替换为J5上高效支持的结构,弃用公版9维特征使用4维特征数据在几乎不掉点的情况下提降低延时。同时针对voxel-based的模型中复杂的前处理有针对性的算法模型和编译优化,使耗时更短,体验更丝滑!
在自动驾驶感知算法中3D感知势如破竹,为响应市场需求,地平线集成了基于bev、transformer的纯视觉模型和基于雷达点云的3D检测算法。在BEV感知中已支持ipm-based 、lss-based、 transformer-based(Geometry-guided Kernel Transformer) 多种bev视觉转换方法。同时对关注度极高的热点模型——transformer 结构,地平线也提供支持swin-t和detr。地平线不仅局限于纯视觉的感知方案,对雷达点云的3D检测也提供了业界关注度极高的pointpillars参考方案。
Lidar 3D检测-pointpillars
地平线实现的激光雷达检测算法中,为提升性能将不友好的算子等效替换为J5上高效支持的结构,弃用公版9维特征使用4维特征数据在几乎不掉点的情况下提降低延时。同时针对voxel-based的模型中复杂的前处理有针对性的算法模型和编译优化,使耗时更短,体验更丝滑!

性能数据

可视化示例图
BEV视觉感知
BEV模型为多任务模型,集成了检测和分割任务,通过底层共享参数和head层做特定task方式减少模型参数。地平线提供的bev参考算法支持多种转换方式,包括ipm-based 、lss-based、 transformer-based(Geometry-guided Kernel Transformer) 。交付包中还提供了在ipm基础上融合了时序特征的bev_ ipm_temporal模型,精度有效提升。以上转换方式为在公版模型基础上改进,可以在J5上适配的高性能模型。

性能数据

可视化示例图


img视角检测结果
单目3D检测-fcos3D
在fcos 2D的基础上我们近期又提供了了fcos 3D的目标检测算法,该算法目前已完成在J5上的高效适配,其backbone使用efficientnet-b0 替换,经过调整后性能提升为J5双核280FPS ,定点精度表现为mAP: 23.40,NDS:31.87,精度仍在优化中。

性能数据

可视化示例图
3 展望
参考算法2023年会针对更多的场景做研发,将持续在lidar 3D检测和视觉3D感知算法中做进一步的探索和产出,同时还会关注自动驾驶领域的例如地图定位、目标跟踪、轨迹预测等场景,可以达到至少10个关注场景,可以更广泛的覆盖到用户使用场景,加速减少自动驾驶领域“高阶”算法部署困难的问题,助力合作伙伴完成算法移植和demo开发,加快落地!

附:参考算法清单

注:参考算法除bev系列均在OE中集成,路径:ddk/samples/ai_toolchain/horizon_model_train_sample,bev算法包获取方式可联系对接的BD/SR。



