运动估计
文章平均质量分 86
苏源流
从事计算机视觉和SLAM领域,2012年10月“全国大学生数学建模竞赛”二等奖(数学应用能),2011年攻读 自动化 专业,2015年攻读“模式识别与智能系统” 专业。现在主要工作内容无人驾驶方面的视觉定位与导航,能够提供整体的地下车库自动泊车定位解决方案,该方案也适用于工业园区泊车,物流机器人,园区巡视机器人,餐饮配送、服务机器人等。本人熟悉linux下ROS环境,掌握opencv中2/3的功能,掌握视觉SLAM中ORB_SLAM2,激光lidar的loam。熟悉摄像机,激光雷达,惯导IMU等传感器的使用与开发。主导和参与多个定位项目,欢迎交流。致力于推进技术的应用,技术改变生活。不做无脑人
展开
-
[学习SLAM]根据F或E求解RT的ORB_SLAM2与opencv的对比分析
本文主要的本文主要的目的是对比。分析。Slam中的rt求解。和opencv的。Rt求解。在算法和代码上有什么区别和联系。ORB_SLAM2 计算 F21 的代码:cv::Mat Initializer::ComputeF21(const vector<cv::Point2f> &vP1,const vector<cv::Point2f> &vP2...原创 2020-12-09 17:52:16 · 2119 阅读 · 0 评论 -
[深度学习]MonoDepth2实践笔记_单目深度估计(2)
monodepth2模型的测试系列双目/单目+雷达==训练https://me.csdn.net/ltshan139https://blog.csdn.net/avideointerfaces/article/details/105647031 基于无监督和自监督的深度学习算法模型有好几种,未来也会越来越多。我们这里主要介绍monodepth2。它是自监督;而它的前身monodepth是无监督。个人觉得自监督和无监督本质差...原创 2020-08-06 14:26:21 · 6131 阅读 · 9 评论 -
[学习SLAM]ORB-SLAM3
原论文:ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAMCarlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel, Juan D. TardósarXiv:2007.11898代码开源地址:https://github.com/UZ-SLAMLab/ORB_SLAM3YouTube原创 2020-07-30 18:22:51 · 1837 阅读 · 0 评论 -
【学习opencv】从运动中恢复结构SfM-场景重建,三维重建[匹配]
示例./sfm_match_reconstruct----------------------------Reconstruction:============================Estimated 3D points: 108 //pt2d1[i] = pt2d1[i].reshape(1, 108).t();Estimated camera...原创 2020-12-09 18:20:05 · 727 阅读 · 0 评论 -
【计算机视觉】从运动中恢复结构SfM-场景重建,三维重建[图像序列]
原3.2.0-dev http://docs.opencv.org/master/d4/d18/tutorial_sfm_scene_reconstruction.html目标在本教程中,您将学习如何使用重建api稀疏重建:加载和图像文件的路径。 libmv重建传递途径运行。 使用即显示结果。模块安装从运动中恢复结构SfM模块安装https://blog.csdn.ne...翻译 2017-06-02 12:10:12 · 10236 阅读 · 2 评论 -
【泡泡机器人公开课】公开课链接 机器人俱乐部
1.工业相机选型及介绍-刘富强链接: https://pan.baidu.com/s/1nuGw4Vv 密码: tjag2.深度学习及应用-颜沁睿链接: https://pan.baidu.com/s/1c31ZcE 密码: r42j3.SVO & LSD_SLAM解析 - 贺一家链接: https://pan.baidu.com/s/1mimS6mO 密码: gp7i...转载 2018-11-23 16:28:31 · 14055 阅读 · 0 评论 -
KITTI数据集--label解析与传感器间坐标转换参数解析
KITTI数据集是自动驾驶领域最知名的数据集之一。可以用来从事立体图像、光流估计、三维检测、三维跟踪等方面的研究。一、kitti数据集,label解析16个数代表的含义:第1个字符串:代表物体类别'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram', 'Misc' or 'DontCar...原创 2018-09-25 20:43:05 · 16759 阅读 · 21 评论 -
[学习SLAM]深度学习+视觉SLAM 的可行性/方向
时间:2019.07 作者:干磊背景:本文统计的是2018年及以前的相关论,未涉及2019年的论文。1,深度学习+SLAM的可行性长期来讲,深度学习有极大可能会去替代目前SLAM技术中的某些模块,但彻底端到端取代SLAM可能性不大。 短期来讲(三到五年),深度学习不会对传统SLAM技术产生很大冲击。2,深度学习+SLAM的 5 个主要研究方向1)单目SLAM学习尺度/深度...转载 2019-08-02 15:19:23 · 6006 阅读 · 1 评论 -
[学习slam]基于opencv卡尔曼滤波(KalmanFilter)理论与实践
参考 https://en.wikipedia.org/wiki/Kalman_filter背景: 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。 目前,卡尔曼滤波已经有很多不同...原创 2019-07-03 14:14:04 · 1506 阅读 · 0 评论 -
【自动驾驶】:卡尔曼滤波器Kalman Filter
<div id="article_content" class="article_content clearfix" data-track-click="{"mod":"popu_307","con":",https://blog.csdn.net/orang...转载 2019-07-08 10:32:41 · 2674 阅读 · 1 评论 -
[学习slam]基于matlab卡尔曼滤波(KalmanFilter)实践2
[学习slam]基于opencv卡尔曼滤波(KalmanFilter)理论与实践https://blog.csdn.net/KYJL888/article/details/94024509%% % 附matlab下面的kalman滤波程序:clear all;% Kalman滤波技术A=1; % ...原创 2019-07-08 10:13:57 · 1182 阅读 · 0 评论 -
[学习slam]卡尔曼滤波原理在运动控制的应用实践 4
卡尔曼滤波的原理说明 在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人! 卡尔曼全名RudolfEmilKalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学 士及硕士学位。1957年...转载 2019-07-09 13:34:37 · 469 阅读 · 1 评论 -
【学习SLAM】视觉SLAM笔记之Frame 类
Frame 类 [数据成员]定义了 ID、时间戳、位姿、相机、图像 在 Frame 中,我们定义了 ID、时间戳、位姿、相机、图像这几个量;public:// data members typedef std::shared_ptr<Frame> Ptr; unsigned long id_; // id of this frame double time_stam...原创 2019-06-05 22:36:42 · 1322 阅读 · 0 评论 -
[学习opencv]bow 算法实现图片分类bag of word
BOW其实就是bag of word的缩写,在OpenCV中关于此框架的有3个类。 第一个是一个基类,算是BOW训练的类型, class BOWTrainer { public: BOWTrainer(){} virtual ~BOWTrainer(){} v...转载 2018-10-15 13:57:27 · 1560 阅读 · 1 评论 -
[学习opencv]Surface Matching之ICP
cv :: ppf_match_3d :: ICP类参考表面匹配该类实现了迭代最近点( ICP )算法的非常有效且稳健的变体。 任务是针对一组有噪声的目标数据注册3D模型(或点云)。 在某些测试之后,我自己将变体放在一起。 任务是能够快速匹配杂乱场景中的部分嘈杂点云。 您会发现我的重点是性能,同时保持准确性。 此实现基于Tolga Birdal的MATLAB实现,如下所示: http : ...转载 2018-10-15 13:40:32 · 6735 阅读 · 0 评论 -
【视觉 SLAM-2】 视觉SLAM- ORB 源码详解 2
1 ORB-SLAM2源码详解 by 吴博2 https://github.com/raulmur/ORB_SLAM2ORB-SLAM2源码详解 by 吴博发布时间:2016年11月13日 22:09:30 浏览数:5380次 来自:微信该算法以单目为主,但同样适用于双目和RGB-D摄像头。ORB-SLAM算法和PTAM具有相同的算法框架,采用多线程原创 2017-07-03 16:37:33 · 9809 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-Aruco模块常见问题解答 6
Aruco模块常见问题解答原文来源 opencv http://docs.opencv.org/master/d1/dcb/tutorial_aruco_faq.html这是一个编译的问题可能是有用的对于那些想要使用aruco模块。我只想标签一些对象,我应该使用什么?在这种情况下,您只需要单一ArUco标记。 您可以将一个或多个标记不同的id在每个对象的识别。翻译 2017-06-04 16:02:20 · 3960 阅读 · 0 评论 -
【视觉-三维视觉技术-术语篇】三深度图像,点云数据
1 深度图像与点云数据深度图像(depth image)也被称为距离影像(range image),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。深度数据流所提供的图像帧中,每一个像素点代表的是在深度感应器的视野中,该特定的(x,原创 2017-07-03 16:23:16 · 2277 阅读 · 0 评论 -
【计算机视觉】结构光——格雷码模式捕获教程1 (代码)
格雷码是一种具有反射特性和循环特性的单步自补码,其循环和单步特性消除了随机取数时出现重大错误的可能,其反射和自补特性使得对其进行求反操作也非常方便,所以,格雷码属于一种可靠性编码,是一种错误最小化的编码方式,因此格雷码在通信和测量技术中得到广泛应用。在本教程中,您将学习如何使用 GrayCodePattern 类:生成一个灰色的代码模式。项目格雷码的模式。捕获投射格雷码图案。重要的是要强调这一点 GrayCodePattern 类实际上实现了3中描述dunderworld算法 [73] 基于立体视原创 2017-07-03 16:14:49 · 10483 阅读 · 2 评论 -
【视觉-三维视觉技术-理论篇】三维视觉技术----双目立体视觉,结构光等-战略总结0
122格雷码结构光3D视觉技术及其仿真 122格雷码结构光3D视觉技术及其仿真作者冀然摘要结构光三维测量技术是解决非接触三维测量问题的一个有效途径,它弥补了传统机器视觉以二维强度图像恢复三维景物的过程中损失了深度信息的缺陷,可实现对三维景物的完整描述。本文采用3dsmax和Matlab软件对灰度格雷码结构光三维测量系统进行计算机仿真研究。系统采用按时间编码方式,用投射器向被原创 2017-07-03 15:52:54 · 7589 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-相机标定ArUco和ChArUco 5
相机标定ArUco和ChArUco 原文来源 opencv http://docs.opencv.org/master/da/d13/tutorial_aruco_calibration.htmlArUco模块也可以用来相机标定。 相机标定是获得相机固有参数和失真系数。 这个参数保持不变,除非相机光学修改,因此相机相机标定只需要做一次。相机校正通常是执行使用Op翻译 2017-06-04 11:27:42 · 10046 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-ArUco钻石标记的检测4
ChArUco标识板和钻石标记,检测是基于前面发现ArUco标记。 ChArUco的情况下,使用标记选择通过直接看他们的标识符。 这意味着如果一个标记(包括在标识板)上发现的一个形象,它会自动认为属于标识板。 此外,如果找到标志板图像中不止一次,它将产生歧义,因为系统无法知道哪一个应该用于标识板。另一方面,钻石标记的检测不是基于标识符。 相反,他们检测是基于相对位置的标记。 因此,标记标识符可以重复相同的钻石或在不同的钻石,他们可以同时检测到没有歧义。 然而,由于发现标记的复杂性,基于他们的相对位置,钻石翻译 2017-06-04 10:54:31 · 3345 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-ArUco标记检测1
姿态估计是非常重要的在许多计算机视觉应用程序:机器人导航、增强现实,和许多更多。 这个过程是基于找到对应点之间在现实环境和他们的2 d图像投影。 这通常是一个困难的一步,因此通常使用合成或基准标记使它更容易。最受欢迎的方法是使用二进制广场基准标记。 这些标记的主要好处是一个标记提供了足够的通讯(四角)获得相机的姿势。 同时,内部二进制编纂使他们特别健壮,允许应用错误检测和校正技术的可能性。翻译 2017-06-02 16:03:44 · 17074 阅读 · 2 评论 -
【计算机视觉】 相机姿态估计之标记检测-检测ArUco板2
ArUco板是一组标记,就像一个标志,它提供了一个单一的姿势相机。最受欢迎的板是一个标记在同一平面上,因为它可以很容易地印刷:然而,板并不局限于这种安排,可以代表任何2 d或3 d布局。板的区别和一组独立的标记,标记之间的相对位置板是已知的先验。 这允许的所有标记可用于估计相机的姿势对整个板。当你使用一组独立的标志,你可以估计每个单独标记的姿势,因为你不知道在环境中相对位置的标记。使用板的主要好处是:· 姿势估计更多功能。 只有一些标记进行姿态估计是必要的。 因此,构成可以计算出即使在遮挡或部分翻译 2017-06-02 16:00:15 · 5185 阅读 · 0 评论 -
【计算机视觉】 相机姿态估计之标记检测-检测ChArUco角点3
ArUco标记和板非常有用因为他们的快速检测和多功能性。 然而,ArUco标记的问题之一是,角落的位置的准确性不是太高,即使应用亚像素细分。相反,棋盘模式的角落可以更准确地提炼因为每个角落周围是两个黑色方块。 然而,找到一个棋盘模式不像找到一个通用的ArUco板:它必须是完全可见,遮挡不允许。翻译 2017-06-02 16:38:10 · 7841 阅读 · 4 评论 -
【matlab图像处理】生成棋方格,五子棋标定板(设置个数,尺寸,打印)
五子棋%% 五子棋clear all;clc;close allpha=0:pi/20:2*pi;%角度[0,2*pi]R=0.75;%半径x=R*cos(pha);y=R*sin(pha);n=5;for i=1:2:nfor j=1:2:nplot(i+x,j+y,'-');axis equalfill(i+x,j+y,'k');hold onen原创 2018-01-04 22:27:38 · 4446 阅读 · 0 评论 -
【计算机视觉】从运动中恢复结构SfM 三维重建-输入重建
来源OpenCV 3.2.0-devhttp://docs.opencv.org/master/de/dfd/tutorial_sfm_import_reconstruction.html输入重建目标在本教程中,您将学习如何从一个给定的文件导入重建获得与打包机[1]:加载一个文件包含一组摄像机和3 d点。 使用即显示结果。结果下图显示了一个从洛杉矶重建 圣家堂 (BC...翻译 2017-06-02 12:43:43 · 5303 阅读 · 0 评论 -
·计算机视觉」立体视觉 对极几何 (Epipolar Geometry) 本质矩阵E 基础矩阵F
致敬 (参考书)永远的丰碑 必看的书计算机视觉中的多视图几何学习opencv (参考书) 联想:地球-南北极 对极几何本质矩阵(本征矩阵) 相机坐标系的关系基础矩阵 图像像素坐标系的关系(加入内参)先思考一个问题:用两个相机在不同的位置拍摄同一物体,如果两张照片中的景物有重叠的部分,我们有理由相信,这两张照片之间存在一定的对应关系,本节的任务就是如何描述它们...原创 2018-08-10 18:05:48 · 8949 阅读 · 5 评论 -
【计算机视觉】PnP算法简介与代码解析-柴政(solvepnp理论篇)
PnP算法简介与代码解析-柴政PnP求解算法是指通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参的算法。PnP求解算法是SLAM前端位姿跟踪部分中常用的算法之一,本次公开课,将详细讲述P3P、DLT、EPnP、 ... 本期公开课将详细讲述常见的PnP求解算法。PnP求解算法是指通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小...转载 2018-07-31 20:09:13 · 28658 阅读 · 3 评论 -
关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法
关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法https://blog.csdn.net/qq_20289205/article/details/78632542关于opencv通过initUndistortRectifyMap函数获取undistort后的对应点的方法 环境与简介 前置代码 Attempt...转载 2018-07-27 11:18:17 · 3189 阅读 · 1 评论 -
【学习SLAM】KITTI数据集简介与使用
摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: The KITTI Dataset两篇论文的内容,主要介绍KITTI数据集概述,数据采集平台,数据集详细描述,评价准则以及具体使用案例。本文对KITTI数据集提供一个较为详细全面的介绍,重点关注利用...转载 2019-06-05 22:54:11 · 8499 阅读 · 1 评论 -
Opencv 3.4 的solvepnp中的P3P与EPnp位姿估计算法解析
https://www.cnblogs.com/shang-slam/p/6481344.htmlEPnP在ORB-SLAM中主要用于Tracking线程中的重定位Relocalization模块,需要通过当前关键帧Bow与候选帧匹配上的3D地图点,迅速建立当前相机的初始姿态。PnP问题解决了已知世界参考系下地图点以及相机参考系下投影点位置时3D-2D相机位姿估计问题,不需要使用对极约束(...转载 2018-07-24 17:09:50 · 19718 阅读 · 3 评论 -
opencv自定义标定与matlab对比分析 (opecv非正方形标定板)
程序说明程序结构 CmakeLists.txt Cmake文件image_points.xml 图像2D点输入存放object_points.xml标识3D点输入存放注意事项calibration.cpp 主程序#define view_number 6 //图片数目 the number of a scene views#define view_points...原创 2018-07-24 15:33:25 · 1483 阅读 · 2 评论 -
利用matlab摄像机标定(老版本MATLAB)
利用matlab摄像机标定(1)输入图像“Image names”键Matlab的图形窗口显示出20幅靶标图像 (2) 提取角点“Extract grid corners”键。输入要进行角点提取的靶标图像的编号并回车分别在“wintx ([] = 5) =”和“winty ([] = 5) =”输入行中输入角点提取区域的窗口半宽m和半高n。显示角点提取区域的窗口尺寸(2n+1)x(2m+1),例如...转载 2018-07-13 00:47:04 · 1797 阅读 · 0 评论 -
【计算机视觉】matlab calibration toolbox-Matlab标定工具箱使用
matlab calibration toolbox-Matlab标定工具箱使用1. 单目标定这个教程将带你完整地利用20到25张平面棋盘格图像进行相机标定。这个教程将让你学会如何使用所有工具箱的特征:载入图像、提取图像角点、运行标定引擎、显示结果、控制精度添加和删减图像、图像矫正、导出标定不同格式的数据...这个教程对于刚开始使用工具箱的人来说非常重要。首先下载Matlab标转载 2018-01-04 21:41:10 · 6359 阅读 · 1 评论 -
【计算机视觉】matlab编程实现根据PNP求解位姿(有问题版)
clc;clear all;n=4;f=1000;pw3=zeros(n,3);%物体坐标3维pc2=zeros(n,2);%成像坐标2维pw3=[-1000,-100,0;1000,-100,0;-1000,100,0;-1000,100,0];pc2=[-67.8995,-56.3607;83.138,43.324;73.6759,61.1555;-75.8558,-39.52原创 2018-01-19 22:29:28 · 5378 阅读 · 2 评论 -
【计算机视觉】摄像机标定 matlab toolbox_calib工具箱(单目标定和双目标定)
1 整体介绍相机标定为Matlab工具箱http://www.vision.caltech.edu/bouguetj/calib_doc/相机标定为Matlab工具箱 这是一个释放相机标定为Matlab工具箱 庐 完整的文档。 这个文档可能 也被用作一个教程自它原创 2017-05-06 22:58:20 · 8606 阅读 · 0 评论