本文已在飞桨公众号发布,查看请戳链接:
AI服装生成,帮你完成服装设计的最后一步

如何用AI赋能服装设计行业,这是飞桨开发者技术专家洪力一直在思考的事。设计师构思并绘制出一件衣服后,如果可以一键生成衣服整体的效果,就可以帮助其根据成品的版型、款式等因素做出更好的设计。项目的基本思路确定以后,洪力在AI Studio平台使用飞桨框架开始实践。目前本项目可以实现服装生成,期待与更多开发者一起探讨更多可优化的地方(例如设计呈现的多样性),以下是洪力的分享。

项目背景

为了确立服装生成项目的基本设计目标,我需要寻找相关的技术。服装生成任务和其他生成任务区别之一,就是要求输出一个“干净”的衣服,不能出现花里胡哨的背景——也即要求生成器把注意力放在衣服上,而不是生成出一个完整的图片。因此在loss设计的部分,我考虑了衣服的mask蒙版部分——对于模型来说,输入的是语义分割信息,而输出的是服装图片。我在视频网站上偶然看到了SPADE的展示效果,这种“马良神笔”一般的呈现效果让我感到十分亲切,并意识到SPADE架构满足了我对模型的大概需求。但当我使用SPADE训练的时候,发现模型训练比较困难,在机缘巧合下,我又发现了一篇新的论文Semantically Multi-modal Image Synthesis

论文详细介绍

https://aistudio.baidu.com/aistudio/projectdetail/3454453

该论文基于SPADE架构,使用deep fashion数据集,表现出不错的效果。其中Encoder的输出保留了空间结构信息,我认为这一点是该模型更容易训练的原因。基于此,我得以比较轻松地修改了自己的初版项目,并生成了服装生成项目模型框架的雏形。

项目实践

点击GET项目详细地址

https://aistudio.baidu.com/aistudio/projectdetail/3405079

问题与数据调优

在模型训练的前期我主要遇到了两个问题:

  • 一是训练集的选取问题。

  • 二是模型训练很慢,1个batch需要耗费几十秒。

为了解决以上问题,我按照如下步骤进行了数据处理:

1. 选取FGVC6数据集。这一数据集提供了精准的衣服各部位划分标注区域,一共有46类,如图一所示。

图1 FGVC数据集展示[1]

2. 测试时,模型输入不再需要这个GT,只需要语义分割信息,这个部分具体细节有待下文详解。

3. 输入给模型语义分割的Tensor格式为[batch_size,class_num,H,W],分别具体为[4,46,256,256],46是具体有46个label,训练时batch_size为4。

4. 另外,loss计算时需要考虑到衣服的蒙版。

5. 由于我输入的数据格式要求是256*256,因此需要把图片和语义分割信息resize,让H和W都为256。原先数据集的图片尺寸过大,H和W值甚至上千,导致resize操作消耗了很多时间。如果有疑惑的朋友问我,为什么不用crop裁剪呢?在这里有几点原因:

  • 首先,我设计的是服装生成项目,所以模型考虑的是衣服这个整体,要尽量少地给局部信息,防止管中窥豹,让模型有自己的“格局”。

  • 其次,一张真实的图片中,衣服本身所占的位置并不大且位置不固定,很大概率在2500*2500上裁剪出一个256*256的区域是全黑的,无法提供信息。

  • 最后,用crop裁剪的方式处理数据,很容易导致一些标签模型可见机率很小,比如鞋子所占比例很小,容易造成生成效果的不准确。

6. 针对模型训练过慢的问题,我尝试了两步调优方案。首先,我最初采用的是在线resize ,1个batch需要耗费几十秒。总结后发现,因为我输入的图片数据格式要求是256*256,所以不太可能是前向传播tensor计算量的问题,因此可以将问题定位到数据预处理部分。于是,在飞桨开发者激励师的指导下,我第一次尝试使用离线resize,保存成npy,保证了模型训练顺利开始。此外,在离线resize保存语义分割信息时,我最初设置的npy是 [256,256,class_num],过于稀疏,占据了很多内存,只能保存1000组左右。实际上,一个像素其实只有一个标签,因此,我调整存储方式,将其保存为[256,256,1],最后可以保存为10000组左右,大大提高了存储效率。

对模型训练及损失的思考

1. 我采取了GAN作为模型主体形式:生成器主体为Semantically Multi-modal Image Synthesis的模型架构;判别器使用的是Multihead Discriminator,这样可以支持判别器的特征对齐。

2. 判别器有三个任务,它需要判别Ground Truth为True,判别生成器生成出的图片为False,同时要求判别语义分割可视化为False(改进点),这是为了帮助生成器生成更加复杂真实的纹理。

3. 为了将模型中心侧重于有衣服的区域,生成器的featloss只考虑有衣服二值(0,1)mask的部分。

4. 我将spade.py中nn.conv2d(46,128)变成普通的卷积,没有使用分组卷积,理由是46不能除尽group_num = 4。

图2 Semantically Multi-modal Image Synthesis 模型架构


loss可视化

最后对loss进行可视化,如图3所示,其中:

  • d_real_loss:判别器判别真实的图片为True;

  • d_fake_loss:判别器判别生成器生成的图片为False;

  • d_seg_ganloss:判别器判别语义分割可视化为False;

  • d_all_loss: d_real_loss + d_fake_loss + d_seg_ganloss;

  • g_ganloss:要求生成器生成的图片能被判别器判别为True;

  • g_featloss:在判别器中生成器生成的图像和真实图像特征对齐;

  • g_vggloss:生成器生成的图片和GT通过VGG算感知损失;

  • g_styleloss:生成器和GT通过Gram矩阵算风格损失;

  • kldloss:算一个与标准正太分布的kl散度;

  • g_loss:g_ganloss+g_featloss+g_vggloss+g_styleloss+kldloss。

