zoukankan      html  css  js  c++  java
  • 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张。

  • 相关阅读:
    openldap
    Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
    Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P2141 珠心算测验
    Java实现 洛谷 P1567 统计天数
    Java实现 洛谷 P1567 统计天数
  • 原文地址:https://www.cnblogs.com/chenyang920/p/8488891.html
Copyright © 2011-2022 走看看