论文翻译:Robust Negative Obstacle Detection in Off-Road Environments Using Multiple LiDARs

本文提出了一种基于多侧面LiDAR的自适应负障碍物检测方法,适用于自动驾驶汽车在越野环境中的应用。该方法通过提取几何特征、局部地面拟合等步骤实现,能有效应对复杂地形,并通过多传感器多帧数据融合提高检测距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文原址:https://ieeexplore.ieee.org/document/9108058
Abstract:
自动驾驶汽车在越野环境中行驶时,必须实时分析和了解周围的地形。 然而,很少有 UGV 能够在高速自主地检测越野环境中的坑和沟渠。 本文提出了一种使用多个侧面安装的 LiDAR 的自动驾驶车辆的自适应负障碍物检测方法。 该方法首先从原始传感器数据中提取径向方向的距离跳跃,得到潜在的负障碍物特征点对,然后估计每个时刻扫描地表围绕潜在负障碍物的矢量。 随后,基于与范围和特征点对与地面向量之间的偏差相关的几个几何特征来过滤特征点对。 然后我们融合来自多个 LiDAR 和多个帧的特征点对,以提高鲁棒性和最长检测距离。 在几种典型的越野场景中进行了一系列实验。 实验结果表明,所提方法能够准确检测出负面障碍物,能够应对越野环境中的复杂地形。

Introduction
近年来,自动驾驶汽车发展迅速[1]。 自动驾驶车辆的感知系统需要准确理解周围的信息,而场景理解的基本要求是检测障碍物[2]。 在越野环境中,所有可能出现在车辆轨迹上的障碍物,根据其相对于地面的高度可以分为两类:正向障碍物和负向障碍物。 不慎通过道路坑洼处时,有颠簸,车辆有很大的损坏甚至掉入坑洼的风险。 因此,负障碍物检测对于自动驾驶感知系统至关重要。

在越野环境中,负障碍物是沟渠、悬崖、洞口或具有陡峭负坡度的地形,可能会造成安全隐患。 然而,以往大多数基于激光雷达的研究都没有处理复杂的斜率,这使得算法的鲁棒性较差。 因此,有必要设计一种方法来适应不同坡度的越野环境并增加检测距离,从而提高行车安全性。

在这里插入图片描述
我们提出了一种检测负面障碍的稳健方法。 图 1 显示了我们配备 GPS/INS、摄像头和 LiDAR 的自动驾驶汽车。 该方法首先提取几何特征得到候选特征点对,然后估计潜在负障碍物周围扫描地表的矢量,自适应调整阈值。 此后,我们使用车辆的姿态在时空中对齐来自多个 LiDAR 的多帧负特征点。 然后我们使用贝叶斯规则来融合它们。 我们聚类并过滤对齐的特征点以获得负面障碍的最终表示。 总而言之,通过结合扫描平面的几何特征和向量,我们的方法可以检测出适应不同地面条件的负障碍候选物。 通过在多个帧上重叠多个提取的特征点,我们还能够提高最大检测距离。 此外,借助MSMF(multi-sensor multi-frame)模块,可以避免单个LiDAR的视野遮挡。

本文的其余部分安排如下。 第 2 节回顾了一些相关工作。 第 3 节描述了由侧装 LiDAR 引起的负面障碍物的几个重要局部几何特征。 在第 4 节中,逐步介绍了我们提出的方法的流程,其中应用了 MSMF 模块来提高性能。 在第 5 节中进行实验以验证所提出方法的有效性。第 6 节总结本文。

Related Work
各种传感器被用来检测负面障碍。 [3] 使用了红外热像仪。 原则是负障碍物在夜间往往比周围地形温暖。 通过检测热图像中较暖的区域,可以检测到潜在的负面障碍物 [4]。 限制是它只在晚上工作,地形温度容易受到天气条件的影响。 文献[5]提出了一种基于图像序列的负障碍物检测算法,提取色貌模型和几何特征进行检测。 [6]开发了一种基于立体视觉的负障碍物检测算法。 基于视觉的方法的局限性在于相机很容易被照明干扰。 另外,野外环境的复杂纹理会给图像的特征检测带来很大的麻烦。 [7] 采用了多模态数据融合方法。 但是,性能提升并不明显。

