什么是 StyleGAN

  • GAN 是机器学习中的生成性对抗网络,目标是合成与真实图像无法区分的人工样本,如图像。即改变人脸图像中的特定特征,如姿势、脸型和发型,GAN 的主要挑战就是如何图像变得更加逼真。
  • StyleGAN 是一种基于样式的 GAN 的生成器体系结构,是一个强大的可以控制生成图片属性的框架,它采用了全新的生成模型,分层的属性控制,能够生成 1024×1024 分辨率的人脸图像,并且可以进行属性的精确控制与编辑,可以生成最先进的结果—高分辨率图像,看起来比以前生成的图像更真实。

用 StyleGAN 技术生成的明星人脸图

如何使用 StyleGAN

安装 Anaconda

安装 CUDA 10.0

安装 cuDNN

安装 VS2019

下载项目

# 下载项目库
git clone https://github.com/a312863063/generators-with-stylegan2.git # 安装依赖
pip install tensorflow-gpu==1.14.0
pip install scipy==1.3.3
pip install requests==2.22.0
pip install Pillow==6.2.1

修改项目 MSVC

  • 需要打开项目中的文件 dnnlib/tflib/custom_ops.py,第29行所标注的 MSVC 的版本号
  • 这个依据自身电脑安装的版本进行修改便可,一般只需要修改下图的 14.16.27023 的位置即可
compiler_bindir_search_path = [
'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64',
'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64',
'C:/Program Files (x86)/Microsoft Visual Studio 14.0/vc/bin',
]

运行项目

  • 只需要运行 python main.py 即可生成对应的模型的图片
  • main.py 文件中,我们可以看到,可以自定义模型和一次性生成图片的数量
  • 模型需要自行下载,下载完成后放到 networks 目录下,想生成哪种类型的图片,只要更换模型路径即可
  • 现在支持网红脸、明星脸、萌娃脸、超模脸、黄种人脸等模型,下载链接在 networks 文件夹下文本文档中
def main():
os.makedirs('results/', exist_ok=True)
os.makedirs('results/generate_codes/', exist_ok=True) network_pkl = 'networks/generator_star-stylegan2-config-f.pkl' # 模型位置
generate_num = 20 # 生成数量 generate_images(network_pkl, generate_num)

运行结果

  • 生成的对应结果存放在 results 文件夹下

AI人脸生成结果

StyleGAN 生成 AI 虚拟人脸,再也不怕侵犯肖像权的更多相关文章

  1. VRS生成的虚拟观测值存在的问题

    目前生成的虚拟观测值. 天津的版本,如果有数据库中有天线类型,那么会对天线类型改正了两次. 解决方法:在生成虚拟观测值编码的部分,注释掉天线改正的部分. 对结果的影响:错误版本生成的虚拟观测值,移动站 ...

  2. SQL Server 怎样生成序列号(虚拟数字辅助表)

    </pre><pre name="code" class="sql">--生成一个"序列" 或者说生成一个" ...

  3. 在矩池云使用Disco Diffusion生成AI艺术图

    在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion.DD ...

  4. centos配置虚拟用户再也不用那么麻烦了

    http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users yum install -y vsftpd db4-utils vs ...

  5. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  6. 百度AI人脸识别的学习总结

    本文主要分以下几个模块进行总结分析 项目要求:运用百度AI(人脸识别)通过本地与外网之间的信息交互(MQService),从而通过刷脸实现登陆.签字.会议签到等: 1.准备工作: 内网:单击事件按钮— ...

  7. AI 技术咖们说,进入未来世界首先需要一个“虚拟的我” | 科技生活节倒计时8天

    http://www.tmtpost.com/3367762.html 未来世界是什么样子? 斯皮尔伯格在<头号玩家>中构建了一个充满科技感.富有浓烈浪漫主义色彩的虚拟世界.戴上VR眼镜, ...

  8. 技术范儿的 Keep 发力AI赛道,为什么“虚拟教练”会更懂你?

    http://www.tmtpost.com/3363367.html 摘要: 虚拟教练技术会整合到一些业务场景和硬件产品中收费,但是收费的具体情况彭跃辉还暂未透露. 图片来源于Unsplash 自去 ...

  9. c# 利用AForge和百度AI开发实时人脸识别

    baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...

  10. webpack loader 生成虚拟文件的方案

    此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 使用 webpack 的时候,难免需要写一些 loader,接着就会遇到一个很纠结的问题.该 loade ...

随机推荐

  1. 夜神模拟器连接不上adb的解决办法

    1.夜神模拟器连接不上adb的解决办法 转自 (https://www.jianshu.com/p/6041e64518a8) 最近给模拟器升级了版本,用了一段时间后,突然发现通过adb device ...

  2. python——NLP关键词提取

    关键词提取顾名思义就是将一个文档中的内容用几个关键词描述出来,这样这几个关键词就可以提供这个文档的大部分信息,从而提高信息获取效率. 关键词提取方法同样分为有监督和无监督两类,有监督的方法比如构造一个 ...

  3. JS中Promise

    Promise的作用: Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护. Promise如何使用: Promise是ES6提供的一个构造函数,可以使用Prom ...

  4. 前端vue框架上手记录

    ---恢复内容开始--- Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 搭建交互式的项目脚手架. 通过 @vue/cli + @vue/cli-se ...

  5. 关于CSS3中的min-height等的使用

    一.min-height 当我们需要让某个容器不能低于某个高度,但是不能将高度固定在这个高度,希望其能够随着容器内内容的增多而变高时,我们可以对容器设置一个min-height来让该容器获得该特性.( ...

  6. app内打开外部第三方瞎下载链接

    Q:我用cordova开发项目,想在app内跳转外部链接,安装了cordova-plugin-inappbrowser后确实可以跳转,但是跳转的页面有个按钮,原本点击会下载app,现在点击后毫无反应, ...

  7. 服务器性能测试工具ab

    ab指令 ab -n 1000 -c 20 http://127.0.0.1/

  8. Python pexpect 库的简单使用

    一.Python pexpect 库的使用 在终端中许多命令都有与用户交互的场景,例如切换用户时需要手动输入密码,安装应用有时要输入默认配置等.这对 shell 自动化脚本十分不便.expect 命令 ...

  9. C#基于数据库链接增删改查

    一.创建一个winfrom窗体 1.创建项目 2.创建一个链接数据的类 3.封装数据库的实体类(查询和增加) 在对数据操作时必须引用连个数据库using using System.Data; usin ...

  10. java-------导出数据csv

    outputStream = new FileOutoutStream(file); outputStreamWriter = new OutputStreamWriter (outputStream ...