参考:

https://www.jianshu.com/p/8c7a7cb7198c

https://blog.csdn.net/gdymind/article/details/82696481

零、前言

  最近一个叫deepnude的软件火了,开发它的程序员声称这个软件可以一键“脱掉”照片中女性的衣服(因为AI训练素材的原因也只能是女性),deepnude推出了免费版和付费版,免费版中间有一个大大的水印基本啥都遮住了,付费版就只是在照片的左上角注明了“FAKE”。该软件一经推出就掀起了很大的舆论争议,最近该软件的开发者迫于压力关掉了网站和软件下载(改善生活的企图END)并表示该软件并没有使用很高深的技术,只是pix2pix算法的一种应用(基于大量学习)。这里我们就简单介绍下pix2pix这个AI框架,如果你对deepnude本身感兴趣的话可以关注公众号“零基础爱学习”回复“deepnude”获取更多信息。

一、逆图片识别

  深度学习经过多年发展已经很容易实现AI的万物识别,以前调侃过的AI民工(数据标注员)主要工作就是对大量图片或数据进行标注,不断训练AI,达到的效果就是“看猫是猫”、“看狗是狗”。啥意思呢,简单来说就是给一张猫图能识别出这是个猫,给个狗图就知道是狗,推而广之就是人脸识别、车牌识别、场景识别等等、等等。

  接着我们自然就会想到说,那能不能把这个过程反过来,给AI一个“猫”让它返回一个猫图呢?

  很遗憾,不行!对于AI来说,知道是猫和画个猫其难度与人类学画画是一样一样的。

二、生成对抗网络GAN

  为了教AI学会画猫,科学家们整出了GAN,GAN主要包含两个元素:G和D,G用来生成随机图片,D用来判断这个图片是否符合要求。比如使用G来不断生成随机图片,D判断图片是否是猫图。GD互相作用相互锻炼,如果D足够聪明的话,在一段时间的学习后G生成的图片就越来越像猫,最终就可以源源不断地生产猫图啦。

  前段时间大火的猫图生成器使用的就是这么个原理(还有卡通头像、美女图片等),不过光生成随机图片还不过瘾啊,能不能生成用户需要的图片呢?比如站着的猫、躺着的猫、睡觉的猫?

三、成对训练pix2pix

  GAN使用的方法是生成随机图片,然后判断是否是猫,这种模式的后果就是你得到的总是随机猫图。科学家们又想了个点子,能不能在判断之前先给出正确答案,让G生成的猫图越来越靠近我们需要的样子?于是就有了成对训练pix2pix。

  这个算法的核心就是给出AB两个成对的图片来进行训练,如下图所示。对AI进行大量训练后,当我们给出一个X时,AI就能自动将X转化为Y。

  理论上deepnude就在pix2pix的基础上对大量女性图片(X)和大量果体图片(Y)进行训练,最后达到的效果就是随机给出一个X,AI自动生成果体Y,当然具体操作上会比较复杂。

四、总结

  这里只是对pix2pix做了个简单的介绍,后续还会继续补充更多学习资料,敬请关注“零基础爱学习”!如果你对deepnude本身感兴趣的话可以关注公众号“零基础爱学习”回复“deepnude”获取更多信息。

【零基础】简单说说一键果体APP的AI的更多相关文章

  1. Salesforce 集成篇零基础学习(一)Connected App

    本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...

  2. salesforce lightning零基础学习(十一) Aura框架下APP构造实现

    前面的一些lightning文章讲述了aura的基础知识,aura封装的常用js以及aura下的事件处理.本篇通过官方的一个superbadge来实现一个single APP的实现. superbad ...

  3. 快快使用ModelArts,零基础小白也能玩转AI!

    摘要: 走过路过不要错过,看Copy攻城狮如何借力华为云ModelArts玩转AI. "自2018年10月发布以来,ModelArts累计服务了众多行业十几万开发者,通过基础平台的完备性和面 ...

  4. 还在花钱搞开发?猿团YTFCloud,零基础照样做专业APP

    近日,猿团科技再推新品:YTFCloud.这是一套一体化的云端解决方案,用户可以通过平台提供的各类解决方案,一键创建应用,也就是说,YTFCloud实现了APP的DIY自制,用户无需懂得编程,零基础制 ...

  5. 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统

      目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...

  6. salesforce 零基础学习(二十二)Test简单使用

    本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/a ...

  7. 《iOS开发指南:从零基础到App Store上架(第2版)》

    <iOS开发指南:从零基础到App Store上架(第2版)> 基本信息 作者: 关东升 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:201 ...

  8. Android零基础入门第24节:自定义View简单使用

    原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...

  9. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

随机推荐

  1. NVIDIA双显卡

    NVIDIA双显卡 第一步:代码:sudo update-pciids #更新显卡信息非常重要,否则可能识别出错lspci -v | grep -i vga #察看显卡 我的显卡信息如下:代码:00: ...

  2. vue-cli之加载ico文件

    vue-cli之加载ico文件 vue-cli加载ico文件需要在vue.config.js设置ico加载,代码如下: module.exports = { publicPath: process.e ...

  3. 对于div里面内容过大根据长度或者宽度进行适配,然后可以滚轮缩放的功能

    在做3000的项目中,因为页面的svg很大,但是做的只是适配电脑,打开肯定是看不全的,要看全就必须进行滚动,可是客户提出了将页面放在电视机上面,用电视输入网址直接访问,这样问题就来了,电视上怎么进行滚 ...

  4. vue.config.js基础配置

    const path = require('path') const UglifyPlugin = require('uglifyjs-webpack-plugin') module.exports ...

  5. S/4HANA中的销售计划管理

    大家好,我所在的S/4HANA Sales(SD)成都研发团队,主要负责S/4HANA里销售模块相关的标准产品研发. 作为产品研发团队,我们遵循SCRUM迭代式增量软件开发过程,以两个星期为一个迭代, ...

  6. python3 中的cls和self的区别 静态方法和类方法的区别

      一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用. 这有利于组织代码,把某 ...

  7. PHP点击按钮拷贝

    一.PHP中点击按钮拷贝文本,我一个页面有多个按钮,相同颜色的标注代表了相同的列或ID 二.这是HTML代码 <tr> <td>直播流地址(延时60秒)</td> ...

  8. Delphi 编写线程函数

  9. tigervnc-server安装

    #vncserver安装方法 #su - root rpm -ivh tigervnc-server-1.8.0-13.el7.x86_64.rpm cp /lib/systemd/system/vn ...

  10. nginx配置项

    try_files location / { try_files $uri $uri/ /index.php?$query_string; } 当用户请求 http://host/instance时, ...