我目前正在开展一个我应该对手势进行分类的项目,许多论文提出HMM是这样做的方式,许多教程都提到天气教程或骰子和硬币教程,我可以&# 39;似乎理解如何将这些映射到我的问题以及我的不同矩阵应该是什么,我目前有一个特征向量(包含检测到的手的特征为* 2矩阵,其中n是检测到的特征的总数所有帧,即如果算法在每帧中检测到10个特征并且视频是10帧,n将是= 100,并且2是x和y坐标)和运动矢量(手本身在视频中的运动) m * 2大小,其中m是视频中的帧数)也是你建议从视频中提取的任何其他数据。
答案 0 :(得分:2)
我知道你正在谈论的论文和关于天气的例子是简单的,不能映射到现在用HMM处理的大多数问题。在您的情况下,您拥有与您知道的手势相对应的功能。 HMM可以工作,因为您拥有的数据是动态的,即按时排序。
我的建议是你应该先看看Kevin Murphy广泛使用的HMM工具箱。它提供了开始使用HMM所需的所有工具。 主要思想是使用一个专用HMM为每个手势类型建模。对于给定的手势类型,将使用您拥有的可用功能训练相应的HMM。
训练完成后,您将获得状态转移概率矩阵,发射概率矩阵和选择初始状态的先验。
当您有一个未知的手势时,您将计算每个受过训练的HMM可能已生成此手势(其实际特征)的可能性。通常,查询序列被分配到提高得分最高的类别。
这是为了大局。在您的情况下,您必须找到一种方法来将您的功能表示为时间序列。 "时间"是不同的框架。对于诸如手势的复杂应用,可能难以看出模型的每个状态代表什么。某些类型的HMM,通过它们的拓扑结构(例如从左到右的模型)使这种类比变得更容易。