opencv_haar分类器的训练】的更多相关文章

本文为作者原创,未经允许不得转载:原文由作者发表在博客园: http://www.cnblogs.com/panxiaochun/p/5345412.html 因为工作的原因,本人需要用到分类器来检测目标,所以需要训练自己的分类器 在这里我就简单的说下步骤和注意事项. HaarTraining步骤 1.正负样本处理 正样本处理需要对正样本进行归一化处理,一般情况下可以用Photoshop对图像进行尺寸统一处理,比如都是20*20或者24*24,其中其它尺寸比如240*15也可以做成样本的,不要求…
在上一篇文章中,我介绍了<训练自己的haar-like特征分类器并识别物体>的前两个步骤: 1.准备训练样本图片,包括正例及反例样本 2.生成样本描述文件 3.训练样本 4.目标识别 ================= 今天我们将着重学习第3步:基于haar特征的adaboost级联分类器的训练.若将本步骤看做一个系统,则输入为正样本的描述文件(.vec)以及负样本的说明文件(.dat):输出为分类器配置参数文件(.xml). 老规矩,先介绍一下这篇文章需要的工具,分别是(1)训练用的open…
众所周知,opencv下有自带的供人脸识别以及行人检测的分类器,也就是说已经有现成的xml文件供你用.如果我们不做人脸识别或者行人检测,而是想做点其他的目标检测该怎么做呢?答案自然是自己训练一个特定的训练器.opencv里面比较常用的分类器有svm以及级联分类器,svm的训练以及分类很简单,这里不再赘述,这里谈谈级联分类器的训练.级联分类器可是好东西,opencv已经封装了多尺度检测方法(multiScaleDetector)以及绘制外接矩形的方法,这两个方法为目标检测提供了非常大的便利性.以下…
介绍 使用级联分类器工作包括两个阶段:训练和检测. 检测部分在OpenCVobjdetect 模块的文档中有介绍,在那个文档中给出了一些级联分类器的基本介绍.当前的指南描述了如何训练分类器:准备训练数据和运行训练程序.参考:http://jingyan.baidu.com/article/4dc40848f50689c8d946f197.html   利用OpenCV自带的haar training程序训练一个分类器,需要经过以下几个步骤: )收集训练样本:         训练样本包括正样本和…
这两天在初学目标检测的算法及步骤,其中人脸检测作为最经典的算法,于是进行了重点研究.该算法最重要的是建立人脸检测分类器,因此我用了一天的时间来学习分类器的训练.这方面的资料很多,但是能按照一个资料运行出结果的确实没有找到,因此我总结了自己的训练经验. 目标检测分为三个步骤: 1.样本的创建 2.训练分类器 3.利用训练的分类器进行目标检测 第一步:样本的创建 ◆     样本分两种: 正样本与负样本(也有人翻译成:正例样本和反例样本),其中正样本是指待检目标样本(例如人脸,汽车,鼻子等),负样本…
原地址:http://www.cnblogs.com/zengqs/archive/2009/02/12/1389208.html OpenCV训练分类器 OpenCV训练分类器 一.简介 目标检测方法最初由Paul Viola [Viola01]提出,并由Rainer Lienhart [Lienhart02]对这一方法进行了改善.该方法的基本步骤为: 首先,利用样本(大约几百幅样本图片)的 harr 特征进行分类器训练,得到一个级联的boosted分类器. 分类器中的"级联"是指最…
正样本来源是INRIA数据集中的96*160大小的人体图片,使用时上下左右都去掉16个像素,截取中间的64*128大小的人体. 负样本是从不包含人体的图片中随机裁取的,大小同样是64*128(从完全不包含人体的图片中随机剪裁出64*128大小的用于人体检测的负样本). SVM使用的是OpenCV自带的CvSVM类. 首先计算正负样本图像的HOG描述子,组成一个特征向量矩阵,对应的要有一个指定每个特征向量的类别的类标向量,输入SVM中进行训练. 训练好的SVM分类器保存为XML文件,然后根据其中的…
训练分类器 目前为止,你已经知道如何定义神经网络.计算损失和更新网络的权重.现在你可能在想,那数据呢? What about data? 通常,当你需要处理图像.文本.音频或者视频数据时,你可以使用标准Python包来将数据导入到numpy 数组中.然后再将数组转换成torch.Tensor. 对于图像,可用的包有:Pillow.OpenCV 对于音频,可用的包有:scipy和librosa 对于文本,无论是基于原始的Python或Cython的加载,或是NLTK和SpaCy都是可以的. 对于视…
前言   红胖子,来也!  做图像处理,经常头痛的是明明分离出来了(非颜色的),分为几块区域,那怎么知道这几块区域到底哪一块是我们需要的,那么这部分就涉及到需要识别了.  识别可以自己写模板匹配.特征点识别.级联分类器训练识别.  本文章就是讲解级联分类器的训练与识别. 明确目标   目标是识别视频中的歌手,我们先手动采集数据集合.  视频为<绿色>,如下图:   训练分类器前的准备工作 采集正样本图片   正样本的尺寸不是必须一致的,但是要和生成的正样本矢量文件中的宽高有相同的比例(因为训练…
            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 微软Infer.NET机器学习组件文章目录:http://www.cnblogs.com/asxinyu/p/4329742.html 关于本文档的说明 本文档基于Infer.NET 2.6对Infer.NET User Guide进行中文翻译,但进行了若干简化和提炼,按照原网站的思路进行,但不局限与其顺序. 欢迎传播分享,必须保持原作者的信息,但禁止将…
我们要探讨的Haar分类器实际上是Boosting算法(提升算法)的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法,这里涉及到的几个名词接下来会具体讨论. 在2001年,Viola和Jones两位大牛发表了经典的<Rapid Object Detection using a Boosted Cascade of Simple Features>和<R…
用boosting构建简单的目标分类器 原文 boosting提供了一个简单的框架,用来构建鲁棒性的目标检测算法.这里提供了必要的函数来实现它:100% MATLAB实现,作为教学工具希望让它简单易得.当然,用作实时应用还远远不够. 配置 下载数据集 下载LabelMe工具箱 解压并修改initpath.m中的路径 修改parameters.m中images和annotations的路径 函数说明 初始化 initpath.m - 添加必要的path.运行前务必调用它. paameters.m…
一.Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前的人脸检测方法主要有两大类:基于知识和基于统计. "基于知识的方法主要利用先验知识将人脸看作器官特征的组合,根据眼睛.眉毛.嘴巴.鼻子等器官的特征以及相互之间的几何位置关系来检测人脸.基于统计的方法则将人脸看作一个整体的模式--二维像素矩阵,从统计的观点通过大量人脸图像样本构造人脸模式…
转载请注明作者:梦里风林 Google Machine Learning Recipes 4 官方中文博客 - 视频地址 Github工程地址 https://github.com/ahangchen/GoogleML 欢迎Star,也欢迎到Issue区讨论 Recipes 4 Let's Write a Pipeline 复习与强化概念 监督学习基础套路 例子: 一个用于举报邮件的分类器 关键在于举报新的邮件 Train vs Test:隔离训练集,测试集以验证训练效果 f(x) = y fe…
转载地址http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html 浅析人脸检测之Haar分类器方法  [补充] 这是我时隔差不多两年后, 回来编辑这篇文章加的这段补充, 说实话看到这么多评论很是惊讶, 有很多评论不是我不想回复, 真的是时间久了, 很多细节我都忘记了, 无力回复, 非常抱歉.  我本人并非做CV的, 这两年也都没有再接触CV, 作为一个本科毕业的苦逼码工, 很多理论基础都不扎实, 回顾这篇文章的时候, 我知道其实有很多…
机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来训练模型.下面解释一些方法来处理训练集和测试集存在差异的情况. Example1 假设你要开发一个识别猫的机器学习系统,其中 需要识别的是用户手机上传的猫的图片 这些图片往往清晰度低,取景不专业,识别度低.由于用户量少的缘故,这些图片量很少,只有大约1W张.但是从网上可以下载大量清晰度高,取景专业,…
笔者寄语:分类器算法最后都会有一个预测精度,而预测精度都会写一个混淆矩阵,所有的训练数据都会落入这个矩阵中,而对角线上的数字代表了预测正确的数目,即True Positive+True Nagetive. -------------------------- 相关内容: 1. R语言︱ROC曲线--分类器的性能表现评价 2.机器学习中的过拟合问题 3.R语言︱机器学习模型评估方案(以随机森林算法为例) -------------------------- 1.TPR与TNR 同时可以相应算出TP…
相关性 1.相关性是一种测度,用来表示两个变量在同一方向上发生变化的程度,如果x和y在变化方向上相同,那么这两个变量就是正相关:如果变化方向相反,就是负相关:如果变量之间没有关系,那么相关性就是0. 分类器 1.分类模型也称为分类器,用于对样本进行标注,表明这个样本属于一个有限的类别集合中的那个类.2.单分类学习中,训练集中的数据仅来自一个类别,目标是学习一个模型以预测某个样本是否属于这个类别:3.二分类学习中,训练集中的样本全部来自两个类别(通常称为阳性和阴性),目标是找到一个可以区分两个类别…
人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前人脸检测的方法主要有两大类:基于知识和基于统计. 基于知识的方法:主要利用先验知识将人脸看作器官特征的组合,根据眼睛.眉毛.嘴巴.鼻子等器官的特征以及相互之间的几何位置关系来检测人脸.主要包括模板匹配.人脸特征.形状与边缘.纹理特性.颜色特征等方法. 基于统计的方法:将人脸看作一个整体的模式——二维像素矩阵,从统计…
 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share https://www.cnblogs.com/zhizhan/p/5051881.html stacked 产生方法是一种截然不同的组合多个模型的方…
如上图所示,如果用逻辑回归来解决这个问题,首先需要构造一个包含很多非线性项的逻辑回归函数g(x).这里g仍是s型函数(即 ).我们能让函数包含很多像这的多项式,当多项式足够多时,那么你也许能够得到可以分开正样本和负样本的分界线,如图下粉红色分界线所示: 当只有两项时,比如x1.x2,这种方法能够得到不错的效果,因为你可以把x1和x2的所有组合都包含到多项式中,但是对于许多复杂的机器学习问题涉及的项往往多于两项,以房屋为例,影响房屋价格因素有房子大小.卧室数量.楼层.房龄等等.假设现在要处理的是关…
我花了将近一周的时间,才算搞懂了adaboost的原理.这根骨头终究还是被我啃下来了. Adaboost是boosting系的解决方案,类似的是bagging系,bagging系是另外一个话题,还没有深入研究.Adaboost是boosting系非常流行的算法.但凡是介绍boosting的书籍无不介绍Adaboosting,也是因为其学习效果很好. Adaboost首先要建立一个概念: 弱分类器,也成为基础分类器,就是分类能力不是特别强,正确概率略高于50%的那种,比如只有一层的决策树.boos…
Adaboost原理 Adaboost(AdaptiveBoosting)是一种迭代算法,通过对训练集不断训练弱分类器,然后把这些弱分类器集合起来,构成强分类器.adaboost算法训练的过程中,初始化所有训练样例的具有相同的权值重,在此样本分布下训练出一个弱分类器,针对错分样本加大对其对应的权值,分类正确的样本降低其权值,使前一步被错分的样本得到突显,获得新的样本分布,在新的样本分布下,再次对样本进行训练,又得到一个分类器.依次循环,得到T个分类器,将这些分类器按照一定的权值组合,得到最终的强…
VGG16内置于Keras,可以通过keras.applications模块中导入. --------------------------------------------------------将VGG16 卷积实例化:------------------------------------------------------------------------------------------------------------------------------------- from…
浅析人脸检测之Haar分类器方法 一.Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前的人脸检测方法主要有两大类:基于知识和基于统计. Ø  基于知识的方法:主要利用先验知识将人脸看作器官特征的组合,根据眼睛.眉毛.嘴巴.鼻子等器官的特征以及相互之间的几何位置关系来检测人脸. Ø  基于统计的方法:将人脸看作一个整体的模式——二维像素矩…
API说明: cv::CascadeClassifier::detectMultiScale(InputArray image,//输入灰度图像 CV_OUT std::vector<Rect>& objects,//返回目标的外接矩形 double scaleFactor = 1.1,//检测的尺度跳变量,这个值越大,某些尺寸的对象无法被检测,但检测更快 ,//有多少个重叠的检测标记才被认为有小 , //新版本中没用 Size minSize = Size(),//目标的最小尺寸 S…
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在opencv中支持SVM分类器.本文尝试在python中调用它. 和前面的贝叶斯分类器一样,SVM也遵循先训练再使用的方式.我们直接在贝叶斯分类器的測试代码上做简单改动.完毕两类数据点的分类. 首先也是先创建训练用的数据.须要注意的是这里的train_label必须是整数类型,而不是float: # 训练的点数 train_pts = 30 # 创建測试的数据点,2类 # 以(-1.5, -1…
一.简介 逻辑回归(Logistic Regression),与它的名字恰恰相反,它是一个分类器而非回归方法,在一些文献里它也被称为logit回归.最大熵分类器(MaxEnt).对数线性分类器等:我们都知道可以用回归模型来进行回归任务,但如果要利用回归模型来进行分类该怎么办呢?本文介绍的逻辑回归就基于广义线性模型(generalized linear model),下面我们简单介绍一下广义线性模型: 我们都知道普通线性回归模型的形式: 如果等号右边的输出值与左边y经过某个函数变换后得到的值比较贴…
QDF假设样本符合高斯分布,通过估计均值与协方差矩阵,训练分类器.但是由于特征维数较高,时空复杂度较高.(协方差矩阵的维数为 特征维数*特征维数).而且协方差矩阵往往存在不满秩无法求逆的情况(样本数<特征维数).MQDF主要有以下改进:1.在协方差矩阵的对角线上加一个小的常量,保证矩阵的满秩(非奇异性).2.对协方差矩阵进行特征值分解,将特征值按照逆序排列(matlab的eig函数默认已经是降序),选取一定数量的特征值(截断维数),将较小的特征值用常量代替.从而降低分类器的空间复杂度.如果原始特…
重点分析了Adaboost它的分类结构,以及如何使用Adaboost.这一节课讲解Adaboost分类器它训练的步骤以及训练好之后的XML文件的文件结构.所以这节课的核心是Adaboost分类器它的训练.如何来训练一个Adaboost分类器呢? 第一步,完成初始化数据的权值分布.正常情况下初始化的权值分布是需要一个计算公式来进行计算的.第一次进行初始化权值分布,所有的权值必须要相等,这是第一步的过程. 第二步,权值分布好之后,那么遍历判决阈值.把所有的阈值全部遍历一下,这样的话会计算出一系列的误…