结合语义不变量的点线立体视觉SLAM系统_tartanair-程序员宅基地

技术标签: 人工智能  

作者:鱼骨  | 来源:3D视觉工坊

在公众号「3D视觉工坊」后台,回复「原论文」即可获取论文pdf。

添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群。

摘要

传统的同步定位与制图(SLAM)系统使用环境的静态点作为实时定位和制图的特征。当可用的点特征很少时,系统很难实现。一个可行的解决方案是引入线特征。在包含丰富线段的复杂场景中,线段的描述差别不大,这可能导致线段数据的不正确关联,从而将误差引入系统并加剧系统的累积误差。针对这一问题,本文提出了一种结合语义不变量的点线立体视觉SLAM系统。该系统通过融合线特征和图像语义不变信息,提高了线特征匹配的准确性。在定义误差函数时,将语义不变量与重投影误差函数融合,并应用语义约束减少长期跟踪过程中姿态的累积误差。在TartanAir数据集和KITTI数据集的Office序列上的实验表明,该系统在一定程度上提高了直线特征的匹配精度,抑制了SLAM系统的累积误差,平均相对位姿误差(RPE)分别为1.38和0.0593米。

总结:

(1)提出了一种结合语义不变量的点线立体视觉SLAM系统

(2)将语义不变量与重投影误差函数融合定义误差函数,并应用语义约束减少长期跟踪过程中姿态的累积误差

(3)TartanAir数据集和KITTI数据集

引言

自工业4.0推出以来,机器人主导的智能制造产业已成为工业发展的支柱。视觉同步定位和映射(SLAM)系统是允许机器人探索未知环境、自我定位和构建地图的核心组件。视觉SLAM依靠廉价的轻型摄像机,可以有效地感知环境的外观,这使得仅依赖视觉传感器的SLAM系统成为机器人领域的热点问题。视觉SLAM系统的框架正在走向成熟。尽管视觉SLAM的研究领域已经取得了很大的进展,然而真实环境的可变性使得数据关联的准确性不可靠甚至无效。这导致系统的鲁棒性降低,难以满足实际需求。因此,如何提高数据关联的鲁棒性,对于减少视觉SLAM的累积误差,提高系统的整体鲁棒性具有重要意义。根据所采用的跟踪方法,将视觉SLAM系统分为直接跟踪和间接跟踪两种方法。基于直接跟踪的方法,如大尺度直接单目SLAM (LSD-SLAM)、直接稀疏里程计(DSO)和半直接单目视觉里程计(SVO),是基于最小化光度投影误差的姿态估计方法。这些方法对光照变换很敏感,对单个像素的区分很差。相比之下,基于间接跟踪的方法通过跟踪图像的点特征估计相机的姿态。代表性算法有并行跟踪与映射(PTAM)、ORB-SLAM2、RGBD SLAM-v2等。在强纹理场景中,点特征对光照不敏感,易于提取。然而,在低纹理环境或运动模糊的场景中,提取是困难的。影响系统的鲁棒性,严重时可能导致系统失效。在实际环境中,有大量的线特征具有与点特征相同的不变光照和视点特征,且易于提取。因此,可以克服低纹理场景造成的干扰,反映环境结构的完整信息。因此,涉及跟踪线特征的SLAM系统诞生了。线特征对遮挡很敏感,在缺乏纹理或高重复的区域不具有很强的识别能力,这导致匹配失败,比只依赖点特征的SLAM系统更不可靠的位姿求解。直线特征的跟踪非常耗时,不能满足SLAM系统的实时性要求。因此,点和线特征融合被应用到SLAM系统中。这里也推荐「3D视觉工坊」新课程《深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战》

为了减少累积误差的产生,现有的解决方案是通过在短期内建立多帧图像之间的约束,对位姿进行局部优化,减少轨迹漂移。当约束失败时,误差仍然会累积。另一种解决方案是采用闭环来建立一个长期约束来纠正累积误差,但这种解决方案严格依赖闭环检测。

