Error State Kalman Filter Multimodal Fusion SLAM Based on MICP Closed-loop Detection
-
摘要: 同步定位与地图构建(SLAM)技术是移动机器人智能导航的基础。该文针对单一传感器SLAM技术存在的问题,提出一种基于激光雷达多层迭代最近点(MICP)点云匹配闭环检测的误差状态卡尔曼滤波(ESKF)多传感器紧耦合2D-SLAM算法。在完成视觉与激光雷达多模态数据的时空同步后,建立了里程计误差模型以及激光雷达与机器视觉点云匹配误差模型,并将其应用于误差状态卡尔曼滤波进行多模态数据融合,以提高SLAM的准确性和实时性。在公共数据集KITTI下进行的Gazebo环境仿真结果表明,该所提算法能够完整还原单一激光2D-SLAM无法获取到的环境障碍物信息,并能显著提高机器人轨迹估计和相对位姿估计精度。最后,采用Turtlebot2机器人在复杂实际大场景下进行了SLAM实验验证,结果表明所提多模态融合SLAM方法可以完整复原环境信息,实现实时的高精度2D地图构建。Abstract:
Objective Single-sensor Simultaneous Localization and Mapping (SLAM) technology has limitations, including large mapping errors and poor performance in textureless or low-light environments. The 2D-SLAM laser performs poorly in natural and dynamic outdoor environments and cannot capture object information below the scanning plane of a single-line LiDAR. Additionally, long-term operation leads to cumulative errors from sensor noise and model inaccuracies, significantly affecting positioning accuracy. This study proposes an Error State Kalman Filter (ESKF) multimodal tightly coupled 2D-SLAM algorithm based on LiDAR MICP closed-loop detection to enhance environmental information acquisition, trajectory estimation, and relative pose estimation. The proposed approach improves SLAM accuracy and real-time performance, enabling high-precision and complete environmental mapping in complex real-world scenarios. Methods Firstly, sensor data is spatiotemporally synchronized, and the LiDAR point cloud is denoised. MICP matching closed-loop detection, including initial ICP matching, sub-ICP matching, and key ICP matching, is then applied to optimize point cloud matching. Secondly, an odometer error model and a point cloud matching error model between LiDAR and machine vision are constructed. Multi-sensor data is fused using the ESKF to obtain more accurate pose error values, enabling real-time correction of the robot’s pose. Finally, the proposed MICP-ESKF SLAM algorithm is compared with several classic SLAM methods in terms of closed-loop detection accuracy, processing time, and robot pose accuracy under different data samples and experimentally validated on the Turtlebot2 robot platform. Results and Discussions This study addresses the reduced accuracy of 2D grid maps due to accumulated odometry errors in large-scale mobile robot environments. To overcome the limitations of visual and laser SLAM, the paper examines laser radar Multi-layer Iterative Closest Point (MICP) matching closed-loop detection and proposes a visual-laser odometry tightly coupled SLAM method based on the ESKF. The SLAM algorithm incorporating MICP closed-loop detection achieves higher accuracy than the Cartographer algorithm on the test set. Compared to the Karto algorithm, the proposed MICP-ESKF-SLAM algorithm shows significant improvements in detection accuracy and processing speed. As shown in Table 2 , the multimodal MICP-ESKF-SLAM algorithm has the lowest median relative pose error, approximately 3% of that of the Gmapping algorithm. The average relative pose error is reduced by about 40% compared to the MICP-SLAM algorithm, demonstrating the advantages of the proposed approach in high-precision positioning. Furthermore, multi-sensor fusion via ESKF effectively reduces cumulative errors caused by frequency discrepancies and sensor noise, ensuring timely robot pose updates and preventing map drift.Conclusions This study proposes a 2D-SLAM algorithm that integrates MICP matching closed-loop detection with ESKF. By estimating errors, optimizing state updates, and applying corrected increments to the main state, the approach mitigates cumulative drift caused by random noise and internal error propagation in dynamic environments. This enhances localization and map construction accuracy while improving the real-time performance of multi-sensor tightly coupled SLAM. The ESKF multi-sensor tightly coupled SLAM algorithm based on multi-layer ICP matching closed-loop detection is implemented on the Turtlebot2 experimental platform for large-scale scene localization and mapping. Experimental results demonstrate that the proposed algorithm effectively integrates LiDAR and machine vision data, achieving high-accuracy robot pose estimation and stable performance in dynamic environments. It enables the accurate construction of a complete, drift-free environmental map, addressing the challenges of 2D mapping in complex environments that single-sensor SLAM algorithms struggle with, thereby providing a foundation for future research on intelligent mobile robot navigation. -
1. 引言
网络流量异常检测是发现网络攻击的重要手段,常用的流量异常检测方法有熵理论[1]和神经网络[2]等,当前研究通常集中于对现有方法的改进,实验中用到的数据集大部分采用全采集测量方式通过在线监测骨干网流量获得。然而随着网络速度的迅速提升和网络流量的指数级增长,采用全采集测量方式对骨干网流量进行实时在线监测变得越来越困难。为解决上述问题,网络流量抽样技术已成为国内外学者研究的重点。
网络流量抽样技术主要分为包抽样和流抽样两种,其中流抽样技术能有效体现不同数据包间的关联性,抽样得到的数据集可较好地反映网络流量原始特征信息[3],是抽样技术研究的热点。在流抽样技术中,概率抽样方法具有系统开销小、数据流处理速度快等特点,更适用于对实时性要求较高的在线流量监测领域。
依据关注的数据流大小不同,常用的概率抽样方法主要分为两类:第1类是大流抽样技术,如智能抽样方法[4]、抽样保持方法[5]等,该类方法中每条数据流的抽样概率与其包含的字节数成正相关性,因此包含字节数较多的大流抽样概率高,而包含字节数较少的小流抽样概率较低,抽样过程中易损失大量以小流形式存在的异常流量信息,不适用于流量异常检测领域。第2类是小流抽样技术,如选择性抽样方法[6]、优化神经网络方法[7]、异常流自适应抽样算法[8]等,该类方法中每条数据流的抽样概率与其包含的字节数成负相关性,因此小流抽样概率高,抽样得到的数据集可有效保留与异常流量相关的小流信息,但其对大流的抽样概率较低,抽样过程中会产生比较大的信息损失。综上,现有根据数据流大小设定其抽样概率的方法,难以同时满足大流和小流抽样需求,导致抽样得到的数据集无法完整反映真实网络数据流组成情况。
为此,文献[9]提出一种新的概率抽样方法,在对所有数据流按目的IP地址进行分类的基础上,将每类数据流的抽样率定义为其目的IP抽样率,并通过调节数据流抽样率来控制该类数据流中大、小流抽样概率,从而使得访问某一目的IP地址域的大、小流都能被有效抽样,同时提高了受攻击目的IP地址的异常流抽样概率。然而由于网络中异常流量的多样性及源、目的IP地址分布的不均衡性,导致采用该方法抽样得到的数据集在应用于流量异常检测时,仍存在以下不足:该方法通常仅能对与目的IP地址相关的异常流保持较高的抽样概率,而对与源IP地址相关的异常流抽样概率较低,导致抽样得到的数据集无法反映与源IP地址相关的异常流量信息,进而影响后续流量异常检测精度。
此外,为有效提高网络安全态势感知的准确性,流量异常检测模型需要对flash crowd和网络攻击进行区分[10–12],但由于网络环境的复杂性,在异常检测阶段区分flash crowd和网络攻击存在误报率高、耗时长等问题。采用抽样技术在流量异常检测数据集构造过程中降低flash crowd流量抽样概率,是解决上述问题的一种有效方法。但现有方法在抽样过程中通常未区分flash crowd与流量攻击两种情况产生的异常数据流,导致抽样得到的数据集中同时包含两种异常流量,进而加大了后续流量异常检测的误报率。
针对上述两个问题,结合目的、源IP地址抽样率,设计异常流抽样算法,提高异常流抽样的全面性。然后,采用源IP地址熵对异常流的源IP地址分散度进行刻画,并通过设置攻击流源IP地址熵阈值,在抽样过程中降低由flash crowd产生的非攻击异常流抽样概率。最后,通过仿真实验验证所提方法的有效性。
2. 概率流抽样方法
2.1 基本思想
主要采取以下思想对概率流抽样方法进行设计:
(1)定义数据流抽样率为其目的、源IP地址抽样率的最大值。首先将具有相同目的、源IP地址的数据流划分为一类,然后将每类数据流的抽样率定义为其目的、源IP地址抽样率的最大值,从而保证与目的、源IP地址相关的异常流量都能以最大概率被抽样;
(2)设定攻击流源IP地址熵阈值。采用源IP地址熵刻画异常流源IP地址分散度,并通过设定攻击流源IP地址熵阈值,在抽样过程中降低源IP地址熵大于所设阈值的非攻击异常流抽样概率。
2.2 异常流抽样算法
假设在理想网络环境中,流量异常都是由流量攻击引起的。在这种情况下,定义异常流抽样函数,提高网络数据流中的异常流抽样概率,并给出异常流抽样流程。
2.2.1 抽样函数
异常流抽样函数主要由目的IP地址接收字节总数和源IP地址发送字节总数两个数据流特征参数确定。下面从目的IP地址出发,对研究过程中用到的相关概念进行定义,并给出异常流抽样函数。
定义1 定义
FS 表示抽样前给定抽样数据集的数据流样本空间FS={fl1,fl2,···,fln,···,flN} (1) 其中,
N 为正整数,表示抽样前给定抽样数据集中包含的数据流总数;fln 表示FS 中的第n 条数据流,1≤n≤N 。定义2 定义
dIPS 表示抽样前FS 的目的IP地址空间dIPS={dIP1,dIP2,···,dIPm,···,dIPM} (2) 其中,
M 为正整数,表示FS 中数据流的唯一目的IP地址总数;dIPm 表示dIPS 中的第m 个目的IP地址,1≤m≤M 。对于
dIPS 中的元素dIPm 而言,其数据流空间和源IP地址空间定义如下:定义3 定义
fS(dIPm) 表示抽样前FS 中dIPm 对应的数据流空间fS(dIPm)={f1⋅dIPm,f2⋅dIPm,···,fl⋅dIPm,···,fL⋅dIPm} (3) 其中,
L 为正整数,表示FS 中流向dIPm 的数据流总数;fl⋅dIPm 表示fS(dIPm) 中的第l 条数据流,1≤l≤L ;fS(dIPm)⊂FS ,且FS=⋃Mm=1fS(dIPm) 。定义4 定义
sIPS(dIPm) 表示抽样前fS(dIPm) 中数据流的源IP地址空间sIPS(dIPm)={dIPm⋅sIP1,dIPm⋅sIP2,···,dIPm⋅sIPk,···,dIPm⋅sIPK} (4) 其中,
K 为正整数,表示fS(dIPm) 中数据流的不同源IP地址总数;dIPm⋅sIPk 表示sIPS(dIPm) 中的第k 个源IP地址,1≤k≤K 。对于
sIPS(dIPm) 中的元素dIPm⋅sIPk 而言,其数据流空间定义如下:定义5 定义
fS(dIPm⋅sIPk) 表示抽样前在FS 中dIPm⋅sIPk 对应的数据流空间fS(dIPm⋅sIPk)={f1⋅dIPm⋅sIPk,f2⋅dIPm⋅sIPk,···,fp⋅dIPm⋅sIPk,···,fP⋅dIPm⋅sIPk} (5) 其中,
P 为正整数,表示FS 中由dIPm⋅sIPk 流出的数据流总数;fp⋅dIPm⋅sIPk 表示fS(dIPm⋅sIPk) 中的第p 条数据流,1≤p≤P ;fS(dIPm⋅sIPk)⊂FS 。对于
FS 中源IP地址为dIPm⋅sIPk ,目的IP地址为dIPm 的数据流而言,定义其数据流空间如下:定义6 定义
fdIPm⋅sIPk→dIPm 表示抽样前FS 中源IP地址为dIPm⋅sIPk 、目的IP地址为dIPm 的数据流空间fdIPm⋅sIPk→dIPm⊂fS(dIPm)∩fS(dIPm⋅sIPk) (6) fdIPm⋅sIPk→dIPm 是概率流抽样方法的抽样对象,为有效提高异常流抽样概率,结合目的IP地址抽样率[9]及其对应的源IP地址抽样率,给出其抽样函数如式(7)p(fdIPm⋅sIPk→dIPm)=Max{p(dIPm),p(dIPm⋅sIPk)} (7)
其中,
p(dIPm)={b, S_dIPm<tS_dIPmS_tl, S_dIPm≥t (8) p(dIPm⋅sIPk)=S_dIPm⋅sIPkS_tl (9) 式(8)、式(9)中,
t 表示抽样阈值;b 为一个较小的常数,0<b≤1 ;S_dIPm 表示dIPm 接收字节总数,S_dIPm⋅sIPk 表示dIPm⋅sIPk 发送字节总数,S_tl 表示样本空间字节总数,具体定义如下:定义7 定义
S_dIPm 表示抽样前dIPm 接收字节总数S_dIPm=L∑l=1(oc(fl⋅dIPm)) (10) 其中,
oc(fl⋅dIPm) 表示fS(dIPm) 中第l 条数据流包含的字节数。定义8 定义
S_dIPm⋅sIPk 表示抽样前dIPm⋅sIPk 发送字节总数S_dIPm⋅sIPk=P∑p=1oc(fp⋅dIPm⋅sIPk) (11) 其中,
oc(fp⋅dIPm⋅sIPk) 表示fS(dIPm⋅sIPk) 中第p 条数据流包含的字节数。定义9 定义
S_tl 表示抽样前样本空间FS 中包含的字节总数S_tl=M∑m=1S_dIPm=N∑n=1oc(fln) (12) 其中,
oc(fln) 表示FS 中第n 条数据流包含的字节数。2.2.2 异常流抽样流程
在概率流抽样方法基本思想的基础上,结合异常流抽样函数,设计异常流抽样流程如图1所示。每类数据流经抽样后得到的数据流数目等于其包含的流数与抽样率的乘积,对于抽样数目为小数的,最终抽样量向上取整,保证每类数据流都至少被抽样一条,从而使抽样得到的数据集可有效反映原始流量的分布性。
该抽样流程具体描述如表1所示。
表 1 抽样流程具体描述输入:原始数据流集合FS 输出:抽样后的数据流集合Sp_FS 步骤1 统计FS中目的IP地址数M,根据目的IP地址将FS分成M类,即:类dIP1,类dIP2,···,类dIPm,···,类dIPM; 步骤2 分别统计M类的数据流空间大小L,依次采用式(10)计算其接收字节总数S_dIP1, S_dIP2, ···, S_dIPm, ···, S_dIPM,并采用式
(12)计算样本空间字节总数S_tl;步骤3 对于类dIPm而言,采用式(8)计算目的IP地址dIPm的抽样率p(dIPm); 步骤4 统计类dIPm的唯一源IP地址数K,并将类dIPm进一步划分为K类,即:类dIPm⋅sIP1, ···, 类dIPm⋅sIPk, ···,类dIPm⋅sIPK; 步骤5 分别统计K类的数据流空间大小P,采用式(11)计算各类发送字节总数S_dIPm⋅sIP1, ···, S_dIPm⋅sIPk, ···, S_dIPm⋅sIPK,并采
用式(9)计算dIPm对应的K个源IP地址抽样率p(dIPm⋅sIP1), ···, p(dIPm⋅sIPk), ···, p(dIPm⋅sIPK);步骤6 依次采用式(7)计算类dIPm中由不同源IP地址流向dIPm的数据流抽样率p(fdIPm⋅sIP1→dIPm), ···, p(fdIPm⋅sIPk→dIPm), ···,
p(fdIPm⋅sIPK→dIPm),并输出抽样数据流子集合Sp_FSm=⋃Kk=1⌈fdIPm⋅sIPk→dIPmp(fdIPm⋅sIPk→dIPm)⌉;
步骤7 如果m<M,则返回步骤3;如果m=M,则迭代终止,输出最终抽样后的数据流集合Sp_FS=⋃Mm=1Sp_FSm。2.3 攻击流抽样算法
真实网络环境中,流量异常并非全部由流量攻击引起,flash crowd同样可引起网络流量异常,且这种异常通常与拒绝服务攻击具有相似的表象。两种情况下,目的IP地址接收的字节总数都比较大(通常不小于
t ),从而导致两种情况下流向受攻击目的IP地址的数据流都具有较高的抽样概率,使得抽样得到的数据集中既包含flash crowd数据流,也包含拒绝服务攻击数据流,容易增大后续流量异常检测的误报率。针对上述问题,在分析flash crowd与流量攻击两种情况产生的异常流区别的基础上,引入熵的概念对异常流源IP地址分散度进行刻画,并定义攻击流源IP地址熵阈值,有效降低由flash crowd产生的异常流抽样概率,然后重新定义此种情况下
dIPm 抽样率及fdIPm⋅sIPk→dIPm 抽样函数,进而给出攻击流抽样流程。2.3.1 源IP地址熵
Flash crowd和流量攻击产生的异常流通常都表现为“多对一”的模式,即异常流中包含的源IP地址数较多,而目的IP地址数较少。但两者也有明显的区别,flash crowd通常是由位于多处的正常用户发起,异常流的源IP地址通常比较分散;流量攻击通常由某些恶意用户发起,异常流的源IP地址大部分相对集中。为此,引入源IP地址熵对异常流的源IP地址分散度进行刻画。
定义10 定义
H(dIPm) 表示目的IP地址为dIPm 的异常流源IP地址熵H(dIPm)=−K∑k=1P(dIPm⋅sIPk)⋅lg(P(dIPm⋅sIPk)) (13) 其中,
P(dIPm⋅sIPk)=card(fdIPm⋅sIPk→dIPm)/card(fS(dIPm)) (14) 式中,
card(fdIPm⋅sIPk→dIPm) ,card(fS(dIPm)) 分别表示两个集合的基数,即两个集合中元素的个数。根据熵的定义可知,
H(dIPm) 取值越小,表明目的IP地址为dIPm 的异常流中源IP地址分布越集中,该数据流为攻击流的可能性就越大;反之,H(dIPm) 取值越大,表明目的IP地址为dIPm 的异常流中源IP地址分布越分散,该数据流为flash crowd流的可能性越大[12]。2.3.2 攻击流抽样流程
首先设定攻击流
H(dIPm) 阈值为T ,然后通过调整T 的大小,降低flash crowd产生的异常流抽样概率。定义Q 表示dIPm 对应的数据流是否为攻击流的情况,当其为攻击流时取值为1,否则取值为0,即Q={1,H(dIPm)<T0,H(dIPm)≥T (15) 此时,
dIPm 抽样率可重新定义为p(dIPm)∗={b, S_dIPm<tS_dIPmS_tlQ,S_dIPm≥t (16) 此种情况下,
fdIPm⋅sIPk→dIPm 的抽样函数为p(fdIPm⋅sIPk→dIPm)∗=Max{p(dIPm)∗,p(dIPm⋅sIPk)} (17) 在上述定义的基础上,只需对表1中步骤3与步骤6进行改进,并保留其余算法步骤,即可得到攻击流抽样算法。改进后的步骤3和步骤6表述如下:
步骤3 对于类
dIPm 而言,采用式(13)—式(16)计算目的IP地址dIPm 的抽样率p(dIPm)∗ ;步骤6 依次采用式(17)计算类
dIPm 中由不同源IP地址流向dIPm 的数据流抽样率p(fdIPm⋅sIP1→dIPm)∗ , ···,p(fdIPm⋅sIPk→dIPm)∗ , ···,p(fdIPm⋅sIPK→dIPm)∗ ,并输出抽样数据流子集合{\rm{Sp}}\_{\rm{F}}{{\rm{S}}_m} \!=\! \bigcup\nolimits_{k = 1}^K \Bigr\lceil {{f_{{{\rm{dIP} }_m} \cdot {{\rm{sIP} }_k} \to {{\rm{dIP} }_m}}} ⋅p(fdIPm⋅sIPk→dIPm)∗⌉ ;同时,只需将图1中的“式(8)”替换为“式(13)—式(16)”,“
p(dIPm) ”替换为“p(dIPm)∗ ”;“式(7)”替换为“式(17)”,“p(fdIPm⋅sIP1→dIPm) , ···,p(fdIPm⋅sIPk→dIPm) , ···,p(fdIPm⋅sIPK→dIPm) ”替换为“p(fdIPm⋅sIP1→dIPm)∗ , ···,p(fdIPm⋅sIPk→dIPm)∗ , ···,p(fdIPm⋅sIPK→dIPm)∗ ”即可得到攻击流抽样流程图。由于篇幅所限,此处不再给出详细的攻击流抽样流程图和步骤描述。
3. 仿真实验
通过选取CAIDA traces 2013[13], CAIDA traces 2018[14]正常流量数据集和DARPA 1999[15]第2周恶意流量数据集的子集,基于MATLAB R2012a平台,对数据流特征参数进行验证,并对概率流抽样方法进行仿真分析。
3.1 数据流特征参数验证
随机选取DARPA 1999数据集和CAIDA traces 2018数据集的子集,对恶意流量和正常流量的目的IP地址接收字节总数和源IP地址发送字节总数两个数据流特征参数进行分析。
将DARPA 1999恶意流量和CAIDA traces 2018正常流量数据集中的数据流按目的IP地址进行合并分类,然后分别随机选取150个目的IP地址,统计各个目的IP地址接收字节总数的
lg 对数,如图2所示。由图2可知,相比CAIDA正常流量数据集而言,DARPA恶意流量数据集中目的IP地址接收字节总数维持在更高水平,表明存在恶意流量攻击时,目的IP地址接收的字节总数较多。因此,从IP地址接收字节总数出发设计流抽样方法,可有效提高恶意流量抽样概率。
将DARPA 1999恶意流量和CAIDA traces 2018正常流量数据集中的数据流按源IP地址进行合并分类,并分别随机选取150个源IP地址,统计各个源IP地址发送字节总数的
lg 对数,如图3所示。由图3可知,CAIDA正常流量和DARPA恶意流量数据集中源IP地址发送字节总数大都维持在较高水平。相对CAIDA正常流量数据集而言,DARPA恶意流量数据集中源IP地址发送字节总数更多。因此,从源IP地址发送字节总数出发设计流抽样方法,既可提高恶意流量抽样概率,又能保证正常流量抽样概率。
综上可知,结合目的IP地址接收字节总数和源IP地址发送字节总数两个特征参数,设计流抽样方法,可兼顾正常流量和恶意流量抽样概率,从而有效反映原始流量分布特征。
3.2 概率流抽样方法仿真分析
按恶意流量与正常流量1 : 5的比例[9],通过随机选取DARPA 1999, CAIDA traces 2013和CAIDA traces 2018数据集的子集构造数据集Dataset1和Dataset2,每个数据集中包含4000条恶意数据流和20000条正常数据流。其中,Dataset1由DARPA 1999和CAIDA traces 2013的子集构成,Dataset2由DARPA 1999和CAIDA traces 2018的子集构成。仿真过程中,
b 对结果影响较小,通过分析Dataset1和Dataset2流量分布特征设定b=1.0×10−5 ;然后参照文献[12]中攻击流的最大熵,设定攻击流H(dIPm) 的阈值T=0.91 。对于对抽样结果影响较大的S_dIPm 抽样阈值t ,则在异常流抽样算法分析过程中通过仿真实验确定。3.2.1 异常流抽样算法分析
通过将所提异常流抽样算法与经典的小流抽样方法(选择性抽样方法[6])、大流抽样方法(智能抽样方法[4])及文献[9]方法进行对比,分析所提异常流抽样算法性能。首先选取数据集Dataset1,分析抽样阈值
t∈[1,106] 时,4种方法抽样得到的异常流数量,仿真结果如图4所示。由图4可知,选择性抽样方法抽样得到的异常流数量随抽样阈值的增大而增大,这是因为随着抽样阈值的增大,小异常流的数量不断增加,而选择性抽样方法仅对小异常流具有较强的抽样能力;智能抽样方法抽样得到的异常流数量随抽样阈值的增大而减小,这是因为随着抽样阈值的增大,大异常流的数量不断减少,而智能抽样方法仅对大异常流具有较强的抽样能力。但上述两种方法无法同时满足大、小流抽样需求。文献[9]方法和本文异常流抽样算法对异常流的抽样能力保持不变,能同时满足大异常流和小异常流抽样需求,且所提异常流抽样算法具有比文献[9]方法更强的异常流抽样能力。
由图4可知,当抽样阈值
t>1.0×104 时,选择性抽样方法和智能抽样方法的性能趋于稳定,因此设定抽样阈值t=1.0×104 ,并基于Dataset1和Dataset2两个数据集,测试4种方法抽样得到的数据集中数据流保留情况、总体字节保留率和可疑IP地址保留情况,仿真结果如表2、表3和表4所示。表 2 不同抽样方法数据流保留情况(条)抽样方法 Dataset1 Dataset2 异常流 大流 异常流 大流 选择性抽样方法 3805 0 3826 0 智能抽样方法 195 1933 174 1294 文献[9]方法 213 747 226 565 本文异常流抽样算法 741 1063 745 1091 表 3 不同抽样方法总体字节保留率(%)抽样方法 Dataset1 Dataset2 选择性抽样方法 10.8 21.8 智能抽样方法 89.2 78.2 文献[9]方法 43.8 43.4 本文异常流抽样算法 57.9 86.2 表 4 不同抽样方法可疑IP地址保留情况(个)抽样方法 Dataset1 Dataset2 源IP 目的IP 源IP 目的IP 原始流量 215 212 206 217 选择性抽样方法 209 211 199 216 智能抽样方法 65 28 67 31 文献[9]方法 41 212 43 217 本文异常流抽样算法 215 212 206 217 由表2可知,同等条件下,选择性抽样方法异常流抽样能力最强,但由于其只关注小流抽样需求,基本上抽样不到原始数据集中的大流,导致抽样得到的数据集信息损失比较严重,不适用于构造流量异常检测数据集。其他3种方法均能在抽样异常流的同时,保留网络中的大流信息,不会造成严重的信息损失,可应用于流量异常检测数据集的构造,并且所提异常流抽样算法与文献[9]方法及智能抽样方法相比,具有更高的异常流抽样能力,平均抽样得到的异常流数量分别提高了近2.4倍和3.0倍,可以抽样更多的异常流。
由表3可知,同等条件下,本文异常流抽样算法具有与只关注大流的智能抽样方法相当的平均总体字节保留率(差值仅在10.0%左右),且与文献[9]方法及选择性抽样方法相比,具有更高的总体字节保留率,其平均总体字节保留率分别提高了近65.3%和3.4倍,表明所提异常流抽样算法可在抽样过程中保留较多的真实网络业务流量信息,有效反映原始网络流量特征。
由表4可知,相比选择性抽样方法、智能抽样方法和文献[9]方法而言,本文异常流抽样算法能抽样得到所有可疑目的IP地址和源IP地址,抽样得到的数据集中异常流信息更加全面。
按照Dataset2构建方式,随机选取DARPA 1999和CAIDA traces 2018数据集的子集,构造10个不同的实验数据集,并基于构建的数据集测试不同方法在抽样过程中的数据流处理时间,结果如图5所示。
由图5可知,所提异常流抽样算法处理速度优于选择性抽样和智能抽样方法。相比文献[9]方法,所提算法平均数据流处理时间增加了7.7%,但由表2可知,所提算法的异常流抽样能力比文献[9]方法提高了近2.4倍,故所提算法处理时间的增加是可以接受的。
3.2.2 攻击流抽样算法分析
将所提攻击流抽样算法与选择性抽样方法、智能抽样方法、文献[9]方法及本文异常流抽样算法进行对比,测试5种方法的非攻击异常流过滤情况。仿真结果表明,由于在抽样过程中未区分flash crowd和流量攻击,选择性抽样方法、智能抽样方法、文献[9]方法和所提异常流抽样算法无法过滤非攻击异常流,其非攻击异常流过滤量均为0。而所提攻击流抽样算法,在抽样过程中通过设定攻击流
H(dIPm) 阈值,降低了由flash crowd产生的非攻击异常流抽样概率,使得其在抽样过程中可有效过滤非攻击异常流,在Dataset1和Dataset2上分别可过滤271条和268条非攻击异常流,从而验证了所提攻击流抽样算法的有效性。在3.2.1节构造的10个数据集上,测试攻击流抽样算法的数据流处理时间,并与其他4种方法进行对比,结果如图5所示。由图5可知,所提攻击流抽样算法处理速度优于选择性抽样和智能抽样方法。相比文献[9]方法,所提攻击流算法平均数据流处理时间增加了15.5%,相比异常流抽样算法,其平均数据流处理时间增加了7.2%,但所提攻击流抽样算法可有效过滤非攻击异常流,且其异常流抽样能力比文献[9]方法提高了近1.2倍,故所提攻击流抽样算法处理时间的增加是可以接受的。
综上可知,所提概率流抽样方法可同时满足大流和小流抽样需求,具有较强的异常流抽样能力,能抽样得到所有与异常流量相关的源IP地址和目的IP地址,并能有效过滤非攻击异常流。
4. 结束语
本文提出一种面向流量异常检测的概率流抽样方法,该方法能同时满足大流和小流抽样需求,具有较高的异常流抽样能力,并可有效过滤非攻击异常流,为下一步采用所提方法对大规模网络流量数据集进行抽样,并基于抽样数据集开展流量异常检测研究奠定了基础。
-
1 基于MICP匹配闭环检测的ESKF多传感器紧耦合SLAM
输入:k+1时刻的机器人位姿xk+1 1.将点云数据转换到全局坐标系,使得Sub-ICP进行初始化; 2.构建点云匹配误差数学模型F,构建里程计误差模型; 3.利用式(7)、式(17)分别得到非系统误差协方差Qk,Dk; 4.将里程计估算的机器人位姿作为位姿预测值输入ESKF,将激
光里程计计算的位姿作为观测值输入ESKF迭代;5.通过δˆxk对状态变量xk进行位姿修正; 6.更新后的位姿进行定位与地图构建。 输出:修正后的高精度地图 表 1 不同数据样本下SLAM算法闭环检测精度与用时测试
数量样本 约束数量 检测精度(%) 计算占用时间(s) Cartographer MICP Karto Cartographer MICP Karto Aces 971±5 98.1 97.9 96.4 1366 1291 1405 Intel 5786 ±597.2 98.4 96.6 2691 2523 2725 MIT CSAIL 916±5 93.4 94.2 90 7678 7284 7862 Freiburg bldg 79 1857±5 94.1 93.2 92.9 424 393 419 Freiburg hospital 412±5 98.8 98.5 96.5 1061 894 1084 MIT Killian Court 554±5 77.3 80.1 73.1 4820 4627 4839 表 2 不同SLAM算法下的机器人相对位姿误差
SLAM算法 最大误差 平均误差 中位数误差 最小误差 均方根误差 MICP-ESKF-SLAM 0.09332 0.08214 0.01721 0.00934 0.01594 MICP-SLAM 0.15587 0.12773 0.04418 0.02021 0.05672 Gmapping 1.03219 0.54158 0.49083 0.22892 0.50026 Cartographer 0.61091 0.30171 0.21823 0.10442 0.29528 Karto 0.73019 0.44203 0.29575 0.12471 0.32757 -
[1] WANG Zhongli, CHEN Yan, MEI Yue, et al. IMU-assisted 2D SLAM method for low-texture and dynamic environments[J]. Applied Sciences, 2018, 8(12): 2534. doi: 10.3390/app8122534. [2] CHAN S H, WU P T, and FU Lichen. Robust 2D indoor localization through laser SLAM and visual SLAM fusion[C]. 2018 IEEE International Conference on Systems, Man, and Cybernetics, Miyazaki, Japan, 2018: 1263–1268. doi: 10.1109/SMC.2018.00221. [3] CHEN L H and PENG C C. A robust 2D-SLAM technology with environmental variation adaptability[J]. IEEE Sensors Journal, 2019, 19(23): 11475–11491. doi: 10.1109/JSEN.2019.2931368. [4] XU Wei and ZHANG Fu. FAST-LIO: A fast, robust LiDAR-inertial odometry package by tightly-coupled iterated Kalman filter[J]. IEEE Robotics and Automation Letters, 2021, 6(2): 3317–3324. doi: 10.1109/LRA.2021.3064227. [5] XU Wei, CAI Yixi, HE Dongjiao, et al. FAST-LIO2: Fast direct LiDAR-inertial odometry[J]. IEEE Transactions on Robotics, 2022, 38(4): 2053–2073. doi: 10.1109/TRO.2022.3141876. [6] LIANG Xiao, CHEN Haoyao, LI Yanjie, et al. Visual laser-SLAM in large-scale indoor environments[C]. 2016 IEEE International Conference on Robotics and Biomimetics, Qingdao, China, 2016: 19–24. doi: 10.1109/ROBIO.2016.7866271. [7] GAO Xiang, WANG Rui, DEMMEL N, et al. LDSO: Direct sparse odometry with loop closure[C]. 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems, Madrid, Spain, 2018: 2198–2204. doi: 10.1109/IROS.2018.8593376. [8] ZHU Zulun, YANG Shaowu, and DAI Huadong. Enhanced visual loop closing for laser-based SLAM[C]. The 2018 IEEE 29th International Conference on Application-specific Systems, Architectures and Processors, Milan, Italy, 2018: 1–4. doi: 10.1109/ASAP.2018.8445128. [9] WANG Han, WANG Chen, and XIE Lihua. Intensity scan context: Coding intensity and geometry relations for loop closure detection[C]. 2020 IEEE International Conference on Robotics and Automation, Paris, France, 2020: 2095–2101. doi: 10.1109/ICRA40945.2020.9196764. [10] FAN Yunfeng, HE Yichang, and TAN U X. Seed: A segmentation-based egocentric 3D point cloud descriptor for loop closure detection[C]. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, USA, 2020: 5158–5163. doi: 10.1109/IROS45743.2020.9341517. [11] CHEN Dan, ZHANG Heng, TANG Linao, et al. Multimodal fusion simultaneous localization and mapping method based on multilayer point cloud matching closed-loop detection[J]. Journal of Electronic Imaging, 2024, 33(3): 033024. doi: 10.1117/1.JEI.33.3.033024. [12] CHEN Yang and MEDIONI G. Object modeling by registration of multiple range images[C]. 1991 IEEE International Conference on Robotics and Automation, Sacramento, USA, 1991: 2724–2729. doi: 10.1109/ROBOT.1991.132043. [13] 杨晶东, 杨敬辉, 洪炳熔. 一种有效的移动机器人里程计误差建模方法[J]. 自动化学报, 2009, 35(2): 168–173. doi: 10.3724/SP.J.1004.2009.00168.YANG Jingdong, YANG Jinghui, and HONG Bingrong. An efficient approach to odometric error modeling for mobile robots[J]. Acta Automatica Sinica, 2009, 35(2): 168–173. doi: 10.3724/SP.J.1004.2009.00168. [14] KÜMMERLE R, STEDER B, DORNHEGE C, et al. On measuring the accuracy of SLAM algorithms[J]. Autonomous Robots, 2009, 27(4): 387–407. doi: 10.1007/s10514-009-9155-6. [15] JULIER S, UHLMANN J, and DURRANT-WHYTE H F. A new method for the nonlinear transformation of means and covariances in filters and estimators[J]. IEEE Transactions on Automatic Control, 2000, 45(3): 477–482. doi: 10.1109/9.847726. [16] 程效军, 施贵刚, 王峰, 等. 点云配准误差传播规律的研究[J]. 同济大学学报: 自然科学版, 2009, 37(12): 1668–1672. doi: 10.3969/j.issn.0253-374x.2009.12.020.CHENG Xiaojun, SHI Guigang, WANG Feng, et al. Research on point cloud registration error propagation[J]. Journal of Tongji University: Natural Science, 2009, 37(12): 1668–1672. doi: 10.3969/j.issn.0253-374x.2009.12.020. [17] 武汉大学测绘学院测量平差学科组. 误差理论与测量平差基础[M]. 3版. 武汉: 武汉大学出版社, 2014.Surveying Adjustment Group School of Geodesy Wuhan University. Error Theory and Foundation of Surveying Adjustment[M]. 3rd ed. Wuhan: Wuhan University Press, 2014. [18] 崔文, 薛棋文, 李庆玲, 等. 基于三维点云地图和ESKF的无人车融合定位方法[J]. 工矿自动化, 2022, 48(9): 116–122. doi: 10.13272/j.issn.1671-251x.17997.CUI Wen, XUE Qiwen, LI Qingling, et al. Unmanned vehicle fusion positioning method based on 3D point cloud map and ESKF[J]. Journal of Mine Automation, 2022, 48(9): 116–122. doi: 10.13272/j.issn.1671-251x.17997. [19] WAN Guowei, YANG Xiaolong, CAI Renlan, et al. Robust and precise vehicle localization based on multi-sensor fusion in diverse city scenes[C]. 2018 IEEE International Conference on Robotics and Automation, Brisbane, Australia, 2018: 4670–4677. doi: 10.1109/ICRA.2018.8461224. [20] 郭文卓, 李林阳, 程振豪, 等. 先验地图/IMU/LiDAR的图优化和ESKF位姿估计方法对比[J]. 测绘科学, 2023, 48(4): 88–97. doi: 10.16251/j.cnki.1009-2307.2023.04.010.GUO Wenzhuo, LI Linyang, CHENG Zhenhao, et al. Comparison of prior map/IMU/LiDAR map optimization and error state Kalman filter pose estimation methods[J]. Science of Surveying and Mapping, 2023, 48(4): 88–97. doi: 10.16251/j.cnki.1009-2307.2023.04.010. [21] LIU Shengshu, LEI Yixing, and DONG Xin. Evaluation and comparison of gmapping and karto SLAM systems[C]. The 2022 12th International Conference on CYBER Technology in Automation, Control, and Intelligent Systems, Baishan, China, 2022: 295–300. doi: 10.1109/CYBER55403.2022.9907154. [22] HESS W, KOHLER D, RAPP H, et al. Real-time loop closure in 2D LIDAR SLAM[C]. Proceedings of 2016 IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 2016: 1271–1278. doi: 10.1109/ICRA.2016.7487258. [23] 王勇, 陈卫东, 王景川, 等. 面向动态高遮挡环境的移动机器人自适应位姿跟踪算法[J]. 机器人, 2015, 37(1): 112–121. doi: 10.13973/j.cnki.robot.2015.0112.WANG Yong, CHEN Weidong, WANG Jingchuan, et al. Self-adaptive pose-tracking algorithm for mobile robots in dynamic and highly-occluded environments[J]. Robot, 2015, 37(1): 112–121. doi: 10.13973/j.cnki.robot.2015.0112. [24] GRISETTI G, STACHNISS C, and BURGARD W. Improving grid-based SLAM with rao-blackwellized particle filters by adaptive proposals and selective resampling[C]. 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, 2005: 2432–2437. doi: 10.1109/ROBOT.2005.1570477. [25] 丁林祥, 陶卫军. ROS/Gazebo在SLAM算法评估中的应用[J]. 兵工自动化, 2022, 41(4): 87–92. doi: 10.7690/bgzdh.2022.04.018.DING Linxiang and TAO Weijun. Application of ROS/gazebo in the evaluation of SLAM algorithm[J]. Ordnance Industry Automation, 2022, 41(4): 87–92. doi: 10.7690/bgzdh.2022.04.018. 期刊类型引用(1)
1. 孙辉,史玉龙,张健一,王蕊,王羽玥. 基于高分辨率类激活映射算法的弱监督目标实时检测. 电子与信息学报. 2024(03): 1051-1059 . 本站查看
其他类型引用(1)
-