百度AIStudio之PaddleHub创意赛:你的名字,你的Face

本项目利用PaddleHub的人脸关键点检测模型face_landmark_localization,检测人脸并拼接成《你的名字》风格图片。在百度AIStudio上实现,通过计算RGB颜色均值进行人脸拼接。项目源码可在GitHub找到。
摘要由CSDN通过智能技术生成

百度AIStudio之PaddleHub创意赛:你的名字,你的Face

使用《你的名字》动漫中的图片拼出你的人脸。本项目为 PaddleHub:人脸检测主题创意赛。实现自动检测人脸,然后实现人脸拼接。
本次主要使用 PaddleHub 开源的人脸关键点检测模型 face_landmark_localization进行人体关键点识别。
关键点识别参考案例:PaddleHub实战——人像美颜
之后再以 RGB 颜色均值为标准进行人脸拼图。
NOTE: 本项目在百度AIStudio实现,如果需要在本地运行该项目示例,首先要安装PaddleHub。

其中 face_landmark_localization 使用1.0.2版。
paddlepaddle 环境为1.6.2。
paddlehub 版本为1.6.1。

本项目github链接:luoshutu/YourNameYourFace
百度AIStudio链接:你的名字,你的face

2020-4-28更新 :基于 @意疏 的意见,添加了一些关键性注释,和参数的优化。
其中最大改动为删除了 single_image_area参数以及相关代码。
注:博客和GitHub中的代码在环境配置正确的情况下,只需添加自己的图片链接,就可以在本地直接运行成功。

一、加载图片,检测关键点

使用PaddleHub 开源的人脸关键点检测模型 face_landmark_localization ,检测人脸关键点,并将关键点以红色点状的方式画在原图上,保存并显示。
import cv2
import paddlehub as hub
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg
import numpy as np
import math

src_img = cv2.imread('single_face.jpg')

module = hub.Module(name="face_landmark_localization")
detection_result = module.keypoint_detection(images=[src_img])

tmp_img = src_img.copy()
for index, point in enumerate(detection_result[0]['data'][0]):
    # cv2.putText(img, str(index), (int(point[0]), int(point[1])), cv2.FONT_HERSHEY_COMPLEX, 3, (0,0,255), -1)
    cv2.circle(tmp_img, (int(point[0]), int(point[1])), 2, (0, 0, 255), -1)

res_img_path = 'face_landmark.jpg'
cv2.imwrite(res_img_path, tmp_img)

img = mpimg.imread(res_img_path) 
# 展示预测68个关键点结果

plt.figure(figsize
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值