- 博客(20)
- 收藏
- 关注
原创 RANSAC 特征匹配算法解析
一、RANSAC特征匹配算法简介 RANSAC算法是RANdom SAmple Consensus的缩写,意为随机抽样一致。表面上的意思就是从匹配样本中随机取样,寻找一致的样本点。RANSAC算法是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。它是在1981年由Fischler和Bolles最先提出。 在利用已有算法进行特征点匹配时,常存在的一个问题
2017-07-18 10:53:37 12891 3
原创 ORB 特征点检测匹配算法
一、ORB算法 ORB是是ORiented Brief的简称。这个算法是由Ethan Rublee, Vincent Rabaud, Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFTor SURF”的文章中提出。ORB算法分为两部分,分别是特征点提取和特征点描述。在ORB算法中,是用FAST
2017-07-18 09:06:37 6293
原创 BRIEF 特征点描述算法
一、BRIEF特征点描述算法简介 BRIEF是Binary Robust Independent Elementary Features的缩写。这个特征描述子是由EPFL的Calonder在ECCV2010上提出的。主要思路就是在特征点附近随机选取若干点对,将这些点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子。这种方法摈弃了利用区域灰度直方图描述特征点的传统方
2017-07-16 10:08:43 3688
原创 FAST特征点检测算法
一、FAST算法简介 如今,特征点检测的算法有很多,从最初的Moravec,到Harris,再到SIFT、SUSAN、GLOH、SURF算法,可以说特征点提取算法层出不穷。各种改进算法PCA-SIFT、ICA-SIFT、P-ASURF、R-ASURF、Radon-SIFT等也是搞得如火如荼。其中上面的算法如SIFT、SURF提取到的特征效果非常好(有较强的不变性),但是时间消耗依然很大,而在一
2017-07-14 16:27:25 6352
原创 OpenCV SIFT特征点提取算法
一、SIFT算法 1、简介 SIFT是Scale-invariant feature transform的缩写,翻译过来的意思就是尺度不变特征转换,它是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,具体为在空间尺度中寻找极值点,并提取
2017-07-14 15:43:01 3514 1
原创 仿射变换和SURF特征点匹配
一、仿射变换 1.1、仿射变换简介 仿射变换(Affine Transformation)是空间直角坐标系的变换,从一个二维坐标变换到另一个二维坐标,仿射变换是一个线性变换,他保持了图像的“平行性”和“平直性”,即图像中原来的直线和平行线,变换后仍然保持原来的直线和平行线,仿射变换比较常用的特殊变换有平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotatio...
2017-07-09 21:00:37 2755
原创 重映射与SURF特征点检测与匹配
一、重映射 1.1、简介 重映射在图像处理中主要的功能为:将一个图像中一个位置的像素放置到另一个图像指定位置的过程,可以根据自己设定的函数将图像进行变换,较常见的功能有关于x轴翻转,关于y轴翻转,关于x、y轴翻转。为了完成映射过程,有必要获得一些插值为非整数像素坐标,因为源图像与目标图像的像素坐标不是一一对应的。在实际应用中,我们通过重映射来表达每个像素的位置 (x,y),转换关系如下图所示
2017-07-09 15:12:34 1022
原创 OpenCV 霍夫变换直线检测(SHT、MSHT和PPHT)
一、霍夫变换简述 霍夫变换(Hough Transform)是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。霍夫变换是在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换结果。 霍夫变换是于1962年由PaulH
2017-07-08 17:14:20 6024 2
原创 OpenCV图像边缘检测(Laplace算法)
一、Laplace算法简介 二阶微分在亮的一边是负的,在暗的一边是正的。常数部分为零。可以用来确定边的准确位置,以及像素在亮的一侧还是暗的一侧。 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为: 其中: 由于 Laplacian使用了图像梯度,它内部的代码其实是调用了 Sobel 算子的。同时,可以让一幅图
2017-07-08 11:19:27 2527
原创 OpenCV图像边缘检测(sobel算法)
一、sobel算法简介 索贝尔算子(Sobel operator)主要用作边缘检测,它是一离散性差分算子,它结合了高斯平滑和微分求导,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。 Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当
2017-07-08 10:39:52 8424
原创 OpenCV图像边缘检测(Canny算法)
一、图像边缘检测简介 图像的边缘是指图像局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图像的边缘部分集中了图像的大部分信息,图像边缘的确定与提取对于整个图像场景的识别与理解是非常重要的,同时也是图像分割所依赖的重要特征,边缘检测主要是图像的灰度变化的度量、检测和定位,自从1959提出图像边缘检测以来,经
2017-07-08 09:59:06 2111
原创 OpenCV 2.4.9核心模块介绍
在自己的笔记本电脑里,OpenCV常用到的主要的核心模块都放C:\Users\cyk6625\Downloads\opencv\build\include\opencv2路径下,如下图所示,下面将按照图片上的顺序对这些核心模块的作用进行简单的介绍。 1、calib3d模块 它就是Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。基本的多视角几
2017-07-06 20:24:02 1187
原创 线性回归及梯度下降算法详解
一、线性回归问题 回归最简单的定义是,给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小,如果这个函数曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归。 总的来说,回归的目的就是建立一个回归方程用来预测目标值,回归的求解就是求这个回归方程的回归系数。预测的方法当然十分简单,回归系数乘以输入值再全部相加就得到了预测值。 下面以一元
2017-07-05 12:04:37 11383
原创 深度解析卷积神经网络的实现细节
一、卷积神经网络概述 卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面,一方面它的神经元间的连接是非全连接的,这是由局部感知原理所启发的;另一方面权重是共享的(即相同的),即在利用一个滤波器提取图像的特征时使用的权重是同一个。它的非全连接和权值共享的网络结构使之更类似于生物神经网络,这降低了神经网络模型的复杂度,减少了权值的数量。 下面以单层神经网络为例来简述卷积神经
2017-07-04 22:22:27 1324
原创 反向传播算法的公式推导(BP算法)
假设训练的样本集包含m个样例,因为此时对于单个样本我们将神经网络的代价函数定义为: 其中hW,b(x)为输入数据x经过神经网络前向传播得到的输出结果,y为期望值。 所以对于这个包含m个样本集的数据集而言,整体的代价函数应为: 上式关于J(W,b)定义中的第一项是一个均方差项。第二项是一个权重衰减项,其目的是减小权重的幅度,防止过度拟合。 在实际应用当中,我们使用批量梯度下降算
2017-07-04 11:49:21 7128
原创 反向传播算法的案例解析
三、反向传播算法的案例 3.1、前向传播计算 以下面神经网络的基本结构,已对神经网络进行了初始化,赋予了权重、偏置和输入输出: 对网络开始前向传播计算: 因为h1使用了神经元激励函数,所以h1的输出为: 同理可得,h2的输出为: 继续前向传播,计算o1节点的输出为: 同理,得到o2节点的输出为: 接下来就是计算总的误差: 计算好误差,接下俩就需要利用
2017-07-04 09:32:29 1649
原创 前馈神经网络和反向传播算法
一、前馈神经网络 在对多层神经网络进行分析前,先对神经网络中的一些字符进行一些说明: 下图为一个多层神经网络的简单示意图: 每个神经元的表达式如下: 所以可知前向传播的步骤如下,就是一步一步对节点对应的值进行计算: 二、反向传播算法 反向传播算法是为了更好更快的训练前馈神经网络,从而得到神经网络每一层的权重参数和偏置参数。下面以一组图来讲解前向传播和反向
2017-07-03 23:28:00 6128
原创 神经网络解析和深度学习简介
一、前言 我们首先来看一个经典的神经网络结构: 上面的神经网络是有三个部分组成,分别为输入层、隐藏层和输出层。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。根据这个神经网络我们说明三点: (1)设计一个神经网络时,输入层与输出层的节点数往往是固定的,而中间层则可以自由指定; (2)神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别
2017-07-03 18:24:02 1328
原创 SVM算法(四)(有监督学习)
六、核函数(特征空间的隐式映射) 6.1、核函数简介 事实上,大部分时候数据并不是线性可分的,此时我们如何利用SVM算法来对非线性的数据进行处理呢?对于非线性的情况,SVM 的处理方法是选择一个核函数K,通过将数据映射到高维空间,来解决在原始空间中线性不可分的问题。 具体来说,在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高
2017-07-02 20:27:58 1459
原创 SVM算法(三)(有监督学习)
五、SMO算法 针对数据不完全线性可分的超平面,已将问题转化为下式(详情可参考SVM算法(二)): 现在的问题是,针对要求的最小值方程和约束条件找到一组αi=(α1,α2,…,αn)使得W(a)的值最小。最初的约束条件为:1−yi(Wxi+b)≤0。将其带入到优化问题中就有KKT条件:αi(1−yi(Wxi+b))=0。之前已分析过,αi≥0,而1−yi(Wxi+b)≤0,所以这两个式子
2017-07-02 11:10:56 1496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人