0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一种优化Freespace检测效能的智驾感知提升算法

jf_C6sANWk1 来源:焉知汽车 2023-12-14 09:51 次阅读

高级驾驶辅助系统(ADAS)开发中最关键的问题之一是汽车周围环境的描述方式。环境可以分为动态和静态部分。第一个用于描述所有可移动物体,如汽车或汽车等。行人。第二个代表静态障碍物,如护栏、路缘石、建筑物或障碍物等。为了在拥挤的环境中自由移动,需要提供有关所有周围障碍物的高精度信息。有一个可用于此目的的广泛表示,即 2D和 3D 网格、区间图、原始结构和轮廓。

根据应用,不同表示形式具有不同程度的复杂性。此外,大多数表示都依赖于传感器。之所以如此,是因为用于创建特定表示的算法依赖于传感器的物理规格和限制,目前市场上可以找到使用雷达、摄像头或激光雷达等传感器的解决方案。然而,传感器依赖性是一个不允许进一步改进的问题,可以通过直接使用来自不同类型传感器的输入来获得。将来自各种传感器的信息组合成一个表示的一种可能方法是占用网格,这种方法可以解释为作为传感器融合。不幸的是,由于内存和处理能力有限,占用网格并不是嵌入式系统的最佳解决方案。

此外,将网格作为一组单元格的原始表示形式,填充了简单的占用概率,并不是真正有用的用于后续的上层 ADAS 感知算法。由于数据量很大且接口带宽有限,因此无法通过 CAN 等常见汽车接口轻松发送。这可以通过在占用之间添加一层参数化自由空间Parametric Free Space,PFS(PFS 通过参数化方法描述已知没有障碍物的区域的边界曲线,这种对主车静止环境的紧凑描述可以有多种形式,这种描述的一种灵活而紧凑的形式称为参数自由空间)来消除这些复杂网格的对应数据位(如下图),这样可以提供周围环境的紧凑描述。

1d6710d2-9a1d-11ee-8b88-92fbcf53809c.png  

简而言之,PFS 确定包括两个主要步骤。PFS 的输入是占用网格,该算法从使用图像处理技术进行网格预置开始,结果是生成一组代表自由空间边界的网格单元。然后对这些单元进行近似最终结果的一组预定义数量的控制点,代表给定次数的样条曲线,这样可以很容易地被后续ADAS算法使用。

问题描述

在汽车行业中,所有感知算法都是循环执行的,并且必须在预定义长度的时隙(例如 50 ms)内处理当前输入,当前,有多种方法可以满足严格的实时要求。第一个想到的想法,就是使用更好的CPU单元。这样的解决方案并不令人满意,因为它会产生相当大的成本,从而降低产品的竞争力。基于摩尔定律上看,即使成本不会成为问题,有些算法根本无法达到时间限制,这意味着最合理的解决办法是算法优化。

本文不关注代码实现形式的优化问题,而是关注一般方法。讨论的参数化可行使空间检测 PFS 确定算法是从图像处理操作开始,将其输入占用网格转换为一个二进制文件,这些文件中仅限制目标周围自由区域的单元具有非零值,所有其他单元均为零。由于在自由区域中,代表该边界的像素数量不是固定的,它可以在周期和场景之间变化(如下图a)。这里假设设置可行驶区域的单元方式构成是由有序像素的组成方式来进行连接闭合边界。 1d8006dc-9a1d-11ee-8b88-92fbcf53809c.png

边界单元的动态数量

在处理的第二阶段,边界像素集是用参数样条曲线进行近似的。这种近似可能产生以下负担:不必要的高计算复杂度,因为通常大多数像素不提供附加信息的。而且,在每个计算周期,边界点的数量可能不同。如上图b表示不太拥挤的道路环境将有更多的自由空间,因此边界由更多的单元组成。

