上一篇博客中介绍的高斯牛顿算法可能会有J'*J为奇异矩阵的情况,这时高斯牛顿法稳定性较差,可能导致算法不收敛.比如当系数都为7或更大的时候,算法无法给出正确的结果. Levenberg-Marquardt法一定程度上修正了这个问题. 计算迭代系数deltaX公式如下: 当lambda很小的时候,H占主要地位,公式变为高斯牛顿法,当lambda很大的时候,H可以忽略,公式变为最速下降法.该方法提供了更稳定的deltaX. 算法步骤如下: 1.给定初始系数,以及初始优化半径u. 2.计算使用当前系数…
依然是计算几何. 射线法判断点与多边形关系原理如下: 从待判断点引出一条射线,射线与多边形相交,如果交点为偶数,则点不在多边形内,如果交点为奇数,则点在多边形内. 原理虽是这样,有些细节还是要注意一下,比如射线过多边形顶点或射线与多边形其中一边重合等情况还需特别判断. 这里就不特别判断了,因为我只是熟悉原理,并不是实际运用. 好吧,我实际是太懒了,不想判断了. 结果如下: 结果图和线性分类器的组合有几分相似. matlab代码如下: clear all;close all;clc; polyn=…
计算步骤如下: 图片来自<视觉slam十四讲>6.2.2节. 下面使用书中的练习y=exp(a*x^2+b*x+c)+w这个模型验证一下,其中w为噪声,a.b.c为待解算系数. 代码如下: clear all; close all; clc; a=;b=;c=; %待求解的系数 x=(:)'; w=rand(length(x),)*-; %生成噪声 y=exp(a*x.^+b*x+c)+w; %带噪声的模型 plot(x,y,'.') pre=rand(,); %步骤1 : f = exp(p…
高斯牛顿法: function [ x_ans ] = GaussNewton( xi, yi, ri) % input : x = the x vector of 3 points % y = the y vector of 3 points % r = the radius vector of 3 circles % output : x_ans = the best answer % set up r equations r1 = @(x, y) sqrt((x-xi(1))^2+(y-y…
matlab练习程序(SUSAN检测) SUSAN算子既可以检测角点也可以检测边缘,不过角点似乎比不过harris,边缘似乎比不过Canny.不过思想还是有点意思的. 主要思想就是:首先做一个和原图像等大的目标图像.然后用一个圆形的模板,用模板去遍历原图像每个像素,把模板内的每个像素都和模板中心像素比较,如果灰度小于一个阈值,那么就对目标图像当前和原图像相同位置的像素加一,直到结束.目标图像中在原图像是角点的位置就会取局部极小,所以做一个反向的相减.img=max(img)-img,if img…
atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系统服务了,大概十专门有个start,stop函数了.. Sc.exe 实用工具,但是这个需要服务类型的exe..贝儿不的启动.. instsrv ,,雅十需要服务类型的exe..贝儿不的启动.. instsrv srvany.exe  这个好,能bat 用InstallUtil安装视窗系统服务(.n…
atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过执行一个EXE就启动视窗系统服务了,大概十专门有个start,stop函数了.. Sc.exe 有用工具,可是这个须要服务类型的exe..贝儿不的启动.. instsrv ,,雅十须要服务类型的exe..贝儿不的启动.. instsrv srvany.exe  这个好,能bat 用InstallUtil安装视窗系统服务(.n…
matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测. 算法流程图如下(这篇论文上的): 下面我再结合自己的程序,表述一遍吧: 1.对原图像gamma校正,img=sqrt(img); 2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率. 3.…
这个算是ICP算法中的一个关键步骤,单独拿出来看一下. 算法流程如下: 1.首先得到同名点集P和X. 2.计算P和X的均值up和ux. 3.由P和X构造协方差矩阵sigma. 4.由协方差矩阵sigma构造4*4对称矩阵Q. 5.计算Q的特征值与特征向量.其中Q最大特征值对应的特征向量即为最佳旋转向量q. 6.通过四元数q得到旋转矩阵R. 7.根据R计算最佳平移向量qr. 具体公式我就不贴图了,可以参考这篇“ICP算法在点云配准中的应用”论文的3.1节. 处理效果如下: 原始点集: 其中蓝点为原…
上一篇博客中我们使用了四元数法计算ICP. 本篇我们使用SVD计算ICP. 下面是<视觉slam十四讲>中的计算方法: 计算步骤如下: 我们看到,只要求出了两组点之间的旋转,平移是非常容易得到的,所以我们重点关注R的计算.展开关于R的误差项,得: 注意到第一项和R无关,第二项由于R'R=I,亦与R无关.因此,实际上优化目标函数变为: 接下来,我们介绍怎样通过SVD解出上述问题中最优的R,但关于最优性的证明较为复杂,感兴趣的读者请参考[50,51],为了解R,先定义矩阵: W是一个3*3的矩阵,…