- 博客(67)
- 收藏
- 关注
转载 Deep Learning(深度学习)学习笔记整理
转载:http://blog.csdn.net/u011964544/article/details/37960807?locationNum=8&fps=1目录:一、概述二、背景三、人脑视觉机理四、关于特征4.1、特征表示的粒度4.2、初级(浅层)特征表示4.3、结构性特征表示4.4、需要有多少个
2017-05-04 21:18:00 1708
转载 立体视觉
转载自:http://blog.csdn.net/tanmengwen/article/details/7408833双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标双目测距与三维重建的OpenCV实现问题集锦(二)双目定标与双目校正 双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
2017-03-30 11:10:29 978
转载 POSIT:3D姿态估计
转载自:http://www.myexception.cn/operating-system/1918104.htmlPOSIT算法的原理--opencv 3D姿态估计3D姿态估计-POSIT算法POSIT算法,Pose fromOrthography and Scaling with Iterations, 比例正交投影迭代变换算法:用于估计物体的3D姿态(相对于镜头的平移和旋转
2017-03-29 21:57:37 1856
原创 opencv 摄像机标定
摄像机的标定问题是机器视觉领域的入门问题,可以分为传统的摄像机定标方法和摄像机自定标方法。定标的方法有很多中常见的有:Tsai(传统)和张正友(介于传统和自定标)等,摄像机成像模型和四个坐标系(通用原理)。摄像机模型采用经典的小孔模型,如图中Oc(光心),像面π表示的是视野平面,其到光心的距离为f(镜头焦距)。四个坐标系分别为:世界坐标系(Ow),摄像机坐标系(Oc),图像
2017-03-29 15:14:31 580
转载 DBN代码解析
DeepLearnToolbox的源码,test_example_DBN.m: 测试代码[cpp] view plain copy function test_example_DBN load ../data/mnist_40000_10000; addpath('../DBN'); addpath('.
2017-03-27 09:15:12 6830 4
转载 EM期望最大化
极大似然估计极大似然估计方法是一种参数估计方法·是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值·原理:一个随机试验如果有若干个可能的结果A,B,C,…。若在一次试验中,结果A出现,则一般认为试验条件对A出现有利,也即A出现的概率很大思想:已知某个参数能使这个样本出现的概率最大,我们当然不会再
2017-03-18 21:08:24 501
转载 人脸检测/Harr分类器
转载:http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html Haar分类器实际上是Boosting算法的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法。Haar分类器算法的要点
2017-03-16 16:33:34 1068
转载 随机森林
前面介绍过决策树分裂节点的三种方法:ID3算法,C4.5算法和CART算法。虽然这些决策树有很多优良的性质,比如训练时间复杂度较低,模型容易展示等等,但是同时单决策树有一些不好的地方,比如容易over-fitting,虽然剪枝可以减少这种现象的发生,但是还是不够的。为了减少决策树的不足,近年来又提出了许多模型组和+决策树的算法,这些算法都是生成N棵决策树,虽然这N棵树都很简单,但是它们综合起来就很
2017-03-16 15:20:10 1176
转载 boosting算法
Boosting是一个提高任意给定学**算法准确度的方法。他是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的弱分类器。在实际应用中,我们不必费力寻找预测精度高的算法,只需要找到一个比随机猜测略好的弱学**算法,通过Boosting算法就可以将其提升为强学**算法。Boosting算法的思想是先赋予训练集中每个样本相同的权重,然后进行T次迭代
2017-03-14 16:57:19 1024
转载 决策树
前言算法的有趣之处在于解决问题,否则仅仅立足于理论,便毫无乐趣可言; 不过算法的另一特点就是容易吓唬人,又是公式又是图标啥的,如果一个人数学理论知识过硬,静下心来看,都是可以容易理解的,纸老虎一个,不过这里的算法主要指的应用型算法;但是那些证明和研究算法理论堪称大牛. 现在给大家介绍一下分类算法中最常用的一种算法–决策树算法决策树原理决策树(de
2017-03-13 20:58:57 587
转载 朴素贝叶斯分类
这次需要总结的是朴素贝叶斯算法,参考文章:《统计学习方法》机器学习常见算法个人总结(面试用)朴素贝叶斯理论推导与三种常见模型朴素贝叶斯的三个常用模型:高斯、多项式、伯努利简介朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。贝叶斯定理是基于条件概率来计算的,条件概率是在已知事件B发生的前提下,求解事件A发生的概率,即P(A|B)=P(AB)P(B),而
2017-03-13 20:13:02 445
原创 k均值聚类算法
K-means聚类算法 一、K-means聚类原理 1.1 聚类算法的原理 我们经常接触到的聚类分析,一般都是数值聚类,一种常见的做法是同时提取 N 种特征,将它们放在一起组成一个 N 维向量,从而得到一个从原始数据集合到 N 维向量空间的映射——总是需要显式地或者隐式地完成这样一个过程,然后基于某种规则进行分类,在该规则下,同组分类具有最大的相似性。
2017-03-13 11:25:14 2214
原创 Mahalanobis距离
Mahalanobis距离是表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。举个例子,坐飞机从上海到北京和坐普快从上海到北京,由于速
2017-03-13 09:59:09 907
转载 卡尔曼滤波(Kalman Filter) 的进一步讨论
我们在上一篇文章中通过一个简单的例子算是入门卡尔曼滤波了,本文将以此为基础讨论一些技术细节。卡尔曼滤波(Kalman Filter)http://blog.csdn.net/baimafujinji/article/details/50646814在上一篇文章中,我们已经对HMM和卡尔曼滤波的关联性进行了初步的讨论。参考文献【3】中将二者之间的关
2017-03-12 17:00:01 515
原创 卡尔曼滤波(Kalman Filter)
一、引言下面我们引用文献【1】中的一段话作为本文的开始:想象你在黄昏时分看着一只小鸟飞行穿过浓密的丛林,你只能隐隐约约、断断续续地瞥见小鸟运动的闪现。你试图努力地猜测小鸟在哪里以及下一时刻它会出现在哪里,才不至于失去它的行踪。或者再想象你是二战中的一名雷达操作员,正在跟踪一个微弱的游移目标,这个目标每隔10秒钟在屏幕上闪烁一次。或者回到更远的从前,想象你
2017-03-12 16:57:40 606
原创 opencv学习大纲
opencv各章学习的内容概括与汇总OpenCv中文论坛精华地址http://www.opencv.org.cn/index.php/User:Ollydbg23http://sivp.sourceforge.net/(sivp)一、基础操作1. 数据类型 数据结构了解 图像相关:cvArr cvMat IplImage 数据数组
2017-03-12 09:53:16 900
转载 深度信念网络DBN
“深度学习”学习笔记之深度信念网络 本篇非常简要地介绍了深度信念网络的基本概念。文章先简要介绍了深度信念网络(包括其应用实例)。接着分别讲述了:(1) 其基本组成结构——受限玻尔兹曼机的的基本情况,以及,(2) 这个基本结构如何组成深度信念网络。 本文仅仅能使读者了解深度信念网络这一概念,内容非常浅显,甚至有许多不严密的地方。如果有愿意深入了解受限玻尔兹曼机、深度信念网络的,想对
2017-03-08 20:28:14 2044
原创 DBN\DNN\ANN\SNN
一、ANN与DNN区别1、ANN与DNN背景 传统的神经网络,也称为浅层神经网络SNN(shallow nerual network)。Deep Learning中重点研究的是深层神经网络,也称为DNN(Deep neural network,其中D是Deep的缩写。无论是SNN还是DNN都属于一类人工神经网络ANN。DNN也是机器学习(machine lear
2017-03-06 20:36:45 1835
原创 背景学习模型 —》codebook算法
《Learning OpenCV》一书当中介绍的第二种背景建模方法是codebook。直接通过书本来理解codebook算法有点困难,可以按照下面的顺序来理解codebook算法,首先看看百度百科上对这个算法的基本原理的阐述,我认为百度百科上的描述已经比较直观,但当中有很多细节的东西还需要看具体的代码,所以可以通过细读下面转载的代码来理解codebook算法,理解代码的过程需要有点耐心,先看mai
2017-03-03 19:49:22 5560
转载 0pencv 分类器 haartraining生成.xml文件过程
1.准备正负样本: 在上一讲http://www.cnblogs.com/tornadomeet/archive/2012/03/27/2420088.html 中,我们已经收集到了训练所用的正样本。下面就开始收集负样本了,负样本要求是:不能包含人脸,且图片大小也不需要归一化到正样本尺寸,只需比正样本尺寸大或者相等即可。建议负样本用灰度图,加快训练速度,且负样本一定不能重复,要增大
2017-02-26 14:39:17 571
转载 opencv学习_16(CvMat矩阵结构以及矩阵数据访问)
通道和维度+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++首先说一下对矩阵维度和通道的理解: 维:体现为坐标。 通道: 对于这样一个数组矩阵:float data[18] = { 30, 60, 40, 60, 5
2017-02-24 14:49:11 591
转载 图像质量的客观评估指标PSNR与SSIM
PSNRSSIM代码参考文献1:PSNRPSNR是最为常用的图像质量评估指标: 其中K为图像对应二进制位数,一般为8。MSE为均方误差,计算公式为: 2:SSIMSSIM[1]主要用来衡量图像结构完整性,是另一种比较常用的客观评估指标。实际应用中,一般用滑动窗口对图像进行分块,这里的滑动窗口一般为高斯窗口,并用高斯加权计算每个窗口的均值、方差和协
2017-02-23 20:40:45 2301
转载 OpenCV2.3.1在CentOS6.5下的安装
安装的linux版本是centos6.5,选择的是opencv2.3.1。不是很新的版本。因为在安装opencv2.4.9的时候,make的过程中出现了问题. 一:安装依赖包依赖包用yum安装就可以了,需要以下安装包:yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-h
2017-02-23 20:38:40 472
转载 图像形态学操作—腐蚀膨胀深入
这里我们主要想讲解冈萨雷斯的数字图像处理这本书上膨胀腐蚀的定义及用opencv实现的结果,然后对比它们之间的差异。一:opencv实现 在这之前可以看我的另外一篇blog:http://blog.csdn.net/lu597203933/article/details/17184439膨胀:案例代码:[cpp] view pl
2017-02-23 20:36:19 546
转载 CvMat、Mat、IplImage之间的转换详解及实例
OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数。初学者应该掌握并熟练应用。但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进。1.初始化矩阵: 方式一、逐点赋值式: CvMat* mat = cvCreateMat( 2, 2, CV_64
2017-02-23 20:34:15 650
转载 YUV格式转换为RGB(基于opencv)
之前写代码过程中需要将YUV格式视频中每帧提取出来,然后保存为图片。网上普遍有两种方法,第一种是通过opencv自带cvCvtColor,但是这种方法有bug,得到的图片会泛白。第二种方法是公式法。法一:opencv自带cvCvtColor说明:这种方法会出现图片“泛白”,具体原因网上是说cvCvtColor这个函数左右协议不同,不太懂。代码: [c
2017-02-23 20:32:27 2889
转载 Opencv2系列学习笔记12(检测fast特征)
一:Fast特征定义什么是角点:这次的定义基于假定特征点周围的图像强度,通过检查候选像素周围一圈像素来决定是否接受一个特征点。与中心点差异较大的像素如果组成连续的圆弧,并且弧长大于原周长的3/4,那么我们认为找到了一个特征点。二:加速技巧 首先测试圆上被90度分割的四个点(顶部,底部,左侧及右侧),那么为了满足上述条件,四个点中至少三个点必须大于或者小于中心像素。如果不
2017-02-23 20:29:28 343
转载 Sift特征
sift = scale invariant feature transform—— 尺度不变特征变换,具有尺度,旋转,仿射,视角,光照不变性。。关于sift的特征介绍,已经有很多的blog对其进行简介了,见参考的blog。我也没有将2004年那篇原文精细看完,这里只是提供在opencv中如何实现 sift关键点的检测。Code:[cpp] view p
2017-02-23 20:26:01 386
转载 图像放大与缩小—插值
Opencv中对于图像的放大与缩小主要有两种类型,一种是图像金字塔pyrUp和pyrDown函数,另外一种是更通用的resize函数允许你指定目标图像的尺寸。一:图像金字塔对于函数pyrDown和pyrUp在没有指定缩放的大小时,默认大小为源图像的一半或2倍。PyrDown的原理是先将图像进行高斯平滑,然后去除偶数行。PyrUp的原理是图像新插入的偶数行全部为0,然
2017-02-23 20:23:59 909
转载 VS配置Opencv原理
Vs2010配置opencv的步骤可以我的这篇blog:http://blog.csdn.net/lu597203933/article/details/11175811. 配置主要包括4点配置:环境变量的配置;vc++目录中包含目录和库目录的配置;链接器输入的配置。在介绍这四点配置前,我首先想简单介绍下.lib文件和.dll文件:一:.lib文件和.dll文件(1)li
2017-02-23 20:22:20 251
转载 Opencv2系列学习笔记11(霍尔夫变换)
本节主要介绍如何用Hough变换检测直线和圆一:Hough变换检测直线 原始Hough变换思想:先求出图像中每点的极坐标方程如下图>,相交于一点的极坐标曲线的个数大于最小投票数,则将该点所对应的(p, r0)放入vector中,即得到一条直线,lines中存储的是极坐标方程的参数注意hough变换要求输入的是包含一组点的二值图像。代码:
2017-02-23 20:20:25 503
转载 Opencv2系列学习笔记10(提取连通区域轮廓)
连通区域指的是二值图像中相连像素组成的形状。而内、外轮廓的概念及opencv1中如何提取二值图像的轮廓见我的这篇博客:http://blog.csdn.net/lu597203933/article/details/14489225 轮廓的简单提取算法如下: 系统性地扫描图像直到遇到连通区域的一个点,以它为起始点,跟踪它的轮廓,标记边界上的像素。当轮廓完整闭合,扫描回到
2017-02-23 20:18:37 1405
转载 Opencv2系列学习笔记9(使用Canny算子检测轮廓)
前面我们用sobel算子和拉普拉斯变换也可以进行边缘检测,见我的上一篇blog:http://blog.csdn.net/lu597203933/article/details/17252285但这样得到的二值边缘图像有两大缺点。第一:检测到的边缘过粗,这意味着难以实现物体的精确定位。第二:难以找到这样的阀值,即能足够低检测到所有重要的边缘,同时也不至于包含过多次要的边缘。
2017-02-23 20:16:40 953
转载 Opencv2系列学习笔记8(图像滤波)
一:概念:滤波是信号处理机图像处理中的一个基本操作。滤波去除图像中的噪声,提取感兴趣的特征,允许图像重采样。图像中的频域和空域:空间域指用图像的灰度值来描述一幅图像;而频域指用图像灰度值的变化来描述一幅图像。而低通滤波器和高通滤波器的概念就是在频域中产生的。低通滤波器指去除图像中的高频成分,而高通滤波器指去除图像中的低频成分。后面将介绍低通滤波器—均值和高斯滤波器;
2017-02-23 20:14:43 390
转载 LBP简介
LBP(local binary pattern)是一种用来描述图像局部纹理特征的算子。原始的LBP于1994年提出,它反映内容是每个像素与周围像素的关系。后被不断的改进和优化,分别提出了LBP旋转不变模式、LBP均匀模式等。一:原始的LBP 给出一个简单的案例计算LBP:如下图,周围8个像素点比中间点像素值大(或者相等)的记为1,小的记为0,这样就得到二值图,然后按顺时针方向
2017-02-23 20:11:57 773
转载 Opencv2系列学习笔记7(图像形态学运算)
形态学滤波理论于上世纪90年代提出,被用于分析及处理离散图像。它定义了一系列的运算,应用预定义的形状元素来变换一张图像。一:图像腐蚀、膨胀和开闭运算图像的腐蚀:替换为当前像素位像素集合中的最小像素值,函数为erode图像的膨胀:替换为当前像素位像素集合中的最大像素值,函数为dilate图像的开运算:先腐蚀后膨胀,函数为morphologyEx,对应的参数为MORPH
2017-02-23 20:09:25 283
转载 Opencv2系列学习笔记5(检测Harris角点)
在计算机视觉中,兴趣点(也叫关键点或者特征点)的概念被大量用于解决物体识别、图像匹配、视觉跟踪、三维重建等问题。它依赖于这个想法,即不再观察整副图像,而是选择某些特殊的点,然后对它们执行局部分析。如果能检测到足够多的这种点,同时它们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就很有效。Harris角点的理论部分见opencv1的这篇blog:http://blog.csdn.ne
2017-02-23 20:00:14 1027
转载 Opencv2系列学习笔记4(灰度直方图)
和之前的一篇blog【http://blog.csdn.net/lu597203933/article/details/14104505】一样,这篇是opencv2的Mat格式。一:一维直方图Code:[cpp] view plain copy print?int main() { Mat imag
2017-02-23 19:58:05 372
转载 Opencv2系列学习笔记2_2(图像的其它操作)
本节主要涉及到图像的领域、算术操作以及如何操作图像感兴趣的区域,并讲解IplImage和Mat及opencv2中Ptr类型之间的相互转换。一:邻域操作以下例子主要对图像进行锐化。基于拉普拉斯算子。这幅图像的边缘部分将得到放大,细节部分将更加的锐利。计算方式为:sharpened_pixel = 5*current – left – right –up – down.
2017-02-23 19:55:44 524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人