LiDAR 已被证明在越野环境中有效,因为它们能够准确测量距离而不受天气和光线的影响。 [8] 中介绍了一种基于负障碍物检测器 (NODR) 的算法,其中选择了 HDL-64 LiDAR 作为机载传感器。 该算法基于激光雷达以宽松的阈值提取几何特征,然后将其标记为潜在的负面障碍物。 然后,NODR 通过检测差距对这些潜在的负面障碍进行精细分类。 [9] 也使用 HDL-64 LiDAR 进行障碍物检测。 在那篇论文中,采用了基于缺失数据解释的方法来标记潜在的负面障碍。 然而,当负障碍物距离车辆较远时,后缘高度很小,这使得在越野环境中很难将负障碍物与地面区分开来。 [10] 使用多个 LiDAR 并提出了一种基于 FFA(基于特征融合的算法)和 AMFA(基于自适应匹配滤波器的算法)的负障碍物检测方法。 该方法还使用SVM进行分类,利用贝叶斯估计对帧雷达数据进行融合相关,以提高检测精度。 该方法对附近的负障碍物有较好的表现,但对较远距离的负障碍物效果较差。

综上所述,目前提出的基于激光雷达的方法对上坡或下坡道路或周围障碍物的遮挡没有很好的适应性,导致鲁棒性不足。 此外,该算法的检测距离不够远。

近年来,深度学习[11] 极大地推动了障碍物检测任务,并在结构化环境中得到广泛应用 [12][13]。 使用深度学习方法需要大量数据进行训练。 但在越野环境下,我们更无法得到足够有效的负面障碍数据进行训练,标注也很困难。 因此,点云的特征提取仍然是负面障碍物检测的主流方法。

Local Geometric Features of Negative Obstacles
(负面障碍物的局部几何特征)
在这里插入图片描述
当 LiDAR 直立安装在车辆顶部时,车辆周围有一个很大的盲点,被车辆本身遮挡。 在越野环境中,盲点对车辆构成致命风险。 我们的侧装激光雷达设置的可视范围如图 2 所示,车辆周围的盲点明显减少。 与 [14] 的设置相比,车辆的前部区域由多个 LiDAR 扫描和重叠。 此外,车辆的两侧都是可见的,这有助于提高检测性能。

观察侧置激光雷达在负障碍物周围扫描的点云如图2所示,可以看出负障碍物存在几个显着的局部几何特征。

A. Distance Jump of Adjacent Scan Points
如图 1 所示,激光雷达 HLiDAR 的高度和每个激光扫描仪的俯仰角 θ 是已知的。 我们知道相邻两个激光扫描仪之间的夹角为Δθ,那么相邻两个扫描点距离扫描线的距离定义为:
在这里插入图片描述
随着距离的增加,θ增加,所以sinθ增加,cos^2θ减小,HLiDAR和Δθ都是固定值,dneighor随着扫描距离的增加而平缓增加。

B. Height Sinking on the Trailing Edge
(B. 后缘高度下沉)
负障碍物明显低于周围的地面,后缘有很多扫描点。 我们可以得出结论,这些扫描点的高度明显小于周围地面的平均高度。

C. Large Point Cloud Density on the Trailing Edge
(在后缘上大的点云密度)
单条扫描线得到的扫描点在水平面上呈线性分布。 但由于负障碍物远低于地面,激光扫描仪可以在后缘扫描更多的激光点,导致点云密度较大。
在这里插入图片描述

Approach
A. Geometric Feature Etraction

如上所述,我们首先提取相邻点之间具有距离跳跃的候选点对。 我们根据相邻点之间的距离跳跃特征选择负障碍点对。 我们计算所有扫描点的激光相邻点之间的距离。 设置一个扫描点为 Pi=[xi, yi, zi],然后相邻点之间的距离计算如下:
在这里插入图片描述
然后我们选择所有扫描线中相邻点的局部最大值的扫描点。 设第i条扫描线上所有扫描点的集合为scani,遍历scani,根据以下公式找到点集:
在这里插入图片描述
Pjump 中的点很大概率是负障碍物的后缘。 相反,前一点对应于负障碍物的前缘。 为了完整描述负障碍,我们将这两个点组合起来,通过所有候选点对形成集合Ppair:
在这里插入图片描述
B. Local Ground Fitting
由于负障碍物可能位于上坡路或下坡路,车辆可能因加速或减速而发生颠簸,因此我们不能简单地使用绝对高度来确定高度下沉特征。 因此,我们使用局部直线拟合来表示负障碍物周围的地面情况,使我们的算法能够适应不同的场景。

