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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .net core开发工具_github 爬虫

    .net core开发工具_github 爬虫没有爬虫就没有互联网!爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情。谷歌,百度,今日头条,天眼查都离不开爬虫。去开源中国和Github查询C#的爬虫项目,仅有…

    2025年11月20日
    3
  • 代码保护– 几款加壳工具

    代码保护– 几款加壳工具VirboxProtector(商用)分带授权的版本和独立壳。带授权的版本加壳后需要绑定许可,许可控制软件能否用,加壳保护安全。独立版的话就只是对代码做加壳,防止代码反编译。碎片代码执行、外壳加密、混淆、数据加密。服务商提供了较为完善的文档以及加密方式,提供了较为充分的产品管理平台,以及云端网络加密,并且对于开发者免费使用。使用评价:简单下载使用了一下,提供的功能很多,并且管…

    2022年6月27日
    49
  • RxJava 操作符flatmap

    RxJava 操作符flatmap有如下场景:在前段调用后端的API时,经常会出现回调嵌套的情况。假设我们有两个API,queryA和queryB.并且queryB的运行依赖于queryA的结果。那么我们的程序在一般的情况下可能是这个样子。想象有如下的代码:是不是感觉非常不舒服?假如嵌套的API再多几层,那么这将是个灾难。一个人开发的时候可能不觉得有什么问题,但是可以想象做codereview或者新入项目组的同事

    2022年6月4日
    41
  • T-SQL之DECLARE,SET,PRINT语句[通俗易懂]

    T-SQL之DECLARE,SET,PRINT语句[通俗易懂]1.DECLARE语句DECLARE语句是数据声明语句,主要作用是声明局部变量、函数、存储过程或游标变量等;基本语法格式:DECLARE{{@local_variable[AS]data_type}|[=value]}[,…n]@local_variable即变量的名称,一定要以@开头,data_type为变量的数据类型,value是声明的变量的值(可选)…

    2022年8月20日
    7
  • AFN上传数组

    AFN上传数组

    2021年6月8日
    106
  • IP地址和域名的关系

    IP地址和域名的关系1、ip地址和域名是一对多的关系,一个ip地址可以有多个域名,但是相反,一个域名只能有一个ip地址;2、ip地址是数字型的,为了方便记忆,才有了域名,通过域名地址就能找到ip地址;3、ip,全称为互联网协议地址,是指ip地址,意思是分配给用户上网使用的网络协议的设备的数字标签;4、常用的ip地址分为IPv4和IPv6两大类;什么是IP地址1、IP地址是IP协议提供的一种统一的地址格式,他为互联网上的每一台主机和每一个网络都分配一个唯一的逻辑地址,以此来屏蔽物理地址的差异;

    2022年4月5日
    87

发表回复

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

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