Kinect用于姿态比对的PoseDetectorScript脚本解读(上)

迷迷糊糊看了很多遍,对于比较核心的内容依然没有理解。今天稍微认真一些看了一遍,觉得大概懂了一些,仅作记录。

 

首先在代码外做简要说明.关于姿态对比原理,我的理解是:

1.pose与avatar的骨骼数据对比

2.将骨骼joint生成有序列表,将列表里同一位置的两个节点相连,在空间中形成向量

3.求出pose和avatar的向量之间的夹角

4.将pose和avatar的向量之间的夹角累加(不大于90°。因为姿势完全一致时相邻节点连线所形成的向量角度应该为0),再除以最大误差夹角和(以90°最大误差乘以比对的向量数目),就是Average difference.1- diff  = match.

感觉应该是这样,没有再仔细看底层,因为做的项目姿态比对涉及到转体,明天再看一下关于rotation的内容.

 

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Text;

public class PoseDetectorScript : MonoBehaviour 
{
    //user的Model骨骼数据等
	[Tooltip("User avatar model, who needs to reach the target pose.")]
	public PoseModelHelper avatarModel;

    //poseModel的Model骨骼数据等
	[Tooltip("Model in pose that need to be reached by the user.")]
	public PoseModelHelper poseModel;

    //需要比对的关节点
	[Tooltip("List of joints to compare.")]
	public List<KinectInterop.JointType> poseJoints = new List<KinectInterop.JointType>();

    //匹配阈值
	[Tooltip("Threshold, above which we consider the pose is matched.")]
	public float matchThreshold = 0.7f;

	[Tooltip("GUI-Text to display information messages.")]
	public Unit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值