- 博客(166)
- 资源 (1)
- 收藏
- 关注
原创 多视图几何--立体校正--Fusiello方法
构建新坐标系基向量e1e2e3,使成像平面共面且极线水平对齐。e1∥b∥b(确保e1与基线平行,为后续极线对齐奠定基础)。
2025-04-02 21:00:00
1067
原创 多视图几何--从线性变换到射影变换--5一些讨论
二维齐次坐标利用三个元素表示,因此可以看作三维向量表示二维坐标,因此利用齐次坐标表示仿射变换和射影变换可以从三维视角观察二维的变换,或者说仿射和射影变换可以看成3维向2维空间的投影结果,只是一个是平行投影,一个是透视投影。将其投影到z=0平面即得到二维仿射变换(投影后发生了平移,原点发生了变化,更多的解释参见维基百科)。红色平面为z=1平面,即(X,Y,1)所在平面,蓝色为(x,y,z)所在平面,二者不平行,2从齐次坐标看射影变换,射影变换不变性有哪些,为什么射影变换不能平行四边形不变性。
2025-03-11 14:51:26
840
原创 多视图几何--从线性变换到射影变换--4透视变换与射影变换
为了表示完整的描述中心射影,我们将中心射影中一组平行线加上一个公共点,这个公共点可以弥补影消点的情况,记为无穷远点,记一个平面内所以无穷远点构成的直线称为无穷线,空间中一切无穷远处点的集合称为无穷远平面。因为普通的坐标是无法表示无穷远坐标的,即普通的坐标是无法完整描述透视变换的,因此,引入齐次坐标可以表示任意点,为使用代数描述透视变换奠定基础。很多高等几何从纯几何角度来证明射影变换,需要引入很多的定理和名词,这里从代数角度,即从针孔相机的透视变换矩阵到射影变换矩阵,然后解释其几何含义。
2025-03-11 14:49:47
724
原创 多视图几何--从线性变换到射影变换--3正交变换与欧式变换
根据上述讨论,应该比较清楚正交、等距、欧式变换之间的关系了,正交变换是线性变换,等距变换是先进行正交变换,再进行平移操作,欧式变换是旋转矩阵形式的等距变换。只会改变位置,对形状和长度同样没有影响,因此,把正交变换和平移结合到一起,即二者都可以保持几何长度不变,称之为等距变换。根据等距不变的特点,比较容易得到欧式变换的不变量有:两点的距离、两线的夹角、图形的面积,即长度不变可以得到变换前后图形是。这里从代数的角度定义了旋转矩阵,更多地时候可以通过旋转前后的向量变换推导出旋转矩阵。讨论二维空间正交矩阵,令。
2025-03-11 08:52:32
810
原创 多视图几何--从线性变换到射影变换--2线性变换
例如:在平面直角坐标系中,基向量为(0,1),(1,0),坐标(x,y)表示基向量(1,0)乘以x倍,(0,1)乘以y倍,得到一个新的向量,其坐标为(x,y)。因此等式(3)可以看成列向量数乘相加的结果(线性组合),即矩阵的列,可以看成坐标系的一组基向量,矩阵与向量相乘可以看成该坐标系下任意一点(向量)生成的过程,把这种观点称。基于以上两条基本的不变性,可以得到,平行四边形经过线性变换后,仍然是平行四边形,关于几何图形有很多其他结论,这里不一一列举了。看成基向量的倍数,最后得到了一个新的向量其坐标为。
2025-03-11 08:50:02
1080
原创 多视图几何--相机标定--DTL进行相机标定
DLT解析法相机标定这部分利用DTL相机标定是研究生时的工作,重新学习多视图几何,遂重新总结,更多详细地原理参考《近景摄影测量学》。
2025-03-10 23:01:36
870
原创 多视图几何--相机标定--从0-1理解张正友标定法
旋转矩阵是正交矩阵的一种特殊形式。正交性:列向量(或行向量)两两正交,即内积为零。单位模长:每个列向量的模长为1。行列式为1:若行列式为+1,则为纯旋转矩阵;若为-1,则为反射矩阵(含镜像变换)。数学推导riTrj0i≠j∥ri∥1ijriTrj0ij∥ri∥1ij因此,旋转矩阵的列向量 $ r_1, r_2, r_3 $ 必然满足正交性和单位模长。对于n阶正交矩阵,其列向量组是n维向量空间的一组标准正交基。
2025-03-10 22:53:19
984
原创 多视图几何--对极几何--从0-1理解对极几何
如图所示,物体点PPP,图像点p1,p2p_1,p_2p1,p2,相机中心o1,o2o_1,o_2o1,o2五点共面的关系称为对极几何。o1,o2o_1,o_2o1,o2连线称为基线,其与图像的交点称为e1,e2e_1,e_2e1,e2极点,图像点p1,p2p_1,p_2p1,p2与极点e1,e2e_1,e_2e1,e2组成的连线称为极线。不妨假设图像点在相机坐标系的坐标为p1,p2p_1,p_2p1,p2,在三维空间中,由叉乘的几何意义可以得到一个垂直于平面的法向量,又有两个
2025-03-10 22:41:50
1064
原创 多视图几何--从0-1理解单应矩阵
单应矩阵(Homography Matrix)是一个描述两个平面之间点的映射关系的矩阵。在计算机视觉中,它常用于描述同一场景在不同视角下的图像之间的几何变换关系。单应矩阵即射影变换的数学形式。
2025-03-10 22:36:09
851
原创 多视图几何--从线性变换到射影变换-1写在前面的话
一方面,几何和代数紧密联系,如果我们从代数视角来看,可以发现多视图几何可以被各种向量和矩阵表示,矩阵和向量又是常用的线性变换的代数表现形式。另一方面,在多视图几何学或者计算机视觉中,我们经常听到各种变换,映射,投影,射影,例如线性变换、欧式变换、正交变换、相似变换、仿射变换、中心射影变换、射影变换等等诸多名词,如果我们能从矩阵(线性代数)出发,在原理上搞清这些名词的含义,以及他们和射影几何的联系,那么我们就掌握了多视图几何学的源头和脉络,从而有可能从数学层面真正开始学习并理解多视图几何学。
2025-03-04 23:00:51
171
原创 svd在求解最小二乘中的应用
对于正方形满秩矩阵而言存在逆矩阵,但是对于非正方形矩阵(行列数量不等)或者秩亏矩阵而言,若AA^{+}AAAAAAAAAAAAAAAAAAATAAAATAAAATAAAATAA则称A^{+}为矩阵AAA的伪逆矩阵,也称为Moore–Penrose 逆矩阵。
2024-08-01 21:23:30
1226
原创 SVD--奇异值分解详细推导与证明
令AAA是m×nm \times nm×n矩阵, 那么ATAATA是对称矩阵且可以正交对角化. 令v1⋯vnv1⋯vn是RnRn的单位正交基且构成ATAATA的特征向量,λ1⋯λnλ1⋯λn是ATAATA对应的特征值,那么对1⩽i⩽n1⩽i⩽n∥Avi∥2AviTAvivi⊤A⊤Avivi⊤λivi由于vi。
2024-07-25 08:15:00
1175
原创 全景影像转立方体
由全景平面坐标转到三维球面坐标再转到立方体(三维笛卡尔坐标)上,由于三维球面坐标是极坐标,当其映射到三维笛卡尔坐标系时会存在空洞。这里可以这么简单地得到理解:假设在极坐标系中角分辨率是一定的,那么随着坐标值的增大其角分辨率对应的距离越大,会导致六面体的像素缺失。另一种解释是,球的表面积小于其外切正方体的面积,所以如果直接将球坐标系上的点投影到立方体上,会存在立方体像素缺失的情况。建立一个三维单位球,半径为1,其是全景照片的极坐标表示,建立单位球的外切正方体,其边长为2.表示全景平面的y值,
2024-07-12 08:30:00
997
原创 优化算法--遗传算法
优化算法大致可以分为两大类:第一类是数值最优化方法:例如我们熟悉的梯度法、牛顿法、高斯牛顿法、共轭梯度法等等,主要表现为对目标函数的数值求解。另一类为启发式搜索算法,这类算法以模拟自然或者生物活动过程,通过不断采样的求解优化问题的方法,例如蚁群算法、粒子群算法、模拟退火、遗传算法等等。在日常学习中我们接触地大多数为第一类方法。当然在某些场合中偶尔会遇到启发式搜索算法,今天来聊一聊最基础地启发式搜索算法之一–遗传算法。
2024-03-28 16:27:28
463
原创 利用scipy求解方程组、拟合直线、圆、椭圆、抛物线
使用minimize拟合直线、圆、椭圆,使用fsolve、least_squares求解方程组,使用curve_fit拟合抛物线。minimize:需要自己构建代价函数(有时也称损失函数,目标函数等),理论上可以求解任意最优化问题。least_squares、leastsq:这两个可以用于求解最小二乘问题。curve_fit:可以拟合任意的显式函数曲线,对于隐式函数曲线不能拟合。fsolve:方程根、求解适定方程组,需要满足未知数数量等于方程数量。root:求解方程根。
2024-03-22 19:45:00
751
转载 岭回归原理
例如有几个点构成一条直线,但是我们使用二次曲线或者高阶多项式去拟合,就会导致过拟合现象。可以这么理解,大多情况下,过拟合主要是因为数据太少或者是模型过于复杂,解决方法要么增加数据,要么精简模型。参数惩罚相当于后者,它通过参数衰减(极端情况下衰减为0)的方式来使得数据中那些不重要的特征几乎不起作用,这样间接就实现了精简模型参数的效果。一般来说对于方程组求解而言:只有未知数的数量大于线性无关方程的数量时,即相对于已知信息来说要求解的参数太多了,此时会导致。不满秩的时候,其行列式为 0 ,加上。
2024-02-20 20:00:00
91
原创 最小二乘数值优化方法--梯度法、牛顿法、高斯牛顿法理论与c++实现
最小二乘常见求解方法F(x)n1i0∑nyi−yi2n1i0∑nhxi−yi21目的是使得目标函数最小的情况下,求得未知量。
2024-01-18 11:18:58
1023
2
原创 方程数值解法--固定点迭代法与牛顿法原理与c++实现
方程数值求根的常用方法有二分法、固定点迭代法、牛顿法等。这里介绍后面两种方法。首先定义问题:对于函数yfxfx01。
2024-01-04 17:33:42
1409
1
原创 ERASOR:基于栅格占用差异的动态物体去除方法
定义经过slam生成的最终点云MmapMmapM⋃t∈TQWTt∗PtQ(1)Mt∈T⋃QWTt∗PtQ1WWWQQQttTtTt:query frame 到 world frame的变换矩阵。假设PtMPtM为MmapMmap在PtQPtQ坐标系的点云(即对MmapMmap乘以QWTtQWTt的逆矩阵)M。
2023-12-15 11:25:47
755
原创 b样条原理与测试
对于贝塞尔中的基函数而言,是确定的,全局唯一的,这导致了如果控制点发生变换将会对整个贝塞尔曲线产生影响。后续代码可能会放到GitHub。《计算几何算法与实现》
2023-12-08 17:16:35
622
原创 贝塞尔曲线和曲面原理
给出一系列点(一般称为控制点),贝塞尔曲线可以利用这些点得到一个平滑的曲线,贝塞尔曲线不是一个表达式,而是由一系列离散的点构成的(类似移动最小二乘法)。先由控制点得到的贝塞尔曲线的点P,对点P再进行贝塞尔曲线就得到了贝塞尔曲面。这种方法通过线性插值进行递归的方法求得贝塞尔曲线上的点。
2023-11-07 16:33:32
415
原创 点云配准--对称式ICP
针对于局部平面不完美的情况,提出了一种对称式ICP目标函数,相较于传统的ICP方法,增大了收敛域,提高了收敛速度。论文理论说明不甚清楚,实验较少,但代码开源。
2023-10-31 17:44:31
420
原创 点云滤波--一种点云异常值检测和稳健法线估计方法
论文针对激光点云提出了一种基于平面拟合的去噪算法,该去噪算法寻找邻域内最佳拟合的平面的点云,在此基础上提出了两个去噪算法:一种是基于稳健的z - score,另一种使用马氏类型的稳健距离,并在去噪的基础上提出了法线估计。结果表明:能很好地去除规则物体表面的噪点,并且相对于其他稳健性法线估计算法,文中的法线估计方法更加快,效果更好。文中算法对于非规则物体,或者远距离噪点效果不好(因为此时并不能取得一个理想的平面)。
2023-09-21 20:13:22
566
2
原创 点云滤波--LoOP Local Outlier Probabilities一种基于概率的异常值检测方法
为偏离平均值超过给定 λ 乘以标准差 σ 的对象(类似sor滤波)。根据3sigma法则:λ = 1 ⇔ φ ≈ 68%, λ = 2 ⇔ φ ≈ 95%, and λ = 3 ⇔ φ ≈ 99.7%。
2023-08-28 21:50:37
389
原创 点云滤波--lop和wlop
给定数据点集 P = {p j} j∈J,LOP 将任意点集X0X^{(0)}X0= {xi0xi0}i∈I投影到集合 P 上,其中 I, J表示索引集。我们通过最小化到 P 点的加权距离之和得到投影点集 Q = {qi}i∈I。此外,点Q不应彼此太靠近。该框架将所需点 Q 定义为方程(1)的不动点解QGQ(1)QGQ1GCargminXxii∈IE1XPCE2XCE1XPC∑i∈I∑j∈J∥x。
2023-07-30 21:16:22
1411
1
原创 点云地面滤波--patchwork++
提出了自适应地面似然估计(adaptive ground likelihood estimation (A-GLE)) 和时序地面恢复(temporal ground revert (TGR))提出了两个新颖的异常值抑制模块,即反射噪声去除 (RNR) 和区域垂直平面拟合 (R-VPF)相比于patchwork主要提升的地方有三点:噪点、参数更新、特殊情况处理。两篇论文原文语句读着不是特别顺畅连贯,后面需要进一步分析和阅读代码才能更好理解论文的细节。
2023-06-11 17:23:35
1679
原创 地面分割--Patchwork
设所有点云为Pp1p2pkpNPp1p2pkpN设地面点为GGG,非地面点为GcG^cGcPG∪GcPG∪Gc设G\hat{G}G为算法估计的地面点,Gc\hat{G^c}Gc为估计的非地面点。
2023-05-28 23:03:04
2510
1
原创 地面分割--Fast Segmentation of 3D Point Clouds for Ground Vehicles论文阅读与源码分析
这篇文章属于地面分割领域非常经典的一篇论文,论文具有速度快,在一定程度能适应有坡度的地形,文章主要分为两个阶段:数据投影分块,在分块中寻找地面点。
2023-05-05 21:41:16
1225
1
原创 点云配准--Fast Global Registration
目标函数1是很难直接进行优化的,我们利用Black -Rangaration对偶(对偶:即等价的)处理目标函数1,Black -Rangaration对偶是稳健估计和线性的。我们直接优化所有点云的全局位姿。如果F§和F(q)互为最近邻点,则通过互惠性检验,是一个对应关系对,将所有通过互惠性检验的对应关系集合记为。是由匹配点从P和Q中获得的对应集合,我们的目标是优化位姿T,使得对应点之间的距离最小化,同时拒绝。对于点p的F§,在F(Q)中找到p点的最近邻点,同样对于点q,在F§中找到q的最近邻点。
2023-03-22 22:23:12
655
原创 鱼眼相机模型
对于畸变改正,应用Kannala-Brandt 模型,则上面四种投影方式会得到相同的改正形式,改正后的。分别为针孔模型、鱼眼模型的像点到图像坐标系原点的距离,P’为P在相机坐标系。以及Kannala模型,位于cv::fisheye命名空间。a,b,R可以根据坐标和计算出来,现在的问题是怎么求解。(黑色点)为针孔相机投影到图像平面的点,对于针孔模型而言,光束是沿直线传播的,即。,所以:二者与y轴的夹角相等,记为。为像点到图像坐标系原点的距离。,物体在相机坐标系下的坐标为。最常用的为等距投影模型。
2023-03-22 20:52:23
1113
原创 遮挡检测--HPR:hidden point remove
HPR:hidden point remove是一种遮挡检测领域一种经典的方法。在CC和open3d中都有实现。
2023-02-26 17:37:33
1598
转载 PnP问题
PnP(Perspective-n-Point)是求解3D到2D点对运动的方法,目的是求解相机坐标系相对世界坐标系的位姿。它描述了已知n个3D点的坐标(相对世界坐标系)以及这些点的像素坐标时,如何估计相机的位姿(即求解世界坐标系到相机坐标系的旋转矩阵和平移向量)。
2023-02-02 22:41:51
345
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人