HOG+ADABOOST训练方式网上资料很多,这篇文章是在小编训练过程中遇到的一些问题加以总结。

首先,在准备文件之前先让大家对训练文件有个直观的感受。

训练的文件夹中包含的文件


正样本


负样本


pos.txt


neg.txt

建立一个新文件夹,可以取名为Pedestrian,在Pedestrian文件夹下再建立pos和neg文件夹,用于存放正负样本,xml文件夹用于训练后生成的模型的存放位置,从opencv安装位置(“D:\Environment\opencv\build\x64\vc12\bin”)中拷贝opencv_createsamples.exe 和 opencv_traincascade.exe两个执行文件到Pedestrian文件夹下,pos.txt和neg.txt是正负样本存放位置,以及正样本的标签和位置。以上就是训练时所需要的所有文件,简单吧!但是,在小编训练途中还是碰到很多坑,可能小编太弱了… (羞愧脸)

1. 准备正负样本集pos和neg

这个是最耗时的一项任务啦(悄悄告诉你,小编也是偷了点懒)。

首先是在有行人的视频中抽帧,隔3帧抽一次。当然,做正样本的时候,正常的操作就是手动截图,或者用一些小工具简化这一过程。但是,这里小编用了一个别人训练好的模型,直接把所有从抽到的帧中检测到的头肩保存下来,这样真的省掉很多时间,但是由于这种方式准确率并非百分之百,还是要手动剔除掉不是头肩的部分。小编大概找到头肩样本3000张,然后用opencv或者其他方式将所有样本resize到36x36。所有正样本存放到Pedestrian/pos下,正样本集就完成了。

正负样本的比例一般是1:4~1:5,所以,3000的正样本需要截12000~15000张负样本。

负样本就是不包括头肩的,但是尺寸要大于36x36的图片。负样本最好是可能有行人的背景,这样让模型效果更好。

小编这里也偷个懒,用opencv写了个代码,就是找一张同样场景但是没有行人的图片,然后取宽高100x200,100x100,300x200等多种尺寸,步长为20,30,40,50,遍历并保存图片,这样,多找几张背景图片,很快负样本就完成了,当然,头肩模型,小编在负样本中也加入了一些手臂,腿等非头肩部分作为负样本。

最后,将所有负样本放到Pedestrian/neg文件夹下,负样本集就完成了。这里小编要说一下,正负样本最好命名时分别以pos/neg为开头,这样可以简化后面的操作。

2. 正负样本描述文件pos.txt和neg.txt

打开cmd,输入代码如下:


生成pos.txt和neg.txt

这样,在pos和neg文件夹下就分别生成了pos.txt和neg.txt两个文件,把这两个文件都剪切到Pedestrian文件下,并修改内容如下:

i. 去掉pos.txt文件里的pos.txt那一行,并且删除最后一个空白行,然后,按编辑->替换,编辑如下,然后按全部替换。


替换jpg部分

再替换如下:


替换pos部分

这个是正样本存放路径。pos.txt至此完成。

ii. 去掉neg.txt文件里的neg.txt那一行,并且删除最后一个空白行,然后,按编辑->替换,编辑如下,然后按全部替换。


替换neg部分

这个是负样本存放路径。neg.txt至此完成。

3. 生成pos.vec文件

生成pos.vec文件是利用Pedestrian下的opencv_createsamples.exe执行。打开cmd,进入到Pedestrian文件夹下,输入: opencv_createsamples.exe -info pos.txt -vec pos.vec -bg neg.txt -num 3000 -w 36 -h 36

各个参数的意义,网上都有很多资料对其解释,这里我不做过多介绍。

4. 训练分类器

完成以上工作,就可以开始训练了。

在cmd中,进入Pedestrian目录下,输入:opencv_traincascade.exe -data xml -vec pos.vec -bg neg.txt -numPos 1500 -numNeg 5000 -featureType HOG -w 36 -h 36 mode -ALL

训练开始,如下图:


训练时的样子

有几点要注意:

1. numPos的值要低于pos的值;

2. 样本的路径一定要写对;

