高级骨骼跟踪:姿势检测与应用
1. 姿势与手势的区别
姿势是一种独特的身体交流形式,在日常生活中,人们通过姿势来表达情感。例如在体育赛事里,裁判会用特定姿势来示意犯规或比赛结果。像足球裁判会通过举起手臂示意达阵或射门得分,篮球裁判也用同样姿势表示三分球。棒球比赛中,三垒教练和捕手会用一系列姿势向击球手和投手传达信息。
姿势和手势容易混淆,但实际上它们是不同的概念。姿势是指人保持特定的身体位置或姿态,意味着人在摆姿势时是静止的;而手势则涉及动作。比如棒球裁判示意三振出局的动作就是手势,挥手也是手势,在触摸屏上使用捏合手势进行缩放、用手指滑动屏幕也是手势。愤怒时挥舞拳头是手势,而竖起中指则是姿势。
在Kinect开发早期,更多的注意力和开发精力被放在了手势识别上,而非姿势识别。这虽然有些遗憾,但也可以理解,因为Kinect的营销重点在于运动,其名称源于“kinetic”,意为产生运动,它被作为一种通过动作(手势)控制游戏的工具来销售。然而,手势对开发者和用户体验设计师来说是个挑战,用户执行手势并不总是容易,应用程序检测手势也极其困难。相比之下,姿势是用户有意识的行为,形式和执行更稳定。
2. 姿势检测方法
姿势由用户身体关节的姿势和位置定义,更具体地说,是每个关节与其他关节的关系。姿势的类型和复杂程度决定了检测算法的复杂程度。姿势可以通过关节的相交、位置或关节之间的角度来检测。
2.1 关节相交检测
通过关节相交来检测姿势是一种关节碰撞检测的方式。以双手叉腰姿势为例,骨骼跟踪能提供左右髋关节和左右手关节的位置。使用向量数学计算左手和左髋之间的长度,如果两点之间的长度小于某个可变阈值,则认为双手相交
超级会员免费看
订阅专栏 解锁全文
23

被折叠的 条评论
为什么被折叠?



