关灯 开灯

人脸应用类-人脸融合特效

《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。

本文目录求职跳槽福利:为了便于大家求职、跳槽的准备,大白花了一年多时间准备了《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。


1 项目简介&应用场景
2 原理简述
3 项目实践
3.1 软件安装
3.2 conda安装
3.3 库文件安装
3.4 代码文件编写
3.5 代码运行测试


1 项目简介&学习目的&应用场景

作者:江大白

项目简介:大家在一些变脸的APP中,常常会将自己的人脸,添加到一些视频或者图像中。其中背后采用的算法,是deepfake算法。

而本项目,从另一个角度出发,通过人脸检测+关键点定位,映射的方式,也产生人脸融合的效果。

而且采用的算法非deepfake方式,而是主要采用Opencv的方式

通过本项目,大家可以学习人脸识别方面的知识点,也可以学习人脸映射、人脸融合方面的知识点。

因为本项目涉及到一些人脸识别相关的知识点,人脸识别入门视频,可以参考平台上的《深入浅出人脸基础及项目应用》。

而关于人脸特效入门的视频,可以参考平台上的《深入浅出人脸特效之Mask实战应用》

学习目的:学习如何对图像Mask处理?学习如何对人脸融合?

可应用场景:短视频人脸特效等

2 原理简述

人脸融合特效:在项目中,大白将人脸融合分为4个阶段(详情可以在第三板块,下载的资料内查看PDF文档《人脸融合实战详细流程》

大家可以根据文档和代码,以及核心步骤的效果图,对比查看。

注意:项目中会涉及到目标检测方面的内容,目标检测入门的视频,可以查看平台上《30天入门深度学习》课程中的第五章节,入门且详细易懂。

3 项目实践

很多同学刚开始进入计算机视觉领域,因此大白主要从三个方面教大家一步步入门。

大白主要从软件安装(用于编写代码)+conda安装(代码运行环境)+库文件安装(代码运行需要的函数),总共三个方面讲解。

注意:如软件、环境、库文件已经安装,可跳过第三章,直接进入第四章。

3.1 软件安装

(1)Pycharm的安装

计算机视觉算法入门,大白首推Python语言进行编程,超级简单方便。

而在编程中,为了便于管理代码,推荐大家使用Pycharm软件

考虑到很多人刚入门时,通常使用Window环境

关于Pycharm的安装,可以参考大白的文章,《Window系统安装Pycharm软件详细教程》

3.2 conda安装

(1)Conda

在工作中,常常会遇到,不同项目所依赖环境不一样的情况。

比如有的项目需要用python2.7,有的项目需要用python3.8等等。

为了不同的项目互不干扰,非常推荐大家使用Conda环境

这里关于Conda环境的安装,可以参考大白的文章,《Window系统安装Conda详细教程》

3.3 库文件安装

注意:以下如果哪个库文件已经安装过,可以跳过,安装下一个库文件。

(1)Opencv库

Opencv是计算机视觉领域,非常常用的图像算法库。

安装方式:进入Conda终端环境。(如不知如何进入,可以查看文章《Window系统安装Conda详细教程》

输入代码:pip install  opencv-python

安装参考:(如果没有安装过numpy,同时也会顺带下载numpy库,用于数值转换)

(2)dlib库

dlib库,包含很多算法模型功能,比如目标检测、关键定位、特征提取等。

安装方式:进入Conda终端环境

输入代码:conda install dlib(注意:这里不是pip install dlib,这种方式大白在window系统下安装,也遇到了很多问题)

安装参考:

4 代码文件编写

(1)代码获取方式

① 关注微信公众号:江大白

② 回复关键词:人脸融合,即可收到代码。

注意:此代码需要解压密码。

(2)部分代码详情

(3)文件详情

《人脸融合实战详细流程》:以图示的方式,描述人脸融合的详细流程。

main_image.py:读取图像,设置代码中的用来融合人脸和被融合图片的路径,进行人脸融合的特效。

main_video.py:读取视频,设置代码中的用来融合人脸和被融合视频的路径,进行人脸融合的特效。

main_68_points.py:读取图像,对图像中的人脸使用face_recognition进行关键点定位,大家可以看到人脸的68个点的分布。

通过找到待融合人脸的关键点,和被融合人脸的关键点,进行映射融合。

shape_predictor_68_face_landmarks.dat:人脸关键点定位模型,在人脸检测中,使用dlib内部自带的模型。而在关键点定位中,则使用dlib的68点定位模型,需要根据模型的路径,进行加载。

image_draw文件夹:为了便于大家查看每一步的效果,大白将算法中核心代码,每一步的效果图片都保存下来,大家查看代码的输出名称,和image_draw文件夹中的相应文件名,对比查看,会更加直观。

此外,人脸特效图像处理的相关知识点,大家可以参考平台上的视频《深入浅出人脸特效之Mask实战应用》

目的:通过代码,学习对两张图片,进行人脸融合的特效。

5 代码运行测试

图像人脸融合:在Pycharm中,运行main_image.py文件即可,大家也可以在最下方的配置信息中,更换不同的,用来融合人脸的图片,以及被融合人脸的图片,进行特效尝试。

视频人脸融合:在Pycharm中,运行main_video.py文件即可,也可以修改用来融合人脸的图片,以及其他的视频路径,学习如何进行人脸融合的特效。

发表评论

This site is protected by wp-copyrightpro.com