cascade训练简介
后面有详细解释,和步骤代码的实现,可能需要简单修改,建议代码自己先写着试试
训练步骤
-
下载文件包
opencv。这里的opencv是指编译好的.exe文件,不是需要编译的source源码文件。建议下载3.4版本的,最新版可能训练步骤不同,这里我没有做仔细学习,毕竟新手,等以后熟练了再做解释。
windows版本:官网下载
iOS版本:官网下载
Android版本:官网下载
官网地址:https://opencv.org/releases/
但是有一点,官网嘛,外网比较慢,我下载了一晚上,也可以去csdn下载,就是需要金币,不太值。 -
样本收集
样本收集是个费时费力的活,当时在朋友圈喊了一声,同学把淘宝弄来的给我了,实际上符合条件的还是不够用的,所以大家可以找找其他图片。
样本分为正负样本集。
**正样本:**人脸图像,数量在一般在2k以上
**负样本:**非人脸任何图像,数量一般在5k以上
正负样本越多越好,当然,负样本要远大于正样本数量。网上对正负样本数量比没有详细阐释,我认为 1 : 3 1:3 1:3的样本比例就可以 -
准备文件夹
这一步好说,让准备文件夹,主要是命令和文件夹有关,所以这一步要求大家和我准备一样的文件夹,如果你熟悉命令可以另说。
- cascade文件夹:这是整个环境的文件夹,下面的文件夹和文件除非特殊特殊声明,都存放在这个文件夹下
- neg文件夹:用于存放负样本集
- pos文件夹:用于存放正样本集
- opencv_world341.dll:该文件存放在步骤1下载好的文件夹中:
G:\opencv\build\x64\vc15\bin,把它复制粘贴到cascade文件夹下 - opencv_creaesamples.exe:该文件存放路径同上
- opencv_traincascade.exe:该文件存放路径同上
- xml文件夹:用于存放训练好的
.xml文件 - 人脸图像一张:用于后期测试
- 修改正负样本照片
- 正样本:
- 没必要修改成灰度图
- 大小:有一致性的要求,比如都设置成 256 ∗ 256 256*256 256∗256的,但是注意一定要一致。
- 数量:2000以上
- 图片类型,选择 . B M P .BMP .BMP格式的图片(因为我找不到那么多 . b m p .bmp .bmp格式的图片,所以只能用 . j p g .jpg .jpg格式。没试过二者区别,论文中说“ . j p g .jpg .jpg格式的图片压缩有‘伪影’”,建议有条件的童鞋搞点 . b m p .bmp .bmp格式的图片)
- 负样本:
- 大小:一定要超过正样本大小,因为我们要将负样本作为背景的,所以负样本一定比正样本尺寸大
- 数量:5000以上
- 分别在
pos文件夹和neg文件夹下添加.txt文件pos.txt和neg.txt。然后,八仙过海,各显神通,将文件填充如下:
neg.txt:文件路径+图像名写入文件中(相对路径)
可以用ddos的命令:

本文介绍了如何使用OpenCV训练级联分类器进行人脸检测,包括样本收集、文件准备、训练步骤和可能遇到的问题。作者强调了正负样本数量的重要性,并提供了训练所需的软件下载链接和训练参数的解释。训练过程中,作者遇到了检测效果不佳的问题,提出了可能的解决方案,如寻找更适合的样本集和调整训练参数。
最低0.47元/天 解锁文章
1084

被折叠的 条评论
为什么被折叠?



