Computer Science and Application
Vol. 11  No. 04 ( 2021 ), Article ID: 41891 , 11 pages
10.12677/CSA.2021.114110

利用DCGAN实现相似图片自动绘制的应用 “图自绘”的设计与实现研究

刘天岳,朱文东

汉江师范学院数学与计算机科学学院,湖北 十堰

收稿日期:2021年3月25日;录用日期:2021年4月20日;发布日期:2021年4月27日

摘要

绘图起源于新石器时期,古人将天马行空的幻想记录在岩石和彩陶上,直至今日绘图仍是我们生活中不可缺少的部分。大到工业制图,小到街头广告,现如今人们生活中大大小小的事情都需要接触到绘图。于是,在互联网技术的发展和基于大数据的人工智能发展下,我们对利用深度卷积生成对抗网络(Deep Convolutional Generative Adversarial Networks, DCGAN)实现相似图片自动绘制进行了应用设计与实现研究。然而深度卷积生成对抗网络需要大量的计算,对硬件的要求较高,为了降低用户的使用门槛,我们对应用进行了轻量化设计模式实现,即把计算任务交给服务器端来完成,用户端只作为需求上传与成品下载的媒介。具体来说,首先我们借助服务器端–用户端的轻量化设计理念完成了“图自绘”应用的总体框架,然后对应用中所包含的每个功能模块完成实现研究,最后根据相应的设计开发流程使用Android Studio完成应用的设计与实现。借助服务器端的快速计算与用户端的需求上传与成品下载,用户可以在弹指间获取到自己心仪的图片,为有绘图需求但无绘图技术的人群开辟了一种获取图片的新途径。

关键词

DCGAN,自动绘图,互联网+,人工智能

The Design and Implementation of “Automatic Drawing” by Using Dcgan to Realize the Automatic Drawing of Similar Pictures

Tianyue Liu, Wendong Zhu

School of Mathematics and Computer Science, Hanjiang Normal University, Shiyan Hubei

Received: Mar. 25th, 2021; accepted: Apr. 20th, 2021; published: Apr. 27th, 2021

ABSTRACT

Drawing originated in the Neolithic period. The ancients recorded their illusions on rocks and painted pottery. Today, drawing is still an indispensable part of our life. From industrial drawing to street advertising, nowadays people need to touch drawing in their daily life. Therefore, with the development of Internet technology and artificial intelligence based on big data, we study the application design and implementation of automatic drawing of similar pictures by using deep convolutional generative adversarial networks (dcgan). However, the deep convolution generation countermeasure network needs a lot of computing, and has high requirements for hardware. In order to reduce the user’s threshold, we implement the lightweight design pattern of the application, that is, the computing task is handed over to the server, and the user is only used as the media of demand upload and finished product download. Specifically, first of all, we complete the overall framework of the “self drawing” application with the help of the lightweight design concept of server-side and client-side, then complete the implementation research of each functional module contained in the application, and finally use Android studio to complete the design and implementation of the application according to the corresponding design and development process. With the help of server-side fast calculation and user-side demand upload and finished product download, users can get their favorite pictures between the snap fingers, which opens up a new way to get pictures for people who have drawing needs but have no drawing technology.

Keywords:DCGAN, Automatic Drawing, Internet Plus, AI

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

绘图与图像生成的问题一直以来都具有非常高的挑战性,由于建模困难,传统的训练模型在大规模数据的计算下变得极难求解。为了解决计算复杂和准确性问题,深度卷积生成网络 [1] (DCGAN)被提出。我们便使此深度卷积生成网络运行在服务器端进行AI训练与图像计算,以此来省去用户的算力,致使用户可在用户端实现弹指间获取自己心仪的图片。

在“互联网+”的迅速发展下,推进机器学习代替人工为大环境所需,且近年来“云服务”模式渐有取代单一有限制的本地模式 [2],所以我们探索设计这种服务器端计算,用户端上传需求下载成品的“云服务”模式绘图软件。希望通过努力,运用大数据信息网络,融合“互联网+”技术 [3],可以大大提高工作效率,降低绘图门槛与时间成本。

2. 应用设计

2.1. 项目需求分析

在我们的日常生活中某些任务可能会需要你进行手动绘图制作,但你没有手工绘图方面的专业技能,所谓一分难倒英雄汉,这时就需要有一个能够依据你的任务需求来自动绘制你所需图片的软件了,这样就可以大大减少你完成任务所需要时间,从而获得更高的效率 [4]。