HOG+ADABOOST方式训练头肩检测模型相关推荐

  1. 基于HOG-LBP特征融合的头肩检测研究

    from: http://www.hqew.com/tech/fangan/1721922.html 摘  要: 提出了一种基于HOG-LBP特征融合的人体头肩检测方法,其要点是将人体头肩图像等分为多 ...

  2. Faster RCNN 训练自己的检测模型

    Faster RCNN 训练自己的检测模型 一.准备自己的训练数据 根据pascal VOC 2007的训练数据集基本架构,第一步,当然是要准备自己的训练图片集,本文直接将自己的准备的图片集(.jpg ...

  3. 【聆思CSK6 视觉AI开发套件试用】体验头肩检测和手势识别最全教程

    本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站.作者:oIOT 1.下载 Windows 上的 Git 来源:https://docs.lis ...

  4. 模型训练平台的构建_用5行代码构建自定义训练的对象检测模型

    模型训练平台的构建 如今,机器学习和计算机视觉已成为一种热潮. 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷. 但是,进入该领域并不总是那么容 ...

  5. 用5行代码构建自定义训练的对象检测模型

    如今,机器学习和计算机视觉已成为一种热潮. 我们都已经看到了有关自动驾驶汽车和面部识别的新闻,并且可能想象到建立我们自己的计算机视觉模型将会多么酷. 但是,进入该领域并不总是那么容易,尤其是在没有扎实 ...

  6. 【聆思CSK6视觉AI开发套件试用】Win11下安装全过程处理兼容性问题以及实现亮灯AI头肩检测

    本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站.作者:Wordiansom Win11上并且安装在其他盘的时候会出现的问题坑......(能用 ...

  7. 【聆思CSK6 视觉AI开发套件试用】头肩检测多模态交互初体验

    本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站.作者:Alex_bG9Qau 背景 前段时间,忘记在哪个渠道,看到有聆思CSK6系列芯片视觉A ...

  8. 【聆思CSK6 视觉AI开发套件试用】体验头肩检测和手势识别初体验

    本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站.作者:胖墩墩 一.CSK6芯片简介 CSK6 是聆思科技新一代的 AI 芯片 SoC 产品系列 ...

  9. 如何使用 PyTorch 训练自定义关键点检测模型

    默认情况下,PyTorch 提供了一个 Keypoint RCNN 模型,该模型经过预训练以检测人体的 17 个关键点(鼻子.眼睛.耳朵.肩膀.肘部.手腕.臀部.膝盖和脚踝). 这张图片上的关键点是由 ...

  10. 【火眼金睛】用PWC光流法来训练Deepfakes换脸检测模型

    这段时间,一直在搞这个光流法,从一开始完全不知道,再到现在搞出点东西,毕竟是毕设相关,以此作为纪念 方法 数据集处理 这里我使用的celeb-df数据集 face.py找到人脸 首先在github上下 ...

最新文章

  1. Notepad++ 列操作
  2. springmvc工作流程简单易懂_三极管的结构和工作特性,简单易懂
  3. 学python买什么电脑-程序员,买了台破Apple电脑,用来学Python
  4. “极品时刻表”被挂马 已有6万网民遭攻击
  5. 日期正则表达式yyyyMMdd
  6. springboot+springsecurity+mybatis plus之用户认证
  7. html语言可以写模版继承吗,Django框架(十一):模板介绍、模板语言、模板继承、HTML转义...
  8. azw3转换为pdf_干货:如何Java 将 Word 文档转换为 PDF
  9. 向内存中连续存入数据_实例35_在Excel中按条件筛选数据并存入新的表
  10. POJ1384Piggy-Bank(DP)
  11. C#中值类型和引用类型的区别
  12. android模拟器 opengl,android模拟器用到android.opengl.glsurfaceview报错怎么办
  13. C语言编写程序11到20的和,C语言编程 菜鸟练习100题(11-20)
  14. 计算机应用水平excel考什么,全国专业技术人员计算机应用能力考试EXCEL2003中文字处理全真模拟试卷(三)...
  15. .net写加密的com组件给ASP,VB,VC等其他语言调用
  16. C#在word中插入表格(包含从excel中选取表格插入到word中)
  17. 加扣扣群所有脚本免费使用
  18. 《大话移动通信(第2版)》赠书活动名单公告
  19. 数据库having的用法详细介绍
  20. 使用在Photoshop上的30个纺织物纹理Ps笔刷

热门文章

  1. docker之SonarQube导出PDF报告
  2. 【Linux】一步一步学Linux——ssh-keygen命令(178)
  3. DirectX9 SDK Samples(19) AntiAlias
  4. 用python画一个树_如何用python简单画一棵树
  5. The Dominant Color (20)
  6. 服务器单核性能天梯图,台式机cpu性能排行(cpu单核性能天梯图)
  7. c++ PDFium pdf转为图片(实例)
  8. Java之阻塞和非阻塞以及同步和异步的区别
  9. oracle查询时间段差,关于oracle数据库中进行查询的时候出现效率特别差的一种情况...
  10. Word打印或打印预览或另存为PDF时出现“错误!未定义书签!”的解决办法