Kinect for windows v2 姿势识别工具之 Visual Gesture Builder的使用 (二)

本文介绍使用Visual Gesuture Builder(VGB)工具训练Kinect姿势数据库的方法。使用前需熟悉Kinect Studio工具,VGB可根据Kinect Studio录制的.xef文件进行机器学习,生成.gba或.gbd姿势数据库文件。文中详细说明了VGB的使用步骤,最后还可实时预览姿势数据库文件的可行性与可靠度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载至:https://www.parful.com/blog/article/108

在使用 Visual Gesuture Builder (以下简称VGB) 工具前需熟悉 Kinect Studio 工具的使用,如不熟悉请移步Kinect for window v2 姿势识别工具之 Kinect Studio 的使用

VGB是用来根据 Kinect Studio 录制的后缀名为 .xef 的数据流文件进行ML(机器学习),训练得到一个可被 Kinect SDK 识别的 后缀名为 .gba 或者 .gbd 的姿势数据库文件

VGB使用步骤

  1. 打开VGB,选择File->New Solution 输入解决方案名称 如(Seated),将会生成一个后缀名为 .vbgsln 的 VGB的解决方案。
  2. 此时的界面如图

  3. 右键点击Seated —>Create New Project With Wizard(熟悉后可直接选择 Create New Project)

  4. Next —>为你的姿势起个名字,名字尽量与动作相符合

  5. Next —>选择你的动作是否依赖下半身关节(臀部以下),因为我的动作为坐下,需要臀部以下的关节,所以这个地方选择 Yes

  6. Next —>选择你的动作是否需要检测手的状态(OPEN | CLOSED | LASSO),我的动作为坐下,不需要检测手的状态,此处选择No

  7. Next —>选择符合你的动作的遮罩,绿色关节在训练事将被使用,灰色将被忽略。我的动作为坐下,所以选择左下角这个遮罩 Ignore left arm,Ignore right arm,Ignore Hand state

  8. Next —>选择是否需要辨别动作的左右侧,选择 Yes 的情况如:你想知道玩家是在用左手打乒乓球还是右手打乒乓球,我的动作为坐下,不需要辨别动作的左右侧,所以这里选择No

  9. Next —>选择你的动作是否是对称的,选择 Yes ,在训练时 Duplicate 和 Mirror 将会被设置为 True ,这将会产生大量的数据来减少影响动作的对称性的因素。在此,坐下的动作选择 No

  10. Next —>选择你的动作是否需要获取进度值(progress),这个在连续性姿势检测时选择为 Yes,目前要检测的动作是离散型姿势,这里选择 No

  11. Next —>确认你的姿势的设置

  12. Confirm —>为你的项目起个名称 我的为Seated,这里将产生两个项目,Seated与Seated.a Seated将用于训练, Seated.a 将用于数据分析

  13. 右键点击Seated项目 —>Add Clip 选择Kinect Studio 录制的 Seated.xef文件,选中添加进来的剪辑

  14. 在控制区按住shift+left 或者 shift+right 进行动作选区标记,符合的部分 按enter键,不符合的部分按space键(一般情况下只需要对符合的部分进行标记就可以了),如下图有三段选区符合坐下的动作,这样标记后便可用于VGB的ML(机器学习)。

  15. 右键点击Seated项目 —>Build 输入姿势数据库名称,本案例名称为Seated.gba,保存。

  16. 此时我们可以在输出窗口看到构建过程,并在相应目录产生Seated.gba文件

  17. 到这里,姿势数据库文件就已经制作完了,接下来进行实时预览制作好的姿势数据库文件的可行性与可靠度。鼠标右击Seated项目 —>Live Preview —>选择刚刚制作好的Seated.gba文件,可以看到,柱状图的高度代表的是判断左侧画面是坐立的动作的信心,值在0-1之间。此图可以看到,判断该动作为坐立的信心很高,因为该动作比较简单,当有复杂的动作的需求时,应当将其拆散为简单的离散动作进行训练。

多说一点

到这里,简单离散动作识别基本就是这些了。下一篇文章将会用介绍使用VGB API进行读取姿势数据库数据,并与体感实时匹配获取匹配可靠度。