2.2. 项目技术需求分析

“图自绘”应用的用户端开发环境采用:Android Studio + Android SDK + JDK 1.8。服务端开发环境采用MyEclipse + HTML。数据储存采用MySQL数据库。

2.3. 应用框架设计

本应用采用服务端–用户端–数据库结合的模式,最大限度的优化用户的体验,把数据计算和图片生成全部交由建设在云服务器的服务端来做 [5],用户端仅仅作为请求的发送和结果的接收,数据库用来存储用户的历史数据和算法机器人的数据训练存储。

2.4. 应用功能原理

本应用的实现功能原理是利用DCGAN(深度卷积对抗网络)技术对原有图片进行处理,使之成为符合用户需求的新图片,从而解决用户自己绘图的困扰。

2.4.1. DGGAN技术的介绍

DCGAN是继GAN (生成对抗网络)之后的一种比较好的改进,全称深度卷积对抗网络(Deep Convolutional Generative Adversarial Networks),它首次将卷积运算引入到生成式模型当中来做无监督的训练,利用卷积层强大的特征提取能力来提高GAN 的效果 [6]。

DCGAN技术相较于GAN技术有以下四个方面的特点:

1) 在判别器模型中使用带步幅的卷积代替池化层,在生成器模型中使用步长为四的反卷积完成从随机噪声到图片的生成过程。

2) 在网络结构中,除了生成器模型的输出层及其对应的判别器模型的输入层,其他层上都使用了批量归一化(Batch normalization),加入Batch normalization层这一操作解决了初始化差的问题,同时保住梯度传播到每一层,也能够防止生成器把所有的样本都收敛到同一个点。

3) 去除全连接层,直接使用卷积层连接生成器和判别器的输入层和输出层;使得模型的稳定性增加,但缺点是将模型的收敛程度变慢,需要进行多次训练。

4) 生成器的输出层使用Tanh(双切正切函数)激活函数,其余层均使用ReLU (线性整流函数);判别器的所有层使用leaky ReLU函数(图1)。

Figure 1. DCGAN generatormodel [1] p2

图1. DCGAN生成器模型 [1] p2

2.4.2. DCGAN在“图自绘”中的应用

在本应用中,为了得到更加逼真的图像,生成器G和鉴别器D需要各自选择自己的学习率(learning rate),以使G或者D的效果差别不会太大。这个过程十分缓慢,但是一旦找到合适的平衡点,就能很快的收敛,使用64 × 64分辨率的图像时,我们测得最佳的平衡点是鉴别器的学习率为0.0005,生成器学习率为0.0002,并且出现模型崩溃的比率也下降,以生成猫为例,最终得到如图2所示的一系列猫。再将得到的图片上传至服务器端中作为基数进行分类,方便下次进行迭代。

Figure 2. Cat model generated by DCGAN

图2. DCGAN生成的猫模型

本应用中,生成器的结构采用全连接层+反卷积层+反卷积层+反卷积层+反卷积层,具体实现如下:

第一层:全连接层,输出神经元个数为8 × 8 × 128 = 8192个,然后通过reshape函数生成8 × 8像素,最后用ReLU激活函数。

第二层:反卷积层,卷积核大小为[5, 5],步长为2,权重使用高斯分布,同时权重的初始化标准差stddev = 0.02,输出通道数64 × 4,后面接Batch Normalization(BN)层,最后使用ReLU激活函数。

第三层:反卷积层,参数与第二层一样,输出通道数为64 × 2,后面接Batch Normalization (BN)层,最后使用ReLU激活函数。

第四层:反卷积层,参数与第二层一样,输出通道数为64 × 1,后面接Batch Normalization (BN)层,最后使用ReLU激活函数。

第五层:反卷积层,输出通道数为3,后面接ReLU激活函数(没有Batch Normalization层)。

鉴别器的结构采用卷积层 + 卷积层 + 卷积层 + 卷积层 + 全连接层,具体实现如下:

第一层:卷积层,卷积核大小:[5, 5],权重初始化使用高斯分布,标准差为stddev = 0.02,输出的通道数为64 × 1,然后接LeakyRelu激活函数,没有BN层。

第二层:卷积层,参数与第一层一样,输出的通道数为64 × 2,使用BN层,接LeakyRelu激活函数。

第三层:卷积层,参数与第一层一样,输出的通道数为64 × 4,使用BN层,接LeakyRelu激活函数。

