热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【华中“Hackathon”创客马拉松大赛】使用GAN(生成对抗网络)进行图像生成应用开发(AndroidApp+Python服务端代码)

使用GAN(生成对抗网络)进行图像生成应用开发以图生图应用开发详情见服务端代码地址,感谢大佬star华中“Hackathon”创客马拉松大赛本次由湖南大学和微软亚洲研究

使用GAN(生成对抗网络)进行图像生成应用开发以图生图应用开发

详情见服务端代码地址,感谢大佬star

华中“Hackathon”创客马拉松大赛

本次由湖南大学和微软亚洲研究院主办,由国家超级计算长沙中心、微软学生俱乐部等承办的华中“Hackathon”创客马拉松大赛,将邀请150名高校中创意、开发、设计、营销达人聚集在一起,在24小时连续不间断工作坊中大展身手,我们将全力以赴让创客精神在华中地区迸发魅力。

此次Hackathon由湖南大学和微软亚洲研究院联合主办,比赛地点为国家超级计算长沙中心。大赛以激励华中地区高校学生的创新精神、创造精神为目标,为有想法、有创意的学生们提供一个共同交流、互相切磋,并将想法付诸实践的大舞台。届时,华中地区150名富有热情的青年创客聚集在一起,共同享受24小时不间断协作开发和学习交流的知识盛宴,让创意的火花时刻迸发。

HACKX项目地址:

Project URL

队名:

取个名字真TM难

作者:

  • XueWenLiao
  • ChengChen
  • LuoJie
  • LiuDong
  • WuQin Surprise Scene

平台:

  • Android 7.0
  • Tensorflow 1.4.1
  • Django 2.0.5
  • djangorestframework 3.8.2

推荐

  • Linux with Tensorflow GPU edition + cuDNN

代码地址:

Android客户端 Python服务端+GAN模型

项目描述

简介:

通过使用Tensorflow,GAN,Django,Android等技术,实现快速造图,来提升沟通效率,用户只需手绘草图,AI将实时生成逼真的效果图.在原型展示,室内装修,服装设计,LOGO设计等领域有广泛的应用.即画即现,AI让沟通变得如此简单.

描述:

基于GAN技术,即画即现,快速的将自己的想法转化成图像,提升沟通效率.使用Tensorflow构建GAN模型,将训练好的模型封装,使用Django框架进行服务器的搭建,提供API供客户端调用,本项目使用Android客户端进行演示,将用户手绘草图,通过GAN神经网络转化成十分逼真的效果图.

想法:

现代社会人与人之间的交流变得很频繁,每个人都要和不同的对象进行交流,但是并不是每个人都可以很好的表达自己的想法,因此会造成沟通的障碍。比如:当设计原型图时,需要在讨论时及时生成一个可展示的对象,可以准确的展示用户的需求,降低沟通难度。我们的实际就来源于人与人之间沟通难度的存在。

解决的问题:

  1. 降低沟通难度。让人们能够更加准确的表达自己的想法。

  2. 降低沟通成本。让人们能够更加便捷的使用可以交互的沟通方式。

  3. 触发使用者的灵感,可以更加全面挖掘使用者的灵感

核心技术描述

客户端:

技术难点为:
客户端与服务器交互图片数据问题

现使用方案:
将用户所画草图以JPEG图片格式保存在本地,将图片用Base64(编码规范)编码后以json的形式post到服务器。服务器将编码过的图片传回到客户端,然后客户端解码为JPEG图片格式以供展示。由于这样的方法数据交互速度及慢,需要优化方案。

未来展望:
采用Google提供的grpc框架实现图片传输,该框架采用HTTP2.0作为数据传输协议,传输图片速度碾压HTTP1.1.

后台:

技术难点为:
1.模型的训练
2.模型转化成API,提供服务.

现使用方案:
使用Tensorflow实现GAN模型,将训练好的不同模型封成对应的API,将模型部署到服务端,提供给多终端调用(手机,平板,WEB,PC).

未来展望:
准备使用Tensorflow Serving简化并加速模型到生产的过程,保持服务器架构和API保持不变,安全安全地部署新模型并运行试验。

项目展示

图片

功能描述

画板:

  1. 手绘:用户可随意创作,不加任何限制。

  2. 橡皮擦:擦除画错的部分。

  3. 直线:用户只能用直线创作。

  4. 撤销:用户可撤销前一步操作。

  5. 清空:用户可清空画板。

  6. 生成图片:创作完成后可即刻生成真是图片。

模型:

  1. 建筑模型:用户可使用五个标签组件:墙、门、窗户、屋檐和房柱来协助创作。

  2. 街景模型:用户可使用五个标签组件:公路、草坪、汽车、树木和路灯来协助创作。

  3. 包模型:用户可创作包。

  4. 鞋模型:用户可创作鞋。.

视频:

DEMO URL

PPT展示:

g”/>

项目构建

开始

# clone this repo
git clone git@github.com:luojie1024/HACK_GAN_MB.git
cd HACK_GAN_MB

服务器搭建参考

数据集

dataset example

400 images from CMP Facades dataset. (31MB)
Pre-trained: BtoA

2975 images from the Cityscapes training set. (113M)
Pre-trained: AtoB BtoA

1096 training images scraped from Google Maps (246M)
Pre-trained: AtoB BtoA

50k training images from UT Zappos50K dataset. Edges are computed by HED edge detector + post-processing. (2.2GB)
Pre-trained: AtoB

137K Amazon Handbag images from iGAN project. Edges are computed by HED edge detector + post-processing. (8.6GB)
Pre-trained: AtoB

The facades dataset is the smallest and easiest to get started with.

展望

  1. 我们的产品未来可以应用到的领域有:装修装潢,建筑设计、服装设计,品牌LOGO、城镇规划、文物复原、动画动漫设计等。

  2. 给不同行业用户提供更专业的工具包

  3. 未来当AI模型足够精准,为所有开发者和企业提供api sdk使用

参考资料

代码

GAN

Based on pix2pix by Isola et al.

论文

Image-to-Image Translation with Conditional Adversarial Nets [CVPR 2017]


推荐阅读
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
author-avatar
mobiledu2502854877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有