ArcFace/InsightFace使用自己数据训练/验证过程(2)
程序员文章站
2022-07-12 19:41:12
...
ArcFace/InsightFace使用自己数据训练/验证过程2
接上一篇ArcFace/InsightFace使用自己数据训练/验证过程(1)
(三) 生成rec文件
制作proprety
创建文件proprety,注意没有后缀,以文本形式打开,写上以下内容,如下图所示,第一个数字代表类别总数,第二个和第三个数字代表人脸的尺寸。
生成rec文件
进入到face2rec2_m.py所在的目录,然后命令行窗口中输入以下命令:
python -u face2rec2_m.py --prefix F:\datasets\20_faces_datasets\ --root F:\datasets\20_faces_clip\ --train-ratio 0.8 --test-ratio 0.2 --recursive True
参数解释:
--prefix:lst文件保存位置
--root:对齐后的人脸数据存放位置
--train-ratio/--test-ratio:训练集和测试集的比例
然后会在指定目录生成idx和rec文件,idx文件是辅助生成rec的,rec是MXNet训练所需的数据格式。
(四) 生成bin文件
制作pairs.txt
bin文件用于验证和测试,其内容是两两图片的结合,然后给出这两张图片的真实标签,1代表是同一个人,0代表不是同一个人,以此达到验证和测试的目的。
首先我们需要把所有的人脸数据两两结合起来,如下图所示,每一行是一个测试样本,其中前两个是两张图片的地址,最后一个数字代表这两张图片是不是同一个人,运行附件中write_pairs.py,程序中修改人脸数据目录和生成的文件要保存的目录,制作pairs.txt。
生成bin文件
复制附件中的flw_m.py到src/eval文件夹下,复制附件中的lfw2pack_m.py到src/data文件夹下,进入src/data目录下,运行以下命令:
python -u lfw2pack_m.py --txt-dir F:\datasets\20_faces_datasets --output F:\datasets\20_faces_datasets\20_faces.bin
命令行参数解释:
txt-dir:上一步中生成的pairs.txt所在的目录
Output:bin文件所要保存的目录
(五)文件制作结果
至此,所有训练和验证中所需的文件都已经制作完成,把所有制作后的文件放到一个目录下,如下图所示。
下个文章介绍最后的训练和验证的过程。