Unity Kinect添加自定义姿势识别

  • 前言
  • 自定义姿势识别
    • 添加自定义姿势枚举
    • 添加自定义姿势的逻辑
    • 创建监听脚本并挂载
    • 添加动作监听

前言

文中使用插件为KinectForUnity

百度云 https://pan.baidu.com/s/1dAEhJgXbXL0_ZtQdWd-ATA
提取码 3nsv

如要支持Unity2019或更高需自行升级插件请相关参考 https://blog.csdn.net/a71468293a/article/details/117084439

自定义姿势识别

添加自定义姿势枚举

打开KinectGestures脚本,找到Gestures枚举。
添加自己的动作,本文为MoveLeft

添加自定义姿势的逻辑

找到CheckForGesture方法,在switch中增加以下代码

         case Gestures.MoveLeft:switch (gestureData.state){case 0:  // gesture detection - phase 1//判断保持直立if (jointsTracked[shoulderCenterIndex] && jointsTracked[hipCenterIndex] &&Mathf.Abs(jointsPos[shoulderCenterIndex].x - jointsPos[hipCenterIndex].x) < 0.1f ){SetGestureJoint(ref gestureData, timestamp, shoulderCenterIndex, jointsPos[shoulderCenterIndex]);gestureData.progress = 0.5f;}break;case 1:// gesture phase 2 = complete 手势阶段2=完成 //timestamp 当前时间 gestureData 为记录参数//gestureData.timestamp 记录时间//当前时间-记录时间 < 1.5s 进行判断,如果超出时间则动作失败if ((timestamp - gestureData.timestamp) < 1.5f){//jointsPos[shoulderCenterIndex].x 是最新数据//gestureData.jointPos.x 是1.5s之前的数据bool isInPose = jointsTracked[shoulderCenterIndex] &&//(jointsPos[shoulderCenterIndex].x - gestureData.jointPos.x) > 0.2f &&(gestureData.jointPos.x - jointsPos[shoulderCenterIndex].x) > 0.2f &&Mathf.Abs(jointsPos[shoulderCenterIndex].y - gestureData.jointPos.y) < 0.1f;if (isInPose){Vector3 jointPos = jointsPos[gestureData.joint];CheckPoseComplete(ref gestureData, timestamp, jointPos, isInPose, 0f);}}else{// cancel the gesture 取消手势SetGestureCancelled(ref gestureData);}break;}break;

创建监听脚本并挂载

创建GestureController脚本,使其继承自GestureListenerInterface

在KinectManager预制体上挂载KinectGestures脚本与GestureController脚本。

添加动作监听

GestureController中的GestureCompleted方法内判断动作是否完成。

参考链接: https://lgxtvt.blog.csdn.net/article/details/79952033

Unity Kinect添加自定义姿势识别相关推荐

  1. Unity + Kinect基本上所有的手势二次封装(一)

    下载链接: Unity3D 最新版Kinect v2 Examples with MS-SDK 2.21 体感识别 https://item.taobao.com/item.htm?spm=a21dv ...

  2. unity接入百度人体识别

    unity接入百度人体识别 1.去百度下载SDK 复制AipSdk.dll到工程 复制Newtonsoft.Json.dll到工程 自己按照unity版本,选择2.0,3.5,还是4.0的dll 2. ...

  3. Unity实现OCR文字识别功能

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...

  4. 基于openpose的用户姿势识别

    基于openpose数据的用户姿势识别 继续上一篇的github项目,继续将他修改成基于openpose数据集的网络结构. 1. 神经网络复习 为了方便读懂神经网络的框架代码和后续的网络按需修改,在这 ...

  5. Windows 入门 AI 视觉处理 --- 搭建姿势识别应用 之 利用NVIDIA Maxine识别人体姿势

    随着AI技术的发展, 数字内容创建业务也变得越来越火热.人脸美化,身材修图,虚拟姿势和背景等功能也让我们的照片视频等数字内容越来越丰富.而在这些功能背后,离不开姿势识别,人脸特征点识别,虚拟背景,现实 ...

  6. Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考

    Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考 目录 ​ 一.简单介绍 二.问题 三.简单解决思路 附录:Vuforia SDK 的功能如下 一.简单介绍 目前世界上主流的AR ...

  7. 在成人影片里做17种姿势识别?大佬在线求助:训练集不够用!

    点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 转载自:新智元 后台回复"加群"进入-> CV 微信技术交流 ...

  8. 【计算机视觉40例】案例26:姿势识别

    [导读]本文是专栏<计算机视觉40例简介>的第26个案例<姿势识别>.该专栏简要介绍李立宗主编<计算机视觉40例--从入门到深度学习(OpenCV-Python)> ...

  9. Unity AzureKinect 初识(二) 姿势识别

    2021/02/04 插眼更新: 每次需要多识别一个姿势,需要加好多代码,公开bool值给外部调用,这是很不方便的,直接用委托的方式即可,委托绑定的时候最好放在Start()里,不要放在Awake() ...

  10. kinect dk人体识别与姿势对比

    最近在做动作对比的研究 参考了两篇论文<基于 OpenPose 的人体动作识别对比研究> <基于Kinect的康复训练辅助系统设计> 最终初步实现利用角度粗糙的进行动作对比 下 ...

最新文章

  1. GNN教程:Weisfeiler-Leman算法!
  2. node exprass安装运行实例
  3. Java 应用中的日志
  4. 发票管理软件_财务人员都在用的这款发票管理软件,真的值得购买么?
  5. spring 标注 详解
  6. mysq 没有mysql数据库_mysq 没有mysql数据库
  7. Redis数据库入门基础知识
  8. 顶级论文创新点怎么找?中国高校首次获CVPR最佳学生论文奖有感
  9. 深度学习——汉字识别
  10. Python库——Faker
  11. 如何开发微信第三方小程序组件
  12. 使用阿里云创建个人云盘
  13. element表格左对齐方法
  14. ASM+LINUX+ORACLE_11G安装
  15. 原腾讯副总裁,Google资深研究员吴军:ChatGPT不算新技术革命,带不来什么新机会...
  16. ldpc译码讲解_LDPC码译码方法和编码方法与流程
  17. 套接字I/O模型-WSAEventSelect
  18. 全体自然数的和是负十二分之一?
  19. VC驿站黑客编程(关机,重启,注销)
  20. 计算机学院毕业生祝福,暖心的毕业祝愿赠言

热门文章

  1. ASP.NET全套视频教程
  2. 【视觉运控一体机小课堂】三分钟实现图像颜色通道切换和RGB图转灰度图的功能
  3. 高等数学——变限积分求导
  4. JSP——编写一个简单的JSP页面,显示英文字母表
  5. 随机效应估算与固定效应估算_面板工具变量法学习手册(固定效应与随机效应方法、过度识别检验、预测等)...
  6. 深入浅出Yolo系列之Yolox核心基础完整讲解
  7. JDBC连接hive(错误小结)
  8. 解决学校邮箱屏蔽邮件的问题/收不到邮件
  9. Elasticsearch 创建索引 Java 实现
  10. 世界十大极限运动是什么