近年来计算机图像技术的快速发展,如深度学习、目标检测、语义分割等,为机器人提高场景理解提供了更多的可能性。语义分割是一种像素级分类技术。图像中的每个像素被划分为相应的类别。在SLAM系统中应用语义分割来提高数据关联的鲁棒性是一个比较热门的研究课题。在SLAM系统中,随着时间的推移,相机的运动会导致视点、尺度和光照等特征的变化,但语义描述不会发生变化。比如在汽车上跟踪线段时,由于距离的变化,线段周围的像素发生了剧烈的变化,这导致跟踪失败。但是这条线段的语义描述属于汽车类,不受尺度和光照变化的影响。然后将线段的语义描述视为不变的,通过线段语义标签的一致性约束及其重投影特征建立线段的中期跟踪。

目前,线段相关的理论发展还不够成熟,主要表现在线段描述不够准确,这可能导致在包含许多线段的复杂场景中出现错误的数据关联。这就导致了在基于点-线特征的SLAM系统中引入线段后,线段的匹配精度较低,导致系统误差积累。

•本文提出了一种结合语义不变量的点和线特征的鲁棒立体SLAM系统。

•提出了一种改进的线段匹配方法。将语义分割的结果应用到线段匹配中,提高了线段的数据关联。

•定义线段的语义重投影误差函数,并将其应用于位姿优化过程,以提高数据关联的鲁棒性。实现了线段的中期跟踪,减少了轨迹漂移问题。

系统概述

本文以立体点线SLAM系统为基础,针对线段引入后,线段的不匹配直接影响数据关联的准确性,加剧了系统的累积误差的问题。提出了一种有效的改进方法。该方法使用语义不变量为线段匹配提供约束,减少了线段特征失配的产生。定义了线段的语义重投影误差函数,实现了线段的中期跟踪,有效地减少了轨迹漂移,提高了系统的鲁棒性。如下图所示为提出的系统的总体结构。该系统遵循ORB-SLAM2框架,整个SLAM任务按照可视化里程计、局部映射和闭环三个线程并行运行。

1279b21abf89a12112ae5ea1e3bdf22b.png

在本文中,语义分割的结果主要应用于视觉里程测量和局部姿态优化。如下图所示,系统接收到图像序列,然后进行点和线特征的提取和匹配。由于点特征的提取和匹配方法比线段更完备,语义分割结果只适用于线段的关联。在现有线段关联方法的基础上,利用语义分割的结果对线段进行语义分类。这提供了线段关联的语义不变约束,减少了不正确的数据关联。当获得点特征和线特征的关联结果时,将局部地图中的地标(点和线段)分别投影到当前帧及其对应的语义分割图像中。然后,通过最小化重投影误差项和重投影误差项的联合语义不变量来进行姿态优化。

7faa12b3d41eba3dfca40bc7657aaab5.png

方法

在本节中,我们首先介绍LSD算法提取线段的预处理细节,以及如何应用语义分割的结果约束线段的数据关联。然后描述了利用语义不变量建立点、线特征的中期数据关联后,如何进行位姿优化的问题。

1、线段的预处理与关联

线段提取采用LSD算法。LSD算法是一种局部直线检测算法,可以在不调整参数的情况下快速提取图像的局部直线轮廓。然而,由于遮挡或部分模糊等原因,线段被分割成几条直线。为了解决这一问题,本文采用[18]文献中的方法对折线段进行合并。折线段是否满足合并条件由端点之间的距离和线段之间的距离共同决定。删除合并后不符合长度阈值的线段。当预处理完成后,该方法对线段进行语义分类。线段是否属于语义范畴的判定原则如下:

(1)检测到的线段在类别区域的长度大于阈值d;

(2)如果检测到的线段位于多个语义类别的边界,则将其标记为概率最高的类别。

利用Detectron2对图像进行语义分割预测。预测由地面和非地面组成。然后,根据上述规则对线段进行分类。分类结果如图5所示。

2f0d7b52818ef636ad31e6917f0e5ce0.png

线段的数据关联应保证线段属于同一语义类,具有较高的相关性。线段的相关性由线段的局部外观描述确定,该描述由LBD描述符提供。

