• opencv的级联分类器(mac)


    级联分类器的介绍:级联分类器训练

    因为要训练负样本,windows电脑有些问题,所以就只能有mac进行训练。

    在windows中训练,准备了负样本之后,进行三步。

    1.opencv_createsamples 也可以用来查看和检查保存于vec正样本文件中的正样本

    2.opencv_traincascade 和 opencv_haartraining 都可用来训练一个级联分类器

    命令中的参数在

    当 opencv_traincascade 程序训练结束以后,训练好的级联分类器将存储于文件cascade.xml中,这个文件位于 -data 指定的目录中。这个目录中的其他文件是训练的中间结果,当训练程序被中断后,再重新运行训练程序将读入之前的训练结果,而不需从头重新训练。训练结束后,你可以删除这些中间文件。

    在mac中,安装opencv之后就可以进行训练了

    在mac中训练分为两步

    1.制作正样本

    2.级联分类器训练

    step 1 :/anaconda2/bin/opencv_createsamples -info positive/info.txt -vec vector/vector.vec -num 300 -w 20 -h 20

    step 2 :/anaconda2/bin/opencv_traincascade -data cascades -vec vector/vector.vec -bg negative/info.txt -numPos 300 -numNeg 688 -numStages 15 -w 20 -h 20 -minHitRate 0.9999 -maxFalseAlarmRate 0.5 -mem 2048 -mode ALL

    结果在cascade.xml文件即为最终的训练结果,即可拿来进行目标检测。

    在训练的过程中遇到如下的问题

    ===== TRAINING 0-stage =====  
    <BEGIN  
    POS count : consumed   697 : 697  
    Train dataset for temp stage can not be filled. Branch training terminated.  
    Cascade classifier can't be trained. Check the used training parameters.  
    

     解决方法是负样本信息文件,是在negative文件夹下的info.txt ,文件中图片描述的路径不对,负样本文件中的每一行记录的图片名必须是从当前路径开始的。

    训练的时候正样本是300张,负样本是697张。

  • 相关阅读:
    jquery操作checkbox方法(全选、全不选、至少选择一个、选择值/文本)
    如何设置tomcat服务器编码为utf-8编码
    eclipse创建文件package,source folder和folder区别及相互转换
    git常用命令
    Java程序员最常犯的错误盘点之Top 10
    最有用的java面试题
    Java面试进阶部分集合
    Java面试基础部分合集
    python作为计算器(数学用法)
    phthon入门介绍
  • 原文地址:https://www.cnblogs.com/chenyang920/p/8488891.html
Copyright © 2020-2023  润新知