一种基于文件传输的人脸表情识别方法及系统技术方案

技术编号:16153751 阅读:38 留言:0更新日期:2017-09-06 18:45
本发明专利技术公开了一种基于文件传输的人脸表情识别方法及系统,包括获取用户上传的人脸表情图像;系统对所述人脸表情图像进行预处理;通过recog指令及已经训练完成的深度神经网络和训练得到的模型对所述预处理后的人脸表情图像进行人脸表情识别与特征匹配;识别结果以文本文件的形式输出,通过文件传输,反馈给用户。本发明专利技术应用了文件传输模块,用户使用方便;采用了深度卷积神经网络对人脸表情图像特征提取并分类,可以快速准确的识别出人脸表情,操作简单,稳定可靠。

【技术实现步骤摘要】
一种基于文件传输的人脸表情识别方法及系统
本专利技术涉及图像处理和机器学习
,特别涉及一种基于文件传输的人脸表情识别方法及系统。
技术介绍
人脸表情识别技术是指从给定的人脸表情图像中提取人脸表情特征,并将其归于某类特定的人脸表情。常见的人脸表情类别包括高兴、中性、愤怒、厌恶、悲伤和厌恶等。人脸面部表情识别研究有广泛的应用价值,快速的人脸表情识别有助于分析被识别对象的情绪,能实现智能机器领域机器与人之间带情感的交流。人脸面部表情识别还可应用于互联网兴趣捕捉领域,人脸表情识别是计算机读懂人类感情的前提,高效准确的人脸表情识别有利于计算机针对不同人群推荐音乐、电影和切换主题等。人脸表情识别技术的关键步骤是表情特征提取,一般先用人脸检测技术来识别人脸,再采用特征提取的方法从检测到的人脸中提取表情特征,将表情特征分类实现人脸表情识别的目的。近年来深度学习取得了重大进展,以其特殊的算法在图像识别、语音识别和文本理解等领域得到越来越多的应用。深度学习建立了一种新型的模式:以训练数据开始,经过一个端到端的模型,直接输出最终得到的分类结果。文件传输服务是一种基于互联网协议的C/S架构的分布式软件。当前流行的技术,例如TFTP、FTP已经比较成熟。TFTP是一种基于UDP实现的停止等待协议,通过采用多个端口的形式来提供一定的并发,适合于只读存储器,仅用于无盘系统进行系统引导。FTP是文件传输的Internet标准,基于TCP实现,采取控制连接和数据连接两个连接,FTP标准提供一系列的命令,应答以及传输格式等等,是一个很复杂的处理过程。虽然目前人脸表情识别领域的研究并不少,但是采用深度的卷积神经网络,并结合文件传输方法作为应用层的研究与实践并不常见,且亟待改善与提高。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种基于文件传输的人脸表情识别方法,其具有更高的识别精度和更强的鲁棒性。本专利技术的另一目的在于提供一种基于文件传输的人脸表情识别系统,使客户能方便快捷地实现人脸表情识别。本专利技术的目的通过以下的技术方案实现:一种基于文件传输的人脸表情识别方法,包括以下步骤:训练阶段:S1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情;S2:对获取整合分类完的人脸表情图库进行预处理;S3:把预处理后的人脸表情图库分为训练集和测试集两部分;将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情;再将训练集与测试集分别转为LMDB格式;S4:将训练集图像用于深度卷积神经网络的训练;S5:将测试集图像用于模型的测试,得到端对端模型;修改上述训练网络,将数据层输入的LMDB类型的数据改为用dim参数描述的数据输入;将原训练网络的输出层SoftmaxWithLoss改为Softmax,训练时输出的是loss,测试时改为输出prob;S6:将表情识别的端对端模型封装成分类器,实现直接输出最终识别的表情类别及其对应的概率;识别阶段:S7:用户上传一张人脸表情图像到文件传输客户端;根据客户端提供的标准用户界面,在命令提示符>后面输入recogxxx.jpg后回车执行,该命令将图片上传到服务器的指定目录下,生成临时文件和后期所需要的文件;S8:服务器后台自动对输入图像进行预处理;S9:系统将预处理后的图像与提前训练得到的卷积神经网络模型进行特征匹配,将人脸表情识别结果以文本文件的形式输出;把测试后得到的识别结果及其对应的概率写入指定文件中,然后从该文件读取结果通过TCP/IP协议栈传输给客户端,客户端通过界面上的输出查看结果。优选的,步骤S2中预处理的方法包括:将图库中的彩色图像转换为256个灰度级的灰度图像,将所述灰度图像人脸部分框出,并进行截取与平移,使人脸位居于图像正中央;将所述所有经过平移调整的灰度图像进行大小变换,统一转为256*256像素。优选的,所述深层卷积神经网络采用交叠的池化方式:交替采用最大池化及平均池化。优选的,在所述卷积神经网络中加入了dropout单元,dropout在模型训练时随机地让网络某些隐含层节点的权重不工作。优选的,对于同层的相邻结点的响应进行局部归一化,采用了局部响应归一化层。优选的,深度卷积神经网络训练时,学习率采用“step”的策略,初始学习率为0.0001,每训练6000次,学习率减小0.00001。训练网络最大迭代50000次。一种基于文件传输的人脸表情识别系统,包括客户端和服务器;客户端包括第一主循环程序模块和第一指令处理模块;第一主循环模块等待客户输入指令后送至第一指令处理模块处理,待服务器发回相关回应后显示给客户;第一指令处理模块解析指令并处理指令;客户端与服务器之间通过文件传输模块通信;服务器包括第二主循环模块、第二指令处理模块、图像处理模块和图像识别模块;第二主循环模块等待来自客户端的消息,循环等待嵌套字的输入,读入消息后将其送至第二指令处理模块;第二指令处理模块解析指令并处理指令;第二指令处理模块根据读入的指令进行相应的操作,处理recog指令时,将从文件传输模块获取的客户端传来的待识别的人脸表情图像送至图像处理模块;图像处理模块对文件传输模块送来的人脸表情图像进行图像处理,然后将处理完成的人脸表情图像送至图像识别模块;图像识别模块利用经训练得到的深度卷积神经网络模型和分类器对人脸表情图像进行识别,输出识别表情及其对应的概率,并将结果以文本文件形式存储。优选的,客户端和服务器之间的操作步骤具体为:客户端键入recogxxx.jpg后,阻塞等待来自服务器的结果回显,显示结果后,继续把输入权交给客户的标准输入;键入recogxxx.jpg后,客户端将文件名、文件大小、命令标志等装入包数据结构中发送,等待服务器认证;服务器接收到后进行命令认证,并创建打开图片的服务器端副本和识别结果需要写入的文件,将认证结果发送给客户端;客户端确认认证后开始发送图片,在发送完成后发送表示结束的包告知服务器;服务器接收图片,当收到客户端发来的结束包后停止接收,调用图像处理模块对接收到的图片进行图像增强、图像灰度变换和图像大小变换;服务器将转换后的图片输入到图像识别模块,阻塞等待识别结果写入result.txt文件中;服务器读取result.txt的数据传输给客户端;客户端接收以后将数据输出到屏幕显示;服务器做相关的析构处理,包括删除服务器上的图片、临时文件。优选的,文件传输时采用应用级的二次分包发送,将一个文件分成固定大小的包一部分一部分的读取和发送。优选的,用户通过recog指令完成的步骤:将图片先传到服务器上;程序fork一个子进程调用matlab.sh将图像处理为定义的标准形式并且覆盖原图片,父进程等待子进程结束;程序fork一个子进程调用recognize.sh,通过这个脚本调用深度学习训练的model进行表情识别,将结果写入result.txt中,父进程等待子进程结束;通过套接字读写result.txt把结果显示给客户的屏幕输出;服务器在完成一切后删除客户上传的图片和产生的result.txt以免造成服务器的存储过多。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术采用了更大的数据集来对卷积神经本文档来自技高网
...
一种基于文件传输的人脸表情识别方法及系统

