DIY微信小程序,将AI艺术画搬到手机上

风格化算法的先驱团队

背景

图片的风格化处理,一直是目前较为热门的应用内容。算法起源于德国Bethge lab 实验室的几位小哥(封面图片中的几个人物)。

这个几个小哥为此在毕业后,还一起创业成立了一家公司,专门研究如何将照片进行风格化处理。感谢他们的慷慨无私,将前期的研究成功开源出来,以至于后来涌现了一批类似的处理算法。

但是AI晦涩难懂,普通人要搞清楚他们的算法实在不容易,因此我萌生一个想法,为什么不把算法封装到服务器运行,然后通过微信小程序接入,这样普通的手机用户在微信里面就可以处理照片了。

说干就干,狠狠的上微信官网学习了一下小程序开发的方法,就开始撸代码了。

设计思路

1) 前端设计

用户由于在手机上操作,所以操作应该尽量简单实用。因此总共就三步操作能完成整个过程:上传、选择风格、查看结果。结果可以保存到相册。根据上面的需求,设计了以下这个界面:



2) 后端设计

后端采用nodejs+mongodb来完成。主要负责处理用户上传、风格选择的记录,最终生成一条处理图片的“订单”放到mongodb。由于目前在云端一台服务器处理一张照片需要大概30秒,考虑到在用户并发数较多的时候,任务可能会堆积,因此设计上应采用弹性可扩展的方式来做。因此,在后端我又引入了rabbitMQ+drawWorker 的方式。订单下达以后,就会推送到rabbitMQ队列里面,drawWorker会到队列里面取任务,完成任务以后把结果推送到前端。这种方式,在并发用户较多的适合,可以随意扩展处理能力,具有较好的弹性。

结论

撸了两个礼拜,最后大功搞成。欢迎各位简友在微信小程序里面添加“达芬奇小镇”试用!



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,417评论 25 709
  • 书是人类智慧的载体,是先哲前辈的灵魂得以永生的天地,是现在的智慧达人得以不死的工具。所以,无论何时,读书都是在和先...
    顺锅阅读 4,423评论 0 6
  • 王祥颐11月份第四次读书打卡我读的书是假如给我三天光明,我读啦152页到161页,我喜欢句子是:看完信会后,我满心...
    祥颐阅读 1,456评论 0 0
  • 凤府凤老爷的书房,柳怡端着一碗银耳粥轻轻敲敲门:“老爷,怡儿进来了……” 屋内没有回应,柳怡沉思一下,推门而进。一...
    凌诺伊阅读 1,742评论 0 0