自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 ArUco——汉明码

汉明码”,也称作“海明码”,英文名为“hanming code”,在通信领域中,“汉明码”有广泛的应用,由。

2024-04-16 20:33:26 453 1

原创 手眼标定(Tsai—Lenz算法)

涉及到了,罗德里格斯向量,四元数,罗德里格斯变换,凯莱变换,李群李代数这些数学知识,没有一定的这方面的知识,这个推导看起来还是比较麻烦的(笔者比较懒,详细推导就不写了)笔者最近太忙,没太多时间扣字了,附两张图,字很难看,笔者写的不对的地方可以评论。

2024-03-29 20:06:48 941 1

原创 opencv中的FileStorage类

对于opencv中的FileStorage,在对int double float char等单个元素组成的vector输出到文件中时,遍历保存和直接输出保存的格式是不同的,对于opencv中自带的Mat矩阵以及string等类型,直接输出和遍历保存的格式是相同的,清楚这点对我们引用这些文件写代码的时候是有用处的。

2024-03-18 00:05:32 610

原创 Ubuntu上使用vscode,头文件画波浪线显示无法找到路径的问题

摁键盘CTRL+SHIFT+P,也许摁左边的CTRL+SHIFT没用,那就摁中间的CTRL+SHIFT,键盘上一般有两个一样的这个摁键。解决完标准库,再去解决第三方库,要去手动添加第三方库的头文件路径,自己根据自己安装的位置,找到绝对路径然后添加。两种头文件,一个是c++的标准库,一个是第三方库,都找不到路径,画了波浪线报错。大功告成,开始HELLO WORLD吧!

2024-03-16 10:14:40 685 1

原创 调用支持cmake的第三方库

但是,当我们不想把他安装在系统默安装路径时,通过修改CMAKE_INSTALL_PREFIX,改变库的安装路径,此时find_package()函数不能直接找到Config.cmake文件(Config.cmake文件是随着库的安装一起移动的),需要在find_package()函数中显示式指定寻找Config.cmake文件的路径,即CMAKE_INSTALL_PREFIX修改后的路径, find_package(库名 REQUIRED PATHS “路径”),

2024-03-12 21:59:02 496 2

原创 K-means算法在bow上的应用

我们在每一层的每一个节点进行一次K-means,获得K个节点,即K个聚类中心,根据我们想要获得的词袋向量的维数,设置K的值,以及层数,这和k-d树的原理是相似的,这样就构建了一个有结构的“字典”,在查找“单词”的时候,就可不用逐个搜索,只需要对每一层查找最近的聚类中心,直到最底层查询到“单词”。2.对每一个样本、计算它与每个中心点之间的距离,取最小的作为它的归类。4.如果每个中心点都变化很小,则算法收敛,退出;1.随机选取k个中心点:c1,…3.重新计算每个类的中心点。

2024-03-11 11:11:21 473

原创 经典机器学习算法:K邻近算法

对于与机器学习,笔者的认识是,他在模仿人类大脑的思考方式,人类大脑几乎做的所有事情都是判断一个东西是什么,这个东西能干吗,判断一个东西是什么,这是典型的分类问题,是根据自己从小到大接触到的事物进行判断,眼前的物体是一个什么东西,训练数据就是自己见过的所有东西,大脑对输入数据进行分类,这就类比于机器学习中的分类问题;这个东西能干嘛,是根据自己曾经的所有的生活经验去判断一个东西的功能,可以说是一种预测行为,也就是机器学习中的回归问题。因此将机器学习大致的分为回归问题和分类问题是非常合理的。

2024-03-11 09:39:08 910

转载 SLAM中的优化、李群李代数和BA

两个李代数指数映射乘积完整形式由BCH公式给出,当其中的存在小量的时候,小量的二次以上的项忽略掉后可得到如下线性近似表达:1)第一个近似公式中ϕ1ϕ1可得对求导后将只剩下。此时可得:

2024-03-10 18:30:28 283 1

原创 Linux系统下利用cmake工具进行C++的编译

Linux系统的一些基本命令行语句cmake工具的使用方法C++的编译流程。

2024-03-10 18:04:11 1949 2

原创 单目相机的对极几何

就一张图,笔者认为这是理解深度丢失最好的一张图(偷的)

2024-03-02 20:24:40 412

原创 奇异值分解求解线性最小二乘问题

对于这个线性变换矩阵A(无论是矩阵还是方阵),都是对向量X的线性变换,那么我们可以对矩阵A进行分解,分析他对不同的向量X可以起到哪些效果的线性变换。奇异值分解得到三个矩阵,左奇异矩阵,奇异值矩阵,右奇异矩阵,奇异矩阵都是正交矩阵。对于一个矩阵A,如果它是一个 m×n 的矩阵,那么通过线性变换 y = Ax,输入向量 x 的维度是 n,输出向量 y 的维度是 m。特别地,当 m = n 时,矩阵 A 是一个方阵,线性变换将向量从一个 n 维空间映射到另一个 n 维空间。对于最小二乘问题只能获得近似解。

2024-03-02 10:49:27 633

原创 比较常用的优化方法——G-N,LM

在之前的文章中讲到了最速下降法以及牛顿法,这两种方法各有利弊,最速下降法是函数的一阶泰勒展开式,对于多维自变量标量函数只需要计算一个雅可比矩阵,就可以得到函数的下降方向,虽然雅可比矩阵计算量比较小,但是一阶泰勒展开式的拟合性比较差,导致步长不能过长,进而导致步数增加。而牛顿法是函数的二阶泰勒展开式,需要计算海塞矩阵,才可以得到函数的下一个步点,虽然走的步数相对较少,但每一步需要的计算量比较大。

2024-03-01 17:32:33 2185

原创 基础的优化方法——梯度下降法,牛顿法

无论在哪个领域,对于初学者而言,会对很多名词的概念产生混肴,本文介绍了两种最基本的优化算法——梯度下降法和牛顿法,万丈高楼平地起,其他优化算法基本上是在这两种算法的基础上加以改进得到的。

2024-02-28 22:58:48 1958 1

空空如也

空空如也

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

TA关注的人

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