第四层:卷积层,参数与第一层一样,输出的通道数为64 × 8,使用BN层,接LeakyRelu激活函数。然后将第四层的输出通过reshape函数拉平。

第五层:全连接层,输出神经元个数1,卷积核大小:[5, 5],权重初始化使用高斯分布,标准差为stddev = 0.02。

3. “图自绘”应用功能模块设计

本应用涉及到用户的日常使用,为了简化用户的操作,我们对应用进行了功能模块划分。使得每一个模块都具有独特的功能并且是独立的个体,同时这些模块又能相互交叉使用 [7]。

3.1. 用户模块

1) 登录:如之前已注册,信息就已储存在后台数据库,这时可以输入账号,密码直接进入应用。

2) 注册:如用户之前未注册,登陆时点击注册按钮进入注册页面,依照提示输入账号,密码,手机号码,验证码,邮箱进行注册。注册完成后信息会自动储存在数据库中,用户以刚刚注册的账号密码完成第1)步操作即可成功登录。

3) 图片上传:用户根据需求上传所需的图片到服务器即可。

4) 图片下载:用户可在线预览服务器自动绘制出的图片,选择满意的图片下载即可。

3.2. 用户端–服务端交互模块

1) 用户端向服务端发送请求数据。

2) 服务端接收用户端数据,并将计算结果下发到用户端。

3) 用户端接收服务端结果数据。

3.3. 后台管理模块

1) 用户管理:增加/删除用户,修改用户信息,查看用户使用记录。

2) 系统管理:设置绘图频度/参数等,删除违规图片。

4. “图自绘”应用的实现

据上文功能模块的划分,对于“图自绘”应用的主要功能实现,给出详尽的逻辑流程图与功能实现图片进行分析。

4.1. 登录注册功能的实现

4.1.1. 逻辑流程分析

登录注册模块的逻辑分析如图3所示。

图3可知,用户在使用本应用进行登录和注册时,分为三个部分:

1) 判断用户是否注册过账号,如果注册过直接登录,若没有注册过,则进入注册界面。

2) 已经注册过的用户在登录界面输入账户和密码进入主界面进行相关操作。

3) 未注册过的用户单击注册按钮进入注册页面,填写相关信息完成注册。

Figure 3. Login and registration module implementation process

图3. 登录注册模块实现流程

4.1.2. 界面设计

图自绘应用的登录界面如图4所示。

Figure 4. The login interface

图4. 登录界面

如果之前并未注册,那么需要单击注册按钮进入注册页面进行注册,注册界面如图5所示。

Figure 5. The registration interface

图5. 注册界面

4.2. 提交图片功能的实现

4.2.1. 逻辑流程分析

提交图片功能模块流程如图6所示。

Figure 6. Submit picture function module process

图6. 提交图片功能模块流程

提交图片功能模块的实现主要分为两个部分:

1) 用户从主界面登入后会进入提交图片界面,从相册中选取图片进行提交。

2) 后台自动判断图片是否存在于数据库中,若存在则不进行操作,若不存在则将图片加入数据库中进行存储。

4.2.2. 界面设计

用户登入图自绘应用后进行图片提交后的界面如图7所示。

Figure 7. User submit image interface

图7. 用户提交图片界面

4.3. 图片自动绘制功能的实现

4.3.1. 逻辑流程分析

图片自动绘制功能实现模块如图8所示。

Figure 8. Implementation process of automatic picture drawing function

图8. 图片自动绘制功能实现流程

图片自动绘制功能模块的实现主要分为两个部分:

1) 后台接受用户传来的图片,并从数据库里的图片集中搜寻类似的图片。

2) 后台对找出类似的图片进行随机组合形成新的图片展示给用户。

4.3.2. 界面设计

图片自动绘制功能实现界面如图9所示。

Figure 9. The interface of automatic picture drawing function

图9. 图片自动绘制功能实现界面

4.4. 后台管理功能的实现

界面设计

管理员登入图自绘后台,对后台搜集的图片进行添加和删除操作,后台管理功能的实现界面如图10所示。

Figure 10. Background management function implementation interface

图10. 后台管理功能实现界面

5. 项目评价

5.1 项目创新特色

1) 轻量化应用设计模式

随着互联网技术的迅速发展与普及,轻量化应用与云应用模式将会成为未来发展的主流趋势。因此本应用采用了服务器端–用户端的设计模式,把复杂的计算任务交给了服务器,给用户提供了最为轻量便捷的使用体验与服务。

2) DCGAN技术应用创新