2、点和线重投影误差函数的语义不变量融合

在SLAM系统中,减少轨迹累积误差主要有两种方法。一是通过帧间数据关联优化姿态,减少轨迹漂移,这是一个短期约束。另一种方法依靠闭环检测进行位姿校正,在图像框架中建立长期约束。VSO利用图像的语义分割信息建立点对的中期数据关联。线段也具有语义不变性。因此,我们的方法利用这一性质来建立线段上的中期数据关联。图6给出了摄像机运动过程中点与线特征的数据关联过程。红线表示视觉里程计框架中基于外观的特性约束,绿线表示基于语义的约束。摄像头1和摄像头2可以建立基于外观的特征约束和基于语义的特征约束。在摄像机移动过程中,由于对特征外观的描述发生了剧烈的变化,在第k个摄像机中只能观察到特征的语义约束。与基于外观的约束相比,这种语义约束可以为特征数据关联提供更长期的约束,这被称为特征的中期跟踪。

9f9bc32b35385ad915680d59407f8e26.png

我们将语义不变量与重投影误差结合起来定义了一个误差函数:

9ff1452d9fd081db9eb17a4bdba097a9.png

其中Ebase是重投影误差,Esem是融合语义不变量的误差函数。通过最小化误差函数,实现了点特征和线特征的中期跟踪,减少了轨迹的漂移。

(1)Ebase的定义

基于点线特征的立体SLAM系统通常通过最小化重投影误差,给定输入115d03fdd385cf3499062bf57dfa71de.png,对应的位姿53d61f7744a55f692d0abde67fc5001b.png,三维点348a7adc518f9cf6cb86a143d2dcce61.png,三维线段cc77e43930c057b499b46e52d07c1872.png来实现局部姿态优化。重投影误差函数Ebase定义如下:

8bce1f593846c6532760f267a12707c2.png

其中Ep和EL分别表示点特征和线段的重投影误差,Ep是第i个三维点的观测值053d3586ad7c2c5d28f901d13a652dd1.png与其在第k个关键帧上的投影之间的距离为:

b7ae75c7376d47a87d8016dace7a1478.png

其中π(·)为三维点Pi的重投影坐标,k为摄像机的本征矩阵,Tk是相对运动矩阵。

由于遮挡或其他原因,线段的端点出现了不确定性。因此,线段的重投影误差函数不能简单地用观测线与其重投影之间的坐标距离来定义。更精确的方法是使用文献[19]中的方法,其中线段的重投影误差定义为投影线段的端点与被测直线之间的垂直距离之和。如图7所示,lo表示线段的观测值,lp表示三维线段的重投影,1bc3f326c30b39d291a542bf90f01956.png和表示直线重投影误差。因此,EL定义为:

db0d5e125e4a7f0a3aba2575b010fffa.png

eea301a74edda2ff20073b0e46b1eaf1.png

(2)Eseg的定义

融合语义不变量的误差函数描述了点和线特征在重投影后属于C类的概率。与VSO中阐述的现象一致,在摄像机运动过程中,由于周围的像素信息,特征会发生剧烈变化。因此,在数据关联中,特征的这一部分的约束就消失了。相比之下,特征的语义描述在尺度变化时保持不变。因此,将这种语义不变性应用到数据关联中,建立特征约束,延长特征的有效跟踪时间,减少累积误差的产生。

对于输入的52aa93df4193cb43a01351934ff90a6e.png,进行语义分割,对应的语义分割图像是8d4c849f3bdc3644a4ab60179a4bf98a.png。对于Is中的每一个像素有一个类别C。然后,对于投影到Isk的一个三维点Pi,投影坐标为µi,投影坐标有一个语义类别µi∈c,其中c是C的一个子类别。在VSO中定义了基于点特征的语义观测概率模型:

f38058fb179007ef871387cb5a9d87b7.png

其中31f660c2e42db4df62f1eea67dc27060.png表示从投影坐标µi到语义类别C最近边界的距离。σ描述语义类别C的不确定性,则点特征融合语义不变量上的误差函数可定义为:

