{{detailStore.author.is_follow?'已关注':'关注'}}
首页推荐
管理
在自动驾驶系统里「BEV 模型」究竟能做什么?
文章

自动驾驶有一个有趣的现象,那就是其实从特斯拉推送 NoA 以来,至少在功能层面在最近的 2 - 3 年的时间里其实并没有本质的推进太多。

就比如,除了特斯拉在北美公开测试 FSD Beta 以外,中国市场有几个厂家释放出几个城市自动驾驶的 Demo,其实更多车企还是在努力实现 NoA 这样的能力。

而导致这一现象的核心原因还是:技术。

自从特斯拉 AI 日以来,感知算法、神经网络模型这样的技术在自动驾驶领域的应用被推向了高潮,好像没有独特的技术自动驾驶就很难向前推进。

但其实不管是特斯拉还是谷歌,都在基础检测技术上做了很多功夫,有了基础的积累才能知道算法、芯片、神经网络的布置怎样才是合理的。

所以,提高基础的目标检测的精准度,以及车控的平滑度本身就可以提高功能的可用性以及安全性。

01

自动驾驶车道线检测相关问题

Benchmark 的失真

目前关于 2D 车道线的检测,整体路线偏传统一点,期望纯视觉和无地图,总结下遇到的技术问题。

目前市面上是有很多开源车道线检测的数据集合的,而且对应的 benchmark 指标也看起来很美好,有些数据集都能到 90% 以上的指标。

但是这些 benchmark 其实已经有一定的失真,表现好的模型未必真的有可用性,事实上可以说 benchmark 里面大部分的算法已经 overfit 那些有一定年代的数据集了。当然,新的数据集还没来得及被后来人设计算法来过拟合。

比如,随便举几个例子:

  • 一些 row-wise 的车道线方法,对于角度偏横向的车道线都是没有办法检测的,更别说 U 弯、小环岛这种。
  • 有些模型设计,固定了车道线数目,这带来这些问题:当我们遇到路口时,下半部分的车道线需要 N 条,路口对面的车道线同样需要 M 条;对于少变多和多边少的场景,只能往这些固定车道线上套。
  • 在空间上使用分类思路的模型,将原本是连续的空间关系离散化,造成在类别区间的边界位置检测结果抖动严重。更严重的是分类和业务逻辑绑定在一起,结果抖几个像素问题不大,业务逻辑抖起来,那只能看着车辆到处飞了。
  • 很多算法加了强先验,以至于其可以使用的场景只能是高速。因为稍微复杂一点的场景就没办法满足先验。

这又回到了一个很基础的问题: 面对一个非定义严格的问题,SOTA 真的就一定是适合的么?

在无脑迁移 SOTA 之前,首先还是要多看看问题的定义、数据特点。

从宏大叙事的角度上,数据增多后,先验产生的效益是边际递减的。从工程的角度上,当然是需要掌握一个平衡和时机。

模型

目前换用的方法已经是非常传统的思路。随着数据的增多和训练技术的调整,在整体指标上并没有弱于之前采用的 SOTA 方法,在某些指标上甚至还更高(非公平对比,数据随时间有变化)。

整个训练可以说基本没有太多 trick,很多人期望依靠某个神奇 trick 搞个大新闻的想法本身就比较不现实。

大部分的模型在公开数据集上都是没有「完全训练」的,数据量的增加依然可以提升模型的表现。

模型本身的结构上,考虑到部署平台的限制,也依赖的是非常传统的算子。用一些新的算子或者目标平台低效的算子也确实可以在某些指标上有一点提升。

但是带来的性能损失相比这点收益完全不成比例。模型容量和指标关系也是个 S 曲线,对于有算力目标的平台,现在流行的超大模型最多也只能放在离线辅助使用。

3D 测距

车道线的测距传统思路用的比较多的就是地平面 IPM,也是个强先验的算法。影响因素:

  • 相机内参:内参、畸变问题都比较依赖标定,不过基本都比较稳定。
  • 相机外参:实际行驶过程中,相机外参是一直在变的。
  • 影响因素:车身运动趋势、车内载重分布、路面情况。所以相机的实际高度、角度和静态的标定结果都有误差。可以通过一些真实世界的先验做一些标定参数的动态调整,但是进入不满足先验的场景这些动态调整都没法用。
  • 地面平行:这一假设 99% 的概率不满足,路面横向本身就有弧度,纵向就更不用说了。

