成员:
身份 | 姓名 | 分工 |
组长 | 陶清然 | 负责文档编写、ppt,测试 |
组员 | 张娜 | 负责前端 |
组员 | 代丽芳 | 负责后台 |
组员 | 江雪 | 负责数据库 |
组员 | 伊穆兰 | 负责后台 |
小组成员在本次迭代中的贡献:
姓名 | 贡献 |
陶清然 | 完成了文档博客和ppt的编写 |
张娜 | 完成了需求规格说明书和概要设计 |
代丽芳 | 确定了需求规格说明书和概要设计,并搭建了源代码管理环境 |
江雪 | 展示ppt内容 |
伊穆兰 | 搭建源代码管理环境 |
前言:
本次项目是一个基于网页的智能化衣橱,面向对衣橱整理和搭配已有衣服推荐功能有需求的所有人群,尤其是在快节奏的生活下,具有选择综合症或者健忘症的上班一族和部分女性以及对形象有要求的男性群体。结合调查问卷总结出的实际需求信息,参照传统的衣橱类app和网站的已有功能,我们设计了一款智能虚拟衣橱:今天穿什么。
一、需求分析
1.1 内部分析
在综合的考虑了目标人群的真实需求之上,结合了对不同性别、不同年龄结构的调查者进行了问卷调查,对样本的调查结果和数据作深入分析,总结出如下:
图1.1客户分析图
由上图可分析出以下需求信息:
(1)目标群体:对衣橱整理和搭配已有衣服推荐功能有需求的所有人群,特别是大部分年轻女性和部分对外表有要求的年轻男性。
(2)主要功能:整理衣橱、推荐已有衣服的穿衣搭配等。
今天穿什么主要针对两个方面进行功能设计,分别是个人衣物管理、推荐穿衣。
个人衣物管理方面:将现实中衣橱的所有衣物搬到移动端,通过导入图片或淘宝链接,根据衣物类型完成分类,打造用户个人私有衣柜;设计的具体功能模块包括:衣物分类、上传、淘宝订单或相册导入、删除等。
推荐穿衣方面: 针对服装图像对多个属性同时进行分类和识别的要求,构建了基于多任务学习的卷积神经网络结构。最后决定使用了效率更高的开源代码基于深度学习框架Tensorflow搭建的衣服图片识别服务。
1.2 竞品分析
根据市面已有的智能化衣橱,我们进行了相关测试和分析,得出结果列出如下表格:
图1.2竞品分析图
二、概要设计
2.1 总体架构
在本设计的智能虚拟衣橱web中,客户端与服务器的通信采用http协议,
客户端与服务器之间所有的数据交互通过http协议的HttpServld类实现,服务器端通过Servlet接口接收客户端的请求,Servlet容器解析客户端的http请求,把请求封装成一个HttpServletRequest对象,将对象传给HttpServld的service方法,信息反馈给数据库后生成的响应数据传给客户端,Servlet只用来扩展基于http协议的Web服务器。
图2.12系统的网络结构图
2.2 功能框架
智能虚拟衣橱应用主要由客户端和后台服务器构成针对智能虚拟衣橱应用的实际需求,在客户端和服务端分别进行了功能框架设计。图2.21是客户端功能框架,图2.22是服务端功能框架。
图2.21客户端框架
图2.22服务端框架
2.3 功能模块
2.3.1用户注册功能
用户第一次使用本应用时需要进行账号注册和密码设置,所有注册的用户信息将会传到服务器以用户信息表的形式储存,使注册过的用户下次可以直接登录。
2.3.2用户登录功能
用户注册后就可以输入账号以及密码登录系统,服务器接收到登录请求后,判断与数据库里的该用户的信息表是否吻合,并将请求的响应数据返回给客户端,信息若一致,客户端将登录成功,否则无法登录。
2.3.3衣橱分类功能
衣橱分类功能是整个应用的基础功能,在对衣橱进行衣物分类的基础上,通过拍照或相册导入的方式加入用户的衣物,所有的图片信息从客户端上传并储存在服务端的数据库。用户通过此功能可以把现实中的衣橱搬到移动终端,打造个人的专属衣柜。
2.3.4我的搭配功能
和衣橱分类功能类似,所有搭配图片都上传到服务端。我的搭配分为己有搭配和收藏搭配两部分,用户可以通过相册导入或拍照将搭配图片保存己有搭配里,操作上同样要输入衣服的属性信息。
2.3.5智能推荐穿衣功能
用户选择已上传的衣服图片,服务端针对服装图像对多个属性同时进行分类和识别的要求,构建了基于多任务学习的卷积神经网络结构。采用了结合度量学习的卷积神经网络结构,克服了背景、光照、变形等因素的影响。根据训练好的卷积神经网络进行图像检索,进而推送搭配给用户。
2.4模块调用:
登录模块提供用户登录的信息,验证登陆状态,并相应的提交给数据库,链接数据库导入衣橱和搭配信息。搭配中的“增加搭配”功能调用衣橱的中单品。
2.5.模块接口:
- userLogin(String UserName,String PassWord),用户登陆。登陆时传入用户帐号和密码。同时将用户的信息放到数据库中。
- addClothes(),添加衣物。用户通过该函数上传自己的衣物。同时将衣服的信息导入数库中。
- Clothes(),衣物管理。管理用户上传的单品以及用户的自定义搭配。
- Match(),实现单品的搭配。用户通过选择各种单品,进行自定义搭配。
- Recommend(),推荐搭配。通过识别用户的单品,与数据库中的衣服搭配进行匹配,从而获取推荐的搭配。
2019-11-22