基于hmax模型的人脸识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BP神经网络
BP神经网络
1.0000
0.0000 0.0000 0.0000 0.0000
0.0000
1.0000 0.0000 0.0000 0.0001
0.2086
0.0641 0.0000 0.9494 0.0000
0.0000
0.9991 0.0000 0.0000 0.0270
0.0000
提取出特征向量
BP神经网络
谢谢观赏
基于HMAX模型的人脸识别
崔卓须
福建工程学院
引用上面文章提出的模型进行模式识别
目录
1.特征提取(HMAX模型)
1.1 s1层:gabor滤波器滤波(16尺寸和4个方向)
1.2 c1层:合并相邻的两图 1.3 s2层:从c1中抽样,抽取特征板块
1.4 c2层:得到特征向量
2.BP神经网络分类
摘要
受生物学的启发,我们提出了一种识别复杂视觉 场景的新的一般框架。在这个框架中,我们描述了一 个与视觉皮层组织结构非常相似的一个层次化模型, 并且通过交替进行模板匹配(template matching)和 最大化操作(maximum pooling operation),得到复 杂性和不变性越来越高的特征表示。 然后,我们在人脸识别上对hmax模型进行了验证, 证明模型在特征提取方面还是具有一定的可取性。
模型的参数也许根据特定的问题进行调整,并不是一成不变的。
模型本身也有可以提高的地方,如可以增加层数,4层的模型不适合人 脸识别。
编写的函数
Gabor_f1 设计16个尺度和4个方向的滤波器对图片进行滤波 Gabor_max 相邻的两图配对成一个band,并进行最大值操作 Gabor_sample 在C1层中进行抽样,抽出N个patch Hmax
S1层
1.尺度为27*27的滤波器如下

0
pi/4
pi/2
pi*3/4
2.滤波后的图片(7*7,0)
C1层
由于s1层中有图片64张,共16组(尺度) 和4个方向)。 对相邻的两组图片进行组合,得到8个 Band,每个band中有2个尺度和4个方向 的8张图片。 对每一个band中,同方向不同尺度的图 片进行最大化操作,最后每一band得到
S2层
C2层
BP神经网络
Bp神经网络在分类问题有一定的优势,所以我选择bp神经网络来分类
在yale人脸库中选择5个人每人3张,共15张人脸照片,其中2张用来训 练,一张用来判别分类,从而测试模型的效果。 由于上面的hmax模型,把一张M*M的图片进行了特征提取,得到一个
1*N的向量,对数据进行了维规约,大大的简化了数据,但同时也省略 了部分信息。
0.0000 0.0000 0.0000 1.0000
(红色为分类正确,绿色分类错误)
结果不理想可能的原因
抽取的patch数量不够,样本不能代表总体。 在分类时,训练集和预测集数据库太小,结果具有偶然性。 滤波器尺度不合适,滤波器应对应于特定大小的图片而言,并非每张 图都是7*7到37*37
4个方向的4张图。
C1层
max
max
max
对每一个band中的图片进行划方Biblioteka Baidu,从8*8到22*22,以第一个 band为例。
C1层
Band1
8*8
在band1中,在同一方向上的两组图划8*8的格子,在每个格子中取最大 值,然后再对比者两个值,继续取最大值,得到一个8*8的矩阵。
S2层
在c1层中进行简单随机抽样,抽取出 N个patch,每一个patch有四个方向 ,patch的大小为n*n*4,( n=4,8,12,16) 每一个patch与c1层中的band进行匹 配
当patch与c1中的band大小不一样时, 可以对patch或band进行插值或抽样 。
每一个patch与8个band配对可以得 到一个1*8的向量。
S2层
patch (a1,a2……a8) band
由于有N个patch,最后可以得到一个N*8的矩阵
a11,a12,a13…..a18 a21,a22,a23…..a28 ……………………… aN1,aN2,aN3…aN8
模型的主要框架
S1层
1.对图片进行分块,对每一块进行如 下的操作,首先进行滤波(滤波器见 下公式)
2.通过sigma(effective width)和lambda(wavelength)来控 制滤波器的尺寸(从7*7到37*37,共16个尺度),用sita控制方向 (0,pi/4,pi/2,pi*3/4),一共64个滤波器,滤波后得到64幅图。
C2层
对s2层得到的矩阵进行每一行取最大值 a11,a12,a13…..a18 a21,a22,a23…..a28 ……………………… aN1,aN2,aN3…aN8 a1max a2max ……. aNmax
最终得到一个特征向量(a1,a2,……aN)。
操作实例
0.9999
S1层
C1层
相关文档
最新文档