外参这块,可以用激光或者 IMU 辅助调整。

地面这块,其实没什么能根本解决问题的,传统的滤波稳定只能针对历史,无法预测未来;车道线平行度的限制,高速场景用一用可以。

利用模型来解决的话,就是预测地面高度,兜一圈下来都能预测地面高度了,直出 3D 关系算了。

而 3D 测距实际上就是目前视觉算法的瓶颈,能够做得好的话,激光反而会落下风。但是想解决其实依赖整个系统,车型设计、下游算法对误差的容忍度都跑不掉。

也就是说,传统思路的车道线检测,算法上、表达上、下游使用方法等方面很多内容没办法横向迁移到市区。

车道线传统测距的误差是不可避免的,尤其是纵向误差。

模型这块,很多强先验的模型虽然指标上好看,但是实用中反而更容易遇到问题,尤其是强先验放在图像空间里。

02

经验

BEV 模型

由于特斯拉的原因,现在的 BEV 模型迎来了一次爆炸,甚至会有人说, BEV 就是解决自动驾驶的关键技术。

但是,实际做过工业研发会知道,BEV 模型虽然有很多优势,但绝对不是一个银弹。

BEV 模型的作用是: 只是提供了一个统一的空间,方便各项任务、传感器的融合;而且,这个空间还是贴合实际物理的。

这样的话,带来几个点:

  • 更加容易进行融合,在 BEV 空间上,其实可以抛弃掉传统的融合。
  • BEV 和下游联系更加紧密,主要是规控,可以提供端到端的可能性,即使不是一步到位在 BEV 上直接进行预测和规划,BEV 的天然物理形式,还是可以利用 BEV 上的一些 featmap 来辅助。
  • 未来,有了新的表达方式,可能 BEV 空间的形式也会被替代。BEV 可以很好的做到物理空间表达,但是时间维度就不太好做端到端,目前的方式包括:加位姿信息、特斯拉的 Spatial RNN、用 Cross Attention 建模。这些都引入了一些不方便进行端到端训练的障碍。

BEV 模型不是银弹, 只是提供了一个相比图像更加贴近物理世界的空间,可以给后续的融合、规划提供更多的可能性。

E2E 模型的可能性

上一点带来的一个可能性就是 E2E 模型的引入。相比传统的规划,可以利用上网络中的原始特征。起码对于一些常用的场景,使用神经网络是有不少优势的,包括算力利用、平滑性、更快速的响应、对各项噪音的容忍度。

但是从感知角度,暴露出更多的原始特征,是可以给下游提供更多想象力的。

对于神经网络, 很多人诟病其黑盒、对异常处理能力不足、仅仅针对训练集合、数据量需求大。

这些确实都是现实的问题,但是,传统方案的人肉调参,在这些问题上一样无法处理。嵌套一堆的代码、人工不断针对遇到的场景的调整,同样面对难以理解掌控、异常处理不足。

一个公司可以继续用传统方法堆策略,慢慢的从 50 分爬到 60 分。但是使用 E2E 的模型,可以无脑的堆数据,在付出较少的时间成本和更快的迭代机制下,做到 65 分。

而且很明确的一个经验: 整体指标上,传统方法的上限是肯定没有神经网络方法高的。

4D 数据

还是感谢特斯拉的 AI day,现在不少公司都在开始弄 4D 数据的标注。

所谓的 4D 数据: 主要解决的还是静态元素的问题。动态目标由于引入时间维度,会有很多对齐的问题,使用传统方法标注更适合。

图商在 4D 标注数据上的先天优势:

4D 标注,就是在视觉传感器上进行静态要素的生产。

这里很大一部分的工具链是和高精地图的生产重合的,尤其是目前大部分公司不会像特斯拉一样,放弃激光传感器。

利用好 Lidar + Camera 的传感器组合,然后使用高精地图的生产工具,是一个非常平滑的技术路径。

对于图商来说,其实仅仅需要补一块视觉 3D 重建的技术。剩下的标定、剔除、对齐、SLAM定位、标注工具、甚至标注规则等等,直接复用就可以。

当然,这只是从技术角度看,从商业上、安全上看这个先天优势有没有意义并没有考虑。

4D 的一些问题

精度问题

