关灯 开灯

人脸应用类-超级赛亚人特效

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

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


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


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

作者:江大白

项目简介:在短视频APP中,我们经常使用各种人脸特效,比如更换背景、头上增加头饰、眼睛放大、人脸放大等特效。

而在本项目中,使用非常酷炫的超级赛亚人特效,和大家一起了解其背后的原理。

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

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

学习目的:学习如何对图像Mask处理?学习如何添加人脸特效?

可应用场景:直播行业、短视频人脸特效等

本应用参考:https://mp.weixin.qq.com/s/OhZ2ZegT42kwAurHh4HV5w

2 原理简述

超级赛亚人-人脸特效:在人脸特效中,通常需要先对图片中的人脸进行检测,再用特征点定位模型,对人脸的68个关键点进行定位。

而需要添加的超级赛亚人头发,根据人脸的大小进行调整,进而将头发绘制在头部区域即可。

此外,在头发的周围,还增加了电弧的效果。每次显示,随机选择一个电弧,从而实现电弧闪动的效果。

在本项目中,人脸检测采用dlib目标检测的方式。当然,在本地应用时,我们也可以训练Yolo、Centernet等算法,构建人脸检测器。

注意:关于目标检测入门的视频,可以查看平台上《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系统下安装,也遇到了很多问题)

安装参考:

(3)PIL库

PIL库也是非常常用的图像处理库,在本项目中,主要用来对车辆的品牌汇总中文名称。

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

输入代码:pip install pillow

安装参考:

4 代码文件编写

(1)代码获取方式

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

② 回复关键词:超级赛亚人,即可收到代码。

(2)部分代码详情

(3)文件详情

main_image.py:读取图像,对图像中的人脸,添加超级赛亚人头发的特效。

main_video.py:读取视频,对视频中的人脸,添加超级赛亚人头发的特效。

main_68_points.py:读取图像,对图像中的人脸进行检测,再用关键点定位,大家可以看到人脸的68个点在哪里?也知道代码中用到的0、16两个点的位置。

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

lightning文件夹:12张电弧图片,头发的三个部位left、top、right,每个部位有4种电弧的图片,显示时,随机选择一个,从而实现闪动的效果。

目的:通过代码,学习使用dlib人脸检测,关键点定位,如何添加超级赛亚人头发的特效。

5 代码运行测试

图像超级赛亚人:在Pycharm中,运行main_image.py文件即可,大家也可以在最下方的配置信息中,更换不同的图片,进行尝试。

视频超级赛亚人:在Pycharm中,运行main_video.py文件即可,也可以修改不同的视频路径,或者调节跳帧数,学习如何添加超级赛亚人头发的特效。

发表评论

This site is protected by wp-copyrightpro.com