在步骤A之后,我们可以在直线拟合的负障碍物前获得一些平滑点。 设过点P0的直线=[x0,y0,z0],方向向量n=[a,b,c],则直线方程可表示为:
在这里插入图片描述
我们选取候选点对前面的i个平滑点,设Psmooth=[P1,P2,P3,P4,…,Pi],则这些点到直线的距离为:
在这里插入图片描述
使用最小二乘法进行直线拟合。 求解出P0和n后,计算后缘点与拟合直线的距离,将后缘点约束在拟合直线下方。 我们将步骤A中得到的负障碍物候选点对的后缘点Pi表示为Pback。 下沉高度阈值为Thsdown。 我们用下面两个公式来描述这两种约束关系:
在这里插入图片描述
在这里插入图片描述
C Candidate Point Pairs Filtering
(候选点对过滤)
我们遍历Ppair中的所有候选点对,不满足式(7)或式(8)的候选点对将被淘汰。 此后,我们验证后缘上的扫描点数是否大于点云密度阈值。 如果满足则保留,否则将候选点对从Ppair中淘汰·

D. Multi-Sensor Multi-Frame Data Fusion
对所有扫描线进行步骤A到步骤C,我们已经能够提取出负障碍物的候选特征点,负障碍物的最终表示可以直接通过步骤E得到。为了进一步提高算法的鲁棒性, 我们应用 MSMF 方法在时空中融合来自多个 LiDAR 的数据。

1)数据对齐
利用采集到的GPS/INS信息转换的车辆位姿,再将全局坐标系中存储的历史特征点转换到车辆坐标系中。 假设车辆坐标系中的特征点集合为Gh。

2)数据匹配与融合
假设当前帧检测到的特征点集合为Gc。 对于Gc中的任意一点,根据最近的特征点距离原则从Gh中找到该点。 如果它们之间的距离小于阈值dmin,我们使用贝叶斯规则来融合它们:
在这里插入图片描述
其中,P(N|Xi)表示特征点在前i次观测中获得负障碍物的后验概率,P(Xi+1|N)表示特征点在观测中具有负先验概率 来自 i+1 的值。

如果得到的概率小于阈值,则该点将从 Gc 中删除。

对于当前帧点集中的特征点不能与Gc中的任何特征点匹配,我们计算后验概率并将其添加到Gc中。 最后利用车辆位姿将Gc投影到全局坐标系中更新历史特征点。

E、Candidate Points Clustering
为了知道负面障碍的大小和数量,我们使用 Mean-Shift 算法进行聚类。 聚类后,我们为每个聚类计算一个凸包多边形,然后获得它们的最小外接矩形,该矩形用边界框描述负障碍物。

Data Collection and Experiments
A. Dataset Collection and Annotation
(A. 数据集收集和注释)
图 5 显示了几种典型的越野环境负面障碍。我们对收集到的数据进行了实验,以评估所提出方法的性能。 选取了2520帧负障碍物,手工标注了2480个负障碍物目标。 我们的数据集包括具有恒定速度、加速和减速、颠簸以及负面障碍物被杂草阻挡的情况的车辆。
在这里插入图片描述
B. Evaluation Metrics
我们通过计算负障碍区域[15]中的网格数量来量化测试结果,其中网格大小为20cm×20cm。 当检测到的负障碍物的格数达到真实值的80%时,则认为检测正确。 为每个标记目标计算中心位置,并用标记区域中心到GPS/INS中心的距离来表示标记目标的距离。

我们从 FDD、SDD、precision 和 recall 进行评估。 FDD是第一次检测到负障碍物时的距离。 SDD是连续三帧能够正确检测到负障碍物的距离。