【技术保护点】
一种基于文件传输的人脸表情识别方法,其特征在于,包括以下步骤:训练阶段:S1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情;S2:对整合分类完的人脸表情图库进行预处理;S3:把预处理后的人脸表情图库分为训练集和测试集两部分;将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情;再将训练集与测试集分别转为LMDB格式;S4:将训练集图像用于深度卷积神经网络的训练;S5:将测试集图像用于模型的测试,得到端对端模型;修改上述训练网络,将数据层输入的LMDB类型的数据改为用dim参数描述的数据输入;将原训练网络的输出层Softmax With Loss改为Softmax,训练时输出的是loss,测试时改为输出prob;S6:将表情识别的端对端模型封装成分类器,实现直接输出最终识别的表情类别及其对应的概率;识别阶段:S7:用户上传一张人脸表情图像到文件传输客户端;根据客户端提供的标准用户界面,输入recog命令后回车执行,该命令将图片上传到服务器的指定目录下,生成临时文件和后期所需要的文件;S8:服务器后台自动对输入图像进行预处理;S9:系统将预处理后的图像与提前训练得到的卷积神经网络模型进行特征匹配,将人脸表情识别结果以文本文件的形式输出;把测试后得到的识别结果及其对应的概率写入指定文件中,然后从该文件读取结果通过TCP/IP协议栈传输给客户端,客户端通过界面上的输出查看结果。...

