我是Matlab图像处理的新手,现在我正在使用HMM和Matlab统计工具箱进行字符识别。
输入图像宽度为400,高度为100,图像为二进制图像。我将每个输入图像分成10个水平块。在每个块中,我计算图像的密度。因此,在每个图像中,我可以获得10个特征向量。
假设F是图像的特征向量
F = [26 55 74 123 186 260 258 75 43 21]
我的问题是如何将特征向量转换为hmm序列,以便我可以使用hmmtrain命令来使用它。在我的情况下,排放矩阵是什么?
在提出这个问题之前,我已经看到了Omid Sakhi的类似例子。但是,我还是不明白。
答案 0 :(得分:1)
我建议使用Yamato等人的文章“使用隐马尔可夫模型识别时间序列图像中的人类行为”。在这项工作中,他们使用k-means算法执行矢量量化,将特征向量转换为符号,我认为它与您的问题类似。
因此,基本上您将特征向量聚类并将聚类中心保存为码本。之后,您可以将每个要素向量映射到最近的集群中心,然后将其替换为相应的集群ID。因此,您可以将块序列表示为一系列簇ID。
排放可以是群集ID。