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格式的图片压缩有‘伪影’”,建议有条件的童鞋搞点