基于CNN 的情绪识别与管理的微信小程序
梁科睿
广西医科大学附属肿瘤医院 广西南宁市 530021
1 前言
1.1 课题研究背景和现状
近年来,医疗暴力频发,求医者打伤医护人员的案件层出不穷,医护群体的安全问题受到了社会各界的大力关注。暴力案件的频发不仅导致了医患关系的紧张,也严重影响医院及医护人员的正常工作秩序。
目前的人脸识别主要广泛运用于企业考勤、安保、行车行驶、线上支付和线上自助服务等方面。在信息化迅速发展的背景下,人脸设别系统将会更加深入在我们生活的各个方面。相比之下情绪识别系统更加精确,目前情绪识别系统在线上的运用并不算十分广泛,有着很大的发展空间,在此过程中还需要不断地试验与摸索。微信小程序是内置于微信中的应用,它是区别于原生 App 的另一种 App 形式,可以直接在微信里面打开,并且拥有和原生App 几乎一样的功能和形式,在保持使用流畅的前提下,不会占用太多的手机内存。
微信小程序的开发采用了 PHP 开发模式,开发人员可以发布他们编写的小程序,小程序的开发是独立的,不需要为不同类型的操作系统开发不同的程序。
1.2 系统设计的意义
本程序可以作为医院就诊前的一个程序,病患和病患家属在就诊前进行对自身情绪的识别,工作人员可以通过本程序完成对于现场人员尤其是病患和病患家属当前的情绪整体状态的评分观察,并作出判断,防患于未然。对于总体评分低于一定评分数值的人员,进行重点管控和合理的疏导,可有效减少出现医患纠纷的概率,更能有力的遏制恶性事件的发生。未来可将本程序作为摄像头或者现场安全防护其中的组成部分。
2 微信小程序
2.1 微信小程序开发步骤
微信小程序开发首要步骤,需要开发者再微信小程序开发网站中完成对小程序的账号注册,登陆微信小程序的开发网站完善小程序的信息,主要包括小程序名称和服务范围等。在完成小程序开发者工具的下载后,开发者可采用扫码方式登录后即可创建项目。
2.2 微信小程序框架
微信小程序的开发框架不同于其他系统,它的开发框架是独有的,由 View 视图层和 AppService 逻辑层组成。本系统的逻辑层是使用 JavaScript 进行编写配置的。逻辑层主要的工作是将处理完成的数据输送至视图层,同时接受视图层的数据从而完成整个事件的反馈处理,起到与视图层交互的作用。
2.3 微信小程序 API
本系统的开发借助到了的 API 是由百度提供的百度人脸识别API。卷积神经网络这项技术的核心是在于百度公司为微信小程序开发者提供的一个API。
3 系统分析
3.1 系统可行性分析
开发系统首要的程序就是对系统的可行性进行分析,往往在开发一个系统的过程中,可能会在技术、经济和操作上有一些会影响到开发的问题存在,也会带来一些的损失。通过可行性分析也能够及时发现开发过程中存在的技术难点以及技术缺陷,从而达到难点攻克和弥补缺陷的目的。
系统可行性研究的目的,主要是分析本系统能否在尽可能短的时间内完成原定需要完成的工作,以及在市场上和技术上的分析和预测。本系统开发的可行性研究将从技术可行性展开分析。
微信小程序目前属于新兴技术,为方便开发者开发,官方也提供了简单的技术指导,如提供免费的开发工具以及详细的系统开发文档。同时微信小程序的其他技术也已较为成熟,网上有许多代码可作参考,利于新手开发者快速上手。CNN 是卷积神经网络,一种深度前馈人工神经网络,近年来被广泛运用于语音分析和图像处理等领域的一种识别算法,在图像识别等技术应用中起到了至关重要的作用。卷积神经网络由一个或多个卷积层、池化层、全连通层组成,每一层的功能都不一样。卷积层的作用是实现输入图像数据与滤波器的卷积,从而实现目标体征的提取。MINA 框架不但为微信小程序开发提供了开发基础,同时对微信小程序所有页面的路由进行管理并赋予页面生命周期。PHP 是一门运行于服务器端的编程语言,能自动生成 WXML文件,在服务端开辟出一块内容的缓存,将它们存储到文件系统中。JavaScript 是一种具有良好的跨平台性的单线程轻量级脚本编程语言,部署在多种环境。
3.2 系统需求分析
在结合应用场景与用户的实际需求分析后,确定本设计最主要的功能需求为拍照功能和对于情绪的识别与管理功能的需求。
4 系统设计
4.1 系统功数据库设计
本程序的系统数据库采用的是 MYSQL 数据库。本程序使用的数据库部署在服务器端,并未和应用服务器直接分离,而是采用了应用及数据库服务器同机操作的部署方式。
5 系统实现
5.1 开发环境
(1)硬件开发环境
处理器:AMD Ryzen 5 1600X Six-Core Processor 3.89GHz
系统类型:Windows 64 位操作系统
(2)软件开发环境
操作系统:Windows 10 专业版
服务器端:64 位微信开发者工具
数据库:MySQL
客户端: IOS 系统、安卓系统
5.2 系统部署
关于本系统的部署,目前是部署在一台租用的腾讯云服务器上,已进行调试工作与检验测试。
5.3 系统测试
系统测试是系统开发中不可或缺的一步。系统测试的目的主要是验证系统的功能和性能是否满足设计要求,发现系统的实际应用效果是否与系统定义相符合。系统测试是检验软件质量的重要手段,软件质量的检测一方面要检查软件的设计是否合理、编码是否准确,另一方面要看软件的系统测试是否全面。
在系统测试方面,本程序的系统测试经历了如下阶段,首先是单元测试,在程序编制的初期,为完成此微信小程序,对其中的核心代码模块进行了严格的模块化测试,将其中存在疑问的得分予以清除,以确保该评分模块的正确运行。第二阶段是集成测试,在本程序主体部分全部完成后,通过对电脑模拟仿真测试和手机真机测试这两种方法的综合运用,消除了在程序中存在的显示边界不完整的问题。
5.3.1 系统测试环境介绍
本系统是微信小程序,入口为微信应用。考虑到各平台兼容性可能存在差异,同时为了排除开发者工具环境下和现实场景的差异,所以本次系统测试分别使用苹果机和安卓机进行系统测试。
5.4 系统测试方案
测试系统采用的方法是黑盒测试与白盒测试。测试人员可以通过白盒测试对系统内部的结构与工作原理有更清楚的理解。
使用白盒测试方法产生的测试用例能够:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试 TRUE 和 FALSE;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。
黑盒测试注重于测试软件的功能需求,主要试图发现以下几类错误:功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;初始化和终止错误。
6 总结
本文通过分析当下情绪识别与管理在日常生活中的重要性,以及微信小程序国内的现状与发展,设计并完成了基于 CNN 的情绪识别与管理的微信小程序。
参考文献
[1] 刘 红 卫 . 微 信 小 程 序 应 用 探 析 [J]. 无 线 互 联 科 技 ,2016(23):11-12.
[2] 徐真 , 王宇 , 李宁 , 张衡 , 张磊 . 一种基于 CNN 的 SAR 图像变化检测方法 [J]. 雷达学报 , 2017:55-63.
[3] 李哲 , 周灵 . 微信小程序的架构与开发浅析 [J]. 福建电脑 ,2019(12).
[4] 王文东 . 基于 B/S 架构的 Web 软件系统测试应用分析 [J]. 软件导刊 , 2016(8 期 ):137-139.
[5] 张玮 . 浅析白盒测试和黑盒测试 [J]. 无线互联科技 , 2013,000(006):136-136.
[6] 张玮 . 浅析白盒测试和黑盒测试 [J]. 无线互联科技 , 2013,000(006):136-136.
作者简介:梁科睿,女,壮族,广西南宁,本科学士,病案信息技术师,研究方向:信息技术 ,