上周闲聊,有人发了一条标题为《还在四处求种子?以后想让谁演AV都由你做主!》的新闻,看了看是用机器学习自动替换 AV 里女主角的脸,于是搜了一下相关代码,找了这个《【换脸系列1】军装照刷爆朋友圈?教你用Python+深度学习自制换脸软件!(改进)》 ,里面给出了详细的介绍和源码,果断的要运行一下玩玩.
我本机python 版本为2.7 一运行就报错如下
im_head,landmarks_head,im_face,landmarks_face = self.resize(*self.heads[head_name], *self.read_and_mark(face_path))
SyntaxError: invalid syntax
看博主评论回复的解决方法也没奏效,那只好换版本了
- virtualenv 创建一个版本为3.6的虚拟环境
virtualenv py3env --python=python3.6 - 激活
source py3env/bin/activate - 运行程序
python faceswapper.py <头路径> <脸路径> <输出图片路径>(可选,默认./output.jpg) - 报错
No module named 'cv2'安装
pip3 install opencv-python - 继续运行报错
No module named 'dlib'安装pip3 install dlib - 报错
error: Cannot find cmake, ensure it is installed and in the path.安装brew install cmake - 成功后继续安装 dlib 报错
Boost python library not found. - 安装
brew install boost依旧报错,这里需要安装brew install boost-python --with-python3 -
再次运行
python faceswapper.py <头路径> <脸路径> <输出图片路径>(可选,默认./output.jpg)搞定. - 参考资料《mac 下安装 dlib》
- 程序需要用的dlib 资源
./data/shape_predictor_68_face_landmarks.dat下载地址