图3 loss可视化

效果展示

It’s show time!从左往右分别为模型生成效果、Ground Truth(可以理解为模型参考答案)、模型输入的语义分割可视化。

图4 效果展示

回顾与思考

本项目还有很多值得改进的地方,如是否可以通过模型框架的优化,给衣服提供更细腻的特征控制,或者更好地提高所生成模型的多样性。我会继续在图像生成这个领域学习研究,期待未来带来更好的公开项目,也欢迎大家与我交流。

参考文献

[1] Semantic Image Synthesis with Spatially-Adaptive Normalization

[2] Semantically Multi-modal Image Synthesis

关注【飞桨PaddlePaddle】公众号

获取更多技术内容~

AI服装生成,帮你完成服装设计的最后一步相关推荐

  1. c语言程序设计服装销售系统报告,服装销售管理系统—C语言课程设计

    服装销售管理系统-C语言课程设计 C 语言课程设计实验报告第 1 页 共 37 页C 语言课程设计实验报告一. 目的(本次课程设计所涉及并要求掌握的知识点. )用户与商品信息要采用文件存储,因而要提供 ...

  2. HTML5期末大作业:服装购物网站设计——粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载

    HTML5期末大作业:服装购物网站设计--粉色服装购物商城(4页) 服装购物商城网页设计作品 大学生购物专题网页设计作业模板 商店静态HTML网页模板下载 常见网页设计作业题材有 个人. 美食. 公司 ...

  3. HTML5期末大作业:服装购物商城网站设计——时尚服装购物商城(1页) 大学生服装购物商城网页作品 服装网页设计作业模板 学生网页制作源代码下载

    HTML5期末大作业:服装购物商城网站设计--时尚服装购物商城(1页) 大学生服装购物商城网页作品 服装网页设计作业模板 学生网页制作源代码下载 常见网页设计作业题材有 个人. 美食. 公司. 学校. ...

  4. AI 帮你说,基于 AI 文本生成的能力,生成祝福、对话、情话

    摘要 新年.过节.日常中,我们经常需要一些话术,例如春节的拜年祝福信息,情人节表达爱情的话语等,复制粘贴别人的话术,可能撞车还显得没有诚意,这时候就需要 AI 来帮你,利用 AI 生成独一无二属于你的 ...

  5. 《预训练周刊》第6期:GAN人脸预训练模型、通过深度生成模型进行蛋白序列设计

    No.06 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第6期< ...

  6. AI万物生成技术,颠覆内容传统创作模式 | iBrandUp 职位内推

    AI 内容生成 -- 获红杉.真格的数百万美元天使轮融资 在 1819 年摄影术被尼埃普斯发明前,人们的视觉故事表达(visual storytelling)仅能通过绘画来实现.后来,相机成为捕捉(记 ...

  7. 广州大学纺织服装学院计算机应用,广州大学纺织服装学院代码是多少

    ●广州市纺织服装职业学校 学校简介 广州市纺织服装职业学校创建于1958年,是广东省中职教育服装.艺术类专业办学规模最大的公办国家级重点学校.省示范性学校.学校是全国纺织服装行业职业教育教学指导委员会 ...

  8. ai自动生成字幕_使用AI对您的会议进行现场字幕

    ai自动生成字幕 Many people rely on captions every day. Unfortunately, not everything has captions; this of ...

  9. python 图片识别服装_基于树莓派的服装识别系统及方法与流程

    本发明涉及一种基于树莓派的服装识别系统及方法. 背景技术: 随着人们生活水平的不断提高,人们对于服装的需求不再是传统意义上的生活必需品,服装已经成为人们生活中的一种时尚消费品,所以很大一部分的消费者家 ...

最新文章

  1. mysql查询指定日期
  2. 数据科学行业的8个关键角色:职责与技能
  3. the virtual machine is configured for 64-bit guest operating systems
  4. Haskell 函数式编程快速入门【草】
  5. 第五节:框架前期准备篇之锁机制处理并发
  6. phpcmsV9 公告内容(图片不显示问题)
  7. limit mysql 取最后_世上最全mysql性能调优总结
  8. Java 面试高频提问知识点一
  9. 阿里云发布“码上公益”平台 打造更高效透明的“科技公益”
  10. 决策树模型组合之(在线)随机森林与GBDT
  11. 设置java环境变量path_配置java环境变量path怎么设置
  12. 2021年高压电工考试及高压电工考试题
  13. C语言 使用DFT得到信号幅度谱
  14. 10款提高工作效率的工具软件,你值得拥有!
  15. 供应博思特posital增量型编码器
  16. 签章服务器系统,优泰科技首页_电子签名 手写批注 电子印章 全文批注
  17. word2vec和bert的基本使用方法
  18. leetcode——回溯
  19. 免费临时邮箱,一次性邮箱
  20. iptables 学习笔记 (下)

热门文章

  1. 屏幕小于6英寸的手机_6英寸以内的小屏旗舰手机推荐,纯手感无敌!
  2. 传统基本图像处理方法:图像增强(灰度变换、直方图增强、空间域滤波、频率域滤波)、图像分割、图像配准等
  3. 牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)
  4. 类的组合在什么情况下使用_什么情况下选择使用圆锥滚子轴承?(原创轴承外贸写作素材)...
  5. jenkin swindows启动,在Windows上启动/停止并重新启动Jenkins服务
  6. 从无人问津到产值超千亿,动力电池回收利用,是新金矿吗?
  7. hibernate QBC和QBE精讲与案列分析(上)
  8. proteus中 基于STC89C51的ADC0809模数转换仿真
  9. 5G核心网信令流程 | 5GS会话支持Multi-Homing
  10. 专升本C语言——第七章