最近学习了开源代码Openface,实现了LFW数据集的人脸对齐。这些人脸对齐的图片是后续深度学习神经网络的训练数据集。
代码除了引用常见的python包,还引用了两个本地包:一个是dataset,用以生成图像generator对象和辅助输出;另一个是dlib_align,是上一篇文章中的使用dlib库对齐人脸的包。
本代码将原代码中的parse换为了更为简洁的fire,使用Config类管理对齐函数所需的输入。在实际调用时,只需要在terminal中输入
python align.py alignMain --size=100
即可更新参数。
代码及注释如下:
# align script
# 使用dlib对齐
import cv2
import numpy as np
import os
import sys
import random
import shutil
import fire
# 提取本文件所在目录
fileDir = os.path.dirname(os.path.realpath(__file__))
# 在flidDir同级目录中寻找models文件夹,找到dlib参数的路径
modelDir = os.path.join(fileDir, '..', 'models')
dlibModelDir = os.path.join(modelDir, 'dlib') #这是存放dilb对齐模板标记点的地方
myfaceDir = os.path.join(modelDir, 'myface'