关键词:级联分类器、opencv_traincascade

下面简述操作过程:

  1. 准备正负样本:neg、pos
  2. 正负样本路径生成:dir /a/b>path.txt //path:pos or neg
  3. 正样本训练集生成:opencv_createsamples.exe -info pos\pos.txt -vec pos\pos.vec -num 799 -w 24 -h 24  pause
  4. 样本训练:opencv_traincascade.exe -data data -vec pos/pos.vec -bg neg/neg.txt -numPos 100 -numNeg 2000 -numStages 5 -featureType LBP -w 24 -h 24 -minHitRate 0.999 -maxFalseAlarmRate 0.1 -mode ALL
  • -numStages :训练级数           a
  • -numPos :每级训练正样本数量  b
  • a*b<=总正样本数
  • -numNeg :每级训练使用的负样本数量 c
  • c<=总负样本数
  • -featureType:检测特征
  • 经验之谈: LBP用于快速训练及检测、HOG可较好适应不同光照、HAAR适用于环境较复杂情况

注意事项

  1. 若出现报错,首先检查参数设置是否正确;其次可考虑换台机器;最后再考虑更改机器环境配置。
  2. 若长时间停留在某一训练阶段,表明极有可能陷入循环,同时也表明在此阶段分类器已达到较优状态,可先退出(ctr+C)再降低训练级数或调整其他参数。
  3. 若训练效果不理想则考虑增大样本集并修改相关训练参数。

级联分类器训练-----OpenCV的更多相关文章

  1. OpenCV开发笔记(七十一):红胖子8分钟带你深入级联分类器训练

    前言   红胖子,来也!  做图像处理,经常头痛的是明明分离出来了(非颜色的),分为几块区域,那怎么知道这几块区域到底哪一块是我们需要的,那么这部分就涉及到需要识别了.  识别可以自己写模板匹配.特征 ...

  2. 【原/转】opencv的级联分类器训练与分类全程记录

    众所周知,opencv下有自带的供人脸识别以及行人检测的分类器,也就是说已经有现成的xml文件供你用.如果我们不做人脸识别或者行人检测,而是想做点其他的目标检测该怎么做呢?答案自然是自己训练一个特定的 ...

  3. 如何利用OpenCV自带的级联分类器训练程序训练分类器

    介绍 使用级联分类器工作包括两个阶段:训练和检测. 检测部分在OpenCVobjdetect 模块的文档中有介绍,在那个文档中给出了一些级联分类器的基本介绍.当前的指南描述了如何训练分类器:准备训练数 ...

  4. opencv:级联分类器训练(cascade classifier training)(两个分类器的区别)

    # 介绍 级联分类器包括两个工作阶段:训练(traning),检测(detection).检测阶段在文档<objdetect module of general OpenCV documenta ...

  5. 机器学习-分类器-级联分类器训练(Train CascadeClassifier )

    一.简介: adaboost分类器由级联分类器构成,"级联"是指最终的分类器是由几个简单分类器级联组成.在图像检测中,被检窗口依次通过每一级分类器,这样在前面几层的检测中大部分的候 ...

  6. OpenCV人脸识别-训练级联分类器

    OpenCV中以及附带了训练好的人脸特征分类器,3.2版本的有三种: 分别是LBP,Haar,Hug 在Data目录下. 也可以训练自己的特征库,具体参照如下: 级联分类器训练 — OpenCV 2. ...

  7. opencv的级联分类器(mac)

    级联分类器的介绍:级联分类器训练 因为要训练负样本,windows电脑有些问题,所以就只能有mac进行训练. 在windows中训练,准备了负样本之后,进行三步. 1.opencv_createsam ...

  8. 使用OpenCV训练好的级联分类器识别人脸

    一.使用OpenCV训练好的级联分类器来识别图像中的人脸 当然还有很多其他的分类器,例如表情识别,鼻子等,具体可在这里下载: OpenCV分类器 import cv2 # 矩形颜色和描边 color ...

  9. 利用opencv中的级联分类器进行人脸检測-opencv学习(1)

    OpenCV支持的目标检測的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).注意,新版本号的C++接口除了Haar特征以外 ...

随机推荐

  1. 从零开始,在windows上用nodejs搭建一个静态文件服务器

    从零开始,在windows上用nodejs搭建一个静态文件服务器 首先安装nodejs: 新建一个node文件夹 下载node.exe到该文件夹 下载npm然后解压到该文件夹 现在node文件夹是这样 ...

  2. Linq101-Quantifiers

    using System; using System.Collections.Generic; using System.Linq; namespace Linq101 { class Quantif ...

  3. java中判断两个字符串是否相等的问题

    我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写.在java中,用的是eq ...

  4. iOS程序崩溃*** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [37.5 nan]'

    今天上班打开昨天的程序运行,昨天跑的很溜的程序今天竟然crash了,好郁闷啊!下面附上crash的栈打印信息: 经过一番调试终于找到了原因,程序crash是因为CALayer的位置中含有不存在的数,就 ...

  5. 使用<pre>标签为你的网页加入大段代码

    在上节中介绍加入一行代码的标签为<code>,但是在大多数情况下是需要加入大段代码的,如下图: 怎么办?不会是每一代码都加入一个<code>标签吧,没有这么复杂,这时候就可以使 ...

  6. 比较两个字符,相等输出yes,不相等输出no

    DATA SEGMENTSHOW1 DB 'YES$'SHOW2 DB 'NO$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN: MOV AX,DA ...

  7. SQL SAVE TRANSACTION

    --创建存储过程 create procedure qiantaoProc @asd nchar(10) as begin begin try begin transaction innerTrans ...

  8. canvas新属性

    lineCap默认值是butt,还有aquare,round 使用:context.lineCap="butt" lineJoin miter是默认 还可以是round,bevel ...

  9. QT设置标签字体大小和颜色

    ui.label是QLabel ui.label_4->setText("some text"); //设置字号 QFont ft; ft.setPointSize(12); ...

  10. 随机数是骗人的,.Net、Java、C为我作证(转载)

      几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生成一个数,我们事先也不知道它生成什么数.比如在.Net中编写下面的代码: Random rand = ...