欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ArcFace/InsightFace使用自己数据训练/验证过程(2)

程序员文章站 2022-07-12 19:41:12
...

接上一篇ArcFace/InsightFace使用自己数据训练/验证过程(1)

(三) 生成rec文件

制作proprety

创建文件proprety,注意没有后缀,以文本形式打开,写上以下内容,如下图所示,第一个数字代表类别总数,第二个和第三个数字代表人脸的尺寸。
ArcFace/InsightFace使用自己数据训练/验证过程(2)

生成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。
ArcFace/InsightFace使用自己数据训练/验证过程(2)

生成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文件所要保存的目录

(五)文件制作结果

至此,所有训练和验证中所需的文件都已经制作完成,把所有制作后的文件放到一个目录下,如下图所示。
ArcFace/InsightFace使用自己数据训练/验证过程(2)
下个文章介绍最后的训练和验证的过程。