paddlehub实现人脸图像戴口罩

本文介绍了如何利用PaddleHub进行人脸关键点检测,并结合代码演示如何给人脸图片添加口罩,达到逼真的效果。通过Paddle框架和PaddleHub的预训练模型,实现了简单的深度学习应用。
摘要由CSDN通过智能技术生成

文章前言

最近在学习百度的百度架构师手把手带你零基础实践深度学习课程,为期21天,该课程从基础的知识加案例代码的铺垫,以及作业打卡加实践作业的方式,还有老师的讲解,由浅到深的带你理解深度学习,总体来说还是不错的。另外paddle框架的paddlehub有一些对常用场景已经训练好的模型,可以直接拿来用,方便我们直接的开发。这篇文章给大家介绍一下paddlehub实现人脸的关键点检测,并给人脸图像戴上一个口罩这么一个小demo。


paddlehub的安装

安装paddle框架

我们先创建一个虚拟环境,名字随意,我这里起的名字为paddle,python指定版本为3.6,命令如下所示。

conda create -n paddle python=3.6
  • 安装paddle之前需要先安装好cuda和cudnn了,如果大家没有安装,则需要先安装这两个加速器,然后再进入到我们的虚拟环境,开始安装paddle,paddle官网地址
#进入虚拟环境
conda activate paddle
#根据操作系统,python版本以及cuda版本安装paddle。
python -m pip install paddlepaddle-gpu==1.8.4.post107 -i https://mirror.baidu.com/pypi/simple
  • 检查paddle是否安装成功,再终端输入以下命令。
import paddle
paddle.fluid.install_check.run_check()

如果出现和下图一样的信息,则说明安装成功。
paddle安装成功

安装paddlehub
pip install paddlehub --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 利用pip list或者pip show paddlehub,有paddlehub信息则说明安装成功,如下图所示。
    paddlehub
    paddlehub

利用paddlehub生成戴口罩的图片

利用paddlehub检测脸部关键点
  • paddlehub检测出来的人脸关键点如下所所示,每个数字代表每一个脸部具体的位置。
    脸部关键点
  • 具体图片的关键点的检测图如下所示。
    在这里插入图片描述
  • 下面的函数将口罩将要粘贴的四个关键点给返回出来。
import paddlehub as hub

def get_key_points(img):
    # 加载人脸检测模型
    face_landmark = hub.Module(name='face_landmark_localization')
    # 利用人脸关键点检测模型开始检测人脸图片,并将图片加载到work目录下
    result = face_landmark.keypoint_detection(images=[img], batch_size=1, use_gpu=False, output_dir='./work',
                                              visualization=True)
    # result[0]['data'][0]为所有检测到的关键点
    location = result[0]['data'][0]
    # 左眼睛靠下的位置就是2的位置
    left = int(location[2][0])
    # 右眼考下的位置也就是16的位置
    right = int(location[16][0])
    # 鼻梁的位置
    top = int(location[29][1])
    # 下巴的位置
    bottom = int(location[9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值