【技术特征摘要】
1.一种基于文件传输的人脸表情识别方法,其特征在于,包括以下步骤:训练阶段:S1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情;S2:对整合分类完的人脸表情图库进行预处理;S3:把预处理后的人脸表情图库分为训练集和测试集两部分;将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情;再将训练集与测试集分别转为LMDB格式;S4:将训练集图像用于深度卷积神经网络的训练;S5:将测试集图像用于模型的测试,得到端对端模型;修改上述训练网络,将数据层输入的LMDB类型的数据改为用dim参数描述的数据输入;将原训练网络的输出层SoftmaxWithLoss改为Softmax,训练时输出的是loss,测试时改为输出prob;S6:将表情识别的端对端模型封装成分类器,实现直接输出最终识别的表情类别及其对应的概率;识别阶段:S7:用户上传一张人脸表情图像到文件传输客户端;根据客户端提供的标准用户界面,输入recog命令后回车执行,该命令将图片上传到服务器的指定目录下,生成临时文件和后期所需要的文件;S8:服务器后台自动对输入图像进行预处理;S9:系统将预处理后的图像与提前训练得到的卷积神经网络模型进行特征匹配,将人脸表情识别结果以文本文件的形式输出;把测试后得到的识别结果及其对应的概率写入指定文件中,然后从该文件读取结果通过TCP/IP协议栈传输给客户端,客户端通过界面上的输出查看结果。2.根据权利要求1所述的基于文件传输的人脸表情识别方法,其特征在于,步骤S2中预处理的方法包括:将图库中的彩色图像转换为256个灰度级的灰度图像,将所述灰度图像人脸部分框出,并进行截取与平移,使人脸位居于图像正中央;将所有经过平移调整的灰度图像进行大小变换,统一转为256*256像素。3.根据权利要求1所述的基于文件传输的人脸表情识别方法,其特征在于,所述深层卷积神经网络采用交叠的池化方式:交替采用最大池化及平均池化。4.根据权利要求1所述的基于文件传输的人脸表情识别方法,其特征在于,在所述深度卷积神经网络中加入了dropout单元,dropout在模型训练时随机地让网络某些隐含层节点的权重不工作。5.根据权利要求1所述的基于文件传输的人脸表情识别方法,其特征在于,深度卷积神经网络中对于同层的相邻结点的响应进行局部归一化,采用了局部响应归一化层。6.根据权利要求1所述的基于文件传输的人脸表情识别方法,其特征在于,深度卷积神经网络训练时,学习率采用“step”的策略,初始学习率为0.0001,每训练6000次,学习率减小0.00001。训练网络最大迭代50000次。7.一种基于文件传输的人脸表情识别系统,其特征在于,包括客户端和服务器;客...

【专利技术属性】
技术研发人员:邓诗雨刘龙至张伟彬李嘉恒林泽宏肖玉可刘梓熙
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1