bf02c508f9ead7103daf39096421d586.png

其中,1e9f2ccacaa7f6bdab8d76c14a52f854.png为类别概率向量,描述了Pi被一系列摄像机观测到的情况,并且类别属于C。这将导致:

28ab5dd7834064022842e4f930f3b5f6.png

其中α是用于保证1e23c14c63b1c027d7db52d33f4e46be.png的常数。

同样,对于一个三维线段Lj,它在Isk的投影也会使所投影的线段Lj具有一个语义类别j∈C。通过计算投影线段的两个端点以及线段中点到语义类C最近边界的距离来描述重投影线段属于语义类C的概率。可以确定线段中点离C最近边界的距离越小,线段属于C类的可能性越大。为了确保大多数线段属于C类,到语义区域最近边界距离最小的端点也应该被联合考虑。

b09cf0286be9eded8f71c351159d03d4.png

其中,dm和de分别表示从中点和端点到边界的距离。

因此,投影线段属于C类的概率用投影线段的中点和端点到C类边界的距离来描述。线段的语义似然模型定义如下:

59384e947e9a398172fd758d1fed1b49.png

线段融合语义不变量的误差可定义为:

e4afd1142d7cf1ac1f65864d93be0bfa.png

其中为类别概率向量,描述一系列摄像机观测到的线段Lj,类别属于C的情况:

f45a6e3cb865332b55086dbec932dc2b.png

联合语义不变量的误差函数定义如下:

09687afc0a79f562502c0162572039c8.png

实验

本节通过一系列的实验来验证本文提出的系统的有效性。利用彩色图像进行语义分割是十分必要的。因此,使用公开可用的TartanAir数据集和KITTI数据集执行验证,这两个数据集都提供了ground-truth的颜色序列。TartanAir数据集是一个室内场景数据集,KITTI数据集是一个室外场景数据集。我们将我们的方法与几种最先进的方法进行了比较,包括ORB-SLAM2和PL-SLAM。所有实验都是在一台CPU为Intel i5-4200U、内存为4GB、操作系统为Ubuntu 16.04的笔记本电脑上进行的。语义分割结果是使用Facebook AI Research推出的Detectron2算法得到的。实验结果表明:

(1)添加语义不变量后,线段之间的不匹配明显降低,线段匹配的准确率提高。这里也推荐「3D视觉工坊」新课程《深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战》

(2)在没有动态目标干扰的室内场景中,该方法能较好地抑制轨迹漂移

(3)将语义不变性的结果应用于户外场景的SLAM系统并不一定能有效地减少系统的轨迹漂移。产生这种结果的原因可能是室外场景的语义分割精度不够高,语义类别划分不够精细,以及受到动态对象的影响。

(4)我们的系统基本能够满足实时性的要求。

结论

本文提出了一种融合语义不变量的点线立体SLAM系统。为了提高线段数据关联的准确性,给出了线段的语义类别标签。通过联合语义不变量定义线段上的重投影误差函数,实现线段的中期跟踪,使系统在进行局部优化时获得更好的结果,减少了轨迹中累积误差的产生。在TartanAir数据集和KITTI数据集上验证了该方法的有效性。将实验结果与ORB-SLAM2和PL-SLAM系统进行了比较。结果表明,该算法能有效地提高系统的鲁棒性,减少大部分序列的轨迹漂移。但是,由于对语义分割信息进行了预处理,在系统中没有对原始图像进行直接的实时分割。因此,后续将考虑实时语义分割的应用,进一步提高系统的完整性。

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

af1f090d024669bdbb5da75c9bdd14e1.jpeg
添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答

针对3D视觉领域的视频课程(三维重建、三维点云、结构光、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业、项目对接为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:「3D视觉从入门到精通」

学习3D视觉核心技术,扫描查看,3天内无条件退款9217263a5f31fb17c07c079b571752b4.jpeg

高质量教程资料、答疑解惑、助你高效解决问题
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Yong_Qi2015/article/details/132505713

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf