自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用MobaXterm在Windows系统远程Ubuntu系统

通常大部分办公软件都安装在Windows系统上,使用Windows系统办公更便捷,并且大多办公软件在Ubuntu系统上不兼容,即使进行处理,使用体验也不好,下面针对在同一局域网使用Windows远程Ubnuntu进行ssh、VNC和打开远端软件在Windows可视化如何操作进行说明。注:至此可以使用MobaXterm进行ssh远程terminal登录了,接下来如果要使用VNC方式对Ubuntu系统进行桌面直接可视化操作,继续后续步骤;

2023-05-10 09:21:13 1645

原创 MSCKF(Multi-State Constraint Kalman Filter)视觉里程计算法解析

论文

2022-05-16 11:50:51 636

原创 自动驾驶传感器坐标系的欧拉角转换细节剖析

概述当前自动驾驶和辅助驾驶火热,要想实现这些,一般都需要在车身及底盘上不同位置安装多种类型的传感器,而每种传感器都有自身的坐标系,因此在使用这些传感器的时候势必要统一到一个坐标系下使用,一般这个坐标系就是车体坐标系。坐标系之间的变换关系包含多种表示形式,一般有旋转矩阵表示、旋转向量表示、四元数表示、欧拉角表示等,其中最复杂的当属欧拉角,在这针对最近对传感器坐标系标定的研究基础上,对不同坐标系间的欧拉角转换做一个资料整合。欧拉角的定义定义一个欧拉角,需要明确下面5条:三个旋转角的组合方式旋转角度的

2022-05-14 20:40:00 906

原创 ethzasl_msf(multi-sensor fusion)传感器融合定位算法解析

瑞士苏黎世大学Stephen Weiss对基于EFK松耦合传感器融合定位研究非常深入,以下是他的相关论文和开源代码,可以详细阅读,最近并附上了本人阅读的相关博客。1.论文[1] Vision Based Navigation for Micro Helicopters, 2012[2] A Robust and Modular Multi-Sensor Fusion ApproachApplied to MAV Navigation, 2013[3] Real-time Onboard Visua

2022-04-28 15:03:48 2098 1

原创 SLAM开源项目汇总

ORB-SLAM: http://webdiis.unizar.es/~raulmur/orbslam/VINS: https://github.com/HKUST-Aerial-Robotics/VINS-MonoOKVIS: https://github.com/ethz-asl/okvisPTAM单目: http://www.robots.ox.ac.uk/~gk/PTAM/LSD_SLAM: https://github.com/tum-vision/lsd_slamDSO单目: htt.

2022-01-22 17:05:49 404

原创 PnP(Perspective-n-Point)问题汇总

1. PnP(Perspective-n-Point)问题:各种算法总结分析

2022-01-19 11:02:08 931

原创 视觉SFM & 视觉SLAM & 视觉Ordometry基础学习资源

1. 视觉slam-视频

2022-01-18 16:16:32 1996

原创 Bundle Adjustment算法详解资源汇总

1. 最小化重投影误差与Bundle Adjustment (BA)2.论文Bundle Adjustment - A Modern Synthesis

2022-01-18 10:56:56 308

原创 自动驾驶之毫米波雷达

【视频】1. 详解被特斯拉抛弃的毫米波雷达【文章】

2021-12-07 16:41:18 517

原创 自动驾驶之激光雷达

1. 详解激光雷达(完整版)

2021-12-07 16:18:21 121

原创 自动驾驶学习资源汇总(不定期更新~)

视频资源1. 百度云智学院: 以理论与实践结合的方式,深入介绍地图与导航、感知、定位、决策规划、控制、CarOS 等模块内容。系列文章资源

2021-11-04 16:36:23 220

原创 闪光灯介绍

1. 闪光灯闪光灯是在摄影时所使用的人造光源。当按下照相机的快门之后,通常在1/1000到1/2000之间,照亮场景。闪光灯多用于光线较暗的场合瞬间照明,也用于光线较亮的场合给被拍摄对象局部补光。闪光灯的类型有LED、Dual LED、Xennon2. 工作原理①牛顿三色原理:红绿黄三种发光二极管混合发光可以得到白色光,比较难控制②蓝色LED和黄色荧光剂混合可以产生白光,荧光剂厚度来调色闪光灯要结合光圈、快门、ISO和发光功率来综合调节。Guide Number(GN)= F-number