<think>嗯,用户想了解如何在Visual Studio中使用Kinect for Windows SDK v2,包括配置步骤和示例代码。首先,我需要回忆一下相关的配置流程。根据引用[3],配置步骤应该包括安装SDK、配置Visual Studio项目属性,添加附加依赖项等。可能还需要设置包含目录和库目录,确保编译器能找到Kinect的头文件和库文件。 用户可能已经安装了SDK,但需要确认是否安装正确。然后,在Visual Studio中创建新项目,比如控制台应用,接着配置项目属性。需要添加包含路径,比如$(KINECTSDK20_DIR)\inc,库路径$(KINECTSDK20_DIR)\Lib\x64,还有链接器中的附加依赖项kinect20.lib。这些都是引用[3]提到的步骤。 另外,用户可能需要OpenCV的配置,但问题中没有提到,所以暂时先专注于Kinect的设置。不过引用[3]也提到OpenCV的配置,可能用户后续会有相关问题,但现在先解决Kinect的配置。 示例代码方面,引用[1]和[2]提到了Kinect2Sample项目,可以建议用户参考这个示例项目,获取初始化Kinect的代码。比如如何获取颜色帧数据。可能需要提醒用户确保Kinect设备连接正确,并在代码中处理数据流。 还有,引用[4]提到播放文件功能,可以在没有Kinect硬件时使用,这对调试可能有帮助,应该提到这一点,方便用户在没有设备的情况下测试。 需要分步骤说明配置过程,从安装SDK到项目设置,再到编写示例代码。可能还需要注意平台设置,比如x64,因为Kinect SDK通常是64位的。错误排查方面,检查设备连接,SDK版本是否正确,路径是否正确等。 最后,生成相关问题,比如性能优化、深度数据处理、错误处理等,帮助用户深入学习和解决问题。</think>### 如何在 Visual Studio 中使用 Kinect for Windows SDK v2 #### **1. 环境配置步骤** 1. **安装 Kinect SDK v2** - 下载并安装 [Kinect for Windows SDK v2](https://developer.microsoft.com/en-us/windows/kinect),安装完成后需重启系统[^3]。 - 确保 Kinect v2 设备通过 USB 3.0 正确连接至计算机。 2. **Visual Studio 项目配置** - 新建一个 Visual Studio 项目(如 C++ 控制台应用)。 - **配置包含路径**: 在项目属性中,进入 `VC++目录` → `包含目录`,添加路径: $$(KINECTSDK20_DIR)\inc$$[^3] - **配置库路径**: 在 `VC++目录` → `库目录`,添加路径: $$(KINECTSDK20_DIR)\Lib\x64$$(若为64位系统)[^3] - **链接器配置**: 在 `链接器` → `输入` → `附加依赖项` 中添加 `kinect20.lib`。 3. **验证安装** - 运行 Kinect SDK 自带的 `Kinect Studio` 或 `Body Basics` 示例程序,确认设备可正常识别[^4]。 --- #### **2. 示例代码(C++)** 以下是一个简单的颜色帧捕获示例: ```cpp #include <Kinect.h> #include <iostream> int main() { IKinectSensor* pSensor = nullptr; if (GetDefaultKinectSensor(&pSensor) == S_OK && pSensor != nullptr) { pSensor->Open(); IColorFrameSource* pColorSource = nullptr; pSensor->get_ColorFrameSource(&pColorSource); IColorFrameReader* pColorReader = nullptr; pColorSource->OpenReader(&pColorReader); std::cout << "Kinect 初始化成功!" << std::endl; // 释放资源 pColorReader->Release(); pColorSource->Release(); pSensor->Close(); pSensor->Release(); } else { std::cerr << "Kinect 未连接或初始化失败!" << std::endl; } return 0; } ``` --- #### **3. 常见问题与调试** - **设备未识别**:检查 USB 3.0 连接和电源指示灯,重启 Kinect 服务。 - **缺少依赖项**:确保 `kinect20.lib` 已正确添加到链接器输入中[^3]。 - **无设备调试**:使用 `Kinect Studio` 的录制文件功能模拟数据流。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值