我们计算精度和召回率如下:
在这里插入图片描述
其中 TP 是正确检测到的负面障碍物的数量,FN 是未检测到的负面障碍物的数量,FP 是错误检测到的负面障碍物的数量。

C. Data Analysis
为了显示所提出算法的有效性,我们将结果与一些基于 LiDAR 的方法 [10] [16] 进行了比较。 图 6. 说明了一些视觉结果。 我们可以看到,我们提出的方法对包括水坑在内的各种类型的负面障碍物都有很好的检测效果。 对于水坑,部分扫描点会在水气界面产生镜面反射,导致部分点失效,降低检测性能。 对于圆形凹坑,圆形轮廓使其难以检测到边缘。 与矩形坑相比,负障碍物的边缘检测难度更大。 通过拟合负障碍物周围的地形,降低了车身倾斜对负障碍物检测结果的影响,提高了性能。 然后我们对结果进行定量评估。 根据表一的量化结果,应用MSMF模块后,该算法检测距离更远,可达21.9m,召回率有较大提升。 精度略有降低,但召回率是越野环境中负面障碍物检测的一个更重要的指标。 漏检将对车辆安全产生重大影响。
在这里插入图片描述
在这里插入图片描述
此外,我们的方法非常快。 实验在配备英特尔酷睿 i7-6700HQ CPU,2.60 GHz 的工业计算机上运行。 表二列出了一些负面障碍物检测方法的运行时间。 相比之下,我们提出的方法是省时的。
在这里插入图片描述
Conclusion
在本文中,提出了一种基于激光雷达的鲁棒方法,用于检测越野环境中的负面障碍物。 该方法的流程分为五个步骤:几何特征提取、局部地面拟合、候选点对过滤、MSMF和候选点聚类。 在不同类型的地面条件下进行了实验。 实验结果表明,所提出的方法可以实现实时和有前途的性能。

Acknowledge
国家重点研发计划(Nos. 2016YFD0701401, 2017YFD0700303, 2018YFD0700602),中国科学院青年创新促进会(No. 2017488),“十三五”重点支持项目 中国科学院合肥物质科学研究院(批准号:KP-2017-35,KP-2017-13,KP-2019-16),中国科学院机器人与智能制造创新研究所自主研究项目 科学(批准号C2018005),安徽省新能源与智能网联汽车产业技术创新项目。

