TensorFlow+FaceNet+GPU训练模型(超详细过程)(二、数据预处理)

在配置完环境之后,训练模型之前,就是寻找合适的训练数据。

人脸模型对数据集的要求非常的高,比较出名的有lfw、vggface、CASIA-WebFace等等,这里提供一个别人收集好的数据资源信息,https://blog.csdn.net/Martin20150405/article/details/79788501

在近几年中,基本上大多数的模型都用lfw数据集进行验证,成了一个常态,所以本文也使用lfw数据集对训练中的模型进行测试,同时,vggface2和WebFace都是非常优秀的数据集,建议使用它们中的一个进行模型训练,其中vggface2包含300w+的照片,WebFace拥有50w+,请理性选择数据集(对自己的电脑心里有点13数)

vggface2:http://zeus.robots.ox.ac.uk/vgg_face2/signup/

lfw:http://vis-www.cs.umass.edu/lfw/

WebFace:链接已死,有人有最新的官网链接麻烦共享下,thanks

然后嘛,vggface2训练集大小,36G,嘻嘻^_^,一般外网下载数据8k/s,只需要大约55天就能下完,我觉得还是有希望的,hhhhh

lfw数据集较少,虽然外网速度同样感人,WebFace数据集大小为4G,网上资源基本上都是需要付费或者积分兑换的(嫌弃),所以这边还是好人做到底,免费提供三大数据集(有用上的小伙伴,至少点个赞,嘿嘿)

链接:https://pan.baidu.com/s/1_5vtL18zMX-ov6tnw1vkxA

提取码:i565

(vggface2正在分卷压缩,结束之后再上传更新)

使用MTCNN对数据集进行预处理

MTCNN,多任务级联卷积神经网络,大名鼎鼎,请自行百度了解。

在FaceNet项目中,新建目录datasets

同时右键将此文件夹设为excluded,不这样做的话,Pycharm会将所有图片读取到缓存中

将下载下来的lfw数据集解压到该文件夹下,输入命令开始进行人脸检测以及提取。

python src/align/align_dataset_mtcnn.py datasets/lfw/ datasets/lfw_160 --image_size 160 --margin 32 --random_order

然后,恭喜你,它肯定会报错(^_^),如果这么简单的话,教程就没用了呀,嘻嘻

错误提示很直观,没有找到facenet文件,其实我们查看目录结构就会发现,src目录下还有个align子目录,在Python中是无法通过直接引用的方法去访问上一级目录的,熟悉包导入方法的童鞋可以自己手动修改,下面提供一个超级简单的方法。

打开Python虚拟环境中的Lib目录和FaceNet项目中的src目录,将src目录下的所有文件拷贝到Lib目录下即可,这也是为什么强烈建议每个项目拥有一个独立的虚拟环境的原因。

接着再次运行上述命令,即可成功运行

 这里友情提示,请将项目放置固态硬盘中,原因很简单,即使不使用GPU,只用CPU的话,机械硬盘的读写速度跟不上CPU的计算速度,更不要说GPU了,然而,即使是使用GPU,固态硬盘也可以轻松承担这个任务。

在处理完lfw这个对模型进行验证的数据集之后,我们还需要处理训练数据集,这里使用vggface2为例,但由于数据集太大,用CPU处理的话会耗时很久,如果有兴趣配置GPU的童鞋,请先进入下一章GPU的配置环境,再返回进行数据处理(只有显卡为N卡才行呦)

Next: https://blog.csdn.net/qq_40204582/article/details/104100734

python src/align/align_dataset_mtcnn.py datasets/vggface2/train/ datasets/vggface2/train_182 --image_size 182 --margin 44

请理智选择训练的数据集,如果使用vggface2的话,请留出超过100G的硬盘空间。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章