2021-11-02 17:16:01 1696

原创 SVD奇异值分解求解位姿变换矩阵

一、SVD奇异值分解理论推导SVD奇异值分解求解旋转矩阵和平移矩阵的理论推导可以参考如下博文:1. SLAM常见问题(四):求解ICP,利用SVD分解得到旋转矩阵2. 机器学习中的矩阵方法04:SVD 分解3. SVD分解求变换矩阵(C++版)4. 利用SVD求得两个对应点集合的旋转矩阵R和转移矩阵t的数学推导5. 计算两个对应点集之间的旋转矩阵R和转移矩阵T二、求解注意事项很多情况下通过SVD分解得到的矩阵并不是最终旋转矩阵的结果,而是反射矩阵,因此需要在最后得到结果后进行处理,下面简单介

2021-10-25 16:46:04 3959

原创 图像透视变换——通过图像直接求解单应矩阵

透视变换(Perspective Transformation)是将原来的图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。

2021-09-14 16:03:16 816

原创 目标跟踪学习资源汇总(不定期更新~)

1. 多目标跟踪(MOT)系列课程(edX-CHARLMERS)来源:哔哩哔哩多目标跟踪(MOT)系列课程Part1:多目标跟踪引论多目标跟踪(MOT)系列课程Part2:复杂场景中的单目标跟踪多目标跟踪(MOT)系列课程Part3:复杂场景中的多目标跟踪多目标跟踪(MOT)系列课程Part4:随机有限集多目标跟踪(MOT)系列课程Part5:使用共轭先验的多目标跟踪多目标跟踪(MOT)系列课程Part6:前景展望来源:youtubeThis video is part of a lect

2021-08-25 12:01:46 456

原创 双目相机OpenCV标定常见问题汇总

常见问题汇总(持续更新中。。。20210705)1.一般标定的时候有两种,一是Matlab工具箱,二是vs+opencv库,就准确度来说,由于matlab已经足够的智能化,又有人为参与点的标定,所以准确度较高!如果你是初学者,用matlab工具箱标定是最好的。2.vs+opencv标定过程中,对于一个初学者肯定会出现很多问题。那么一定要检查一下这么几项:a. 双目标定的棋盘格是否都出现在左右摄像机的视野?一定要保证棋盘格全部进入左右相机视野,这样才能正确建立两个相机的坐标关系b. 双目相机在用ste

2021-07-05 19:54:35 2494 2

原创 双目相机标定模型详解

第七节、双目视觉之空间坐标计算目录一、自己动手实现(只进行图片矫正、不进行立体校正)二、利用OpenCV库实现(进行图片矫正、立体校正)1、双目立体标定2、立体校正3、Bouguet校正原理4、stereoCalibrate 函数5、 stereoRectify函数6、initUndistortRectifyMap函数三 立体匹配算法四 程序讲解1、标准数据集测试2、basler相机数据集在上一节我们已经介绍了如何对相机进行标定。然后获取相机的内部参数,外部参数。内参包括焦距、

2021-07-05 17:50:31 8698 4

原创 空间姿态描述方式

空间姿态描述空间姿态描述以及不同描述形式之间的变换经常在传感器外参标定过程中用到,收集了一些资料进行深入了解和区分。姿态描述方式(1)欧拉角参考: https://en.wikipedia.org/wiki/Euler_angles(2)四元数参考: https://en.wikipedia.org/wiki/Quaternion(3)旋转矩阵参考: https://en.wikipedia.org/wiki/Rotation_matrix参考资料欧拉角和四元数对比动图Quaterni

2021-05-26 16:22:47 483

转载 双目相机模型原理

立体成像概述我们对双眼的立体成像能力非常熟悉,但是在计算机软件中,我们可以模仿这种能力到什么程度呢?实际上,计算机是通过寻找两个成像仪上的对应点来完成这个任务。其原理是:查找某个点在两张图片的对应点,通过其和摄像机基线之间的距离进行计算,可以得到这个点的三维位置。尽管两张图片的对应点的搜索计算量比较高,但我们可以利用几何知识,限定搜索的范围,降低计算量。因此,使用双目相机进行立体成像包括以下4个步骤:去畸变:使用数学方法消除径向和切向的畸变机位标定:调整两个相机的角度和其之间的距离,保证两个相机输出

