CN107133578A - 一种基于文件传输的人脸表情识别方法及系统 - Google Patents
一种基于文件传输的人脸表情识别方法及系统 Download PDFInfo
- Publication number
- CN107133578A CN107133578A CN201710257046.5A CN201710257046A CN107133578A CN 107133578 A CN107133578 A CN 107133578A CN 201710257046 A CN201710257046 A CN 201710257046A CN 107133578 A CN107133578 A CN 107133578A
- Authority
- CN
- China
- Prior art keywords
- client
- file
- server
- picture
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
- G06V40/175—Static expression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于文件传输的人脸表情识别方法及系统,包括获取用户上传的人脸表情图像;系统对所述人脸表情图像进行预处理;通过recog指令及已经训练完成的深度神经网络和训练得到的模型对所述预处理后的人脸表情图像进行人脸表情识别与特征匹配;识别结果以文本文件的形式输出,通过文件传输,反馈给用户。本发明应用了文件传输模块,用户使用方便;采用了深度卷积神经网络对人脸表情图像特征提取并分类,可以快速准确的识别出人脸表情,操作简单,稳定可靠。
Description
技术领域
本发明涉及图像处理和机器学习技术领域,特别涉及一种基于文件传输的人脸表情识别方法及系统。
背景技术
人脸表情识别技术是指从给定的人脸表情图像中提取人脸表情特征,并将其归于某类特定的人脸表情。常见的人脸表情类别包括高兴、中性、愤怒、厌恶、悲伤和厌恶等。人脸面部表情识别研究有广泛的应用价值,快速的人脸表情识别有助于分析被识别对象的情绪,能实现智能机器领域机器与人之间带情感的交流。人脸面部表情识别还可应用于互联网兴趣捕捉领域,人脸表情识别是计算机读懂人类感情的前提,高效准确的人脸表情识别有利于计算机针对不同人群推荐音乐、电影和切换主题等。
人脸表情识别技术的关键步骤是表情特征提取,一般先用人脸检测技术来识别人脸,再采用特征提取的方法从检测到的人脸中提取表情特征,将表情特征分类实现人脸表情识别的目的。
近年来深度学习取得了重大进展,以其特殊的算法在图像识别、语音识别和文本理解等领域得到越来越多的应用。深度学习建立了一种新型的模式:以训练数据开始,经过一个端到端的模型,直接输出最终得到的分类结果。
文件传输服务是一种基于互联网协议的C/S架构的分布式软件。当前流行的技术,例如TFTP、FTP已经比较成熟。TFTP是一种基于UDP实现的停止等待协议,通过采用多个端口的形式来提供一定的并发,适合于只读存储器,仅用于无盘系统进行系统引导。FTP是文件传输的Internet标准,基于TCP实现,采取控制连接和数据连接两个连接,FTP标准提供一系列的命令,应答以及传输格式等等,是一个很复杂的处理过程。
虽然目前人脸表情识别领域的研究并不少,但是采用深度的卷积神经网络,并结合文件传输方法作为应用层的研究与实践并不常见,且亟待改善与提高。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于文件传输的人脸表情识别方法,其具有更高的识别精度和更强的鲁棒性。
本发明的另一目的在于提供一种基于文件传输的人脸表情识别系统,使客户能方便快捷地实现人脸表情识别。
本发明的目的通过以下的技术方案实现:
一种基于文件传输的人脸表情识别方法,包括以下步骤:
训练阶段:
S1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情;
S2:对获取整合分类完的人脸表情图库进行预处理;
S3:把预处理后的人脸表情图库分为训练集和测试集两部分;将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情;再将训练集与测试集分别转为LMDB格式;
S4:将训练集图像用于深度卷积神经网络的训练;
S5:将测试集图像用于模型的测试,得到端对端模型;
修改上述训练网络,将数据层输入的LMDB类型的数据改为用dim参数描述的数据输入;将原训练网络的输出层Softmax With Loss改为Softmax,训练时输出的是loss,测试时改为输出prob;
S6:将表情识别的端对端模型封装成分类器,实现直接输出最终识别的表情类别及其对应的概率;
识别阶段:
S7:用户上传一张人脸表情图像到文件传输客户端;
根据客户端提供的标准用户界面,在命令提示符>后面输入recog xxx.jpg后回车执行,该命令将图片上传到服务器的指定目录下,生成临时文件和后期所需要的文件;
S8:服务器后台自动对输入图像进行预处理;
S9:系统将预处理后的图像与提前训练得到的卷积神经网络模型进行特征匹配,将人脸表情识别结果以文本文件的形式输出;
把测试后得到的识别结果及其对应的概率写入指定文件中,然后从该文件读取结果通过TCP/IP协议栈传输给客户端,客户端通过界面上的输出查看结果。
优选的,步骤S2中预处理的方法包括:将图库中的彩色图像转换为256个灰度级的灰度图像,将所述灰度图像人脸部分框出,并进行截取与平移,使人脸位居于图像正中央;将所述所有经过平移调整的灰度图像进行大小变换,统一转为256*256像素。
优选的,所述深层卷积神经网络采用交叠的池化方式:交替采用最大池化及平均池化。
优选的,在所述卷积神经网络中加入了dropout单元,dropout在模型训练时随机地让网络某些隐含层节点的权重不工作。
优选的,对于同层的相邻结点的响应进行局部归一化,采用了局部响应归一化层。
优选的,深度卷积神经网络训练时,学习率采用“step”的策略,初始学习率为0.0001,每训练6000次,学习率减小0.00001。训练网络最大迭代50000次。
一种基于文件传输的人脸表情识别系统,包括客户端和服务器;
客户端包括第一主循环程序模块和第一指令处理模块;第一主循环模块等待客户输入指令后送至第一指令处理模块处理,待服务器发回相关回应后显示给客户;第一指令处理模块解析指令并处理指令;
客户端与服务器之间通过文件传输模块通信;
服务器包括第二主循环模块、第二指令处理模块、图像处理模块和图像识别模块;第二主循环模块等待来自客户端的消息,循环等待嵌套字的输入,读入消息后将其送至第二指令处理模块;第二指令处理模块解析指令并处理指令;第二指令处理模块根据读入的指令进行相应的操作,处理recog指令时,将从文件传输模块获取的客户端传来的待识别的人脸表情图像送至图像处理模块;
图像处理模块对文件传输模块送来的人脸表情图像进行图像处理,然后将处理完成的人脸表情图像送至图像识别模块;图像识别模块利用经训练得到的深度卷积神经网络模型和分类器对人脸表情图像进行识别,输出识别表情及其对应的概率,并将结果以文本文件形式存储。
优选的,客户端和服务器之间的操作步骤具体为:
客户端键入recog xxx.jpg后,阻塞等待来自服务器的结果回显,显示结果后,继续把输入权交给客户的标准输入;
键入recog xxx.jpg后,客户端将文件名、文件大小、命令标志等装入包数据结构中发送,等待服务器认证;
服务器接收到后进行命令认证,并创建打开图片的服务器端副本和识别结果需要写入的文件,将认证结果发送给客户端;
客户端确认认证后开始发送图片,在发送完成后发送表示结束的包告知服务器;
服务器接收图片,当收到客户端发来的结束包后停止接收,调用图像处理模块对接收到的图片进行图像增强、图像灰度变换和图像大小变换;
服务器将转换后的图片输入到图像识别模块,阻塞等待识别结果写入result.txt文件中;
服务器读取result.txt的数据传输给客户端;
客户端接收以后将数据输出到屏幕显示;
服务器做相关的析构处理,包括删除服务器上的图片、临时文件。
优选的,文件传输时采用应用级的二次分包发送,将一个文件分成固定大小的包一部分一部分的读取和发送。
优选的,用户通过recog指令完成的步骤:
将图片先传到服务器上;
程序fork一个子进程调用matlab.sh将图像处理为定义的标准形式并且覆盖原图片,父进程等待子进程结束;
程序fork一个子进程调用recognize.sh,通过这个脚本调用深度学习训练的model进行表情识别,将结果写入result.txt中,父进程等待子进程结束;
通过套接字读写result.txt把结果显示给客户的屏幕输出;
服务器在完成一切后删除客户上传的图片和产生的result.txt以免造成服务器的存储过多。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明采用了更大的数据集来对卷积神经网络训练,使训练得到的模型有更高的识别精度和更强的鲁棒性。
2、本发明所述人脸表情识别系统采用了深层次(共计166层)的卷积神经网络,提供了一种高准确率的人脸表情识别方法。
3、本发明采用的卷积神经网络得到了一种端到端的模型,对于特定输入,通过该模型,可以直接输出得到的最终结果。
4、本发明的文件传输服务是一种只有有限的标准命令,和能适应人脸表情识别系统本身工作的自创命令的C/S软件的文件传输服务模式,所述文件传输服务能为本人脸识别系统正常工作,且不会增加系统额外开销。
5、本发明采用了文件传输的方法,使客户能方便快捷地调用所述人脸表情识别系统。
附图说明
图1是实施例1中人脸表情识别方法的流程图;
图2是MUG数据库及CK+数据库中人脸表情图像的示例;
图3是人脸表情识别系统的设计流程图;
图4是文件传输recog命令的工作流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,一种人脸表情识别方法的具体实施流程,该方法过程详细描述如下:
训练阶段:
步骤1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情。
其中,对人脸表情图库的获取与整合,包括:获取现有人脸表情图库MUG[1]及图库Cohn-Kanade[2],并获取部分人脸图库。剔除数据库中相互差异细微的图像,剔除人眼难以分辨出表情的图像。将所述剔除后的图像进行分类,分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情。
步骤2:对获取整合分类完的人脸表情图库进行预处理。
将图库中的彩色图像转换为256个灰度级的灰度图像,将所述灰度图像人脸部分框出,并进行截取与平移,使人脸位居于图像正中央。将所述所有经过平移调整的灰度图像进行大小变换,统一转为256*256像素。
步骤3:把预处理后的人脸表情图库分为训练集和测试集两部分。
将预处理后的分属六类人脸表情的图库分别抽取1/10作为测试集,其余图像作为训练集。将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情。再将训练集与测试集分别转为LMDB格式。
步骤4:将训练集图像用于深度卷积神经网络(CNN)的训练。
使用带标签的训练数据集进行训练,采用166层深度卷积神经网络,数据位于底层,从底层开始,一层一层向顶层训练。
所述深层卷积神经网络采用交叠的池化方式:交替采用最大池化(max pooling)及平均池化(average pooling);防止由于训练数据较少造成卷积神经网络训练过程中的过拟合现象。在所述卷积神经网络中加入了dropout单元,dropout在模型训练时随机地让网络某些隐含层节点的权重不工作,能有效避免过拟合。
对于同层的相邻结点的响应进行局部归一化,采用了局部响应归一化层(LocalResponse Normalization,LRN)。
最后一个全连接层输出节点数为6个。
学习率采用“step”的策略,初始学习率为0.0001,每训练6000次,学习率减小0.00001。训练网络最大迭代50000次。
步骤5:将测试集图像用于模型的测试,得到端对端模型。
修改上述训练网络,将数据层输入的LMDB类型的数据改为用4个dim参数描述的数据输入。将原训练网络的输出层Softmax With Loss改为Softmax,训练时输出的是loss,测试时改为输出prob。
步骤6:将表情识别的端对端模型封装成分类器,实现直接输出最终识别的表情类别及其对应的概率。
识别阶段:
步骤1:用户上传一张人脸表情图像到文件传输客户端。
根据客户端提供的标准用户界面,在命令提示符>后面输入recog xxx.jpg后回车执行,该命令将图片上传到服务器的指定目录下,生成临时文件和后期所需要的文件。
步骤2:服务器后台自动对输入图像进行预处理,包括:
将用户上传的3通道的彩色图像转为含256个灰度级的灰度图像,框出人脸位置,必要时对图像进行裁剪,经过平移和裁剪使图像的长和高近似相等,并使人脸位居于人脸表情图像的正中央,以确保将图像转为256*256像素图像时不会发生明显形变而影响后续识别。
步骤3:系统将预处理后的图像与提前训练得到的卷积神经网络模型进行特征匹配,将人脸表情识别结果以文本文件的形式输出,并从服务器传回给客户端;
把测试后得到的前三名识别结果及其对应的概率写入指定文件中,然后从该文件读取结果通过TCP/IP协议栈传输给客户端,客户端通过界面上的输出查看结果。
人脸表情识别结果以文本文件形式输出,其输出结果包括:文件头显示所识别人脸表情图像文件名,正文部分显示经过深度卷积神经网络识别结果前三名的表情类型及其对应的概率值。
经测试,在所述MUG数据集与CK+数据集上,本实施例方法的人脸表情识别准确率达到了90%以上,如下表所示:
愤怒 | 悲伤 | 惊恐 | 厌恶 | 中性 | 开心 | |
愤怒 | 0.9077 | 0.0301 | 0.0001 | 0.0348 | 0.0272 | 0.0000 |
悲伤 | 0.0167 | 0.9061 | 0.0149 | 0.0001 | 0.0622 | 0.0001 |
惊恐 | 0.0000 | 0.0011 | 0.9214 | 0.0000 | 0.0775 | 0.0000 |
厌恶 | 0.0382 | 0.0001 | 0.0005 | 0.9607 | 0.0004 | 0.0001 |
中性 | 0.0005 | 0.0004 | 0.0887 | 0.0006 | 0.9070 | 0.0028 |
开心 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 1.0000 |
实施例2
一种基于文件传输的人脸表情识别系统,包括客户端和服务器;
客户端包括主循环程序模块和指令处理模块;主循环模块的功能是等待客户输入指令后送至指令处理模块处理,待服务器发回相关回应后显示给客户;指令处理模块的功能是解析指令并处理指令。如图3所示,客户端工作时一直循环检测阻塞,等待用户命令,一旦检测到用户的命令,则立即从stdin中读入命令,根据stdin中的命令与服务器端进行相关的交互。
客户端与服务器的公共模块是文件传输模块,该模块是一个用于客户端与服务器之间发送和接收文件,实现服务器与客户端之间的通信的模块。
服务器端包含四个程序模块:主循环模块、指令处理模块、图像处理模块和图像识别模块。
服务器端的主循环模块用于等待来自客户端的消息,循环等待嵌套字的输入。读入消息后将其送至指令处理模块。与客户端类似的,服务器端的指令处理模块用于解析指令并处理指令。指令处理模块根据读入的指令进行相应的操作,处理recog指令时,将从文件传输模块获取的客户端传来的待识别的人脸表情图像送至图像处理模块。
图像处理模块对文件传输模块送来的人脸表情图像进行图像处理,将原本彩色的图像转为灰色图像,再将图像大小转为256*256像素。图像处理模块将处理完成的人脸表情图像送至图像识别模块。
图像识别模块利用了经训练得到的深度卷积神经网络模型和分类器对图像处理模块处理完毕后送来的人脸表情图像进行识别,输出识别出最近似的三种表情及其对应的概率,并将结果以文本文件形式存储。
下面对具体工作流程进行说明:
服务器端工作时先做监听准备,再循环等待套接字的输入,根据与客户端的相关交互接收命令并解析,确认命令并回应客户开始执行,执行开始后根据指定的命令做出下一步处理,处理完毕后,再返回等待套接字的输入。具体的,如图4:
客户键入recog xxx.jpg(CRLF)后,阻塞等待来自服务器的结果回显,显示结果后,继续把输入权交给客户的标准输入;
键入recog xxx.jpg(CRLF)后,客户将文件名、文件大小、命令标志等装入包数据结构中发送,等待服务器认证;
服务器接收到后进行命令认证,并创建打开图片的服务器端副本和识别结果需要写入的文件,将认证结果发送给客户;
客户确认认证后开始发送图片,采用固定包的大小分包发送,在发送完成后发送表示结束的包告知服务器;
服务器接收图片,当收到客户发来的结束包后停止接收,调用图像处理模块将接收到的图片转为固定大小的灰度图;
服务器将转换后的图片输入到图像识别模块,阻塞等待识别结果写入result.txt文件中;
服务器读取result.txt的数据传输给客户端;
客户端接收以后将数据输出到屏幕显示;
服务器做相关的析构处理,包括删除服务器上的图片、临时文件等。
使用标准的FTP并不能适应本实施例系统的整体功能,必须创造独特的命令进行相关的改动;而且FTP内部含有众多复杂的机制和多余的命令本实施例系统难以使用,会无端增大系统本身而毫无作用,所以只提取相关需要的命令实现轻量级的即可。
在本实施例中,所述客户端不限用于某种特定的终端设备,只要是安装Linux操作系统的终端均可适用于本实施例。用户通过给定安装包安装所述文件传输客户端,并获取特定的IP地址,以将用户终端与服务器相连,至此,用户即可通过recog指令将需识别的人脸表情图像上传至服务器。
本实施例的文件传输服务是一种只有有限的标准命令,和能适应本实施例方法本身工作的自创命令的C/S软件的文件传输服务模式。
第一方面,这个服务提供给客户一个清晰的交互形式,使得客户明白自己当前的传输状态和相关结果。
第二方面,这个基于C/S架构的服务提供了一些已有的简单命令的重新实现,并对其内部实现机制进行了一些改变。所述命令包括:
从服务器下载:>get xxx.jpg;
向服务器上传:>put xxx.jpg;
一次性下载多个文件,而且支持通配符:>mget/mgetwild…;
一次性上传多个文件,而且支持通配符:>mput/mputwild…;
获取服务器的当前位置:>pwd;
获取客户自己的当前位置:>lpwd;
在服务器上新建目录:>mkdir xxx;
客户自己新建目录:>lmkdir xxx;
进入服务器xxx目录:>cd xxx;
进入客户自己xxx目录:>lcd xxx;
列出服务器当前目录下所有文件:>ls xxx;
列出客户当前目录下所有文件:>lls xx;
退出:>exit;
第三方面,为了适用于整个系统的工作,创造了表情识别的专属命令>recogxxx.jpg。
关于技术:
(1)使用Posix网络编程,基于TCP/IP进行相关的开发。
(2)采用仿交互式的确认机制。
比如put命令,先向服务器发送该命令和欲上传的文件的名字等信息,等待服务器确认建立了该文件的副本和确认命令正确后,发给客户验证,客户验证信息正确和准备就绪后才开始传输文件,传输完成后发送一个标志通告服务器结束本次传输。这种形式虽然比较缓慢,但是可以提高准确性和安全性。
文件传输时采用应用级的二次分包发送。将一个文件分成固定大小的包一部分一部分的读取和发送,这样可以优化由于文件太大对于用户级缓冲区造成的溢出可能以及TCP本身流量控制导致的给服务器套接字接受缓冲区导致的压力。
下面描述关于recog命令(用于表情识别)及其在本实施例中的具体应用。
用户可以通过>recog xxx.jpg将xxx.jpg上传到服务器后,服务器自动进行相关的图像处理,包括:图像增强、图像灰度变换和图像大小变换;再调用数据集对深度卷积神经网络训练得出来的model对用户上传的图片进行识别;识别完成后,系统通过重定向将结果以文本文件(.txt)格式返回给客户界面显示。
下面描述关于recog的实现细节:
通过类似于put命令的流程将图片先传到服务器上;
程序fork一个子进程调用matlab.sh将图像处理为定义的标准形式并且覆盖原图片,父进程等待子进程结束;
程序fork一个子进程调用recognize.sh,通过这个脚本调用深度学习训练的model进行表情识别,将结果写入result.txt中,父进程等待子进程结束;
通过套接字读写result.txt把结果显示给客户的屏幕输出;
服务器在完成一切后删除客户上传的图片和产生的result.txt以免造成服务器的存储过多。
参考文献:
[1]N.Aifanti,C.Papachristou and A.Delopoulos,The MUG FacialExpression Database,in proc.11th Int.Workshop onImage Analysis for MultimediaInteractive Services(WALMIS),Desenzano,Italy,April 12-14 2010.
[2]Lucey,P.,Cohn,J.F.,Kanade,T.,Saragih,J.,Ambadar,Z.,&Matthews,I.(2010).The Extended Cohn-Kanade Dataset(CK+):A complete expression datasetfor action unit and emotion-specified expression.Proceedings of the ThirdInternational Workshop on CVPR for Human Communicative Behavior Analysis(CVPR4HB 2010),San Francisco,USA,94-101.
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于文件传输的人脸表情识别方法,其特征在于,包括以下步骤:
训练阶段:
S1:获取并整合人脸表情图库,将所述人脸表情数据库分为开心、中性、愤怒、悲伤、惊恐和厌恶这六类表情;
S2:对整合分类完的人脸表情图库进行预处理;
S3:把预处理后的人脸表情图库分为训练集和测试集两部分;将分类好的训练集和测试集分别提取文件名,并分别标记为0~5,分别代表上述六类表情;再将训练集与测试集分别转为LMDB格式;
S4:将训练集图像用于深度卷积神经网络的训练;
S5:将测试集图像用于模型的测试,得到端对端模型;
修改上述训练网络,将数据层输入的LMDB类型的数据改为用dim参数描述的数据输入;将原训练网络的输出层Softmax With Loss改为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.一种基于文件传输的人脸表情识别系统,其特征在于,包括客户端和服务器;
客户端包括第一主循环程序模块和第一指令处理模块;第一主循环模块等待客户输入指令后送至第一指令处理模块处理,待服务器发回相关回应后显示给客户;第一指令处理模块解析指令并处理指令;
客户端与服务器之间通过文件传输模块通信;
服务器包括第二主循环模块、第二指令处理模块、图像处理模块和图像识别模块;第二主循环模块等待来自客户端的消息,循环等待嵌套字的输入,读入消息后将其送至第二指令处理模块;第二指令处理模块解析指令并处理指令;第二指令处理模块根据读入的指令进行相应的操作,处理recog指令时,将从文件传输模块获取的客户端传来的待识别的人脸表情图像送至图像处理模块;
图像处理模块对文件传输模块送来的人脸表情图像进行图像处理,然后将处理完成的人脸表情图像送至图像识别模块;图像识别模块利用经训练得到的深度卷积神经网络模型和分类器对人脸表情图像进行识别,输出识别表情及其对应的概率,并将结果以文本文件形式存储。
8.根据权利要求7所述的基于文件传输的人脸表情识别系统,其特征在于,客户端和服务器之间的操作步骤具体为:
客户端键入recog xxx.jpg后,阻塞等待来自服务器的结果回显,显示结果后,继续把输入权交给客户端的标准输入;
键入recog xxx.jpg后,客户端将文件名、文件大小、命令标志等装入包数据结构中发送,等待服务器认证;
服务器接收到后进行命令认证,并创建打开图片的服务器端副本和识别结果需要写入的文件,将认证结果发送给客户端;
客户端确认认证后开始发送图片,在发送完成后发送表示结束的包告知服务器;
服务器接收图片,当收到客户端发来的结束包后停止接收,调用图像处理模块对接收到的图片进行转换;
服务器将转换后的图片输入到图像识别模块,阻塞等待识别结果写入result.txt文件中;
服务器读取result.txt的数据传输给客户端;
客户端接收以后将数据输出到屏幕显示;
服务器做相关的析构处理,包括删除服务器上的图片、临时文件。
9.根据权利要求8所述的基于文件传输的人脸表情识别系统,其特征在于,文件传输时采用应用级的二次分包发送,将一个文件分成固定大小的包一部分一部分的读取和发送。
10.根据权利要求7所述的基于文件传输的人脸表情识别系统,其特征在于,recog指令完成的步骤:
将图片先传到服务器上;
程序fork一个子进程调用matlab.sh将图像处理为定义的标准形式并且覆盖原图片,父进程等待子进程结束;
程序fork一个子进程调用recognize.sh,通过这个脚本调用深度学习训练的model进行表情识别,将结果写入result.txt中,父进程等待子进程结束;
通过套接字读写result.txt把结果显示给客户的屏幕输出;
服务器在完成一切后删除客户上传的图片和产生的result.txt以免造成服务器的存储过多。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710257046.5A CN107133578B (zh) | 2017-04-19 | 2017-04-19 | 一种基于文件传输的人脸表情识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710257046.5A CN107133578B (zh) | 2017-04-19 | 2017-04-19 | 一种基于文件传输的人脸表情识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107133578A true CN107133578A (zh) | 2017-09-05 |
CN107133578B CN107133578B (zh) | 2020-05-22 |
Family
ID=59716807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710257046.5A Expired - Fee Related CN107133578B (zh) | 2017-04-19 | 2017-04-19 | 一种基于文件传输的人脸表情识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133578B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609519A (zh) * | 2017-09-15 | 2018-01-19 | 维沃移动通信有限公司 | 一种人脸特征点的定位方法及装置 |
CN107742117A (zh) * | 2017-11-15 | 2018-02-27 | 北京工业大学 | 一种基于端到端模型的人脸表情识别方法 |
CN108460812A (zh) * | 2018-04-04 | 2018-08-28 | 北京红云智胜科技有限公司 | 一种基于深度学习的表情包生成系统及方法 |
CN108647625A (zh) * | 2018-05-04 | 2018-10-12 | 北京邮电大学 | 一种表情识别方法及装置 |
CN108830276A (zh) * | 2018-07-02 | 2018-11-16 | 合肥格泉智能科技有限公司 | 一种基于x光机图像的智能识别系统 |
CN109492698A (zh) * | 2018-11-20 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 一种模型训练的方法、对象检测的方法以及相关装置 |
CN109543569A (zh) * | 2018-11-06 | 2019-03-29 | 深圳绿米联创科技有限公司 | 目标识别方法、装置、视觉传感器及智能家居系统 |
CN111126244A (zh) * | 2019-12-20 | 2020-05-08 | 南京邮电大学 | 一种基于脸部表情的安全认证系统及方法 |
CN112149564A (zh) * | 2020-09-23 | 2020-12-29 | 上海交通大学烟台信息技术研究院 | 一种基于小样本学习的面容分类识别系统 |
CN113469950A (zh) * | 2021-06-08 | 2021-10-01 | 海南电网有限责任公司电力科学研究院 | 一种基于深度学习的复合绝缘子异常发热缺陷的诊断方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447021A (zh) * | 2008-12-30 | 2009-06-03 | 爱德威软件开发(上海)有限公司 | 人脸快速识别系统及其识别方法 |
CN103488293A (zh) * | 2013-09-12 | 2014-01-01 | 北京航空航天大学 | 一种基于表情识别的人机情感交互系统及方法 |
CN104408469A (zh) * | 2014-11-28 | 2015-03-11 | 武汉大学 | 基于图像深度学习的烟火识别方法及系统 |
CN105447473A (zh) * | 2015-12-14 | 2016-03-30 | 江苏大学 | 一种基于PCANet-CNN的任意姿态人脸表情识别方法 |
CN105512624A (zh) * | 2015-12-01 | 2016-04-20 | 天津中科智能识别产业技术研究院有限公司 | 一种人脸图像的笑脸识别方法及其装置 |
CN105590102A (zh) * | 2015-12-30 | 2016-05-18 | 中通服公众信息产业股份有限公司 | 一种基于深度学习的前车车脸识别方法 |
CN105610836A (zh) * | 2015-12-31 | 2016-05-25 | 浙江省公众信息产业有限公司 | 一种数据传输的方法及系统 |
CN106228177A (zh) * | 2016-06-30 | 2016-12-14 | 浙江大学 | 基于卷积神经网络的日常生活物体图像识别方法 |
-
2017
- 2017-04-19 CN CN201710257046.5A patent/CN107133578B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447021A (zh) * | 2008-12-30 | 2009-06-03 | 爱德威软件开发(上海)有限公司 | 人脸快速识别系统及其识别方法 |
CN103488293A (zh) * | 2013-09-12 | 2014-01-01 | 北京航空航天大学 | 一种基于表情识别的人机情感交互系统及方法 |
CN104408469A (zh) * | 2014-11-28 | 2015-03-11 | 武汉大学 | 基于图像深度学习的烟火识别方法及系统 |
CN105512624A (zh) * | 2015-12-01 | 2016-04-20 | 天津中科智能识别产业技术研究院有限公司 | 一种人脸图像的笑脸识别方法及其装置 |
CN105447473A (zh) * | 2015-12-14 | 2016-03-30 | 江苏大学 | 一种基于PCANet-CNN的任意姿态人脸表情识别方法 |
CN105590102A (zh) * | 2015-12-30 | 2016-05-18 | 中通服公众信息产业股份有限公司 | 一种基于深度学习的前车车脸识别方法 |
CN105610836A (zh) * | 2015-12-31 | 2016-05-25 | 浙江省公众信息产业有限公司 | 一种数据传输的方法及系统 |
CN106228177A (zh) * | 2016-06-30 | 2016-12-14 | 浙江大学 | 基于卷积神经网络的日常生活物体图像识别方法 |
Non-Patent Citations (1)
Title |
---|
陈向震: "《基于深度学习的人脸表情识别算法研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609519A (zh) * | 2017-09-15 | 2018-01-19 | 维沃移动通信有限公司 | 一种人脸特征点的定位方法及装置 |
CN107609519B (zh) * | 2017-09-15 | 2019-01-22 | 维沃移动通信有限公司 | 一种人脸特征点的定位方法及装置 |
CN107742117A (zh) * | 2017-11-15 | 2018-02-27 | 北京工业大学 | 一种基于端到端模型的人脸表情识别方法 |
CN108460812A (zh) * | 2018-04-04 | 2018-08-28 | 北京红云智胜科技有限公司 | 一种基于深度学习的表情包生成系统及方法 |
CN108647625A (zh) * | 2018-05-04 | 2018-10-12 | 北京邮电大学 | 一种表情识别方法及装置 |
CN108830276A (zh) * | 2018-07-02 | 2018-11-16 | 合肥格泉智能科技有限公司 | 一种基于x光机图像的智能识别系统 |
CN109543569A (zh) * | 2018-11-06 | 2019-03-29 | 深圳绿米联创科技有限公司 | 目标识别方法、装置、视觉传感器及智能家居系统 |
CN109492698A (zh) * | 2018-11-20 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 一种模型训练的方法、对象检测的方法以及相关装置 |
CN111126244A (zh) * | 2019-12-20 | 2020-05-08 | 南京邮电大学 | 一种基于脸部表情的安全认证系统及方法 |
CN112149564A (zh) * | 2020-09-23 | 2020-12-29 | 上海交通大学烟台信息技术研究院 | 一种基于小样本学习的面容分类识别系统 |
CN112149564B (zh) * | 2020-09-23 | 2023-01-10 | 上海交通大学烟台信息技术研究院 | 一种基于小样本学习的面容分类识别系统 |
CN113469950A (zh) * | 2021-06-08 | 2021-10-01 | 海南电网有限责任公司电力科学研究院 | 一种基于深度学习的复合绝缘子异常发热缺陷的诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107133578B (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133578A (zh) | 一种基于文件传输的人脸表情识别方法及系统 | |
WO2019154262A1 (zh) | 一种图像分类方法及服务器、用户终端、存储介质 | |
CN109831572A (zh) | 聊天图片控制方法、装置、计算机设备及存储介质 | |
CN109587554A (zh) | 视频数据的处理方法、装置及可读存储介质 | |
CN106599925A (zh) | 一种基于深度学习的植物叶片识别系统与方法 | |
CN107430703A (zh) | 对细调特征的顺序图像采样和存储 | |
CN102891978B (zh) | 图像处理方法和终端 | |
KR20180054407A (ko) | 로봇 시스템 | |
CN105931633A (zh) | 语音识别的方法及系统 | |
CN109271533A (zh) | 一种多媒体文件检索方法 | |
CN110265013A (zh) | 语音的识别方法及装置、计算机设备、存储介质 | |
CN110033018A (zh) | 图形相似度判断方法、装置及计算机可读存储介质 | |
WO2021184026A1 (en) | Audio-visual fusion with cross-modal attention for video action recognition | |
CN108734212A (zh) | 一种确定分类结果的方法以及相关装置 | |
CN109711443A (zh) | 基于神经网络的户型图识别方法、装置、设备及存储介质 | |
CN107944398A (zh) | 基于深度特征联合表示图像集人脸识别方法、装置和介质 | |
WO2023101679A1 (en) | Text-image cross-modal retrieval based on virtual word expansion | |
CN106126067B (zh) | 一种触发增强现实功能开启的方法、装置及移动终端 | |
CN114331512A (zh) | 一种可视化数据建模及大数据画像的方法 | |
CN109801224A (zh) | 一种图片处理方法、装置、服务器和存储介质 | |
CN112989177B (zh) | 信息处理方法、装置、电子设备及计算机存储介质 | |
CN110517672A (zh) | 用户意图识别方法、用户指令执行方法、系统及设备 | |
CN109167913A (zh) | 一种语言学习型相机 | |
CN114419611A (zh) | 实时简讯机器人系统及自动侦测数字影像中文字行的方法 | |
CN108197680A (zh) | 一种产品测试方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200522 |