通过上文对此技术的介绍可知,此技术需要通过大量的计算与训练来提高图片的生成质量,对硬件的要求极高,这无疑是提高了应用使用的门槛。因此我们先让相关的技术与训练在服务端进行,在此过程中用户使用软件增加需求,服务端再进行需求实现,这样不仅优化了用户的实际使用体验,也能更好的使用用户的需求进行再训练,优化了软件性能与响应时间。

3) 互联网+以及大数据应用

经过日常使用发现,市面上很多相关图片生成绘制类软件大多是单机运行,即使用用户的算力和资源为用户服务。这些没有经过联网的应用往往具有时效性,不能及时更新紧跟用户需求。本项目通过互联网使应用接入服务器,可以让用户使用服务器的算力为自己服务,且用户在使用过程中的数据可以经过服务器进行再计算,通过大数据分析可以为用户提供更加精准的个性化服务,以达到前人栽树,后人乘凉的效果 [8]。

5.2. 项目总体评价

在近年来国家大力支持发展互联网技术的大环境下,本项目的研发有了重大的意义:由于采用了轻量化的设计,本项目省时省力可以任意地点任意时间使用,帮用户解决了时间,地点以及硬件方面的问题。同时用户在使用软件时,已经经过了服务器端的大量计算,因此用户获得往往是高质量的心仪图片,大量节省了用户的时间。

6. 总结

总体而言,本项目的研发与实现具有深远的影响及意义:应用的推出为特定人群解决了迫在眉睫的需求、采用了轻型软件开发方式,优化了用户的使用体验,大大降低了应用的资源占用与浪费,解决了部分用户的硬件门槛过低问题。在大数据和人工智能技术的加持下,本应用采用了用户–服务–数据三方结合的思路,让应用运行畅通无阻,数据交互便捷畅快 [9]。最后我们对应用的模块进行了细致划分,不浪费丝毫资源,实现了完整系统功能。相信随着后续工作的进行与展开,“图自绘”会是一个更加完美成熟并且具有更加远阔的前景。

致谢

本文在曹大有教授的悉心指导与严格要求下完成。在此向指导老师曹大有教授表示由衷的感谢和崇高的敬意。同时感谢汉江师范学院给我提供了优质的平台与资源供我学习进步,也感谢大学生创新创业训练项目委员会给予的基金支持。感谢参考文献中科研前辈们的无私奉献,让我得以站在巨人的肩膀上走的更远。

基金项目

汉江师范学院2020大学生创新创业训练计划项目国家级项目:利用DCGAN实现工程图片自动绘制(项目编号:202010518003)。

文章引用

刘天岳,朱文东. 利用DCGAN实现相似图片自动绘制的应用“图自绘”的设计与实现研究
The Design and Implementation of “Automatic Drawing” by Using Dcgan to Realize the Automatic Drawing of Similar Pictures[J]. 计算机科学与应用, 2021, 11(04): 1070-1080. https://doi.org/10.12677/CSA.2021.114110

参考文献

  1. 1. 马丹. 生成对抗网络的关键技术研究与应用[D]: [博士学位论文]. 成都: 电子科技大学, 2020.

  2. 2. Comer, D. (2021) The Cloud Computing Book: The Future of Computing Explained. CRC Press, Boca Raton. 2021-03-11.

  3. 3. 谢申祥, 范鹏飞, 郭丽娟. 互联网对企业生存风险的影响与异质性分析[J]. 数量经济技术经济研究, 2021, 38(3): 140-159.

  4. 4. 陈宁萍. 计算机辅助设计软件在室内设计中的应用[J]. 信息记录材料, 2021, 22(1): 68-69.

  5. 5. 徐伟伟. 基于大数据的计算机信息处理技术探究[J]. 科技风, 2021(8): 90-91.

  6. 6. 徐永士, 贲可荣, 王天雨, 刘斯杰. DCGAN模型改进与SAR图像生成研究[J]. 计算机科学, 2020, 47(12): 93-99.

  7. 7. 冯旭日, 陶国娟, 刘军, 郑毅. 模块化架构与开放式集成创新绩效——以久其软件为例[J]. 科技促进发展, 2021, 17(1): 88-96.

  8. 8. 李林森. “互联网+”时代的计算机应用技术初探[J]. 电子测试, 2021(7): 137-138.

  9. 9. 张金龙. 大数据时代背景下计算机软件技术的应用方法探讨[J]. 科技风, 2021(8): 98-99.

期刊菜单