博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv训练分类器样本处理
阅读量:4315 次
发布时间:2019-06-06

本文共 1115 字,大约阅读时间需要 3 分钟。

分类器的训练以分为以下三部进行:

1、 样本的创建

2、 训练分类器
3、 利用训练好的分类器进行目标检测。

 

对检测物体要确定其属性:是否为绝对刚性的物体,也就是检测的目标是一个固定物体,没有变化(如特定公司的商标),这样的物体只要提供一份样本就可以进行训练。

                  但绝大数时候我们想进行训练的目标是非绝对刚性的物体,如对人的检测,包括人脸识别、手势识别。

样本:分为正样本---------负样本

正样本处理步骤:

所谓所谓正样本就是只包含检测目标的图片(最好背景一致),对于这我个人认为最好是检测目标的最小外接矩,这样可以减少训练的计算量,减少目标检测的干扰,提高检测质量。

        1、获取正样本,可以自己动手,也可以通过网络上的图像数据库,像人脸数据库就已经很全了,不必再自己制作。

        2、图片处理

             1)将正样本图片进行截取(自己收集的图片,主要是去掉训练时的不必要干扰)-----最小外接矩,

             2)将处理后的图片进行归一化,将所有图像调整成一致大小,我用的“美图看看”这款软件,批量处理的,注意无论原图多大最好都处理成25*25以下的图像,这样计算机                   训练速度快,而且不容易出现内存不够用。

        3    将归一化后的图像进行灰度处理,这里我用的是一段opencv代码,http://www.cnblogs.com/linmengran/p/6513094.html

 

         这样正样本就处理好了,接下来要生成pos.txt文件

          cmd运行控制台,切换到存放样本图片的文件目录下:输入如下命令

         

         运行结果:

         在图像文件中多了个pos.txt文件,内容如下:

              

              在对文件进行处理,使其含有图片信息:通过程序读取存入

               

             格式为:图片路径     检测目标在图片中的个数     起始监测点坐标(x,y)        图片大小(w,h)

    4、训练.vec文件

           doc下运行一下命令(假设当前路径就是pos.txt所在的路径):opencv_createsamples.exe -vec pos.vec -info pos.txt -num 100 -w 30 -h 30

                      得到pos.vec文件。

                          

负样本:不包含检测目标的任何图片。

     1.不要求样本尺寸,但要大于等于正样本的大小;且负样本不能重复,要增大负样本的差异性。

     2.负样本灰度化,同正样本操作相同。

     3.运行命令:

        

        

最后将pos.vec和neg.txt文件拷贝到同一文件夹下。

 

 

这样正负样本就处理完了,训练见:

http://www.cnblogs.com/linmengran/p/6513017.html(老训练器)

 

 

 

     

 

转载于:https://www.cnblogs.com/linmengran/p/6514410.html

你可能感兴趣的文章
jQuery 常用getter&setter
查看>>
VBA 相关常数
查看>>
LintCode-54.转换字符串到整数
查看>>
【BZOJ3994】[SDOI2015] 约数个数和(莫比乌斯反演)
查看>>
对其他组的评价
查看>>
MVC设计模式
查看>>
Grunt 实战
查看>>
如何修改WAMP中mysql默认空密码
查看>>
[Android]做android蛮有用的一个技巧
查看>>
Swift - defer关键字(推迟执行)
查看>>
LintCode "Coins in a Line"
查看>>
Windows 批处理bat程序设计简明教程
查看>>
Selenium之前世今生
查看>>
High Five Lintcode
查看>>
【linux就该这么学】-03
查看>>
文件资源下载到本地后如何调用
查看>>
K2BPM怎么让金融数据更有意义?
查看>>
AndroidManifest Ambiguity方案原理及代码
查看>>
目前的小幸福。
查看>>
MSSQL2008 常用sql语句
查看>>