还是我的基本观点:追求所谓的厘米级的精度,除了可以 PR 以外毫无意义。 甚至远距离下,米级别的误差也是可以接受的,重要的是误差的稳定。

使用 4D 数据去追求绝对精度厘米级,实际场景下根本做不到。误差来源非常多,比如: 传感器标定与同步、定位和 SLAM 优化、标注本身、流程中的算法误差。

遮挡

4D 数据依然要考虑静态遮挡。

有些场景下,视觉本身看不到的要素。由于加入了时序融合,标注里面是有的。被遮挡的要素,在训练过程中会对模型有负面影响。

同理,动态遮挡也会带来类似的问题。比如,拥挤堵车场景下,视觉看见的全是周边的车辆,地面一点都看不到,没有给模型任何线索。

传感器

传感器优势与劣势

这里只简单说下 Lidar 和 Camera,毫米波在现阶段精度不够。

Lidar

很多人喜欢说 Lidar 对恶劣天气的容忍度。不过按照我自己的了解,Lidar 对恶劣天气的容忍度并不高。

Lidar 劣势:

  • 雨雪雾天气基本都会有问题,工业场景下的尘土也会有影响。
  • 面对可以反射、折射光线的物体会有问题,比如水面、镜子。
  • 密度不足带来的小目标、检测距离表现差。非要比最远检测距离的话,会被相机往死里锤。大点的路口对面的小孩能不能扫出来都是问题。

优势也是很明确的:

  • 主动光传感器,晚上也可以。(负面问题则是,算法不优化的话,以后车多了可能互相干涉)
  • 绝对的测距精度优势。

Camera

摄像头长期以来都是备用传感器的角色,当然现在也有技术方案依靠「模型 + 算力」来支持摄像头作为主传感器的方案。

劣势:

  • 光线影响太大
  • 测距误差大

优势:

  • 信息密度
  • 成本优势

在不考虑光线负面影响的情况下,相机和激光之前的差异并没有大到不可替代。

在测距误差这点上,虽然相机的测距肯定不如激光,但实际使用中并不需要精准到激光的测距水平。只要运动趋势能够稳定,30m 内精度分米级别,100m 内米级别,这样的测距精度就是可用的。

单看精度的话,相机的模型很轻松就能达到这个标准。

传感器同步

最先的传感器同步方案是用的 nuscenes 的方案,不过 nuscenes 方案没有考虑相机曝光时间,等激光扫到 FOV 中心再曝光其实还是会差那么几十毫秒。

所以为了更好的对齐点云和相机左右,应该是在扫到 FOV 中心前就需要触发。当然,即使这样的方案也还是有一些问题,尤其主传感器是摄像头的时候。

从经验上来看, 即使传感器同步有一些时间差,影响也没有特别显著。起码在我们自己的私有数据上,标定带来的误差绝对大于同步的误差,即使这样模型层面也能有一定的容忍度。条件有限的,临时搞个软同步也可以先用上。

纯相机的可能性

从务实角度来看,纯相机的技术方案其实还是很有竞争力的。

纯相机方案是否可能的讨论基础不是纯相机能不能支持 L4 级别:  没有任何厂商敢说,我加了一堆贵重的传感器,几年内就能做出严格定义的 L4。

反正 L4 做不成,用一个相机方案解决掉 90% 的驾驶场景。相比一辆车贵上十几万,装一堆传感器,也只能解决 95% 的驾驶场景(甚至可能也就 91%),前者还是更加务实一点。

多装十几个摄像头的价格,要驾驶员随时接管,和多花一大笔钱,跑起来还是要随时接管,哪怕接管的概率低一点,后者可能还是更加显得自己是个冤种。

写评论
积分赞赏
点赞
评论区
  • 编辑
  • {{is_favourite ? '已收藏' : '收藏'}}
  • 举报
  • 加入黑名单
  • 删除
  • 取消置顶
  • 置顶推荐
    • 6小时
    • 12小时
    • 24小时
    • 3天
    • 一周
    • 长期
  • {{digest?'撤销精华':'设为精华'}}
回到顶部
  • 全部评论{{detailStore.commentnum}} 条
  • 只看作者
  • 最热
  • 最新
  • 最早

「待审核」

{{ comment.relativeTime }} 已被赞赏 {{comment.integral}} 积分 回复

暂无相关评论

发表一下个人看法吧