2021-05-26 15:03:35 2604

转载 图像位置估计及3D投影

构建查找并构建三维坐标系关键函数:cv2.solvePnPRansac( objpoints, # 对象点列表 corners, # 角点列表 cameraMatrix, # 相机矩阵 distCoeffs # 畸变系数)使用RANSAC方案从3D-2D点对应关系中查找对象姿态。cv2.solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs[, rvec[, tv

2021-05-26 14:28:17 1583

转载 相机内参标定及去畸变矫正代码示例

一、相机标定由于廉价的相机会给图像带来极大的失真,主要是径向变形和切向变形,导致直线变的弯曲,离图像中心越远的像素,失真越严重。为了得到正确的图像,首先需要纠正这些失真。为了找到所有这些参数,我们要做的是提供一些定义良好的图案的示例图像(棋盘格)。我们在其中找到一些特定点(棋盘上的格子的角点)。我们知道它在现实空间中的坐标,也知道它在图像中的坐标。利用这些数据,可以在后台通过解决一些数学问题,获得失真系数。标定板标定本质上是借助一个已知确定的空间关系(标定板),通过分析拍照的图片像素,逆向推出相机固

2021-05-26 11:54:04 5376

转载 相机畸变模型及去畸变计算

透镜实际成像时,如果小孔过小,则入射光的强度会受到影响,进一步会影响到成像。 另一方面,由于光的波动性,在小孔的边缘上,光将发生衍射,因此,这些光将在像平面上“散播”。当小孔变的越来越小时,入射光的“散播”范围将变得越来越大,因此,入射光中越来越多的能量将会被“散播”到:偏离入射光方向的“地方”。我们在使用针孔相机时,我们做过一个假设:针孔是无线小的一个孔。在真实物理世界中,我们的假设一般无法成立,那如果改变针孔的大小后,会发生怎样的变化呢?如上图所示,当针孔尺寸发生改变后,穿过针孔的光线数量就会

2021-05-26 11:03:19 19754 7

转载 相机成像模型及坐标变换

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。标定的目标:求出相机的内、外参数,以及畸变参数。为什么需要标定:...

2021-05-25 16:59:27 1327

转载 相机基础及分类

相机基础概述¶相机是机器视觉的基础,相机直接产生了相机数据。所有视觉算法都是作用在相机数据上的。相机数据的好坏,或者对相机数据的理解方式,直接决定了视觉算法的效果。世界中的光线被检测到,于是产生了视觉。光线从某种发射源(如灯管、太阳)发射出射线,穿过空间照射到某个物体上。此时,大部分光线被吸收,我们认为没有被吸收的光线就是物体的颜色,这些光线反射进入我们的眼睛(或相机),被我们的视网膜(或图像采集器)吸收。光线从物体发射开始,通过透镜到达眼睛或相机,然后到达视网膜或图像采集器的几何过程,是计算机视觉应

2021-05-25 15:06:21 1296

转载 5.2-手眼标定(外参标定)

返回 >>>>>> PCL-3D点云总目录一、手眼标定的原理图例说明:{b}:base基座标系{g}:gripper抓手坐标系{t}:target标定板坐标系{c}:camera相机坐标系正交矩阵的特性:眼在手上eye in hand,眼在手上,相机移动眼在手外eye to hand,眼在手外,相机固定二、手眼标定的操作将标定板固定在机械臂末端开启机械臂,开启摄像头在距离摄像头40、60、80cm的距离上,在摄像头可见范

2021-05-25 14:59:01 5688 8

转载 5.1-2D图像与3D点云融合

返回 >>>>>> PCL-3D点云总目录概述截止目前为止,我们学习了机器人学,学习了2D和3D视觉算法。我们也学习了2D相机(图像数据的来源)和3D相机(点云数据的来源)工作原理。实际上,我们最终要做的,是一个手眼机器人系统。在这个系统里,相机与机器人构成了两个非常关键的部分,它们之间需要密切配合,因此,它们之间的关系,也就非常重要。确定相机与机器人之间的关系,这是手眼标定要解决的问题。另一方面,在很多场合,为了增强算法的鲁棒性,我们通常同时使用图像数据与点云数

2021-05-25 14:33:05 4555

转载 4.4-点云模板匹配

返回 >>>>>> PCL-3D点云总目录接下来我们将使用学过的工具来解决更高实际的需求,将先前捕获的对象模型与新捕获的数据对齐。在此示例中,我们将拍摄一个包含一个人的深度图像,并尝试拟合先前捕获的人脸模板(1个或多个);以确定场景中人脸的位置和方向。深度图及模板图如下:红色为新拍摄的深度图像,绿色为先前制作好的人脸模板。代码实现创建文件:template_alignment.cpp#include <limits>#include <fs

2021-05-25 11:48:08 3660

转载 4.3-3D包容盒子

返回 >>>>>> PCL-3D点云总目录使用pcl::MomentOfInertiaEstimation类来获取基于偏心率和惯性矩的描述符。该类还允许提取云的轴对齐和定向的边界框。但是提取的OBB并非最小可能的边界框。代码实现创建文件:moment_of_inertia.cpp准备资源:./data/milk_color.pcd执行命令:./moment_of_inertia ./data/milk_color.pcd#include <vector&

2021-05-25 11:38:24 409

转载 4.2-点云曲面重建

返回 >>>>>> PCL-3D点云总目录曲面重建技术在逆向工程、数据可视化、机器视觉、虚拟现实、医疗技术等领域中得到了广泛的应用 。 例如,在汽车、航空等工业领域中,复杂外形产品的设计仍需要根据手工模型,采用逆向工程的手段建立产品的数字化模型,根据测量数据建立人体以及骨骼和器官的计算机模型,在医学、定制生产等方面都有重要意义 。除了上述传统的行业,随着新兴的廉价 RGBD 获取设备在数字娱乐行业的病毒式扩展,使得更多人开始使用点云来处理对象并进行工程应用 。 根据重

2021-05-25 11:03:55 2247

转载 4.1-点云分割

返回 >>>>>> PCL-3D点云总目录点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征 。 点云的有效分割往往是许多应用的前提。例如,在逆向工程CAD/CAM 领域,对零件的不同扫描表面进行分割,然后才能更好地进行孔洞修复、曲面重建、特征描述和提取,进而进行基于 3D内容的检索、组合重用等。在激光遥感领域,同样需要对地面、物体首先进行分类处理,然后才能进行后期地物的识别、重建 。总之,分割采用分而治之的思想,在点云处理中和

2021-05-25 10:54:23 3640

转载 3.5-点云配准基本数学原理

返回 >>>>>> PCL-3D点云总目录概念基础三维点云的配准即是通过对点云的旋转、平移进行对齐,进而得到一个4x4的变换矩阵,包含3x3的旋转矩阵和3x1的平移向量。旋转矩阵可以通过罗格里格斯变换成一个1x3的旋转向量,故而最终是6个变量。常用的点云配准算法是:迭代最近点算法(ICP),正态分布变换配准(NDT),基于特征不变性的配准 (ORB/FPFH/NARF)其他演变算法及不同思路算法:ICP拓展:稳健ICP、point to plane ICP、po

2021-05-24 20:10:15 2211

转载 3.4-点云配准之交互式ICP

返回 >>>>>> PCL-3D点云总目录本教程将教您如何编写交互式ICP查看器。 该程序将加载点云并对其施加刚性变换。 之后,ICP算法会将变换后的点云与原始对齐。 每次用户按下“空格”,都会进行一次ICP迭代,并刷新查看器。代码实现代码文件interactive_icp.cpp资源准备 monkey.ply//// Created by ty on 20-5-29.//#include <string>#include <pcl

2021-05-24 19:10:10 502

转载 3.3-点云配准流程代码示例

返回 >>>>>> PCL-3D点云总目录使用迭代最近点算法(ICP)迭代最近点算法(Iterative Closest Point,简称ICP算法)代码实现创建文件:iterative_closest_point.cpp#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/registrati

2021-05-24 16:06:59 2202 1

转载 3.2-点云配准原理概述

点云配准需求场景​随着计算机辅助设计技术的发展,通过实物模型产生数字模型的逆向工程技术获得了越来越广泛的应用,与此同时,硬件设备的日趋完善也为数字模型操作提供了足够的技术支持。由于三维扫描仪设备受到测量方式和被测物体形状的条件限制,一次扫描往往只能获取到局部的点云信息,进而需要进行多次扫描,然后每次扫描时得到的点云都有独立的坐标系,不可以直接进行拼接。在逆向工程、计算机视觉、文物数字化等领域中,由于点云的不完整、旋转错位、平移错位等,使得要得到完整点云就需要对多个局部点云进行配准。为了得到被测物体的完整

2021-05-24 15:43:44 5141

转载 3.1-点云计算数学基础

函数求导方差&协方差矩阵基本概念方差(Variance)衡量的是单个随机变量的变化(比如一个人在群体中的身高),概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。方差的公式为:¯x是随机变量x的均值,n为样本总数。标准差(Standard Deviation)是方差的算术平方根,用σ表示。标准差能反映一个数据集的离散程度。协方差(Covariance)衡量的是两个随机变量同时变化的离散程度(比如一个人在群体中的身高和体重)。方差是协方差的一种特殊情况。协方差矩

2021-05-24 14:56:58 1414

转载 2.8-特征检测与描述子

返回 >>>>>> PCL-3D点云总目录3D特征描述子特征描述子 Feature Descriptor是每个特征点独特的身份认证同一空间点在不同视角的特征点具有高度相似的描述子不同特征点的描述子差异性尽量大通常描述子是一个具有固定长度的向量描述子可以分为以下几种类型:基于不变性的描述子、基于直方图的描述子、二进制描述子PCL主要实现了:NARF特征点描述子、PFH(FPFH)点特征直方图描述子、RoPs 特征、VFH视点特征直方图描述子、GASD全局对

2021-05-24 11:46:45 938

转载 2.4-关键点Keypoints

返回 >>>>>> PCL-3D点云总目录关键点也称为兴趣点,它是 2D 图像或 3D 点云或曲面模型上,可以通过检测标准来获取的具有稳定性、区别性的点集。从技术上来说,关键点的数量比原始点云或图像的数据量少很多,其与局部特征描述子结合组成关键点描述子。常用来构成原始数据的紧凑表示 ,具有代表性与描述性,从而加快后续识别、追踪等对数据的处理速度 。固而,关键点提取就成为 2D 与 3D 信息处理中不可或缺的关键技术 。关键点概念及算法¶NARF(Normal Al

2021-05-24 11:12:01 1145

转载 2.3-深度图RangeImage

返回 >>>>>> PCL-3D点云总目录深度图目前深度图像的获取方法有激光雷达深度成像法,计算机立体视觉成像,坐标测量机法,莫尔条纹法,结构光法等等,针对深度图像的研究重点主要集中在以下几个方面,深度图像的分割技术深度图像的边缘检测技术基于不同视点的多幅深度图像的配准技术基于深度数据的三维重建技术基于三维深度图像的三维目标识别技术深度图像的多分辨率建模和几何压缩技术等等在PCL 中深度图像与点云最主要的区别在于其近邻的检索方式的不同,并且可以互相转换。

2021-05-24 10:56:07 658

转载 2.2-滤波器及其原理

返回 >>>>>> PCL-3D点云总目录高斯滤波¶使用高斯卷积核对图片进行平滑(模糊)处理,是一种常见的线性图片过滤技术。每一个输出图片中的像素点都是其输入图片中周围邻居像素值的加权求和结果。其核心就是一个核函数的卷积操作,对图片进行低通滤波。高斯模糊(Gaussian blur / GB)图片滤波器定义如下:GB[I]p∑q∈SGσ(∥p−q∥)Iq这里$G_σ(x) $ 表示二维的高斯卷积核Gσ(x)12

2021-05-24 10:30:07 655

转载 2.1-PCL点云滤波Filtering

返回 >>>>>> PCL-3D点云总目录点云滤波概述¶在获取点云数据时,由于设备精度、操作者经验、环境因素等带来的影响,以及电磁波衍射特性、被测物体表面性质变化和数据拼接配准操作过程的影响,点云数据中将不可避免地出现一些噪声点。实际应用中除了这些测量随机误差产生的噪声点之外,由于受到外界干扰如视线遮挡、障碍物等因素的影响,点云数据中往往存在着一些离主体点云较远的离散点,即离群点。不同的获取设备点云噪声结构也有不同。通过滤波完成的功能还包括孔洞修复、最小信息损失的海

2021-04-23 14:34:17 556

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除