查看原文
其他

人工智能服装设计,这是什么黑科技?

The following article is from 人工智能与设计 Author 张晟

def AI_fashion_design ( ):


项目介绍

我搜集了当季一线大牌最新服装发布会的照片,用人工智能技术学习其中的服装设计风格,建立一套自动给服装线稿添加配色、材质纹理的算法,可以在几秒之内生成任意数量的颜色材质搭配方案,帮助服装设计师更好更快的抓住潮流趋势


效果演示

先放个视频看下人工智能如何来生成无限量的服装设计方案的。录屏自ubuntu16.04系统,没声音。视频大致意思是,设计师画了一堆服装线稿图(视频画面左侧的图),然后AI程序会根据这些线稿图自动配色(包括材质),可以手动指定每张线稿出几套方案(可以任意数量,视频中设置数量为6,即一张线稿出6个方案)。

图片示意如下

实现方法

那么这是如何实现的呢?其实很简单,利用的是英伟达出品的“MUNIT: Multimodal UNsupervised Image-to-image Translation”算法,这个算法很神奇,可以看成是cyclegan的进化版,我之前给汽车线稿上色的案例就是用cyclegan做的,但cyclegan对于每个输入的线稿只能生成一个上色结果,而MUNIT则会产生一堆可能的上色结果。原因在于MUNIT分离了图片内容编码(服装的款式)与图片风格编码(服装的颜色材质纹理),所以可以用同一个内容编码配上不同的风格编码,生成无数套方案。


听到这里,设计师朋友们内心OS:简单个屁!根本听不懂你在说什么好吗?

既然算法已经有开源现成的了,那么问题就只剩两个了,这个服装图片和服装线稿从哪里来?首先来讲服装图片的来源:从全球最大的流行趋势预测网站WGSN上的图库上爬来的,里面有个分类齐全的图片库,内有几乎所有大牌服装的所有发布会上的照片,非常适合作为图片训练素材。由于爬虫多多少少有些不道德,所以不讲具体做法了,反正我也不会,花钱找人爬的(滑稽)。

爬到的图片内容种类繁多,有的全身照,有的半身照,有鞋类特写,有妆容特写,参差不齐,如下图所示。


适合拿来用的



只有脸,没有服装



足控福利



那显然需要做下数据清洗工作,挑出其中T台走秀的全身照,其他的不要。思路其实也很简单,对图片做人脸检测,然后挑选出只有一个人脸的图,并按人脸和全图的比例大小进行排序,再来点手工筛选,就获得了一批可以用的图片,如下图所示:


文件名开头数字代表人脸占全图比例


但这些图还不能直接拿来训练,因为图片中背景变化太大,会影响训练效果,需要把背景去掉。这似乎是件很困难的事,几万张图片难道要一张一张去扣吗?不用,Adobe爸爸在photoshop 2018 cc 19.1.0版本更新中,增添了一键智能抠出图片主体的功能,位于菜单栏选择-主体,然后录制个批处理动作,就可以喝茶看戏了。当然你也可以去找开源的主体检测的代码,自己写个脚本来处理,但本着能用就行的程序员精神,我选择PS批处理。

用PS批处理遇到个小BUG,每张图片都要手动按下回车,但机智的我完美解决了这个小BUG,如下面视频所示。(视频中处理的是给汽车图片批量抠图,在上上上个项目中拍的视频)


完成后得到白色背景,只剩人物的干净图片

得到服装实际图片后,按照直接在之前文章[设计师的AI自学之路] 设计线稿AI上色中介绍的提取线稿的方法,提取出对应的线稿图片,最后就把真人图片和线稿图片(其实这里疏忽了一步,忘记把图片处理成正方形了,导致最后训练得到的人全变矮了)按MUNIT代码的官方文档,放到指定目录,启动程序输入相应参数,就开始训练神经网络了。训练完成后就得到了文章开头视频中的效果。


return 

给设计师无尽的灵感,用AI算法帮你捕捉最新流行趋势,避免熬夜出方案掉头发还被甲方吐槽设计不够fashion。



欢迎在MixLab讨论相关内容、技术实现,

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存