﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-风雨</title><link>http://www.cppblog.com/zgm/</link><description>蓦然回首 却在灯火阑珊处</description><language>zh-cn</language><lastBuildDate>Mon, 06 Apr 2026 22:29:52 GMT</lastBuildDate><pubDate>Mon, 06 Apr 2026 22:29:52 GMT</pubDate><ttl>60</ttl><item><title>[转载]  人脸表情识别综述</title><link>http://www.cppblog.com/zgm/archive/2010/05/11/115085.html</link><dc:creator>zgm</dc:creator><author>zgm</author><pubDate>Tue, 11 May 2010 02:57:00 GMT</pubDate><guid>http://www.cppblog.com/zgm/archive/2010/05/11/115085.html</guid><wfw:comment>http://www.cppblog.com/zgm/comments/115085.html</wfw:comment><comments>http://www.cppblog.com/zgm/archive/2010/05/11/115085.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/zgm/comments/commentRss/115085.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgm/services/trackbacks/115085.html</trackback:ping><description><![CDATA[&nbsp;<span style="FONT-FAMILY: 宋体">一、人脸表情识别技术目前<span style="COLOR: red">主要的应用领域</span>包括人机交互、安全、机器人制造、医疗、通信和汽车领域等</span>
<p>&nbsp;<span style="FONT-FAMILY: 宋体">二、</span><span style="COLOR: black">1971</span><span style="FONT-FAMILY: 宋体; COLOR: black">年，心理学家</span><span style="COLOR: black">Ekman</span><span style="FONT-FAMILY: 宋体; COLOR: black">与</span><span style="COLOR: black">Friesen</span><span style="FONT-FAMILY: 宋体; COLOR: black">的研究最早提出人类有</span><span style="FONT-FAMILY: 宋体; COLOR: red">六种主要情感</span><span style="FONT-FAMILY: 宋体; COLOR: black">，每种情感以唯一的表情来反映人的一种独特的心理活动。这六种情感被称为基本情感，由</span><span style="FONT-FAMILY: 宋体; COLOR: red">愤怒（</span><span style="COLOR: red">anger</span><span style="FONT-FAMILY: 宋体; COLOR: red">）、高兴</span><span style="COLOR: red">(happiness)</span><span style="FONT-FAMILY: 宋体; COLOR: red">、悲伤</span><span style="COLOR: red"> (sadness)</span><span style="FONT-FAMILY: 宋体; COLOR: red">、惊讶</span><span style="COLOR: red">(surprise)</span><span style="FONT-FAMILY: 宋体; COLOR: red">、厌恶</span><span style="COLOR: red">(disgust)</span><span style="FONT-FAMILY: 宋体; COLOR: red">和恐惧</span><span style="COLOR: red">(fear)</span><span style="FONT-FAMILY: 宋体; COLOR: black">组成</span></p>
<p style="TEXT-INDENT: 5.25pt"><span style="COLOR: black">&nbsp;</span><span style="FONT-FAMILY: 宋体; COLOR: red">人脸面部表情运动的描述方法</span><span style="COLOR: black">---</span><strong><span style="FONT-FAMILY: 宋体; COLOR: black">人脸运动编码系统</span></strong><strong><span style="COLOR: black">FACS (Facial Action Coding System)</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">，根据面部肌肉的类型和运动特征定义了</span><span style="FONT-FAMILY: 宋体; COLOR: red">基本形变单元</span><span style="COLOR: black">AU</span><span style="FONT-FAMILY: 宋体; COLOR: black">（</span><span style="COLOR: black">Action Unit</span><span style="FONT-FAMILY: 宋体; COLOR: black">），人脸面部的各种表情最终能分解对应到各个</span><span style="COLOR: black">AU</span><span style="FONT-FAMILY: 宋体; COLOR: black">上来，分析表情特征信息，就是分析面部</span><span style="COLOR: black">AU</span><span style="FONT-FAMILY: 宋体; COLOR: black">的变化情况</span></p>
<p style="TEXT-INDENT: 5.25pt"><span style="COLOR: black">&nbsp;</span><span style="COLOR: red">FACS</span><span style="FONT-FAMILY: 宋体; COLOR: red">有两个主要弱点</span><span style="FONT-FAMILY: 宋体; COLOR: black">：</span><span style="COLOR: black">1.</span><span style="FONT-FAMILY: 宋体; COLOR: black">运动单元是纯粹的</span><span style="FONT-FAMILY: 宋体; COLOR: red">局部化</span><span style="FONT-FAMILY: 宋体; COLOR: black">的空间模板；</span><span style="COLOR: black">2.</span><span style="FONT-FAMILY: 宋体; COLOR: red">没有时间描述信息</span><span style="FONT-FAMILY: 宋体; COLOR: black">，只是一个启发式信息</span></p>
<p><span style="FONT-FAMILY: 宋体">三、</span><span style="FONT-FAMILY: 宋体; COLOR: black; FONT-SIZE: 11.5pt">人脸表情识别的过程和方法</span></p>
<p><strong><span style="COLOR: black">1</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">、表情库的建立：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">目前，研究中比较常用的表情库主要有</span><span style="COLOR: red">:</span><span style="FONT-FAMILY: 宋体; COLOR: red">美国</span><span style="COLOR: black">CMU</span><span style="FONT-FAMILY: 宋体; COLOR: black">机器人研究所和心理学系共同建立的</span><span style="COLOR: black">Cohn-Kanade AU-Coded Facial Expression Image Database(</span><span style="FONT-FAMILY: 宋体; COLOR: black">简称</span><span style="COLOR: black">CKACFEID)</span><span style="FONT-FAMILY: 宋体; COLOR: black">人脸表情数据库</span><span style="COLOR: black">;</span><span style="FONT-FAMILY: 宋体; COLOR: black">日本</span><span style="COLOR: black">ATR</span><span style="FONT-FAMILY: 宋体; COLOR: black">建立的</span><span style="FONT-FAMILY: 宋体; COLOR: red">日本女性表情数据库</span><span style="COLOR: black">(JAFFE)</span><span style="FONT-FAMILY: 宋体; COLOR: black">，它是研究亚洲人表情的重要测试库</span></p>
<p><strong><span style="COLOR: black">2</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">、表情识别</span></strong><strong><span style="COLOR: black">:</span></strong></p>
<p align=left><span style="FONT-FAMILY: 宋体; COLOR: red">（1）图像获取</span><span style="FONT-FAMILY: 宋体; COLOR: black">:</span><span style="FONT-FAMILY: 宋体; COLOR: black">通过摄像头等图像捕捉工具获取</span><span style="FONT-FAMILY: 宋体; COLOR: red">静态图像或动态图像序列</span><span style="FONT-FAMILY: 宋体; COLOR: black">。&nbsp;</span>&nbsp;</p>
<p align=left><span style="FONT-FAMILY: 宋体; COLOR: red">（2）图像预处理</span><span style="FONT-FAMILY: 宋体; COLOR: black">:</span><span style="FONT-FAMILY: 宋体; COLOR: black">图像的大小和灰度的</span><span style="FONT-FAMILY: 宋体; COLOR: red">归一化</span><span style="FONT-FAMILY: 宋体; COLOR: black">，头部姿态的矫正，图像分割等。</span></p>
<p align=left><span style="FONT-FAMILY: Wingdings; COLOR: black">&#232;</span><span style="FONT-FAMILY: 宋体; COLOR: black">目的:</span><span style="FONT-FAMILY: 宋体; COLOR: black">改善图像质量，消除噪声，统一图像灰度值及尺寸，为后序特征提取和分类识别打好基础</span></p>
<p align=left><span style="FONT-FAMILY: 宋体; COLOR: black">主要工作</span><span style="FONT-FAMILY: Wingdings; COLOR: black">&#232;</span><span style="FONT-FAMILY: 宋体; COLOR: black">人脸表情识别子区域的分割以及表情图像的归一化处理</span><span style="COLOR: black">(</span><span style="FONT-FAMILY: 宋体; COLOR: black">尺度归一和灰度归一</span><span style="COLOR: black">)</span>&nbsp;</p>
<p align=left><strong><span style="FONT-FAMILY: 宋体; COLOR: red">（3）特征提取</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">:</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">将点阵转化成更高级别图像表述</span><span style="COLOR: black">—</span><span style="FONT-FAMILY: 宋体; COLOR: black">如形状、运动、颜色、纹理、空间结构等,</span> <span style="FONT-FAMILY: 宋体; COLOR: black">在尽可能保证稳定性和识别率的前提下，对庞大的图像数据进行</span><span style="FONT-FAMILY: 宋体; COLOR: red">降维处理</span><span style="FONT-FAMILY: 宋体; COLOR: black">。 </span></p>
<p><span style="FONT-FAMILY: Wingdings">&#232;</span><span style="FONT-FAMILY: 宋体; COLOR: black">特征提取的主要方法有：提取几何特征、统计特征、频率域特征和运动特征等</span></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体">1</span></strong><strong><span style="FONT-FAMILY: 宋体">）</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">采用几何特征进行特征提取</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">主要是对</span><span style="FONT-FAMILY: 宋体; COLOR: red">人脸表情的显著特征</span><span style="COLOR: black">,</span><span style="FONT-FAMILY: 宋体; COLOR: black">如眼睛、眉毛、嘴巴等的位置变化进行定位、测量</span><span style="COLOR: black">,</span><span style="FONT-FAMILY: 宋体; COLOR: black">确定其大小、距离、形状及相互比例等特征</span><span style="COLOR: black">,</span><span style="FONT-FAMILY: 宋体; COLOR: black">进行表情识别</span><strong></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体; COLOR: black">优点：减少了输入数据量</span></strong><strong></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体; COLOR: black">缺点：丢失了一些重要的识别和分类信息，结果的精确性不高</span></strong><strong>&nbsp;</strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="COLOR: black">2</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">）基于整体统计特征的方法</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">主要强调</span><span style="FONT-FAMILY: 宋体; COLOR: red">尽可能多的保留原始人脸表情图像中的信息</span><span style="COLOR: red">,</span><span style="FONT-FAMILY: 宋体; COLOR: red">并允许分类器发现表情图像中相关特征</span><span style="COLOR: black">,</span><span style="FONT-FAMILY: 宋体; COLOR: black">通过对整幅人脸表情图像进行变换</span><span style="COLOR: black">,</span><span style="FONT-FAMILY: 宋体; COLOR: black">获取特征进行识别。</span><strong></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体; COLOR: black">主要方法：</span></strong><strong><span style="COLOR: black">PCA</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">和</span></strong><strong><span style="COLOR: black">ICA</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">（独立主元分析）</span></strong><strong></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体">PCA</span></strong><strong><span style="FONT-FAMILY: Wingdings">&#232;</span></strong><span style="FONT-FAMILY: 宋体">用</span><span style="FONT-FAMILY: 宋体; COLOR: black">一个</span><span style="FONT-FAMILY: 宋体; COLOR: red">正交维数空间</span><span style="FONT-FAMILY: 宋体; COLOR: black">来说明数据变化的主要方向</span> <span style="FONT-FAMILY: 宋体; COLOR: black">优点：具有较好的可重建性</span> <span style="FONT-FAMILY: 宋体; COLOR: black">缺点：可分性较差</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">ICA</span><span style="FONT-FAMILY: Wingdings; COLOR: black">&#232;</span><span style="FONT-FAMILY: 宋体; COLOR: black">可以获取数据的独立成份，具有很好的可分性</span></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体; COLOR: black">基于图像整体统计特征的提取方法缺点：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: red">外来因素的干扰（光照、角度、复杂背景等）</span><span style="FONT-FAMILY: 宋体; COLOR: black">将导致识别率下降</span></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体">3</span></strong><strong><span style="FONT-FAMILY: 宋体">）基于频率域特征提取:</span></strong> <span style="FONT-FAMILY: 宋体; COLOR: black">是将图像从</span><span style="FONT-FAMILY: 宋体; COLOR: red">空间域</span><span style="FONT-FAMILY: 宋体; COLOR: black">转换到</span><span style="FONT-FAMILY: 宋体; COLOR: red">频率域</span><span style="FONT-FAMILY: 宋体; COLOR: black">提取其特征（较低层次的特征）</span><strong></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体">&nbsp;</span></strong><strong><span style="FONT-FAMILY: 宋体">主要方法：Gabor小波变换</span></strong></p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="FONT-FAMILY: 宋体">&nbsp;</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">小波变换能够通过</span><span style="FONT-FAMILY: 宋体; COLOR: red">定义不同的核频率、带宽和方向</span><span style="FONT-FAMILY: 宋体; COLOR: black">对图像进行</span><span style="FONT-FAMILY: 宋体; COLOR: red">多分辨率分析</span><span style="FONT-FAMILY: 宋体; COLOR: black">，能有效提取</span><span style="FONT-FAMILY: 宋体; COLOR: red">不同方向不同细节程度</span><span style="FONT-FAMILY: 宋体; COLOR: black">的图像特征并相对稳定，但作为低层次的特征，不易直接用于匹配和识别，常与</span><span style="COLOR: red">ANN </span><span style="FONT-FAMILY: 宋体; COLOR: red">或</span><span style="COLOR: red">SVM </span><span style="FONT-FAMILY: 宋体; COLOR: red">分类器</span><span style="FONT-FAMILY: 宋体; COLOR: black">结合使用，提高表情识别的准确率。</span>&nbsp;</p>
<p style="TEXT-INDENT: 10.35pt"><strong><span style="COLOR: black">4</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">）基于运动特征的提取：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">提取动态图像序列的运动特征（今后研究的重点）</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">&nbsp;</span><span style="FONT-FAMILY: 宋体; COLOR: black">主要方法：光流法</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">&nbsp;</span><strong><span style="FONT-FAMILY: 宋体; COLOR: red">光流</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">是指</span><span style="FONT-FAMILY: 宋体; COLOR: red">亮度模式引起的表观运动</span><span style="FONT-FAMILY: 宋体; COLOR: black">，是景物中可见点的</span><span style="FONT-FAMILY: 宋体; COLOR: red">三维速度矢量</span><span style="FONT-FAMILY: 宋体; COLOR: black">在成像平面上的</span><span style="FONT-FAMILY: 宋体; COLOR: red">投影，</span><span style="FONT-FAMILY: 宋体; COLOR: black">它表示景物表面上的点在图像中位置的</span><span style="FONT-FAMILY: 宋体; COLOR: red">瞬时变化</span><span style="FONT-FAMILY: 宋体; COLOR: black">，同时光流场携带了有关运动和结构的丰富信息</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">&nbsp;</span><strong><span style="FONT-FAMILY: 宋体; COLOR: red">光流模型</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">是处理运动图像的有效方法，其基本思想是将</span><span style="FONT-FAMILY: 宋体; COLOR: red">运动图像函数</span><span style="COLOR: black">f (x, y,t)</span><span style="FONT-FAMILY: 宋体; COLOR: black">作为基本函数，根据</span><span style="FONT-FAMILY: 宋体; COLOR: red">图像强度守恒原理</span><span style="FONT-FAMILY: 宋体; COLOR: black">建立</span><span style="FONT-FAMILY: 宋体; COLOR: red">光流约束方程</span><span style="FONT-FAMILY: 宋体; COLOR: black">，通过求解约束方程，计算</span><span style="FONT-FAMILY: 宋体; COLOR: red">运动参数</span><span style="FONT-FAMILY: 宋体; COLOR: black">。</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">&nbsp;</span><span style="FONT-FAMILY: 宋体; COLOR: black">优点：反映了表情变化的实质，受光照不均性影响较小</span></p>
<p style="TEXT-INDENT: 10.3pt"><span style="COLOR: black">&nbsp;</span><span style="FONT-FAMILY: 宋体; COLOR: black">缺点：计算量大</span>&nbsp;</p>
<p><strong><span style="FONT-FAMILY: 宋体; COLOR: red">（4）分类判别</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">:</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">包括设计和分类决策</span></strong></p>
<p style="TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; COLOR: black">在表情识别的分类器设计和选择阶段，主要有以下方法：</span><span style="FONT-FAMILY: 宋体; COLOR: red">用线性分类器、神经网络分类器、支持向量机、隐马尔可夫模型</span><span style="FONT-FAMILY: 宋体; COLOR: black">等分类识别方法</span></p>
<p style="TEXT-INDENT: -19.5pt; MARGIN-LEFT: 24.75pt"><span style="COLOR: black">1）<span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><strong><span style="FONT-FAMILY: 宋体; COLOR: black">线性分类器</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">：假设不同类别的模式空间线性可分，引起可分的主要原因是不同表情之间的差异。</span></p>
<p style="TEXT-INDENT: -19.5pt; MARGIN-LEFT: 24.75pt"><strong>2）&nbsp;</strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">神经网络分类器：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: red">人工神经网络</span><span style="COLOR: red">(Artificial Neural Network,ANN)</span><span style="FONT-FAMILY: 宋体; COLOR: black">是一种模拟人脑神经元细胞的网络结构，它是由大量简单的基本元件</span><span style="COLOR: black">—</span><span style="FONT-FAMILY: 宋体; COLOR: black">神经元，相互连接成的</span><span style="FONT-FAMILY: 宋体; COLOR: red">自适应非线性动态系统</span><span style="FONT-FAMILY: 宋体; COLOR: black">。将人脸特征的</span><span style="FONT-FAMILY: 宋体; COLOR: red">坐标位置</span><span style="FONT-FAMILY: 宋体; COLOR: black">和其相应的</span><span style="FONT-FAMILY: 宋体; COLOR: red">灰度值</span><span style="FONT-FAMILY: 宋体; COLOR: black">作为神经网络的输入，</span><span style="COLOR: black">ANN</span><span style="FONT-FAMILY: 宋体; COLOR: black">可以提供很难想象的复杂的类间分界面。</span><strong></strong></p>
<p style="MARGIN-LEFT: 5.25pt"><strong><span style="COLOR: black">&nbsp;&nbsp; </span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">神经网络分类器主要有</span><span style="COLOR: black">:</span><span style="FONT-FAMILY: 宋体; COLOR: red">多层感知器、</span><span style="COLOR: red">BP</span><span style="FONT-FAMILY: 宋体; COLOR: red">网、</span><span style="COLOR: red">RBF</span><span style="FONT-FAMILY: 宋体; COLOR: red">网</span></p>
<p style="MARGIN-LEFT: 5.25pt"><span style="COLOR: red">&nbsp;</span>&nbsp;<span style="FONT-FAMILY: 宋体">缺点：需要大量的训练样本和训练时间，不能满足实时处理要求</span><strong></strong></p>
<p style="TEXT-INDENT: -19.5pt; MARGIN-LEFT: 24.75pt"><strong>3）&nbsp;</strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">支持向量机</span></strong><strong><span style="COLOR: black">(SVM)</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">分类算法：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: red">泛化能力很强</span><span style="FONT-FAMILY: 宋体; COLOR: black">、</span><span style="FONT-FAMILY: 宋体; COLOR: red">解决小样本、非线性及高维模式识别问题方面表</span><span style="FONT-FAMILY: 宋体; COLOR: black">、</span><span style="FONT-FAMILY: 宋体; COLOR: red">新的研究热点</span><strong></strong></p>
<p style="TEXT-INDENT: 9.7pt; MARGIN-LEFT: 21pt"><strong><span style="FONT-FAMILY: 宋体; COLOR: black">基本思想：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: black">对于非线性可分样本，首先通过</span><span style="FONT-FAMILY: 宋体; COLOR: red">非线性变换</span><span style="FONT-FAMILY: 宋体; COLOR: black">将</span><span style="FONT-FAMILY: 宋体; COLOR: red">输入空间</span><span style="FONT-FAMILY: 宋体; COLOR: black">变换到一个</span><span style="FONT-FAMILY: 宋体; COLOR: red">高维空间</span><span style="FONT-FAMILY: 宋体; COLOR: black">，然后在这个新空间中求取</span><span style="FONT-FAMILY: 宋体; COLOR: red">最优线性分界面</span><span style="FONT-FAMILY: 宋体; COLOR: black">。这种非线性变换通过定义适当的</span><span style="FONT-FAMILY: 宋体; COLOR: red">内积函数</span><span style="FONT-FAMILY: 宋体; COLOR: black">实现，常用的三种内积函数为</span><span style="COLOR: black">:</span><span style="FONT-FAMILY: 宋体; COLOR: red">多项式内积函数、<strong>径向基内积函数</strong>、</span><span style="COLOR: red">Sigmoid</span><span style="FONT-FAMILY: 宋体; COLOR: red">内积函数</span><strong></strong></p>
<p style="TEXT-INDENT: -19.5pt; MARGIN-LEFT: 24.75pt"><strong>4）&nbsp;</strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">隐马尔可夫模型</span></strong><strong><span style="COLOR: black">(Hidden Markov Models, HMM)</span></strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">：特点：</span></strong><span style="FONT-FAMILY: 宋体; COLOR: red">统计模型、健壮的数学结构</span><span style="FONT-FAMILY: 宋体; COLOR: black">，适用于</span><span style="FONT-FAMILY: 宋体; COLOR: red">动态过程时间序列建模</span><span style="FONT-FAMILY: 宋体; COLOR: black">，具有强大的</span><span style="FONT-FAMILY: 宋体; COLOR: red">模式分类能力</span><span style="FONT-FAMILY: 宋体; COLOR: black">，理论上可处理任意长度的时序，应用范围非常广泛。</span><strong></strong></p>
<p style="TEXT-INDENT: 20.6pt; MARGIN-LEFT: 5.25pt"><span style="FONT-FAMILY: 宋体">优点：</span><span style="FONT-FAMILY: 宋体; COLOR: black">运用</span><span style="COLOR: black">HMM</span><span style="FONT-FAMILY: 宋体; COLOR: black">方法能够比较精确的描绘</span><span style="FONT-FAMILY: 宋体; COLOR: red">表情的变化本质和动态性能</span><strong></strong></p>
<p style="TEXT-INDENT: -19.5pt; MARGIN-LEFT: 24.75pt"><strong>5）&nbsp;</strong><strong><span style="FONT-FAMILY: 宋体; COLOR: black">其他方法：</span></strong></p>
<p style="TEXT-INDENT: 10.5pt; MARGIN-LEFT: 25.85pt"><span style="FONT-FAMILY: 宋体; COLOR: black">基于</span><span style="FONT-FAMILY: 宋体; COLOR: red">人脸物理模型</span><span style="FONT-FAMILY: 宋体; COLOR: black">的识别方法，将人脸图像建模为可变形的</span><span style="COLOR: red">3D</span><span style="FONT-FAMILY: 宋体; COLOR: red">网格表面</span><span style="FONT-FAMILY: 宋体; COLOR: black">，把空间和灰度放在一个</span><span style="COLOR: black">3D</span><span style="FONT-FAMILY: 宋体; COLOR: black">空间中同时考虑。</span></p>
<p style="TEXT-INDENT: 10.5pt; MARGIN-LEFT: 25.85pt"><span style="FONT-FAMILY: 宋体; COLOR: black">基于模型图像编码的方法是使用</span><span style="FONT-FAMILY: 宋体; COLOR: red">遗传算法</span><span style="FONT-FAMILY: 宋体; COLOR: black">来编码、识别与合成各种不同的表情</span><strong></strong></p>
<p><span style="FONT-FAMILY: 宋体; COLOR: red">四、研究展望</span></p>
<p><span style="FONT-FAMILY: 宋体; COLOR: black">（</span><span style="COLOR: black">1</span><span style="FONT-FAMILY: 宋体; COLOR: black">）鲁棒性有待提高：</span></p>
<p style="TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; COLOR: black">外界因素（主要是</span><span style="FONT-FAMILY: 宋体; COLOR: red">头部偏转</span><span style="FONT-FAMILY: 宋体; COLOR: black">及</span><span style="FONT-FAMILY: 宋体; COLOR: red">光线变化</span><span style="FONT-FAMILY: 宋体; COLOR: black">的干扰）</span></p>
<p style="TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; COLOR: black">采用</span><span style="FONT-FAMILY: 宋体; COLOR: red">多摄像头技术、色彩补偿技术</span><span style="FONT-FAMILY: 宋体; COLOR: black">予以解决，有一定效果，但并不理想</span></p>
<p><span style="FONT-FAMILY: 宋体; COLOR: black">（</span><span style="COLOR: black">2</span><span style="FONT-FAMILY: 宋体; COLOR: black">）表情识别计算量有待降低</span><span style="FONT-FAMILY: Wingdings; COLOR: black">&#232;</span><span style="FONT-FAMILY: 宋体; COLOR: black">确保实时性的要求</span> </p>
<p><span style="FONT-FAMILY: 宋体; COLOR: black">（</span><span style="COLOR: black">3</span><span style="FONT-FAMILY: 宋体; COLOR: black">）加强多信息技术的融合</span></p>
<p style="TEXT-INDENT: -10.5pt; MARGIN-LEFT: 10.5pt"><span style="COLOR: black">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体; COLOR: black">面部表情不是唯一的情感表现方式，综合</span><span style="FONT-FAMILY: 宋体; COLOR: red">语音语调、脉搏、体温</span><span style="FONT-FAMILY: 宋体; COLOR: black">等多方面信息来更准确地推测人的内心情感，将是表情识别技术需要考虑的问题</span><strong></strong></p>
<img src ="http://www.cppblog.com/zgm/aggbug/115085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgm/" target="_blank">zgm</a> 2010-05-11 10:57 <a href="http://www.cppblog.com/zgm/archive/2010/05/11/115085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]  Computing n choose k mod p</title><link>http://www.cppblog.com/zgm/archive/2010/05/04/114320.html</link><dc:creator>zgm</dc:creator><author>zgm</author><pubDate>Tue, 04 May 2010 02:07:00 GMT</pubDate><guid>http://www.cppblog.com/zgm/archive/2010/05/04/114320.html</guid><wfw:comment>http://www.cppblog.com/zgm/comments/114320.html</wfw:comment><comments>http://www.cppblog.com/zgm/archive/2010/05/04/114320.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zgm/comments/commentRss/114320.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zgm/services/trackbacks/114320.html</trackback:ping><description><![CDATA[<br>
<h3 class=first><a href="http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b#p101074"><u><font color=#0066cc>Computing n choose k mod p</font></u></a></h3>
<p class=author><a href="http://acm.uva.es/board/viewtopic.php?p=101074&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d#p101074"><u><font color=#0066cc><img title=Post alt=Post src="http://acm.uva.es/board/styles/prosilver/imageset/icon_post_target.gif" width=11 height=9></font></u></a>by <strong><a href="http://acm.uva.es/board/memberlist.php?mode=viewprofile&amp;u=41585&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d"><u><font color=#0066cc>joshi13</font></u></a></strong> &#187; Tue Apr 14, 2009 4:49 am </p>
<div class=content>Hi all.<br><br>How can we apply the modular multiplicative inverse when calculating <br><br>(n choose k) mod p, where 'p' is a prime number. <br><br>If you could suggest some related problems, it would be very helpful.<br><br>Thanks in advance.</div>
<h3><a href="http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b#p101079"><br>Re: Computing n choose k mod p</a></h3>
<p class=author><a href="http://acm.uva.es/board/viewtopic.php?p=101079&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d#p101079"><img title=Post alt=Post src="http://acm.uva.es/board/styles/prosilver/imageset/icon_post_target.gif" width=11 height=9></a>by <strong><a href="http://acm.uva.es/board/memberlist.php?mode=viewprofile&amp;u=4424&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d">mf</a></strong> &#187; Tue Apr 14, 2009 10:56 am </p>
<div class=content>You could use <a class=postlink href="http://en.wikipedia.org/wiki/Lucas%27_theorem">Lucas's theorem</a>.</div>
<h3><a href="http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b#p101086"><br>Re: Computing n choose k mod p</a></h3>
<p class=author><a href="http://acm.uva.es/board/viewtopic.php?p=101086&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d#p101086"><img title=Post alt=Post src="http://acm.uva.es/board/styles/prosilver/imageset/icon_post_target.gif" width=11 height=9></a>by <strong><a href="http://acm.uva.es/board/memberlist.php?mode=viewprofile&amp;u=32784&amp;sid=9c4271fa9e01e88b0c146a27d4609f2d">maxdiver</a></strong> &#187; Tue Apr 14, 2009 12:03 pm </p>
<div class=content>There is another, more "mechanical", but more general, approach. It can be applied to any formula containing factorials over some modulo.<br><br>C_n^k = n! / (k! (n-k)!)<br>Let's learn how to compute n! mod p, but factorial without factors p and so on:<br>n!* mod p = 1 * 2 * ... * (p-1) * _1_ * (p+1) * (p+2) * ... * (2p-1) * _2_ * (2p+1) * (2p+2) * ... * n.<br>We took the usual factorial, but excluded all factors of p (1 instead of p, 2 instead of 2p, and so on).<br>I name this 'strange factorial'.<br><br>If n is not very large, we can calculate this simply, then GOTO END_SCARY_MATHS <img title="" alt=:) src="http://acm.uva.es/board/images/smilies/icon_smile.gif"><br>If p is not large, then GOTO BEGIN_SCARY_MATHS:<br>Else - skip the rest of the post <img title="" alt=:) src="http://acm.uva.es/board/images/smilies/icon_smile.gif"><br><br>BEGIN_SCARY_MATHS:<br>After taking each factor mod p, we get:<br>n!* mod p = 1 * 2 * ... * (p-1) * 1 * 2 * ... * (p-1) * 2 * 1 * 2 * ... * n.<br>So 'strange factorial' is really several blocks of construction:<br>1 * 2 * 3 * ... * (p-1) * i<br>where i is a 1-indexed index of block taken again without factors p ('strange index' <img title="" alt=:) src="http://acm.uva.es/board/images/smilies/icon_smile.gif"> ).<br>The last block could be not full. More precisely, there will be floor(n/p) full blocks and some tail (its result we can compute easily, in O(P)).<br>The result in each block is multiplication 1 * 2 * ... * (p-1), which is common to all blocks, and multiplication of all 'strange indices' i from 1 to floor(n/p).<br>But multiplication of all 'strange indices' is really a 'strange factorial' again, so we can compute it recursively. Note, that in recursive calls n reduces exponentially, so this is rather fast algorithm.<br><br>So... After so much brainfucking maths I must give a code <img title="" alt=:) src="http://acm.uva.es/board/images/smilies/icon_smile.gif"><br>
<dl class=codebox>
<dt>Code: <a onclick="selectCode(this); return false;" href="http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b#">Select all</a>
<dd><code>int factmod (int n, int p) {<br>&nbsp; &nbsp;long long res = 1;<br>&nbsp; &nbsp;while (n &gt; 1) {<br>&nbsp; &nbsp;&nbsp; &nbsp;long long cur = 1;<br>&nbsp; &nbsp;&nbsp; &nbsp;for (int i=2; i&lt;p; ++i)<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;cur = (cur * i) % p;<br>&nbsp; &nbsp;&nbsp; &nbsp;res = (res * powmod (cur, n/p, p)) % p;<br>&nbsp; &nbsp;&nbsp; &nbsp;for (int i=2; i&lt;=n%p; ++i)<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;res = (res * i) % p;<br>&nbsp; &nbsp;&nbsp; &nbsp;n /= p;<br>&nbsp; &nbsp;}<br>&nbsp; &nbsp;return int (res % p);<br>}</code></dd></dl><br>Asymptotic... There are log_p n iterations of while, inside it there O(p) multiplications, and calculation of power, that can be done in O(log n). So asymptotic is O ((log_p n) (p + log n)).<br>Unfortunately I didn't check the code on any online judge, but the idea (which was explained by Andrew Stankevich) is surely right.<br>END_SCARY_MATHS:<br><br>So, we can now compute this 'strange factorial' modulo p. Because p is prime, and we've excluded all multiples of p, then the result would be different from zero. This means we can compute inverse for them, and compute C_n^k = n!* / (k!* (n-k)!*) (mod p).<br>But, of course, before all this, we should check, if p was in the same power in the nominator and denominator of the fraction. If it was indeed in the same power, then we can divide by it, and we get exactly these 'strange factorials'. If the power of p in nominator was greater, then the result will obviously be 0. The last case, when power in denominator is greater than in nominator, is obviously incorrect (the fraction won't be integer).<br><br>P.S. How to compute power of prime p in n! ? Easy formula: n/p + n/(p^2) + n/(p^3) + ...</div>
<br><br>（转载：<a href="http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b">http://acm.uva.es/board/viewtopic.php?f=22&amp;t=42690&amp;sid=25bd8f7f17abec626f2ee065fec3703b</a>） 
<img src ="http://www.cppblog.com/zgm/aggbug/114320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zgm/" target="_blank">zgm</a> 2010-05-04 10:07 <a href="http://www.cppblog.com/zgm/archive/2010/05/04/114320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>