一户一墩?墩墩生成器安排了!

简介: 墩墩生成器的原理非常简单。只需要从原图中识别出特定几个关键点的位置,与冰墩墩素材中标注好的锚点做匹配,计算出合适的图像变换。最后将变换后的图像叠加在冰墩墩素材上,并抠出脸部区域即可。得益于 MMPose Model Zoo 中丰富的人体、动物姿态估计模型,我们可以轻松实现这些步骤,并可以处理各种不同的目标类型。


墩墩生成器诞生记



这几天正值北京冬奥会,吉祥物冰墩墩成为了家喻户晓的“明星”。赛场上、领奖台上、热搜榜上都少不了它的身影。看着电视中的冰墩墩,家里的猫崽蛋黄不禁陷入沉思:这就是传说中的大明星么,也太拉风了,慕了慕了……640.png

看到这一幕,当老父亲的哪能坐得住:奥运吉祥物咱是暂时当不上了,但这身行头高低得给娃整一件!


image.png

先给蛋黄来个喵墩墩,看着还挺精神有木有。

image.gif

蛋黄:所以说好的墩墩服,原来是表情包嘛,挠你)


猫崽逆子虽不领情,旁边的二狗已经馋哭了。来,汪墩墩安排上!

image.gif

看到毛孩子们都成功“墩墩化”,老父亲也不禁跃跃欲试。这就墩墩服上身,给大家献丑啦!

网络异常,图片无法展示
|

蛋黄:咦,老父亲什么时候变这么帅了~


没错,以上就是 MMPose 墩墩生成器诞生记。没有爱猫如命的老父亲-MMPose 算法工程师,哪来冰墩墩生成器!所以我们最该感谢谁!没错!当然是我们的猫崽子蛋黄啦!分分钟拿捏老父亲!

墩墩生成器原理篇



墩墩生成器的原理非常简单。只需要从原图中识别出特定几个关键点的位置,与冰墩墩素材中标注好的锚点做匹配,计算出合适的图像变换。最后将变换后的图像叠加在冰墩墩素材上,并抠出脸部区域即可。得益于MMPose Model Zoo 中丰富的人体、动物姿态估计模型,我们可以轻松实现这些步骤,并可以处理各种不同的目标类型。

image.png



墩墩生成器工具篇



MMPose WebcamAPI


墩墩生成器虽然原理简单,但实现的背后还藏有一点“玄机”,那就是 MMPose v0.23.0 新增加的工具-MMPose WebcamAPI。


640.png

MMPose WebcamAPI 是一套简单的应用开发接口,可以帮助用户方便地调用 MMPose 以及其他 OpenMMLab 算法库中的算法,开发基于摄像头输入的交互式视频应用。这里我们先卖个关子,在之后的推送中再带来它的详细说明。不过,除了“墩墩生成器”,还有其他有趣的小应用已经加入 MMPose 算法库中,感兴趣的小伙伴不妨去一探究竟吧。


数据标注工具 Labelbee


在标注冰墩墩脸部关键点和区域时,我们用到了 OpenMMLab 家族标注工具-Labelbee。虽然只标注了几张图片,但还是忍不住向大家安利一波。一键安装,跨平台使用,强大的功能,便捷的操作,真的非常好用。

640.png



玩转墩墩生成器



如此好玩又有趣的墩墩生成器,怎能让老父亲独美呢?必须拿出来让大家伙一起嗨!So ~生成一个墩墩分几步?分3步!

1.获取最新版本的 MMPose(v0.23.0 或以上)。

如果你已经是 MMPose 的用户,只需要拉取最新的 master 分支到本地即可。如果是新上手的小伙伴,需要从官方仓库将 MMPose clone 到本地并安装,

2.选择一张喵星人、汪星人或者本人的靓照作为素材。如果希望呈现动态效果,还可以使用视频素材,甚至直接用电脑的摄像头。

3.启动墩墩生成器!

# 以下命令需在 MMPose 根目录下执行
 2
 3# 例子1:使用默认图片
 4python tools/webcam/run_webcam.py
 5
 6# 例子2:使用自己的图片或视频
 7python tools/webcam/run_webcam.py --cfg-options runner.camera_id=my_cat.jpg
 8
 9# 例子3:使用摄像头
10python tools/webcam/run_webcam.py --cfg-options runner.camera_id=0

程序启动后,可以使用 “s” 键切换墩墩背景。同时,生成的结果也会存储在当前目录下的record.mp4文件中。


文章来源:【OpenMMLab

 2022-02-11 18:51

目录
相关文章
|
9月前
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个题目详解(逻辑类型题2)
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个题目详解(逻辑类型题2)
130 1
|
算法 Java C语言
食(实)用刷题方法和只因(技)巧,让你做一个合格的卷王。真的不进来看看?
食(实)用刷题方法和只因(技)巧,让你做一个合格的卷王。真的不进来看看?
96 0
|
C++
你们想要的开源的冰墩墩模型来了!! 先睹为快!实现冰墩墩自由!
你们想要的开源的冰墩墩模型来了!! 先睹为快!实现冰墩墩自由!
172 0
|
Python
项目冰墩墩
用Python语言,编写出冰墩墩图像
68 0
|
弹性计算 关系型数据库 Java
个人工作总结无代码-三分白
个人工作总结无代码-三分白
446 0
|
JavaScript
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
391 0
|
人工智能 运维 算法
“开盖有奖”背后的攻防战:我卧底进500个黑产群、捡了3000个瓶盖
没想到,“开盖有奖”的活动被黑灰产、羊毛党们盯上了,不止一名消费者在网上发起投诉。
536 0
“开盖有奖”背后的攻防战:我卧底进500个黑产群、捡了3000个瓶盖
|
程序员 C语言
《C游记》 第叁章 - 一朝函数思习得 模块思维世间生(壹)
《C游记》 第叁章 - 一朝函数思习得 模块思维世间生(壹)
131 0
|
程序员 编译器 Python
《C游记》 第叁章 - 一朝函数思习得 模块思维世间生(贰)
《C游记》 第叁章 - 一朝函数思习得 模块思维世间生(贰)
129 0
|
程序员 Python
程序员“自制”冰墩墩
基于Python turtle 绘图实现
151 0
程序员“自制”冰墩墩