9 机器视觉感知实验室(扩展声觉及CV)

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

LOG(拉普拉斯高斯函数)缘分天空(数学的魅力)

曾经,高数学的还行。毕业很多年,有一种强迫症,遇到和微积分有关的话题,都会想起一个公式,并证明他,来验证父母掏的学费是否打了水漂。计算机专业毕业后,有近十年,都不曾用到计算机和高数,曾想,估计,这辈子糟蹋了所受教育,知识和实际太遥远了。时不时,感到编程手生,这个公式很陌生,证明不了,我都怀疑曾经证明过他,或许对你来说,就是一个很普通的高数课本上的习题,但我和这道习题的缘分没有终结,请看高数习题:请证明:+=g''(r)+g'(r)*1/r(x,y)!=(0,0),f(x,y)=g(r),

2020-10-18 18:59:49

再回顾梯度和的应用(矩形旋转,如何求梯度和,积分和)

在机器视觉入门,找线工具的设计中,我们找穿越点时,因为找线工具只有一个方向,所以我们使用了梯度和=d。而在自动对焦中,我们用使用了梯度和=|dx|+|dy|。上一篇,积分和对比梯度和,公式又变为梯度和=dx+dy。三种表达,实质是一样。我们发现梯度和可以找穿越点,可以探知清晰度的变化,还可以代替积分和。实际在前面的经历中,我们还用梯度和探索边缘,探索角点,详见博文网格工具设计。现在存在一个问题,就是矩形旋转了,矩形框梯度和怎么计算?线图像ac,在b点灰度发生了变化,梯度和5个一组

2020-10-13 17:58:56

surf算法中积分和(图)与盒式(box)滤波器的关系扩展(四,梯度和及效率)

以下,我们在图像处理中默认梯度,导数,差分是一个概念。我们前面博客中关于自动对焦,使用了梯度和=|dx|+|dy|的方法解决。我们上一节证明了积分和与二阶差分(梯度)的关系,或者说积分和与盒子(box)滤波器之间的关系。显而易见,积分和能表达上面关系,那么梯度和也能表达二阶差分(梯度)的关系。因为一阶导数求导,就是二阶导数,这种关系,应该比积分和更近吧!既然,积分和的加减能表达二阶差分,也就是说,积分和的加减也能表达梯度,这就是积分和与梯度和以及盒子(box)滤波器的关系。所以,

2020-10-13 11:31:30

surf算法中积分和(图)与盒式(box)滤波器的关系(三,证明)

二者关系证明如下:

2020-10-12 16:50:34

