【机器视觉】
文章平均质量分 83
xiaowei_cqu
一只人畜无害的小码农
展开
-
【图像处理】边相关扫描线填充算法
接着上篇博文《 多边形的扫描转换》转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7712451多边形边相关扫描线填充算法需要建立两张表:新边表(New Edge Table,NET)和 活动边表(Active Edge Table,AET)新边表 NET记录多边形除水平边外的所有原创 2012-07-03 19:12:54 · 24611 阅读 · 4 评论 -
【图像处理】Gabor滤波器
Gabor的核函数参考的wiki使用实数Real的公式计算核函数代码:Mat gaborFilter(Mat& img, Mat& filter){ int half_filter_size = (max(filter.rows,filter.cols)-1)/2; Mat filtered_img(img.rows,img.cols,CV_32F); for(int i=0;i<img.r原创 2014-04-30 00:36:18 · 32570 阅读 · 11 评论 -
【OpenCV】SIFT原理与源码分析:方向赋值
《SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548由前一篇《关键点搜索与定位》,我们已经找到了关键点。为了实现图像旋转不变性,需要根据检测到的关键点局部图像结构为特征点方向赋值。也就是在findScaleSpaceExtrema()函数里看到的alcOrientationHist()语原创 2012-10-22 07:01:18 · 28895 阅读 · 14 评论 -
【图像处理】Schmid滤波器
Schmid也是一种类Gabor图像滤波器,在原创 2014-05-07 09:03:15 · 7981 阅读 · 2 评论 -
【模式识别】OpenCV中使用神经网络 CvANN_MLP
OpenCV的ml模块实现了人工神经网络(Artificial Neural Networks, ANN)最典型的多层感知器(multi-layer perceptrons, MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。下面来看神经网络CvANN_MLP 的使用~定义神经网络及参数:...原创 2013-06-05 09:43:11 · 71641 阅读 · 44 评论 -
【Matlab】数据降维工具箱drtoolbox
drttoolbox :Matlab Toolbox for Dimensionality Reduction是Laurens van der Maaten数据降维的工具箱。里面囊括了几乎所有的数据降维算法:- Principal Component Analysis ('PCA')- Linear Discriminant Analysis ('LDA')- Independ...原创 2012-04-26 17:25:04 · 40802 阅读 · 58 评论 -
【数据降维】数据降维方法分类
数据降维基本原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集紧致的低维表示。数据降维工具箱drtoolbox中众多算法,这里简单做个分类。因为很多并没有仔细了解,在此次只对八种方法做分类:主成分分析(Principal Component Analysis,PCA)、线性判别分析(Linear Discriminant Analysis,LDA)、等原创 2012-04-29 15:48:48 · 61529 阅读 · 15 评论 -
【模式识别】K-近邻分类算法KNN
K-近邻(K-Nearest Neighbors, KNN)是一种很好理解的分类算法,简单说来就是从训练样本中找出K个与其最相近的样本,然后看这K个样本中哪个类别的样本多,则待判定的值(或说抽样)就属于这个类别。KNN算法的步骤计算已知类别数据集中每个点与当前点的距离; 选取与当前点距离最小的K个点; 统计前K个点中每个类别的样本出现的频率; 返回前K个点出现频率最高的类别作为...原创 2014-04-15 20:19:35 · 49575 阅读 · 15 评论 -
【模式识别】Boosting
Boosting简介分类中通常使用将多个弱分类器组合成强分类器进行分类的方法,统称为集成分类方法(Ensemble Method)。比较简单的如在Boosting之前出现Bagging的方法,首先从从整体样本集合中抽样采取不同的训练集训练弱分类器,然后使用多个弱分类器进行voting,最终的结果是分类器投票的优胜结果。这种简单的voting策略通常难以有很好的效果。直到后来的Boosting方...原创 2014-05-17 21:04:49 · 25729 阅读 · 7 评论 -
【计算机视觉】森林火灾检测-2
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7523683有关火灾检测的几篇论文的算法小总结:An Early Fire-Detection Method Based on Image ProcessingThou-Ho (Chao-Ho) Chen, Ping-Hsueh Wu, and Yung-Chuen Ch原创 2012-04-30 11:33:36 · 11704 阅读 · 4 评论 -
【图像处理】利用循环移位实现描述子分类
听师姐提到一种特征描述子:对图像中每个3*3的块进行一定的处理,之后用矩阵外周8个像素表示此块,每个像素点有0和1两种状态。于是总共有2的8次方即256种状态。但通过一定的分类规则,可以把256种状态分为36种。比如以下两个图:由于左图可以通过旋转变为右图,所以认为他们是同一种状态。感觉这个方法很简单,也有一定道理,分类的标准一定程度保证了“旋转不变性”。很有意思,于是自己试着实现原创 2013-03-01 19:43:57 · 5469 阅读 · 1 评论 -
【计算机视觉】森林火灾检测-1
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7522467前段时间做了一个火灾检测的小程序,因为时间紧,实现的算法也简单。只用了两步处理:运动检测和颜色检测。日后还会再改进~运动检测其实就是检测背景,对背景建模然后提取前景中运动的物体作为候选火灾样本。尝试了两种简单的背景算法:高斯背景建模和背景相减,还是背景相减的效原创 2012-04-29 16:21:19 · 20562 阅读 · 21 评论 -
【计算机视觉】基于行为的ReID演示
帮老师做了一个简单的基于行为(主要是步态)的ReID问题的Demo,效果如下图:下面是提取的集中特征,前三个都是GEI系的,后几个是基于光流场的。然后右边是识别出的几个对象的排序,因为没有角度和衣服,书包等协变量改变的问题,所以识别比较准确,排第一的就是对的。其实特征是之前提好的,因为对象也不多,识别序列对也是一次性计算的。右边识别出的几个人是显示的动态行走的序列图,所以预先把每个人resize的原创 2014-06-30 10:03:31 · 8188 阅读 · 2 评论 -
【计算机视觉】会议投稿相关推荐
一个call for paper的网站,small推荐给我的:http://www.wikicfp.com/cfp/可以添加自己关注的会议,会生成相应的deadline列表,很方面~另一个是中科院的CCF推荐排名:http://www.ccf.org.cn/sites/ccf/paiming.jsp,列有相关期刊会议的分档。(转载请注明作者和出处:http://b...原创 2014-05-30 14:09:09 · 8820 阅读 · 2 评论 -
【模式识别】MPL,MIL和MCL
Multi-Instance Learning (MIL) 和Multi-Pose Learning (MPL)是CV的大牛Boris Babenko at UC San Diego提出来的,其思想可以用下面一幅图概况。MIL是指一个对象的学习实例可能有很多种情况,学习的时候不是用一个精确的标注对象来学习,而是用一个对象的多个实例组成的“包”来学习;而MPL是指一个对象会有多个姿态(Pose),学...原创 2014-07-07 10:26:29 · 13406 阅读 · 8 评论 -
【计算机视觉】SIFT中LoG和DoG比较
在实际计算时,三种方法计算的金字塔组数noctaves,尺度空间坐标,以及每组金字塔内的层数S是一样的。同时,假设图像为640*480的标准图像。原创 2014-06-03 10:05:25 · 35413 阅读 · 16 评论 -
【OpenCV】SIFT原理与源码分析
SIFT简介Scale Invariant Feature Transform,尺度不变特征变换匹配算法,是由David G. Lowe在1999年(《Object Recognition from Local Scale-Invariant Features》)提出的高效区域检测算法,在2004年(《Distinctive Image Features from Scale-Inva原创 2012-10-15 07:04:42 · 127398 阅读 · 35 评论 -
【计算机视觉】对象距离的平面显示
想把一些对象的距离关系显示在图上,对象特征是很多维的,而显示通常用二维平面或三维立体图。于是先用PCA将特征降成两维,然后两维分别作横轴和纵轴。这里PCA用的MATLAB降维工具箱drtoolbox,这样在平面上的一个关系就可以显示出来了。mappedX = compute_mapping(X, 'PCA', 1); 另外每个对象还有个相应的值,相当于还有一维信息想表示出来。除了用三维图,也可以原创 2014-07-26 13:30:46 · 11378 阅读 · 4 评论 -
【计算机视觉】步态数据集
收集的几个步态相关的数据集:(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu 未经允许请勿用于商业用途)原创 2014-04-24 12:57:07 · 9657 阅读 · 4 评论 -
【OpenCV】高斯混合背景建模
OpenCV中实现了两个版本的高斯混合背景/前景分割方法(Gaussian Mixture-based Background/Foreground Segmentation Algorithm)[1-2],调用接口很明朗,效果也很好。BackgroundSubtractorMOG 使用示例int main(){ VideoCapture video("1.avi"); Mat ...原创 2014-04-14 17:40:45 · 66041 阅读 · 17 评论 -
【图像处理】双眼去掩蔽
和心理系在做的实验,主要是研究基于双眼视差的立体视觉在不同的掩蔽类型以及不同视差条件下的去掩蔽效应。基于双眼视差的立体视觉不改变目标与掩蔽刺激之间的信噪比,但能使不同的刺激被知觉在不同的深度位置上以降低目标信号所受到的掩蔽作用。掩蔽作用依据机制不同,可分为能量掩蔽,即不受双眼立体视觉所造成的主观空间分离影响的;以及信息掩蔽,即可以被主观空间分离的。实验分为几个阶段,最主要是在阶段II被试在存在原创 2013-04-13 19:55:04 · 7058 阅读 · 0 评论 -
【图像处理】图像像素随机化:雪花漫天飞
近来经常和心理系做实验,总是有各种“什么什么随机化,刺激的物理性质保持一样。。”的需求。之前做《去掩蔽》的实验时,有一套图片就是做的像素随机化,这是最简单的随机化了。当时图像只有两种像素,灰的和深灰的,而且深灰的比较少。于是我就统计了深灰像素点的个数,然后在一张同样大的灰色图片中的随机位置洒深灰像素点。int pix_count=0; for(int i=0;i<img_原创 2013-04-24 20:28:00 · 7410 阅读 · 4 评论 -
【图像处理】计算Haar特征个数
最早的Haar特征由Papageorgiou C.等提出(《A general framework for object detection》),后来Paul Viola和Michal Jones提出利用积分图像法快速计算Haar特征的方法(《Rapid object detection using a boosted cascade of simple features》)。之后,Raine原创 2012-11-23 13:15:43 · 42302 阅读 · 32 评论 -
【图像处理】火灾尖角检测方法
在一些国内的论文中看到尖角检测方法,感觉有点类似以前学过的“种子填充”或者“扫描线”。算法描述按照从上到下,从左到右的顺序扫描整个二值图像。遇到像素为白色时不做任何标记,继续扫描下一像素;遇到黑色像素,则判断周围像素是否被标记的情况来决定本像素的标记情况。可分为4种情况:若该像素的上方和左方除了0和255外没有其它的标记,则将该像素设置一个新的标记;若该像素上方有除了0原创 2013-01-25 07:31:21 · 8680 阅读 · 7 评论 -
【OpenCV】视频标注工具
之前一直用师兄写的标注工具,很多操作感觉不太习惯。又没有源码可改,索性自己写了一个,功能比较简单。就是视频的读取和标注。主要用鼠标的点击进行标注,第一次点击为标注框左上角的点,可以按住左键调整标注框;松开时会确定标注框(框由蓝色变为绿色);一帧中可以标注多个视频。主要通过OpenCV的鼠标响应函数来实现:void setMouseCallback(const string&...原创 2013-04-12 13:00:26 · 14519 阅读 · 22 评论 -
【OpenCV】基于Adaboost和Haar-like特征人脸识别
毕设算是告一段落,里面用了一点点人脸识别,其实完全是OpenCV自带的,源自两篇论文:P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features.R. Lienhart and J. Maydt. An Extended Set of Haar-like Feature原创 2012-06-17 13:20:31 · 46909 阅读 · 41 评论 -
【3D】三维数据获取的运动恢复
研究生课程系列文章参见索引《在信科的那些课》三维数据获取的运动恢复三维数据配准(Registration):将在不同的视点采集到的三维数据记录到同一个物体基准坐标系中。运动恢复(Motion Recovery):通过对数据(图像)序列的分析求解传感器的运动过程。运动是生物视觉与机器视觉重要的感知功能。运动控制是脑高度发达的机能之一,不仅涉及到脑皮层及各种大脑结构原创 2012-12-31 17:13:04 · 6744 阅读 · 1 评论 -
【OpenCV】高斯混合背景提取
转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7566070在做火灾检测时尝试了一下用OpenCV中自带的高斯混合背景建模,由于是快速应用,也没推敲太细,日后有机会再研究吧。如果只是应用,不推敲原理是很简单的。OpenCV自己有一个高斯模型,源代码在安装目录...\opencvsetuppath\src\cvaux的cvb原创 2012-05-14 20:31:15 · 16588 阅读 · 5 评论 -
【3D】迭代最近点算法 Iterative Closest Points
研究生课程系列文章参见索引《在信科的那些课》基本原理假定已给两个数据集P、Q, ,给出两个点集的空间变换f使他们能进行空间匹配。这里的问题是,f为一未知函数,而且两点集中的点数不一定相同。解决这个问题使用的最多的方法是迭代最近点法(Iterative Closest Points Algorithm)。基本思想是:根据某种几何特性对数据进行匹配,并设这些匹配点为假想的对应点,然后根据这原创 2013-01-21 13:06:08 · 48696 阅读 · 57 评论 -
【图像处理】利用积分图像法快速计算Haar特征
由于Haar特征是矩形中黑色区域所有像素值的和减去白色区域所有像素值的和。在之前(《计算Haar特征个数》)我们看到,24*24的图片中,有115984个特征,远远大于其像素个数。如果计算每个特征的像素和,计算量会非常大,而且很多次运算是重复的。Paul Viola提出一种利用积分图像法快速计算Haar特征的方法(《Rapid object detection using a boosted原创 2012-11-24 11:37:28 · 36213 阅读 · 27 评论 -
【OpenCV】SIFT原理与源码分析:关键点描述
《SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548由前一篇《方向赋值》,为找到的关键点即SIFT特征点赋了值,包含位置、尺度和方向的信息。接下来的步骤是关键点描述,即用用一组向量将这个关键点描述出来,这个描述子不但包括关键点,也包括关键点周围对其有贡献的像素点。用来作为目标匹配的依据(原创 2012-10-26 10:35:12 · 31918 阅读 · 34 评论 -
【OpenCV】SIFT原理与源码分析:DoG尺度空间构造
《SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548尺度空间理论自然界中的物体随着观测尺度不同有不同的表现形态。例如我们形容建筑物用“米”,观测分子、原子等用“纳米”。更形象的例子比如Google地图,滑动鼠标轮可以改变观测地图的尺度,看到的地图绘制也不同;还有电影中的拉伸镜头等等…原创 2012-10-15 07:08:14 · 80700 阅读 · 86 评论 -
【图像处理】快速计算积分图
积分图是图像中十分常用的方法,最初是在Haar特征的快速计算中学到(参考博文:利用积分图像法快速计算Haar特征),后来发现在均值滤波,二值化等图像处理方法中也十分常见。积分图的简要介绍可以参考博文:利用积分图像法快速计算Haar特征,这里不再重复了。本篇主要是小记一下积分图的计算方法。由于积分图中每个单元存储的信息是原图中此位置左上角所有像素之和,所以对一张W*H的图像直接求取积分图,需要:(1原创 2014-01-06 21:39:56 · 42945 阅读 · 30 评论 -
【OpenCV】特征检测器 FeatureDetector
OpenCV提供FeatureDetector实现特征检测及匹配class CV_EXPORTS FeatureDetector{public: virtual ~FeatureDetector(); void detect( const Mat& image, vector& keypoints, const Mat& mask=Mat() ) const; void de原创 2013-03-08 23:14:02 · 59246 阅读 · 19 评论 -
【OpenCV】SIFT原理与源码分析:关键点搜索与定位
《SIFT原理与源码分析》系列文章索引:http://blog.csdn.net/xiaowei_cqu/article/details/8069548由前一步《DoG尺度空间构造》,我们得到了DoG高斯差分金字塔:如上图的金字塔,高斯尺度空间金字塔中每组有五层不同尺度图像,相邻两层相减得到四层DoG结果。关键点搜索就在这四层DoG图像上寻找局部极值点。DoG局部极值点寻找原创 2012-10-21 21:25:37 · 31932 阅读 · 38 评论 -
【计算机视觉】步态能量图GEI
GEI简介步态能量图(Gait Engery Image, GEI)是步态检测中最非常常用的特征,提取方法简单,也能很好的表现步态的速度,形态等特征。其定义如下:其中,表示在第q个步态序列中,时刻t的步态剪影图中坐标为(x,y)的像素值。步态周期的判断使用步态剪影的宽、高之比即可,这个值比较容易而且随步态状态呈现周期性变化。步态剪影单张步态剪影图需调节成宽为W,高为H的大小。调节时保持剪影的比例不原创 2014-01-09 09:28:33 · 18033 阅读 · 22 评论 -
【计算机视觉】角度转换模型VTM
VTM简介多角度步态检测问题解决的方法通常有三类:利用多摄像机系统建立3D模型;提取与角度无关的步态特征;角度转换模型。角度转换模型(View Transformation Model)最基础的是利用奇异值分解(SVD),将特征矩阵分解为与角度无关的向量,与对象无关的向量,以及特征值。再利用提取出来的与对象无关的向量将特征从当前角度转换到对应角度。 View Transformation Mode原创 2014-01-11 10:17:40 · 4691 阅读 · 5 评论 -
【模式识别】Learning To Rank之RankBoost
RankBoost的思想比较简单,也是二元Learning to rank的常规思路:通过构造目标分类器,使得pair之间的对象存在相对大小关系。通俗点说,把对象组成一对对的pair,比如一组排序r1>r2>r3>r4,那可以构成pair:(r1,r2)(r1,r3),(r1,r4),(r2,r3)(r3,r4),这样的pair是正值,也就是label是1;而余下的pair如(r2,r1)的值应该原创 2014-06-18 23:47:51 · 21956 阅读 · 12 评论