PaddleHub实战:搞笑人像
gbsrept 发布于2020-04 浏览:3584 回复:6
0
收藏
最后编辑于2022-04

PaddleHub开源了人脸关键点检测模型face_landmark_localization。人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。该模型转换自  https://github.com/lsy17096535/face-landmark ,支持同一张图中的多个人脸检测。它可以识别人脸中的68个关键点。代码只要令人惊叹的2行:

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

效果如图所示:

常见的美颜功能有美白、磨皮、祛斑、装饰等等,下面的“美颜”可能更应该称之为“丑颜”,是在AI Studio示例教程( https://aistudio.baidu.com/aistudio/projectdetail/389512 )基础上改造而来。 首先利用PaddleHub人脸关键点检测模型识别人脸中的68个关键点,然后提取出其中嘴周围的关键点,找到左右嘴角的位置,姑且称为A、B点。那么线段AB的长度就决定了新的嘴的大小,AB的角度决定了新的嘴的倾斜角。以此就可以把一张搞笑的嘴巴的图片贴到原图上,形成完整的搞笑图。搞笑用的嘴部图片实际是一种搞笑奶嘴。

# 计算嘴的倾斜角
if abs(right_point[0]-left_point[0])<0.1:
    if right_point[1]>left_point[1]:
        angl = 90
    else:
        angl = -90
else:
    angl = math.atan( -(right_point[1]-left_point[1])/(right_point[0]-left_point[0]) )*180/math.pi

# 嘴 宽度
new_w = math.sqrt(  (right_point[1]-left_point[1])**2 + (right_point[0]-left_point[0])**2  )

获取嘴部图片后旋转+缩放:

imgMouth = Image.open(mouth_imp_path)
w,h = imgMouth.size

imgMouth = imgMouth.resize( (int(new_w),int(h*new_w/w) ), Image.ANTIALIAS )
imgMouth = imgMouth.rotate( angl,expand=True   )

可用的奶嘴图片包括:

      …………

后边贴不上了,论坛图片审核说是恶心内容。

然后随机选图片贴上:

res_mouths =[ "_teeth.png","_teeth-x6-1.png","_teeth-x6-2.png","_teeth-x6-3.png","_teeth-x6-4.png","_teeth-x6-5.png","_teeth-x6-6.png","m-1.png","m-2.png","m-3.png","m-4.png" ]
res_faces = [ "test_sample.jpg","shou.jpg" ]
import random
show_point(   res_faces[random.randint(0,len(res_faces)-1)] , res_mouths[random.randint(0,len(res_mouths)-1)] ) 

 得到的一个例子(感谢百度例程提供图片):

AI Studio 项目,里面有视频的效果: https://aistudio.baidu.com/aistudio/projectdetail/415283

 

 

 

 

收藏
点赞
0
个赞
共6条回复 最后由用户已被禁言回复于2022-04
#7worddict回复于2020-06

感觉很不错

0
#6wangwei8638回复于2020-06
#4 busyboxs回复
不会被打么?哈哈

除非被本人发现

0
#5189******30回复于2020-05
#4 busyboxs回复
不会被打么?哈哈

带头示范,应该不会。

这个和你做的那个贴纸的项目异曲同工~~~

0
#4busyboxs回复于2020-05
#3 189******30回复
好玩,以后同学聚会的照片可以做此处理

不会被打么?哈哈

0
#3189******30回复于2020-05

好玩,以后同学聚会的照片可以做此处理

0
#2自尊心3回复于2020-05

哈哈哈,一键搞事情

0
TOP
切换版块