surf算法中积分和(图)与盒式(box)滤波器的关系(二,c#实现代码)

关于矩形框(roi区域)积分和的c#实现代码://m_cutImageRoi//这个机器视觉入门(二)里边的类,博客中有,专门用来截取感兴趣区域图像的,//在这里,很简单,只是一个不用旋转的矩形框,你也可以自己搞定//glob_buffer512512 //点一的积分和//矩形的左,顶 // int w = Convert.ToInt32(textBoxpt1x.Text); int w = (int)m_cutIma...

2020-10-12 16:15:20

surf算法中积分和(图)与盒式(box)滤波器的关系(一,突发奇想验证)

想到一个好主意,标定片用来验证积分图与盒式(box)滤波器最好不过。另外,有所感悟,所谓的滤波,实质是匹配。盒式(box)滤波器就是盒式(box)匹配。刚好有512*512的标定片图像,立马创建roi(感兴趣)区域,进行积分和计算,图像来的更直观,在我们前面sift代码基础上,改造一下,如图:有没有发现,红色的roi矩形框(黑色正方形),积分和是稳定的,基本都是16开头的。好,我们再改变一下:看到没?都是19开头的。那么,你会有什么想法呢?当我在这512*

2020-10-12 15:59:06

sift算法搭建(上半部,八,dog金字塔最优偏差迭代找到最优亚像素极值,c#实现)

接着“sift算法搭建,上半部,七”,先看公式,再看代码:接着前面的代码,for循环中的5,是迭代5次寻优,亚像素极值: //将找到的极值点对应成像素(整数) c += (int)Math.Round(xc); r += (int)Math.Round(xr); layer += (int)Math.Round(xi); if (layer < 1 || l...

2020-10-09 11:16:25

sift算法搭建(上半部,七,dog金字塔中筛选后的极值点求最优偏差,亚像素级别,c#实现)

接“sift算法搭建上半部,六”中未完成的程序,调用函数: else { int r1 = j, c1 = i, layer = L; double contrastThreshold = 0.04; double edgeThreshold = 10.0; ...

2020-10-09 10:54:06

sift算法搭建(上半部,六,dog金字塔中干扰的极值点排除,c#实现)

看图片,看代码: List<int[]> 第一组dog五层金字塔 = new List<int[]>(); 第一组dog五层金字塔.Add(oct1dog2layer512);//第一组dog五层金字塔[0] 第一组dog五层金字塔.Add(oct1dog3layer512);//第一组dog五层金字塔[1] 第一组dog五层金字塔.Add(oct1dog4layer512);//第一组dog五层金...

2020-10-09 10:17:04

sift算法搭建(上半部,五,求二阶三阶黑塞矩阵的逆程序对比,c#实现)

先看二阶黑塞矩阵: private void 二阶黑塞矩阵的逆(ref double a,ref double c,ref double b,ref double d) {//未考虑bc-ad==0 //因为黑塞矩阵的逆*黑塞矩阵=单位矩阵 //a c*AA CC=1 0 //b d BB DD 0 1 //a*AA+c*BB=1; //b*AA+d...

2020-10-09 10:03:06

sift算法搭建(上半部,四,第一组第一层dog金字塔生成,c#实现)

我们直接上代码,这更能说明问题:int[] oct1dog1layer512 = new int[512 * 512]; int[] oct1dog2layer512 = new int[512 * 512]; int[] oct1dog3layer512 = new int[512 * 512]; int[] oct1dog4layer512 = new int[512 * 512]; int[] oct1dog5layer512 = ...

2020-10-09 09:36:57

sift算法搭建(上半部,三,第二组高斯金字塔第一层图像生成,c#实现)

我们的高斯金字塔第一组图像是512*512的,一共六层,第二组高斯金字塔第一层图像生成256*256,其尺度等于第一组高斯金字塔第四层尺度(也就是6-2,第一组高斯金字塔倒数第三层),有以下关系:当我们生成了第一组高斯金字塔的第四层,我们就可以生成第二组高斯金子塔了,尺度不变,隔行隔列取第四层图像,就变成256*256第二组高斯金字塔第一层了,有了第一层,第二组其他五层图像依照上面关系就生成了。256*256第二组高斯金字塔第一层图像代码: ////////////////////////.

2020-10-09 09:24:46

sift算法搭建(上半部,二,代替二维的一维高斯模板实现,c#实现)

曾经学习canny时,学到了大神的高斯模板生成,由于二维高斯的可分离性,形成一维的x方向和y方向的高斯模板,之所以选择一维的原因,一是,处理图像速度效率高二是,图像周边处理效果好大神的代码是c++的,我翻译成c#的呈上:double nSigma = 1.25; //定义高斯函数的标准差 int nWidowSize = (int)(1 + 2 * Math.Ceiling(3 * nSigma)...

2020-10-09 08:59:26

sift算法搭建(上半部,一,像孩子一样玩乐高积木,c#实现)

程序,像乐高积木,我没玩过,但我脑袋里边,闪过,我的孩子聚精会神的在玩积木,捏泥人的样子。可能是一辆摩托车,也可能是汽车,或许可能是坦克,也或许捏了一个士兵,驾驶着积木玩具,或许还捏了一个我,后来送给我。扯远了,返回!其实做这个sift算法上半部搭建,就想验证一下,有没有我的harris亚像素角点效果好,仅此而已!先示意一下sift上半部搭建的过程,以及中间结果(c#运行结果),后面再一步一步给出程序:第一步,加载图像第二步,截取512*512图像第三,试了一把sigma=1

2020-10-08 21:13:36

​​​验证拉普拉斯高斯函数和差分高斯函数的关系(证明lindeberg的LOG和DOG,二)

即如何验证我们已经知道真正的LOG=(/*1/-2/)*exp(-0.5*/)他们说,sigma*真正的LOG近似等于=(G(x,y,k*sigma)-G(x,y,sigma))*1/(sigma*(k-1))他们说k=,所以第二个octave的尺度=2,即每一组开头的尺度是前一组倒数第三个的尺度。k=1.26,sigma=1;y=0,x=0,1,1.8,2//G(x,y,1.26)-G(x,y,1)*1/(1*(1.26-1))x=0,G(x,y,1.26)-G(x,y,1)=0.

2020-10-02 14:45:27

寻找真的拉普拉斯高斯算子LOG(证明lindeberg的LOG和DOG,一)

教材上说二维高斯平滑函数如下:h(x,y)=-exp(-0.5*(+)/)令+=,则h(r)=-exp(-0.5*()/)上式对r求导数,=(-0.5/)*-exp(-0.5*()/)*=r/*exp(-0.5*()/)那么r的二阶导数=1/*【*exp(-0.5*()/)+r*exp(-0.5*()/)*(-0.5/)*】=1/*【1-/】exp(-0.5*()/)=-(/*1/-1/)*exp(-0.5*()/)教材上说,用最后这个公式来求拉普拉斯的值,如图a..

2020-10-02 08:33:03

SIFT高斯差分(DOG)函数泰勒展开求极值(矩阵求导,程序化)

上面的答案是用来求函数极值,或者说求函数最优解。比如说函数f=+的极小值是多少?我们如何用编程的方法来求函数最优解?这就要用泰勒展开,并求泰勒展开导数=0假定△x=x-x0;△y=y-y0;下面是函数的泰勒展开f(x,y)=f(x0,y0)+f'x*△x+f'y*△y+1/2*f''xx*+1/2*f''yy*+f''xy*△x*△yA:求泰勒展开针对X偏导数=0,上式中一,二阶导数都是一个确定的值,而非变量,所以0=0+f'x+0+1/2*f''xx*2*△x+0+f''xy*△y

2020-10-01 11:41:23

有限差分法在图像求导中的应用

有限差分法求导A:函数f(xi-h)的泰勒展开等于:f(xi)+((xi-h)-xi)+(1/2)B:函数f(xi+h)的泰勒展开等于:f(xi)+((xi+h)-xi)+(1/2)A-B:f(xi-h)-f(xi+h)=0-2h*所以,=(-1)(f(xi-h)-f(xi+h))/2h,当h=1,则=(f(xi+1)-f(xi-1))/2,这个公式在图像处理(计算机视觉)中经常用到。我们把=(-1)(f(xi-h)-f(xi+h))/2h带入A中:那么可以求出=【f(xi+h)+f

2020-10-01 09:38:12

程序化函数求导c#实现

前面在牛顿法改进版博文中,函数求导并未程序化,一个未了的心愿,下面来实现它:首先是,求导的方法,可程序化的,这种方法叫做有限差分法求导,方法如下:A:函数f(xi-h)的泰勒展开等于:f(xi)+((xi-h)-xi)+(1/2)B:函数f(xi+h)的泰勒展开等于:f(xi)+((xi+h)-xi)+(1/2)A-B:f(xi-h)-f(xi+h)=0-2h*所以,=(-1)(f(xi-h)-f(xi+h))/2h,当h=1,则=(-1)(f(xi-1)-f(xi+1))/2,这个

2020-09-30 18:53:16

局部加权回归Loess对比MFCC三角滤波(吴恩达机器学习中说,Loess算法用到了aircraft的自动驾驶中)

局部加权回归(Loess):Loess的目标是最小化, 其中的作用是使预测点的临近点在最小化目标函数中贡献大:Loess更加注重临近点的精确拟合。这个算法中最神奇的就是这个w,局部相关性w很像高斯模板中心到边缘(3*sigma+1)/2的局部相关性,也就相关性关注(起作用),其他不关注(不起作用);从这一点出发,我们可以看到MFcc三角滤波中,每一个三角形滤波器都有这种局部相关性,只不过Mfcc最求的是三角形内归一化操作,而局部加权回归是局部相关范围内的最小二乘法。我们再看一眼梅

2020-09-30 08:44:56

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取