由于测量尺寸(边界像素的数量)没有严格定义的上限,因此需要在内存中保留足够多的空间来满足所有可能的情况。此外,边界像素的数量在每个周期之间可能会有所不同。这些方面在嵌入式系统中并不受欢迎(大多数嵌入式系统甚至不允许动态内存分配)。

一旦完成图像处理并确定边界像素,单元定义的边界将通过参数曲线(b 样条曲线)来近似。它由状态空间模型表示为:

1d9708aa-9a1d-11ee-8b88-92fbcf53809c.png  

其中,

1da864f6-9a1d-11ee-8b88-92fbcf53809c.png

1dafc5de-9a1d-11ee-8b88-92fbcf53809c.png

表示观测矩阵,其中的q表示为:

1dba329e-9a1d-11ee-8b88-92fbcf53809c.png

是作为一组2维B样条控制点的状态向量,Nq是控制点的数量,Nm是测量点的数量,qx,n表示第n个控制点的纵向位置,qy,n表示第n 个控制点的横向位置。

使用信息滤波器在每个周期递归地完成近似,这对于大量测量点而言比经典卡尔曼滤波器计算效率更高。即使进行了这种优化,大量测量仍然是一个问题(模型被视为单个 2D 测量,并用于更新两个样条函数x(s)和 y(s)。此外,为了能够使用信息过滤器,必须预先在每个循环进行计算观测矩阵H(s),其大小(行数)严格取决于测量次数。

针对一般点云的数据缩减,人们提出了许多方法。比如,通过基于所需点数缩减的比率搜索点子集来实现。

本文介绍的方法最小化了原始集和缩减子集之间的几何偏差。还有另一种方法由两个步骤组成。第一步,通过八叉树结构对点云进行正则化和压缩。第二步,点云根据曲率规则进行简化。这种方法与八叉树结构有一些相似之处。还有一些基于kmeans聚类算法的自适应简化方法。唯一的数据缩减(向下选择)在曲线拟合上下文中找到的算法是“正切函数”专用于非均匀有理B样条 (NURBS) 近似的方法”。

在该方法中,向下选择步骤包括三个连续原始测量点的局部二次插值,以查找沿定义的二次插值的斜率符号的变化空间轴。如果检测到斜率变化,则向下选择最近的测量点,然后将其做为 NURBS 的控制点。否则,不向下选择任何测量点。

解决方案

为了解决上一节中描述的大量测量的问题,这里提出了三种测量下选算法。

1、测量点分布均匀

PFS算法的一个假设是所有测量点均匀分布。这意味着样条曲线和测量点的起点和终点相对应。基于此,最简单(朴素)的下选算法是取每个第k测量点(mx,k,my,k),并根据以下公式:

1dcad806-9a1d-11ee-8b88-92fbcf53809c.png

该解决方案的缺点是它强制样条线的每个控制点只有一个测量点,这可能不足以准确反映周围环境。

2、“Line”向下选择

本段和下一段中描述的算法集中于以下思想:仅保留行测量的特征点,并过滤掉所有冗余的点,即那些不提供有关边界形状的有价值信息的点。

“线”向下选择是通过使用线性方程y=ax+b来过滤特征点(即单元格表示形式),其想法是拒绝尽可能多的共线点。整个边界被分为相同长度的部分,部分端点是用虚拟线连接。

然后,对于该部分(其端点之间)内的每个点(像素),计算到该线的距离(例如下图中绿色特征点连接的红线部分)。如果该点的距离较大于阈值,该点被视为特征点。

1dd7f374-9a1d-11ee-8b88-92fbcf53809c.png

所有比该阈值更接近直线的像素都被认为是冗余的。一段的每个终点也是下一段的起点,也被视为特征点,保留这些点的好处是每个样条控制点(假设截面长度足够小)至少有一个支撑测量点。该算法通过寻找部分端点之间的特定点来扩展简单统一方法

3、边界方向的下采样

为了限制额外操作的数量,寻找特征点,基于“方向”的方法仅限于对像素进行简单操作。其想法是检查从前一个像素到感兴趣像素的移动方向是否正确。并且从感兴趣的像素到下一个像素,按照该顺序,是相同的。如果不同,则中间点被视为特征点。例如,如果所考虑的点之前和之后的移动方向是往右上角(见下图所示)的,则该点不被标记为特征点。但如果连续移动方向不同,则该点被标记为特征点。

1def393a-9a1d-11ee-8b88-92fbcf53809c.png

算法优势的不同维度对比

为了避免操作系统对计算时间估算的影响,需要重复测试多次并取平均值。最终的计算时间在下一节中给出,是所有场景中最长的时间。比较最长时间而不是平均值更有价值,因为无论汽车周围环境多么复杂,每种算法都应该在有限的时间内完成其工作。

1、降采样大小

如下图表示包含每种方法每个周期的平均测量点数量。正如预期的那样,与不使用降选方法相比,Original表示所提出的下采样方法中每个周期的平均测量点数量。本文提出的方法显着减少了测量点的数量,“Uniform”算法平均值减少了 16.74 倍,基于“Line”的算法平均值减少了 11.61,基于“Direction”方法则只有 2.15。

1e08a91a-9a1d-11ee-8b88-92fbcf53809c.png

因此,大多数点都是使用“Uniform”方法过滤的。过滤的点数正好是使用的样条控制点的数量(即100)。“Line”方法作为前一种方法的扩展,添加了重要的点。这两种方法比前一种方法要好得多。“Direction”方法仅将测量点的数量减少大约 2 倍。其主要原因是该方法实际上表现得更像插值器,因此它不能很好地处理噪声数据,在这种情况下,噪声数据可能是一个复杂的边界形状。

2、计算时间

正如第一段所述,主要目标是减少计算时间,以满足算法执行的实时性要求,耗时比较如下表2所示。

1e1e45b8-9a1d-11ee-8b88-92fbcf53809c.png

表2的每一行都显示了测试方法的结果,表中只列出了下选影响的PFS算法阶段,乍一看,所提出的解决方案比原始算法至少快1.38倍。在观测矩阵计算中尤其明显,更少的测量次数有助于将该阶段的运行时间提高 14 倍。

3、准确性/质量比较

由于PFS是主动安全系统的一部分,所以可以用分类器来评价,我们可以采用完整的(不是下选的)一组边界像素为参考,则每个逼近样条的点都可以落入以下事件之一:

TP 真阳性 — 偏差(样条点与相应边界点之间的距离)低于定义的最大允许偏差。

FN 假阴性 — 样条点超出参考边界像素之外的最大允许偏差。

FP 误报 — 样条点超出最大允许偏差但在参考边界像素内。

根据上述事件,计算以下指标:

TPR 真阳性率 — 衡量正确识别的实际阳性结果的百分比。

PPV:阳性预测值 — 定义测量的性能。

1e30a1a4-9a1d-11ee-8b88-92fbcf53809c.png

F1:F1 分数 — 是分类准确性(包括精确率和召回率)的综合衡量标准。

1e382f8c-9a1d-11ee-8b88-92fbcf53809c.png    

1e3fe1e6-9a1d-11ee-8b88-92fbcf53809c.png

样条采样示例——纵向部分

使用上述指标的目的是从安全角度评估道路基础设施分类结果,显然,障碍物被错误分类为自由空间,比自由空间分类为障碍物更危险。

4、自由空间估计精度

使用一组 20 个不同的场景日志进行精度分析,并使用每种下采样算法重新模拟。由算法的图像处理部分生成的测量点集用作参考。这是一个足够多的选择,因为每个所提出的方法不会影响原始测量点集,而只会执行下选择。为进行比较而进行的整个统计分析依赖于这样的假设:生成的样条是在与边界像素向量具有相同分布的点处进行采样的。因此,如果边界由 321 个点组成,用于样条更新,则样条会在沿整个长度均匀分布的 321 个点中采样(如上图)。对于每个点,计算与参考的偏差进行最终汇总。如下图显示了所有算法的误差累积分布。

1e5a3fdc-9a1d-11ee-8b88-92fbcf53809c.png

正如预期的那样,根据所使用的测量点的数量,基于“Direction”的算法获得了最好的结果,基于“Uniform”算法获得了最差的几何近似值。为了决定应该采取哪种解决方案,让我们考虑两个质量因子Qtime,它更关注计算时间Qmemory,它专注于内存计算。在这两种情况下,值越高表示结果越好。

1e6f3586-9a1d-11ee-8b88-92fbcf53809c.png

Xref,k - 参考点的纵向位置(像素中心) yref,k - 参考点的横向位置(像素中心) Xspline,k - 样条线采样点的纵向位置 对应于Xref,k,yspline,k- 样条线样本点的横向位置对应于yref,k。 K - 点索引 Mi- 第 i个周期的参考点(像素)数量(周期之间有所不同) N - 周期数(来自所有使用的日志) T - 每个周期的平均计算时间 Nall - 所有测量点的数量

Nreduce - 减少的测量点数量

总结

参数曲线可以是智能汽车感知系统中自由空间边界的紧凑表示。在这样的应用中,它通常通过占用网格上自由空间和占用空间之间的边界的近似来获得。近似这种边界处理的现有算法具有大量必须处理的测量点(也即网格单元)。实际上,其中许多点是冗余的并且不添加任何信息。为了降低对处理能力的需求,一般可以拒绝对这些冗余点进行进一步处理,也不会降低近似的质量。本文介绍了几种可以达到这一目标的下采样算法,所有算法都使用通用的统计指标进行比较。算法性能的比较是在代表不同道路场景的数十条日志的基础上进行的。

实验表明并证明,对于使用所提出的方法的所有测试用例,PFS 计算中的运行时间和内存需求都可以显着降低,同时可以保持性能(准确性)。这对于资源有限的汽车嵌入式系统非常重要。所提出的下选算法在数据减少、执行时间、准确性和安全性方面进行了比较。总体而言,“线”算法是最有前途的一种。它提供了算法效率(即时间/内存消耗)和性能(准确性)之间的最佳平衡。对于未来的工作中,人们可以研究整个处理流程的其他步骤,特别是图像预处理步骤等方向,因为它仍然是最耗时的部分。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48134

    浏览量

    740233
  • 图像处理
    +关注

    关注

    26

    文章

    1228

    浏览量

    55849
  • 激光雷达
    +关注

    关注

    961

    文章

    3664

    浏览量

    186791
  • ADAS系统
    +关注

    关注

    4

    文章

    203

    浏览量

    25567
  • pfs
    pfs
    +关注

    关注

    0

    文章

    5

    浏览量

    4982

原文标题:一种优化Freespace检测效能的智驾感知提升算法

文章出处:【微信号:阿宝1990,微信公众号:阿宝1990】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来已来,多传感器融合感知是自动驾驶破局的关键

    识别率,为车厂增加智能驾驶的核心竞争力。 此外, 多维像素还可以直接高效支持“占用网络” (Occupancy Network)算法。 占用网格是指将感知空间划分为个个立体网格(体素),而多维像素包含
    发表于 04-11 10:26

    如何对MD5加密算法优化

    有人针对程序安全启动过程,进行MD5算法优化嘛。目前采用标准算法,时间稍长,如果有人做过优化的话,可以分享下,谢谢。
    发表于 02-18 08:20

    Sparse4D-v3:稀疏感知的性能优化及端到端拓展

    上限,解决更多的corner case,让系统更加鲁棒。因此,在Sparse4D-v3中,我们主要做了两部分工作,其一是进一步提升模型的检测性能,另一是将Sparse4D拓展为一个端到端跟踪模型,实现多视角视频到目标运动轨迹端到端感知
    的头像 发表于 01-23 10:20 447次阅读
    Sparse4D-v3:稀疏<b class='flag-5'>感知</b>的性能<b class='flag-5'>优化</b>及端到端拓展

    自动驾驶中多模态下的Freespace检测轻量化设计实现

    Freespace检测是驾驶场景理解的一部分,它将图像中的每个像素分类为可驾驶或不可驾驶区域,通常通过图像分割算法来实现。
    的头像 发表于 01-12 11:22 1079次阅读
    自动驾驶中多模态下的<b class='flag-5'>Freespace</b><b class='flag-5'>检测</b>轻量化设计实现

    【技术干货】PID算法原理分析及优化

    小编起来学习PID算法的原理分析及优化,快来get! 、PID原理 PID控制方法将偏差的比例(proportional)、积分(integral)、微分(derivative)通
    发表于 12-22 15:38

    为什么要优化可泊空间预测算法?泊车Freespace检测方法如何优化

    基于视觉的环视可用空间检测是自动停车辅助(APA)的基本任务之一。
    的头像 发表于 11-29 10:38 395次阅读
    为什么要<b class='flag-5'>优化</b>可泊空间预测<b class='flag-5'>算法</b>?泊车<b class='flag-5'>Freespace</b><b class='flag-5'>检测</b>方法如何<b class='flag-5'>优化</b>?

    如何将人工智能应用到效能评估系统软件中去解决

      如何将人工智能应用到效能评估系统软件中去解决   华盛恒辉效能评估系统是一种非常实用的管理工具,它可以帮助组织和企业掌握其运营状况,优化业务流程,提高效率和生产力。然而,随着人工智
    发表于 08-30 12:58

    keras内置的7个常用的优化介绍

    的改进,和 Adagrad 相比,它不是累积所有过去的梯度,而是根据渐变更新的移动窗口调整学习速率。 2.3 RMSprop(均方差传播算法) RMSProp优化算法是Adagrad
    发表于 08-18 06:32

    磁粉检测,磁粉检测一种无损检测方式

    检测
    jf_38631377
    发布于 :2023年07月26日 11:46:09

    人工神经网络(感知算法的意义)

    因为支持向量机算是通过所有数据寻找最优分类方式的算法,而感知算法是寻找某一分类方式的算法,所以,多数情况下,支持向量机求得的分类超平面优于感知
    的头像 发表于 07-24 18:16 711次阅读
    人工神经网络(<b class='flag-5'>感知</b>机<b class='flag-5'>算法</b>的意义)

    粒子群优化算法PSO优化模糊控制论域

    粒子群算法一种智能优化算法。关于智能,个人理解,不过是在枚举法的基础上加上了一定的寻优机制。
    的头像 发表于 07-19 15:33 702次阅读
    粒子群<b class='flag-5'>优化</b><b class='flag-5'>算法</b>PSO<b class='flag-5'>优化</b>模糊控制论域

    粒子群优化算法的应用 粒子群优化算法研究方法

      摘要:粒子群优化算法一种基于群智能的随机优化算法,具有简单易实现、设置参数少、全局优化能力
    发表于 07-19 15:01 0次下载

    点云标注的算法优化与性能提升

    点云标注的算法优化和性能提升是提高自动驾驶技术的关键因素。通过优化算法提升性能,可以获得更准确
    的头像 发表于 07-13 15:20 322次阅读

    Keil μVision 5中,如何操作ARM编译程序提供的程序优化功能?

    Keil μVision 5中,如何操作ARM 编译程序提供的程序优化功能? 功能介绍: 使用程序优化功能可以减少程序代码大小以及改善程序效能
    发表于 06-20 06:25

    从浅层到深层神经网络:概览深度学习优化算法

    优化算法一直以来是机器学习能根据数据学到知识的核心技术。而好的优化算法可以大大提高学习速度,加快算法的收敛速度和效果。该论文从浅层模型到深度
    的头像 发表于 06-15 11:20 436次阅读
    从浅层到深层神经网络:概览深度学习<b class='flag-5'>优化</b><b class='flag-5'>算法</b>