AI算法,又整新活!萌妹子来挑战~

AI算法,又整新活!萌妹子来挑战~GANsNRoses动画脸控制变换算法

大家好,又见面了,我是你们的朋友全栈君。

大家好,我是 Jack。

好久没出趣味 AI 的教程了,今天安排一期。

只需要一张图片或者视频,就可以生成相应的二次元“老婆”。

感受一下:

AI算法,又整新活!萌妹子来挑战~

放个视频,感受更强烈:

GANsNRoses展示

二次元“老婆”,是跟随视频的动作,而改变的。

之前我写过一阶运动模型的算法教程:

让图片动起来,特朗普和蒙娜丽莎深情合唱

功能看起来类似,但是算法实现是不同的。

真人驱动动漫图片的算法,这种效果比较好:

二次元的正确打开方式

这个动画脸控制变换算法,采用的是 GAN,只需要一个输入即可,生成+控制,用这一个算法即可。

GANsNRoses

这个算法的名字叫 GANsNRoses,一种风格迁移算法。

简单来讲,就是一种以人脸图像的内容代码为输入并输出具有多种随机选择风格代码的动漫形象。

算法实现也并不复杂:

AI算法,又整新活!萌妹子来挑战~

生成器负责生成动画脸,辨别器负责辨别是否为动画脸。

生成器分为内容编码器c和样式编码器s。

AI算法,又整新活!萌妹子来挑战~

样式编码器s,负责整体的风格,比如头发样式,脸的位置,发色等。

内容编码器c,负责细节的把控,比如头部倾斜角度等。

想了解更详细,可以直接看论文:

https://arxiv.org/pdf/2106.06561.pdf

测试

目前有三种方式:

  • 网页 Demo

  • Colab

  • 本地搭建

网页 Demo

网页 Demo,用起来最简单,上传图片就行。

https://gradio.app/g/AK391/GANsNRoses

不过貌似只支持图片的制作。

测试了龙母的效果,她看了估计会哭晕在厕所。

AI算法,又整新活!萌妹子来挑战~

Colab

Colab 运行也很简单,有个梯子就行。

https://colab.research.google.com/github/mchong6/GANsNRoses/blob/main/inference_colab.ipynb

省去了部署环境的烦恼,傻瓜式运行即可,图片和视频,都可以测试。

本地搭建

主要是搭建环境,这个直接用 Conda 创建虚拟环境,然后安装各种第三方库即可:

conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=<CUDA_VERSION>
pip install tqdm gdown kornia scipy opencv-python dlib moviepy lpips aubio ninja

Conda 使用可以参考这一篇:

别再折腾开发环境了,一劳永逸的搭建方法

然后下载模型权重文件,就可以,模型权重文件还是蛮大的,1.6G,从 Google Drive 下载比较慢,建议直接用 Colab 测试。

总结

这种算法,其实蛮多的,单从效果来讲,还有很大提升空间的

最后,我看B站有个up主,籽岷自己做了鬼畜,新宝岛版:

GANsNRoses展示2

目前,这类算法,做个鬼畜其实还行。


最后再送大家一本,帮助我拿到 BAT 等一线大厂 offer 的数据结构刷题笔记,是一位 Google 大神写的,对于算法薄弱或者需要提高的同学都十分受用:

谷歌和阿里大佬的Leetcode刷题笔记

以及我整理的 BAT 算法工程师学习路线,书籍+视频,完整的学习路线和说明,对于想成为算法工程师的,绝对能有所帮助:

我是如何成为算法工程师的,超详细的学习路线


我是 Jack,我们下期见。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132614.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月30日 下午11:20
下一篇 2022年4月30日 下午11:20


相关推荐

  • 简述python垃圾回收机制_理解Python垃圾回收机制

    简述python垃圾回收机制_理解Python垃圾回收机制一 垃圾回收机制 Python 中的垃圾回收是以引用计数为主 分代收集为辅 引用计数的缺陷是循环引用的问题 在 Python 中 如果一个对象的引用数为 0 Python 虚拟机就会回收这个对象的内存 执行 f1 会循环输出这样的结果 而且进程占用的内存基本不会变动 c1 ClassA 会创建一个对象 放在 0x237cf58 内存中 c1 变量指向这个内存 这时候这个内存的引用计数是 1delc1 后 c1 变量不再

    2026年3月18日
    1
  • 5 分钟在本地跑起你的专属“龙虾” OpenClaw AI 助手

    5 分钟在本地跑起你的专属“龙虾” OpenClaw AI 助手

    2026年3月17日
    2
  • debounce实现 js_前端面试题——自己实现debounce

    debounce实现 js_前端面试题——自己实现debounce前端面试,总会被问到这类问题:你知道debounce是什么么?你知道debounce什么时候用么?来来来,能给我实现一个debounce么?了解debounce以及实现方法,不仅会帮助我们面试,也是对我们技术的一次提升。废话不说,来不及了,我们一起学习debounce。什么是debounce?什么时候使用debounce?翻看Underscore的文档,它是这么描述debounce的:返回fun…

    2022年6月20日
    31
  • 关于url加密设置

    关于url加密设置最近项目中又一个功能是嵌套第三方地址 于是乎就弄了一个 https 域名 又加了一个 ifram 嵌套 但是问题出现了 url 跳转的时候在 url 地址栏还是会出现第三方的 url 地址 即便是作为参数传递的 但是也是不允许的 那么问题来了 nbsp 如何给 url 加密看不出来是什么呢 下面 encodeurl 来了 nbsp publicstatic stringstr string

    2026年3月16日
    3
  • 爆火的Openclaw“养龙虾” 部署指南:从入门到安全加固

    爆火的Openclaw“养龙虾” 部署指南:从入门到安全加固

    2026年3月13日
    3
  • 乘用车黑客手册(译)

    乘用车黑客手册(译)原书地址:http://opengarages.org/handbook/(部分与技术无关部分没有翻译)(本人萌新一只,有翻译的不准确的请各位前辈指教。)理解攻击面:如果你有软件渗透测试的经验

    2022年7月2日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号