root@baicore-2:/tmp# ethtool -k eno2 Features for eno2: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: on [fixed] tx-checksum-sctp: on scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: off tx-tcp-segmentation: off tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: off tx-tcp6-segmentation: off generic-segmentation-offload: off generic-receive-offload: off large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: on highdma: on [fixed] rx-vlan-filter: on vlan-challenged: off [fixed] tx-lockless: off [fixed] netns-local: off [fixed] tx-gso-robust: off [fixed] tx-fcoe-segmentation: on [fixed] tx-gre-segmentation: on tx-gre-csum-segmentation: on tx-ipxip4-segmentation: on tx-ipxip6-segmentation: on tx-udp_tnl-segmentation: on tx-udp_tnl-csum-segmentation: on tx-gso-partial: on tx-tunnel-remcsum-segmentation: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: on tx-udp-segmentation: on tx-gso-list: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off [fixed] rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off hw-tc-offload: off esp-hw-offload: on esp-tx-csum-hw-offload: on rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] rx-gro-list: off macsec-hw-offload: off [fixed] rx-udp-gro-forwarding: off hsr-tag-ins-offload: off [fixed] hsr-tag-rm-offload: off [fixed] hsr-fwd-offload: off [fixed] hsr-dup-offload: off [fixed] root@baicore-2:/tmp# 这里边哪个参数会导致网卡将TCP分片报文重组?请详细说明
03-15
<think>好的,用户想了解哪些网卡参数可能导致TCP分片报文重组,特别是关于ethtool中的TCP Segmentation Offload(TSO)参数的详解。我需要结合提供的引用资料来回答这个问题。 首先,根据引用[3],在不支持TSO的网卡上,TCP层会根据MSS(最大报文段大小)来确保数据不需要分片。MSS由MTU决定,并且在建立连接时协商。如果网卡支持TSO,那么TCP层可以发送更大的数据段,由网卡硬件分片,这样减少CPU负担。如果TSO关闭,TCP层需要自己处理分片,可能导致更多的分片,进而需要重组。 引用[1]提到开启GSO(Generic Segmentation Offload),这可能和TSO协同工作。GSO在IP层处理分片,而TSO在TCP层。如果GSO开启,可能推迟分片到更底层,影响重组的方式。 引用[2]讨论了GRO(Generic Receive Offload)在接收端的处理,负责将多个分片合并成大包。但用户的问题是关于发送端的分片参数,所以可能需要关注TSO、GSO以及相关的参数。 所以,关键参数包括tso(tx-tcp-segmentation)、gso(generic-segmentation-offload)以及相关的tx和rx offload设置。如果TSO开启,网卡处理分片;关闭则由TCP层处理,可能导致更多分片需要重组。此外,GSO的状态也会影响分片处理的层次,进而影响重组逻辑。 需要详细解释这些参数的作用,以及它们如何影响TCP分片和重组过程。同时,要指出哪些参数设置可能导致分片报文的重组需求增加,比如关闭TSO可能导致TCP层生成更多分片,而接收端可能需要重组这些分片。不过重组通常在接收端由GRO处理,但发送端的分片策略会影响重组的情况。 最后,用户可能需要了解如何通过ethtool查看和调整这些参数,以及这些调整对网络性能的影响,比如减少CPU使用率或潜在的分片问题。</think>### 网卡参数与TCP分片报文重组 TCP分片报文重组通常与网卡的**分片卸载功能(Offload)**密切相关,以下是关键参数的详解及其影响: --- #### 1. **TCP Segmentation Offload (TSO)** - **作用**:允许网卡将**大块TCP数据**在硬件层自动分割为符合MTU/MSS限制的TCP分片,减轻CPU负担[^3]。 - **参数查看**:`ethtool -k <网卡名> | grep tcp-segmentation-offload` - **影响**: - **TSO开启**(`tx-tcp-segmentation: on`):TCP层发送的数据包长度可超过MSS,由网卡负责分片。此时,IP层和接收端可能看到多个分片报文,但**重组由接收端的GRO(Generic Receive Offload)处理**[^2]。 - **TSO关闭**:TCP层需自行控制数据长度,确保不超过MSS,可能生成更多小包,但**分片概率降低**(因TCP层主动避让MTU限制)。 --- #### 2. **Generic Segmentation Offload (GSO)** - **作用**:在协议栈的更高层(如IP层或TCP层)延迟分片操作,提升吞吐量[^1]。 - **参数查看**:`ethtool -k <网卡名> | grep generic-segmentation-offload` - **影响**: - **GSO开启**:分片操作可能推迟到网卡驱动或硬件层,减少协议栈处理开销。若网卡不支持TSO但GSO开启,分片由软件在底层完成。 - **GSO关闭**:所有分片必须由协议栈处理,可能增加CPU负载,但分片行为更可控。 --- #### 3. **Large Receive Offload (LRO)/Generic Receive Offload (GRO)** - **作用**(接收端相关):将多个TCP分片在网卡或协议栈层合并为完整数据包[^2]。 - **参数查看**:`ethtool -k <网卡名> | grep -E "large-receive-offload|generic-receive-offload"` - **影响**: - **GRO开启**:接收端自动重组分片,降低协议栈处理压力。若发送端TSO/GSO开启,GRO可能频繁触发重组逻辑。 - **GRO关闭**:所有分片由内核协议栈重组,增加CPU负载。 --- ### 导致TCP分片重组的核心参数 1. **TSO关闭**:TCP层主动分片,可能生成更多小包,接收端需重组(依赖GRO)。 2. **GSO关闭**:分片操作由协议栈处理,分片行为更早发生,重组依赖接收端能力。 3. **GRO关闭**:接收端无法自动合并分片,强制协议栈逐片处理,增加重组开销。 --- #### 配置建议 - **高吞吐场景**:开启TSO/GSO/GRO以降低CPU负载。 - **调试分片问题**:临时关闭TSO/GSO,观察分片行为是否与预期一致: ```bash ethtool -K <网卡名> tso off gso off ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值