自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 OpenMVS中PatchMatch算法中单应矩阵H的分析

论文:《Accurate Multiple View 3D Reconstruction Using Patch-Based Stereo for Large-Scale Scenes》该论文是OpenMVS中PatchMatch算法原理的出处,因此仔细阅读了一遍,在此记录一下遇到难点。这篇博客讲的主要是该论文中的单应矩阵。论文是怎么表述单应矩阵的?(参数比较多,具体的含义请到论文看哈)稍微解释一下参数:用Xi和ni描述一个平面:Xi是世界坐标系中的一个点。ni 是平面的法向量。Ri、

2021-06-23 10:37:17 645 2

原创 持续更新:OpenMVS中的各种问题:c++语法;代码对应的具体意义

前言:这个文档记录的内容是OpenMVS代码里面碰到的问题,大致可以分成两类:一类是变态的c++语法,另一类是OpenMVS里面一些代码对应的具体意义。文档将会以问答的形式进行记录。———————————————————————————————————————————————————————c++语法问题:1.“ASSERT(imagesMap[idx] != NO_ID)”似乎是一个判断语句,背后具体是怎么封装起来的?解:2.点进NO_ID的宏定义是“DECLARE_NO_INDEX(uint

2021-05-14 11:04:02 611 2

原创 #记录一下:看完能大概理解SIFT思路的博文

#记录一下,一篇比较通俗,看完能大概理解SIFT思路的博文https://blog.csdn.net/qq_39451645/article/details/112129039

2021-05-09 20:21:13 182

原创 ubuntu16.04下安装understand

1.下载understand的安装包安装包从CSDN中获取(0积分):就是我上传的资源解压到目录下,进入bin/linux64的文件下,执行./understand,密钥: 09E58CD1FB792.制作启动器现在实际上已经可以运行understand了,但是每次都只能命令号来打开understand。这样也太麻烦了,我们得给他弄个启动器,让他像平常的软件一样,可以直接鼠标打开。打开命令行:cd /usr/share/applicationsgedit创建一个understa

2021-04-27 15:37:28 1557 9

原创 论文中看到的光线投影法(ray casting)是什么?

首先,这东西是干嘛用的?光线投影法,算法具体是怎么实现的?参考博客:基本思想:https://blog.csdn.net/baidu_17313961/article/details/53519213细节一点的:https://blog.csdn.net/timzc/article/details/6020260细节一点的:https://www.pianshen.com/article/3615661414/...

2021-04-03 10:06:52 2979

原创 三维建模中基于体素的TSDF模型是什么

什么是体素?答:图像里面的最小单位是像素,体素就是三维立体图里面的最小单位。可以理解成二维中的像素的升级版,更直观的理解是“我的世界”里面的一个个小立方块。下面就不用体素这个词了,直接用小立方块更直观地表达。基于体素的TSDF——翻译为人话就是:怎么结合体素来描述一个三维地图首先,我们的整个三维地图都用小立方体来表示,好像很简单呀:如果这个小立方体如果有物体存在,就记为1,没有物体覆盖就记为-1,so seay。——小了,格局小了,能广泛使用的算法哪能怎么简单呢?TSDF基本思想TSDF模型

2021-03-31 20:47:37 2945 6

原创 #记录一下:关于三维建图的一些文章讲解 + Delaunay三角剖分的含义

三维建图的一般过程:Images Poses——>Depth——>Ponit cloud——>Mesh——>Refined Mesh——>Texture MeshRGB图像,位姿——>稠密建图——>点云地图——>网格地图——>优化后的网格地图——>对网格地图进行纹理贴图每一步都是一个坑…哭了如何从点云到三维地图:https://zhuanlan.zhihu.com/p/54469298...

2021-03-28 16:58:25 783

原创 #记录一下:论文中看到IoU是什么

其实就是一种算法,用于检测特定数据集中相应物体准确度。或者可以将其理解成一种评价机制,跟RMSE类似的评价机制。而这个所谓“特定数据集”,就是有ground truth的数据集IoU = 两个区域重叠部分➗除以两个区域合并起来总的区域参考博文:https://blog.csdn.net/u012704941/article/details/82464558...

2021-03-16 10:36:22 295

原创 条件随机场CRF

最近看论文看到某个叫CRF的东西,于是去看了看。条件随机场 CRF:Conditional Random Field这也是一个机器学习中分类决策的算法。引入问题:给你一个句子,请判断句子里面的单词分别是什么词性(词性标注问题)参考博文中举了一个更通俗的例子来说明这类问题:假设现在有你一个朋友小明一天下来的许多生活照,给这些照片分类,说明此时他正在做什么。1.当识别出小明在黑暗环境中闭着眼睛,那么很有可能他在睡觉。2.当识别出小明在一些食物前张大嘴,那么他很有可能是在吃饭。这样的做法似乎是可

2021-03-02 10:11:44 156

原创 吴恩达卷积神经网络笔记随笔

b站吴恩达卷积神经网络学习笔记随笔:P1-P9视频地址:https://www.bilibili.com/video/BV1F4411y7o7?from=search&seid=16850777765372298719卷积神经网络与普通的神经网络为什么需要卷积神经网络呢?因为普通的神经网络哪里没那么好吗?想想如何对神经网络输入一个RGB三通道的图像:将图像m* n* 3展开,展开成一个一维的列向量(那么这个向量有m* n* 3行,1列),里面全是图像RGB通道的的对应值。将这个向量输入到

2021-01-22 21:50:07 184

原创 b站李宏毅机器学习笔记随笔

b站李宏毅机器学习笔记随笔:P1-P4视频地址:https://www.bilibili.com/video/BV1JE411g7XF?p=4机器学习:从数据中筛选出一些有用的信息。我们的世界存在的数据,是人类无法全部获得的,可以认为是无穷的,小小的人类只能从部分的数据中,分析上帝到底在想什么。事物具有普遍性与特殊性,能被我们采集到的数据也是如此:数据中蕴含的普遍性让能够窥探上帝在想什么,也就是说能一定程度上预测没有被我们采集到的数据是什么样的。同时,我们又很容易被采集回来的数据的特殊性带偏。过拟

2021-01-20 16:22:36 163

原创 #记录一下:贝叶斯公式做分类的理解

#记录一下:使用贝叶斯做分类的解释:有个东西有很多个特征,同时它也能分成很多个类别:输入多个特征——>[贝叶斯公式]——>输出对应的类别https://blog.csdn.net/weixin_33893473/article/details/90436411...

2021-01-16 21:41:36 173

原创 一篇讲深度学习神经网络很通俗的入门文章

#记录一下:一篇讲深度学习神经网络很通俗的入门文章:https://blog.csdn.net/qq_45070713/article/details/90260124

2020-12-10 23:16:51 122

原创 一个关于人工智能深度学习神经网络的宝藏网站

#记录一下一个关于人工智能深度学习神经网络的宝藏网站,通俗简明,都是大白话:https://www.captainbed.net/

2020-12-10 22:37:42 291

原创 C++中利用FFT实现多项式相乘;scanf函数无法通过编译的修改方法

快速傅里叶变换FFT实现的c++代码:#include <iostream>using namespace std;#include <complex>#include <cmath>double PI = acos(-1);complex<double> a[400010], b[400010], c[400010];void fft(complex<double>* a, int n, int op){ if (n == 1)

2020-11-18 15:34:46 226

原创 哈希算法的笔记总结

2020-11-15 15:46:23 177

原创 c++ 向子函数传递数组

向子函数传递一个数组时,数组是不会被拷贝的,一般来说都是传地址给子函数而已。怎么规范地向子函数传递数组呢,一般来说,我们会给定数组地址,然后告诉子函数数组的长度之类的。利用函数模板,可以实现不需告诉子函数数组长度,也能安全地使用数组,使用的是非类型模板参数,编译器根据你给定的非类型模板参数,自行推断出对应的数组长度,这个方法更具有普适性。下面是向子函数传递数组的几个基本用法:#include <iostream>using namespace std;int test1(const

2020-10-31 10:59:27 2558

原创 opencv扩充图像边缘函数:cv::copyMakeBorder中的参数borderType显示无定义

copyMakeBorder(Mat src, Mat dst, int top, int bottom, int left, int right, int borderType, Scalar value)borderType是要告诉函数,我要扩充边缘是什么样子的,填充什么东西进去,例如最常用的填充常值,或者在边缘处镜像等操作。我在Linux中跑的时候,显示我要用的BORDER_CONSTANT(填充常值)没有定义,十分纳闷,于是打算百度BORDER_CONSTANT对应的int值。下面是各个typ

2020-10-26 19:36:11 573

原创 #记录一下:关于卡尔曼滤波器的通俗解释

#记录一下卡尔曼滤波器的通俗解释:https://www.zhihu.com/question/22422121/answer/22877882

2020-10-22 17:15:53 111

原创 #记录一下:slam十四讲,图优化的解析

#记录一下:图优化的解析https://www.cnblogs.com/gaoxiang12/p/5244828.html

2020-10-21 20:56:27 279

原创 概率(probability)---似然(likelihood)的前世今生

概率–似然,这两个词在中文中貌似看不出啥关系。但是在英文里:probability和likelihood,在做阅读理解的时候,你可以认为他们是相同的单词,从而进行同义词替换。但在数学的世界里,以这两个词为核心诞生的两个概念:概率函数和似然函数,却有着天差地别。假如现在有个黑箱,里面放着白球和黑球,他们的比例是惟一的,但却只有上帝知道,但是上帝嘛肯定不告诉你。那么对我们人类来说,怎么才能知道黑箱里的黑白球比例呢?(或曰:每次从箱子里区一个球,是白球或者黑球的概率)不知道上帝想什么,去估计上帝想什么,这就

2020-10-19 21:05:20 2811

原创 slam十四讲中关于unordered_map的使用

#记录一下:unordered_map本质上是一个类似于vector的容器,但是不同在于他使用哈希算法来帮助储存检索容器中的数据,比普通的顺序排列读取效率更高。也因为使用了哈希算法,unordered_map比vector多了一个东东——<key, value>键值对。为什么要键值对呢?具体要看看哈希算法的原理。哈希算法可以看看这个,关于哈希算法的一系列解析文章:http://www.nowamagic.net/academy/detail/3008010(这个网站有不少有意思的文章)

2020-10-13 19:33:31 158

原创 #记录一下:图像旋转的公式推导

#记录一下:图像旋转的公式推导https://blog.csdn.net/liyuan02/article/details/6750828

2020-10-05 16:40:41 285

原创 slam十四讲ch8中遇到的c++小问题:fin>>time_rgb>>rgb_file>>time_depth>>depth_file;

有不懂的代码:ifstream fin( associate_file ); if ( !fin ) { cerr<<"I cann't find associate.txt!"<<endl; return 1; }string rgb_file, depth_file, time_rgb, time_depth; list< cv::Point2f > keypoints; // 因为要删除

2020-09-25 15:20:25 422

原创 #记录一下:slam十四讲g2o的高端分析

#记录一下计算机视觉life的文章,关于g2o的详细分析。参考博文:https://mp.weixin.qq.com/s/j9h9lT14jCu-VvEPHQhtBw

2020-09-24 11:04:33 139

原创 #记录一下:slam十四讲,第四章李群李代数的高端理解(非常通俗的解析)

#记录一下:一篇要吹爆的博文,李群李代数参考博文:https://blog.csdn.net/wb790238030/article/details/88219634

2020-09-22 22:05:03 254

原创 常见的二范数是什么意思?有什么用?

#记录一下:参考博文写的很清楚了:在优化一个变换矩阵T时,常常用到这样的公式:意思是:现在总共有N个三维点p和相机观测值z,那么我们的目标就是寻找一个最佳的位姿T,使得整体误差最小化。这时候我们的误差函数(等式右边)是一个矩阵呀,这怎么优化,起码也有一个目标值才能优化吧??这就是范数登场的时候了,他就是用来描述等式右边的“误差矩阵”,到底ok不ok。“误差矩阵”的二范数越小表示越逼近实际值。这就是二范数的作用。/分割线/参考博文很详细,方便起见,给点博文的一部分内容:这里的矩阵就是表征

2020-09-22 21:11:18 53451

原创 slam十四讲遇到的问题:模板与类/结构体的组合使用

#记录一下template <int _PoseDim, int _LandmarkDim> struct BlockSolverTraits { static const int PoseDim = _PoseDim; static const int LandmarkDim = _LandmarkDim; typedef Eigen::Matrix<double, PoseDim, PoseDim, Eigen::ColMajor> PoseMa

2020-09-19 15:56:59 241

原创 slam十四讲中遇到的c++问题:typedef typename Traits::PoseMatrixType PoseMatrixType;

问题:这是什么意思typedef typename Traits::PoseMatrixType PoseMatrixType;解释:使用typedef将旧类型Traits::PoseMatrixType简化定义为一个新的类型PoseMatrixType。typename的作用是告诉编译器 Traits::PoseMatrixType 是一个类型,不是一个变量或者函数。这是因为编译器在最开始并不能判断 Traits::PoseMatrixType 是 Traits 命名空间中的函数、变量还是类型,

2020-09-19 11:03:54 271

原创 slam十四讲中遇到的小问题,关于keypoints类和matches类:keypoints_1[m.queryIdx]

代码如下:vector<KeyPoint> keypoints_1, keypoints_2;vector<DMatch> matches;find_feature_matches ( img_1, img_2, keypoints_1, keypoints_2, matches );cout<<"一共找到了"<<matches.size() <<"组匹配点"<<endl;for ( DMatch m:matches ){

2020-09-17 20:57:10 1397

原创 slam十四讲ch7中,DMatch类中的queryIdx和trainIdx

由于是在ch7中的pose_estimation_3d2d遇到的问题,因此我直接在pose_estimation_3d2d文件中添加测试代码,测试代码可以放在最后应该也可以,就是图个方便… /*************test*************/ cout << "test_start:" << endl ; Mat my_img1=img_1.clone(); Mat my_img2=img_2.clone(); int img1_

2020-09-17 20:42:59 5447 1

原创 slam十四讲ch7中的pose_estimation_3d2d报错:error while loading shared libraries: libg2o_core.so: cannot open

pose_estimation_3d2d中显示错误的代码段为初始化g2o中的片段: // 初始化g2o typedef g2o::BlockSolver< g2o::BlockSolverTraits<6,3> > Block; // pose 维度为 6, landmark 维度为 3 Block::LinearSolverType* linearSolver = new g2o::LinearSolverCSparse<Block::PoseMat

2020-09-17 16:13:16 946 1

原创 slam十四讲,第五讲中相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系总结

#笔记,方便日后忘记回看,仅记录重点内容,具体推导回看十四讲先上图:如图,现实世界中有一个P点和一个相机(光心),描述这个P点的空间坐标首先得有一个坐标系,那么以光心为原点O建一个坐标系,叫相机坐标系。那么就可以在相机坐标系下,设P坐标(x,y,z)和P的投影点P’(x’,y’,z’)。值得一提的是,P’(x’,y’,z’)坐落在物理成像平面和像素平面。物理成像平面,像素平面是二维的,他们的坐标系并不一样:物理成像平面在o’x’y’平面上;像素平面的原点在那个黑灰色图的左上角(图片的左上角),

2020-09-01 11:47:36 8229 6

原创 Mat_<double> ( 3,3 )是什么意思

#记录一下问题:Mat_< double > ( 3,3 )是什么?来源是slam十四讲里面遇到的这样一段代码,不明觉厉…Mat t_x = ( Mat_<double> ( 3,3 ) << 0, -t.at<double> ( 2,0 ), t.at<double> ( 1,0 ), t.at<double> (

2020-08-31 14:49:11 4482 1

原创 slam十四讲,ch7的一些解答

#记录一下:遇到的问题:编译pose_estimation_2d2d.cpp时, 报错:CV_FM_8POINT was not declared in this scope解决方法:将CV_去掉再编译就可以通过。参考博文:https://blog.csdn.net/qq_38629044/article/details/96907844#3_2d2dcpp_CV_FM_8POINT__was_not_declared_in_this_scope_18...

2020-08-30 14:04:30 853

原创 CMakeList寻找opencv库的方法

我自己安装opencv的时候,修改了默认的opencv安装路径,跑slam十四讲例程的时候,出现了以下错误:具体说啥,就是找不到opencv4(我装的opencv4.0.0),尝试opencv3.3.1但是不接受,但是我也没有安装3.3.1啊…我猜测可能是因为我修改opencv的默认安装路径,导致这个问题,于是百度CMakeList.txt该如何修找opencv4的库。slam十四讲里面,CMakeList寻找opencv库的语句:find_package( OpenCV 4 REQUIRED )百

2020-08-16 12:46:05 2646

原创 ubuntu16.04安装ROS的速度很慢

#记录一下安装ROS,先得设置源source,设置密钥key,更新Ubuntu的软件库,然后进行ROS的安装。但是在安装ROS安装的这一步会非常慢,原因是第一步中,从那个源上获得资源的速度很慢。因此只要找到一个下载速度快的源就能解决这个问题。换成清华大学的ROS源,即可解决:sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release

2020-08-14 17:32:10 1127

原创 SLAM十四讲,第七章程序ch7报错, error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope

问题如下:因为slam十四讲中使用opencv3.1,本人使用的是opencv4.4,因此在编译时,报错找不到 CV_LOAD_IMAGE_COLOR 这个定义,解决方法如下:1.在百度上搜这个问题的解决方法时,百度经验提示,在使用了CV_LOAD_IMAGE_COLOR这个定义的c文件下,添加如下头文件:#include <opencv2/imgcodecs/imgcodecs_c.h> 2.添加之后仍然报错,打开imgcodecs_c.h 文件后发现,里面有如下代码:#error

2020-08-06 20:05:56 15305 20

原创 在结构体里定义一个函数后,在函数后面添加冒号等一系列操作

#记录一下提出问题:SLAM十四讲里面看到,在结构体里定义一个函数后,在函数后面添加冒号,以及一系列操作…不明觉厉struct CURVE_FITTING_COST{ CURVE_FITTING_COST ( double x, double y ) : _x ( x ), _y ( y ) {} // 残差的计算 template <typename T> //template:可以做到不同类型的变量,若执行同样的操作,只写一个函数就ok了。在实际中,将

2020-08-02 18:55:42 774 5

原创 Opencv关于成员函数data,step,at的使用

1.待解决的问题:如何读取图像中某个像素点的BGR值2.现在希望获得图片color中,位于第v行第u列的像素点的BGR值,先放代码://方法一://程序上方读取了一张图片colorcolor.data[ v*color.step + u*color.channels() ]; //Bcolor.data[ v*color.step + u*color.channels() +1 ]; //Gcolor.data[ v*color.step + u*color.channels() +2

2020-08-01 19:55:57 1768

understand.zip

参考我安装understand的博文

2021-04-27

dre_slam安装过程中用到的yolo3配置文件

dre_slam安装过程中用到的yolo3配置文件 对应步骤为: wget https://pjreddie.com/media/files/yolov3.weights wget https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg?raw=true -O ./yolov3.cfg wget https://github.com/pjreddie/darknet/blob/master/data/coco.names?raw=true -O ./coco.names

2020-08-17

imageBasics.zip

cfyvgbuhinjonjfdxcvygbuhnijoxdyvgub 系统非常关于vhbjlknl显然提出一vguhbijnkom

2020-08-16

opencv_boostdesc_bgm.zip

boostdesc_bgm.i boostdesc.cpp boostdesc_bgm_hd.i boostdesc_bgm_bi.i boostdesc_binboost_064.i boostdesc_binboost_128.i boostdesc_binboost_256.i boostdesc_lbgm.i generated_16.i generated_32.i generated_64.i vgg_generated_48.i vgg_generated_64.i vgg_generated_80.i vgg_generated_120.i

2020-07-30

A time delay controller for systems with unknown dynamics.pdf

关于滤波器的设计,对时间延迟控制的相关指导 A time delay controller for systems with unknown dynamics.pdf

2020-04-01

空空如也

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

TA关注的人

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