当前位置: 首页 > 面试题库 >

用Kinect骨骼关节进行静态姿势识别的最佳算法是什么?

茅星雨
2023-03-14
问题内容

您知道识别静态姿势的任何可靠方法吗?

我试过以给定的间隔Xmax,Xmin,Ymax,Ymin,Zmax,Zmin保存每个关节位置,然后尝试查看是否有20个关节在给定的间隔内,但效果不佳。

在此之后,我尝试使用相对于父关节的相对坐标,但是再次…它不起作用…

我不知道该怎么做…有人这样做吗?我在这里仅指静态姿势,而不是动态姿势。


问题答案:

您可以尝试定义两个姿势之间的距离。

首先,您应该 “规范化”每个姿势 ,以便获得相对位置。您应该选择一个“基础关节”(例如Spine或Head),然后从所有关节坐标中减去基础关节坐标。

例:

骨骼关节

在上图中,您可以将关节编号2作为基础关节。因此,当对所有关节进行归一化时,基础关节将始终具有等于(0,0,0)的相对坐标。

然后,您可以 定义两个姿势之间的距离 。让我们假设这些姿势 姿势 一_和 _姿势 乙。在我的一个项目中,我使用了以下内容:

姿势距离

在上式中, 姿势 甲 [联合我 ]_表示的第i个关节 _姿势 甲,其通过由 关节的数量 接头。所述 distance3D
指古典三维欧几里德距离。

然后,您应该 定义一个恒定的阈值距离 (将其命名为 T D)。

现在,您可以说两个姿势在以下情况下是“相等的”(或更精确地说,足够相似,可以视为相等):

T D >姿势距离

我不知道这是否是最好的方法,但就我而言,它工作得很好(并且很容易实现)。



 类似资料:
  • 骨骼是Skeleton(骨架)的一部分。骨架是由SkinnedMesh(蒙皮网格)依次来使用的。 骨骼几乎和空白Object3D相同。 代码示例 const root = new THREE.Bone(); const child = new THREE.Bone(); root.add( child ); child.position.y = 5; 构造器 Bone( ) 创建一个新的Bone.

  • 骨骼动画类 父类BK.Node 手机QQ版本 成员变量 变量 类型 名称 备注 canMixVertexColor boolean 是否启用颜色叠加 timeScale number 播放速率 paused boolean 暂停 accessoryTypes Array 装扮类型数组 手机QQ版本 7.2.5 例子: var rice =new BK.SkeletonAnimation(atlas

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我过去曾经做过Java和JSP编程,但是我是Java Server Faces的新手,并且想知道JSF开发是否有一套最佳实践。 问题答案: 一些提示:了解JS

  • 骨骼动画是一种常见但类型特殊的动画,我们提供两套系统,针对不同方向的需求,分别优化。 这两套系统的唯一开关就是 SkeletalAnimation 上的 useBakedAnimation 开关, 启用对应预烘焙骨骼动画系统,禁用后对应实时计算骨骼动画系统,运行时也可以无缝切换。 预烘焙骨骼动画系统 这个系统的压倒性目的是性能,部分表现力的牺牲也被认为是可以接受的。 我们针对性地做了很多底层优化,

  • 问题内容: 我有mongodb和NodeJs。通过mongoosejs完成连接。 开发Ajax Infinity滚动的最佳方法是什么?我应该使用极限和偏移量吗? 问题答案: 当您对数据集进行分页时,“跳过并限制”方法不是很有效。它实际上是Shlemiel Painter的算法 。 范围查询效率更高(当索引支持时)。例如,假设您正在显示推文。您的页面大小是20,您在第1000页上,并且想要加载第10

  • 我遇到了一个问题。我的网页有一个控件。值更改后(通过选择不同的值),页面将刷新并呈现内容。 下面是我的代码: 第二部分:

  • 我一直在阅读就地排序算法来排序链表。根据维基百科 合并排序通常是对链表进行排序的最佳选择:在这种情况下,实现合并排序相对容易,只需要< code >θ(1)额外的空间,并且链表缓慢的随机访问性能使得其他一些算法(如quicksort)表现不佳,而其他一些算法(如heapsort)则完全不可能。 据我所知,合并排序算法不是一个就地排序算法,并且具有辅助的最坏情况空间复杂性。现在,考虑到这一点,我无法

  • 所谓骨骼动画,以人体为例简单地说,人体的骨骼运动,骨骼运动会带动肌肉和人体皮肤的空间移动和表面变化,下面将会提到的蒙皮概念你可以类比人体的皮肤。 Threejs骨骼动画需要通过骨骼网格模型类SkinnedMesh来实现,一般来说骨骼动画模型都是3D美术创建,然后程序员通过threejs引擎加载解析,为了让大家更深入理解骨骼动画,下面就通过threejs程序编写一个简易的骨骼动画。 相关类 直接使用