设计是一个创造的过程,目前大部分的设计类产品大多是基于模版的,外加一些图像匹配的处理,做出来的设计,缺少创造的成分,更多的是预设的结果。 基于深度学习算法,是否可能满足设计创造性的要求?像图像分类可以很方便的通过 CNN 来实现,通过 apple 开源的turicreate库来实现更加简便。而图像与图像之间的转换(称为图像翻译),目前较好的通用方法是 pix2pix ,基于 GAN 的算法。GAN带来了生成设计的可能性。最近我也终于抽到点空跑了下 pix2pix 的算法,有点体会,写成文章分享给大家。
ps:跑到第8轮,pix2pix 的应用界限就差不多可以评估了
在开发环境方面,我这次选择了Anaconda 作为 python 包的管理,有可视化的 APP 工具,也可以通过终端命令行操作,方便了许多。 pix2pix 的话,做实验的话,建议直接使用Jupyter notebook,方便直观。
2017 年的这篇论文《Image-to-Image Translation with Conditional Adversarial Networks》介绍得很详细, github 上也有很多 pix2pix 的实现,自行搜索吧。
https://arxiv.org/pdf/1611.07004.pdf
pix2pix 可以实现哪些事情呢?
预测影片的下一帧,我们是不是可以把一张图片变成 GIF 图;
去除马赛克,随意放大 BMP 图片,再也不担心精度不够了;
通过手绘生成名画,比谷歌的 auto draw 先进了点,当然还有各种通过手绘生成的东西,比如猫、袋子、鞋子、人物肖像画;
去除图片的背景,类似于抠图,也可以采用 pix2pix 的方法进行;
生成配色方案,把配色当成图片,进行图片的生成,产生新的配色方案;
从侧脸预测正脸,这样以后只要随便拍一张照片,都可以在三维空间中实时建模出来;
改变模特的摆拍姿势;
用在风格迁移也是可以的,还可以做得更加灵活;
从卫星影像生成地图,降低地图服务商的生成成本;
Github 有个 gan 全集,收集了 gan 的相关论文及应用。
https://github.com/nightrome/really-awesome-gan
只要是图片与图片之间的转换,我们都可以尝试 pix2pix 来生成试试。
算法已经没什么秘密可言,站在应用的角度,关键是如何获取大量的成对的图片来进行训练。我们可以借助一些工具,比如UI2Code 之 利用 antd.sketchapp 生成训练数据,还可以通过其他算法生成大量数据,作为 pix2pix 的输入。
例如,针对设计领域,有这么些图像翻译的应用场景:
动态 Logo 设计,用户输入一张静态的 Logo 图片,自动生成动态的 GIF 。
服装设计,只需完成手绘,即可实时看到成品的效果。
类似于 iGAN :
还有景观/建筑设计中,经常要描图,利用 pix2pix ,也是可以实现手绘图至 CAD 图的转化,然后设计师再在 CAD 图上精细地调整方案。
其他的应用场景欢迎留言讨论或微信群里讨论。
*
知识星球
更多可以在知识星球交流。
*
领取专属 10元无门槛券
私享最新 技术干货