隐马尔可夫模型应用于人脸识别

本文介绍如何使用隐马尔科夫模型(HMM)进行人脸识别,包括构建HMM模型的具体步骤和算法,例如初始化概率值、使用前向-后向算法及Baum-Welch算法优化模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于HMM应用于人脸识别,以下是我的心得。

先给出一张5X5的图片,

[100,101,102,103,104]  额头,

[200,201,202,203,204]  眼睛

[300,301,302,303,304]  鼻子

[400,401,402,403,404]  嘴巴

[500,501,502,503,504]  下巴

 

假设,第一行描述了额头的信息,第二行描述了眼睛的信息,第三行描述了鼻子的信息,

第四行描述了嘴巴的信息,第五行描述了下巴的信息。

怎么判别这张图片是不是一个人脸图片呢?

答案是:把5 X 5矩阵等效为HMM模型。

        HMM模型相当于一个具体的人脸,给他取名为Jack

        因为数据库保存了很多人脸模型HMM,从中找到最接近JackHMM模型,

        如果误差在规定范围内,则认为此图片为人脸。

但是,5 X 5矩阵到底是怎么等效为HMM模型的?

答案是:5 X 5矩阵对应的HMM可以产生5 X 5的观察序列值,但不一定是如例一样的值,

        只不过如例一样的5 X 5矩阵序列值产生的概率很高。如此可以近似的认为如例5 X 5矩阵和它对应的HMM模型等效。

 

但是,怎么构建高概率产生如例5 X 5矩阵序列值的HMM模型?

答案是:1、构建一个HMM模型,包含五个状态额头、眼睛、鼻子、嘴巴、下巴。

        那么A矩阵代表从任一个状态到另一个状态转移概率的5X5矩阵,

            B矩阵每一行代表一个状态下,出现如例25个观察值的25个概率值。

        2、初始化这些概率值。

3、用前向-后向算法计算已经初始化的HMM模型产生如例25个观察值的概率。

4、如果概率太低,则采用Baum - Welch算法重新调整A矩阵和B矩阵的概率值,

   跳到3;否则,模型被构建。

     但是,前向-后向算法怎么计算已经初始化的HMM模型产生如例25个观察值的概率P

     答案是:1、把观察值看成随时间变化的变量。

t=1时,值为100

t=2时,值为101

。。。

t=25时,值为504

              2、计算每个时刻每个状态产生后面序列值的概率BEAT[t][n],n为状态ID

                  t=1时,对于状态‘额头’,计算产生101102103104201,。。。,504序列的概率。

                  对于状态‘眼睛’,计算产生101102103104201,。。。,504序列的概率。

                  。。。

              3、对于t>1的时刻,BEAT对计算P没有帮助,所以只取t=1时刻的所有状态的BEAT值,求和,即可求得P

但是,怎么计算每个时刻每个状态产生后面序列值的概率BEAT[t][n]

答案是:从t=24开始计算,相邻时刻的概率值用如下公式计算出来,

bi

经过累加后,可以求出t=1时刻的所有状态的BETA值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值