如何把别人衣服P掉(一段让你合不拢腿的代码,用python脱掉人物图片的衣服):环球观察
技术虽好,但人必须善良
就在不久前,国外版微博(推特)上有位用户开发出了一款名为DeepNude的软件。
(资料图)
DeepNude主要利用了神经网络技术,通过AI算法处理照片上的细节,并且“脱掉”照片中人物的衣服。
结果被喷到下降,技术虽好,但是不要用来做坏事哦!
用python脱掉图片人物的衣服
本文案例使用的是开源项目instagan,是一种比较新的gan模型建模原理,来自2019年ICLR的论文,下面看下效果对照:
(人要善良,所以把裤子换成群子)
环境配置
首先玩这个模型需要以下前提条件:
python3.6 版本
有GPU环境(因为源代码是要求必须在GPU的Cuda环境下运行,如果没有GPU的同学推荐用PAI里面的DSWhttps://data.aliyun.com/product/learn ,比较便宜 )
执行以下流程:
下载实验代码(下面会提供下载地址)
下载pre-trained model,如果只是实验就直接用训练好的模型即可(如果只玩换裤子这个实验,下载pants2skirt_mhp_instagan这个模型即可):(下面会提供下载地址)
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文件是转换图片中的裤子样式,如下图对应实例图片左边的女生裤子(如果想转换其它部位,就不用一一说明了把)
(2)执行图片转换逻辑
在工程的根目录下执行以下代码,使用工程下的test.py这个测试代码:
如果没有报错的话在GPU环境下1分钟就可以执行完毕,代码执行完毕后在工程的results文件夹下就能看到转换好的图片了。
标签: