用Python脱掉图片人物的裤子!真的是羞羞脸哦!

小编整理一套Python资料和PDF,有需要Python学习资料可以加学习群:984632579,反正闲着也是闲着呢,不如学点东西啦~~

效果演示

本文案例使用的是开源项目instagan,是一种比较新的gan模型建模原理,来自2019年ICLR的论文,下面看下效果对照:

(出于人道主义,会把人物的长裤脱掉然后换上短裙)

环境配置

首先玩这个模型需要以下前提条件:

有梯子

python3.6 版本

有GPU环境(因为源代码是要求必须在GPU的Cuda环境下运行,如果没有GPU的同学推荐用PAI里面的DSWhttps://data.aliyun.com/product/learn ,比较便宜 )

执行以下流程:

(1)下载实验代码:

https://github.com/sangwoomo/instagan

(2)下载pre-trained model,如果只是实验就直接用训练好的模型即可(如果只玩换裤子这个实验,下载pants2skirt_mhp_instagan这个模型即可):

https://drive.google.com/drive/folders/1xb9rR21MhMVselc6HTmOr73WOkOviFmO

(3)安装代码中的requirement.txt中的依赖包

最后把下载的model文件放到代码文件的根目录下,目录结构如下(蓝色部分为模型文件夹,里面是200_net_G_A.pth和200_net_G_B.pth):

完成以上步骤,整个环境就搭建好了。

使用模型做图片转换

注:这个项目的代码有很多hard code的逻辑,需要严格按照下面的做法执行才有可能跑通,包括所有文件的命名。

(1)先设置需要转换的图片

在datasets目录下新增一个test文件夹,构建如下的文件格式

testA和testB存放需要转换的原图,类似于“效果演示中”穿着长裤的图片,testA_seg和testB_seg需要存放mask图片。mask文件是转换图片中的裤子样式,如下图对应实例图片左边的女生裤子(如果想转换其它部位,就不用我举例子了吧):

mask图片还需要与被转换图片命名一致,详细规则参见源代码中的datasets,若不一致会出现以下错误:https://github.com/sangwoomo/instagan/issues/5

(2)执行图片转换逻辑

在工程的根目录下执行以下代码,使用工程下的test.py这个测试代码:

python test.py --dataroot ./datasets/test--model instagan --name pants2skirt_mhp_instagan --loadSizeH 240 --loadSizeW 160 --fineSizeH 240 --fineSizeW 160 --ins_per 2 --ins_max 20

如果没有报错的话在GPU环境下1分钟就可以执行完毕,代码执行完毕后在工程的results文件夹下就能看到转换好的图片了。

总结

整个项目的效果还是不错的,随便传张图片都能脱掉人物的裤子。不过可能代码还没来得及优化,可能在实验的过程中有很多坑,大家需要一定的debug能力才能把工程跑起来,小白不太建议使用哈。

原文地址:https://www.cnblogs.com/qingdeng6359/p/10512800.html

时间: 2024-10-19 02:44:44

用Python脱掉图片人物的裤子!真的是羞羞脸哦!的相关文章

用python切掉图片的黑边

手机里有很多G+里的截屏,都有一些黑边.像这样: 因为原图片的长宽不一定,导致黑边的大小不一定. 虽然图片都是居中的,但是有些图片是宽比高大,是横着截图的,所以这样的情况是上下左右都可能有黑边. 于是想到了用python的 PIL库来进行裁切. 研究了一下,原代码如下 from PIL import Image import os src_folder = "." tar_folder = "tar" backup_folder = "backup&quo

Python批量修改图片格式和尺寸

Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入send2trash库,是把删除的文件放进垃圾箱,而不是永久删除,这个我只是防止删除有用的文件而搞得,有点严谨了是吧,不需要的可以删掉啊. 4.我这个脚本是Python2.7编写的,但是在处理中文编码的时候非常恶心,尽管最后被我解决了,这个解决的方法,我随后会再单独写一篇,但是此刻我是建议大家不要用

python生成测试图片

直接代码 1 import cv2.cv as cv 2 saveImagePath = 'E:/ScreenTestImages/' 3 4 colorRed = [0,0,255] 5 colorGreen = [0,255,0] 6 colorBlue = [255,0,0] 7 colorWhite = [255,255,255] 8 colorBlack = [0,0,0] 9 colorAqua = [255,255,0] 10 colorFuchsia = [255,0,255]

Apk脱壳圣战之---如何脱掉“梆梆加固”的保护壳

一.前言 现如今Android用户的安全意识不是很强,又有一些恶意开发者利用应用的名字吸引眼球,包装一个恶意锁机收费的应用,在用户被骗的安装应用之后,立马手机锁机,需要付费方可解锁.这样的恶意软件是非常让人痛恨的.所以本文就用一个案例来分析如何破解这类应用,获取解锁密码,让被骗的用户可以找回爽快! 二.分析软件锁机原理 本文用的是一款叫做:安卓性能激活.apk,关于样本apk文件后面会给出下载地址,从名字可以看到它肯定不会是一个恶意软件,但是当我们安装的时候,并且激活它的权限之后就完了.下面不多

Apk脱壳圣战之---脱掉“爱加密”的壳

一.前言 今天是端午节,然而小编不能吃粽子了,只能继续破解之路,今天我们来看一下在了解了破解三部曲之后,如何开始脱掉各个市场中的apk壳,关于破解三部曲在之前已经介绍了: 第一篇:Android中使用Eclipse动态调试smali源码 第二篇:Android中使用IDA动态调试so源码 第三篇:Android中破解加固的apk 在看完这三篇文章之后,我们开始操作如何破解市场中的加壳方案,现在市场中比较流行的加壳平台就那么几个:爱加密,梆梆加固,360加固,腾讯加固等,所以后面会一一介绍如何脱掉

我用闲言碎语,脱掉了你的外衣。

林徽因说:" 你是四月早天里的云烟, 黄昏吹着风的软, 星子在无意中闪, 细雨点洒在花前." 可是一眨眼如今已是九月天的夜了, 在新时代的夜晚里, 我们的生活总是丰富多采的. 如果你寂寞了,就聊微信吧: 如果你孤独了,就聊微信吧: 如果你想撕逼了,就上微博吧: 如果你想泡妞了,就读我的诗篇吧: 如果你想抢红包了,就开始阅读这首诗吧. 我用闲言碎语,脱掉了你的外衣, 放心,我会让你一件一件脱掉的. [群的湿性] 假如进入了一个群就该好好的说话不说话的时候就沉默的看着,安静的嗅着肉体保持晃

Python 实现简单图片验证码登录

朋友说公司要在测试环境做接口测试,登录时需要传入正确的图片的验证码,本着懒省事的原则,推荐他把测试环境的图片验证码写死,我们公司也是这么做的^_^.劝说无果/(ㄒoㄒ)/~~,只能通过 OCR 技术来识别图片验证码了,看了一下他们的验证码,长这样,还好挺容易识别(背景色是透明的,有个坑需要处理). Python 实现了图片验证码登录 demo,用到的第三方模块有 requests, PIL, pytesseract. 1 # coding: utf-8 2 import requests 3 f

Apk脱壳圣战之---脱掉“360加固”的壳

一.前言 现在主流的加固平台有:梆梆加固,爱加密,360加固,腾讯加固,在之前的一篇文章中介绍了:如何脱掉"爱加密"的壳,现在这里要脱掉另外一个平台的壳:360加固,因为有了之前的脱壳经验,很多基础知识和准备工作这里就不详细介绍了,为了能够脱掉他家的壳,用一个案例来去360平台进行加固,然后进行脱壳.下面就来开始脱壳: 二.分析360加固的原理 首先拿到加固之后的apk,这里为了方便查看内部信息,先不用dex2jar+jd-gui工具进行分析了,直接使用我们之前分析了源码的一个工具:J

python加载图片

在Python中对图片的处理采用了PIL库,这个库可用于图片的一些常用操作,如改变尺寸.格式.色彩.旋转等处理. 首先要先安装Python(在这里不做介绍). 安装完Python后,安装PIL库就非常简单了,只需按如下步骤进行 1.下载PIL的Source Kit(因为这个包支持全部平台) Imaging--1.1.6.tar.gz   URL:  http://www.pythonware.com/products/pil/index.htm 2.解压缩包 tar -zxvf Imaging-