1 我的项目简介&学习目标&利用场景

我的项目简介:在咱们当初应用的短视频APP中,人脸特效是十分常见的利用,然而对于其背地的原理,可能很多人并不分明。

因而本我的项目,在Mask利用的根底上,学习如何在人头上增加兔子帽子。
此外,因为本我的项目波及到一些人脸识别相干的知识点,人脸识别入门视频,能够参考平台上的《深入浅出人脸根底及我的项目利用》。

而对于人脸特效入门的视频,能够参考平台上的《深入浅出人脸特效之Mask实战利用》。

学习目标:学习如何对图像Mask解决?学习如何增加人脸特效?
可利用场景:直播行业、短视频人脸特效等
文章作者:江大白
平台网站:www.jiangdabai.com

2 原理简述

兔耳朵帽子人脸特效:在人脸特效中,通常须要先对图片中的人脸进行检测。再依据人脸的大小,调整帽子的大小,进而将帽子戴在人脸的特定区域即可。

在本我的项目中,人脸检测采纳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库,用于数值转换)

(1)dlib库
dlib库,蕴含很多算法模型性能,比方指标检测、要害定位、特征提取等。

装置形式:进入Conda终端环境

输出代码:conda install dlib(留神:这里不是pip install dlib,这种形式大白在window零碎下装置,也遇到了很多问题)

装置参考:

4 代码文件编写
(1)代码获取形式
代码获取页面:点击查看

(2)局部代码详情

(3)文件详情

main_image.py:读取图像,对图像中的人脸,增加兔耳朵帽子特效。
main_video.py:读取视频,对视频中的人脸,增加兔耳朵帽子特效。
image_draw文件夹:为了便于大家查看每一步的成果,大白将算法中外围代码,每一步的成果图片都保留下来,大家查看代码的输入名称,和image_draw文件夹中的相应文件名,比照查看,会更加直观。
目标:通过代码,学习应用dlib人脸检测,如何增加人脸特效。

5 代码运行测试

图像人脸检测:在Pycharm中,运行main_image.py文件即可,大家也能够在最下方的配置信息中,更换不同的图片,进行尝试。

视频人脸检测:在Pycharm中,运行main_video.py文件即可,也能够批改不同的视频门路,或者调节跳帧数,学习如何增加兔耳朵帽子特效。