arcface从训练到部署的整个过程是怎样的?
下面我们一起了解一下它的前期的数据集的准备,模型训练和部署。
01数据集准备
1,首先准备需要训练的人脸数据,
并按照每个人一个文件夹的形式将人脸照片保存起来,为了使人脸更符合亚洲人的特征应该尽量多的采用亚洲人来图片训练。
每个文件夹中最少要有两张或者是两张以上的人脸照片,也就是说训练集中每个人脸最少存在两张。图片保存形式如下图所示:
![73ef0fd278f88982de96c39123edce8c.png](https://i-blog.csdnimg.cn/blog_migrate/bda1bda58cf7fcfd1c959d63b3bdb12d.jpeg)
2. 将人脸数据中的人脸部分提取出来并对其
代码中假定的是人脸的数据已经剪裁并对齐,但是在实际的应用中一般拿到的都是普通的人脸的照片,需要将人脸照片进行剪裁并将不是正脸对着正前方的人脸照片仿射变换成正脸面对的照片。
opencv中提供了几种人脸检测的方法,并且在dlib中已经封装好,在速度和准确度上已经达到很好的效果,可以直接调用软件包。
具体几种人脸检测的方法以及对比可以参考网页:https://www.learnopencv.com/face-detection-opencv-dlib-and-deep-learning-c-python/
以dlib中的cnn为例采用下面代码可以将文件夹中的人脸全部对齐并重新保存在另外一个文件夹中。
import dlib, os, cv2from tqdm impo