1

我是 Matlab 图像处理的新手,现在我正在使用带有 Matlab 统计工具箱的 HMM 进行字符识别。

我有一个输入图像宽度:400,高度:100,图像是二进制图像。我将每个输入图像分成 10 个水平块。在每个块中,我计算图像的密度。因此在每张图像中我可以获得 10 个特征向量。

假设 F 是图像的特征向量

F=[26 55 74 123 186 260 258 75 43 21]

我的问题是如何将特征向量转换为 hmm 序列,以便我可以使用 hmmtrain 命令使用它。在我的情况下,发射矩阵是什么?

在问这个问题之前,我已经看过Omid Sakhi的类似例子。但是,我还是不明白。

4

1 回答 1

1

我会推荐 Yamato 等人的这篇论文“Recognizing human action in time-sequential images using hidden Markov model”。在这项工作中,他们使用 k-means 算法执行向量量化,将特征向量转换为符号,我认为这与您的问题相似。

所以,基本上你对特征向量进行聚类并将聚类中心保存为码本。之后,您可以将每个特征向量映射到最近的集群中心,然后将其替换为相应的集群 ID。因此,您可以将块序列表示为集群 ID 序列。

发射可以是集群 ID。

于 2013-10-28T14:52:13.567 回答