在我见过的所有离散 HMM 中,观察数据都由整数流组成。但是,如果观察结果实际上是离散的特征向量会发生什么?例如,如果我尝试使用 HMM 来学习视频帧灰度强度值的手势识别,该怎么办?也就是说,每个观察都由一个 nxn 矩阵描述,而不是单个值?我该怎么做呢?
谢谢!
在我见过的所有离散 HMM 中,观察数据都由整数流组成。但是,如果观察结果实际上是离散的特征向量会发生什么?例如,如果我尝试使用 HMM 来学习视频帧灰度强度值的手势识别,该怎么办?也就是说,每个观察都由一个 nxn 矩阵描述,而不是单个值?我该怎么做呢?
谢谢!
您可以对 HMM 的发射分量使用离散多项式分布。例如,每个状态都会发出一个长度为整数的数组,n*n
其值在 0 到 255 之间,表示像素强度(灰度)。
当然,如果值是连续的(浮点数),只需使用多元正态分布。
根据您要使用的库,ObservationVectors
可能会很好用。您可以将矩阵展平为 n² 维向量,并使用经过验证的数据训练模型。然后,您可以从一系列矢量观察中检测到任何手势。