发明名称 基于骨骼节点数据的动作识别方法
摘要 本发明公开了一种基于骨骼节点数据的动作识别方法,包括骨骼节点数据平滑处理、正定转换处理、骨骼肢体节点数据标准化算法和骨骼节点数据的动作识别。本发明所设计的基于骨骼节点数据的动作识别方法能够在现有的技术条件下能够生成实时的人体骨骼节点数据,在依据一定算法取得正定且标准化骨骼节点数据后,做统一的动作识别处理。
申请公布号 CN102749993B 申请公布日期 2015.06.17
申请号 CN201210171624.0 申请日期 2012.05.30
申请人 北京敏思创想软件技术有限公司 发明人 黄本华;陆晟
分类号 G06F3/01(2006.01)I 主分类号 G06F3/01(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 许方
主权项 一种基于骨骼节点数据的动作识别方法,其特征在于,包括如下步骤:步骤(1):建立一个单独的骨骼节点数据收集和分析的线程;步骤(2):在每一个线程中循环执行步骤(201)至步骤(204),每一次循环称为一帧:步骤(201):提取每一个体的骨骼节点数据;步骤(202):将个体的骨骼节点数据送入个体数据的容器,当该个体尚未在容器中建立,则产生个体被捕获的消息,并为之建立一个识别相关数据队列,若个体数据容器中某个个体在本帧结束时仍未得到其骨骼节点数据,则产生个体丢失的消息;步骤(203):将个体的骨骼节点数据放入该个体的数据队列里,并根据队列已有的数据,分别进行骨骼节点数据平滑处理、正定转换处理和骨骼肢体节点数据标准化算法;所述骨骼节点数据平滑处理包括如下具体步骤:骨骼数据平滑处理是依据于以前帧的数据做一定的平滑计算,在每一帧得到个体的原始骨骼数据p0后,针对每一个骨骼节点,取得每一个骨骼节点的前两帧数据p1和p2,先计算出按照这两帧数据的变化的新位置p3=2*p2‑p1,最后得到该骨骼节点平滑后的位置pn=(p0+p3)/2;所述步骤(203)中的正定转换处理包括如下具体步骤:步骤(A).在标准坐标系中,选取一个标准站立姿势时所面向的方向为Df,头顶指向的方向为Dt,双手指向的方向Dl;步骤(B).分别定义原始骨骼数据节点的左肩l、右肩r和左右肩之间的中心点c的位置为pl、pr和pc,从而得到左肩l到中心点c的向量为dl=pl‑pc,右肩r到中心点c的向量dr=pr‑pc;步骤(C).将步骤(B)中的向量dl和dr作向量归一化处理,取指向人体正前方的向量为df,即向量dl和dr的法向量为df=dl%dr,取指向人体正上方的方向向量为dt=(dl+dr)/2,取人体水平向左或水平向右的方向向量为dl,即df到dt的法向量dl=df%dt;步骤(D).分别计算df到Df的转换矩阵mf、dt到Dt的转换矩阵mt、dl 到Dl的转换矩阵ml;步骤(E).针对每一个骨骼节点,采用下列两种方式中的任意一种方式:(1)依次用所述步骤(D)中的三个转换矩阵mf、mt和ml做三次转换计算;(2)先将这三个转换矩阵依次相乘,得到M,再针对每一个骨骼节点,都用M做一次转换计算;所述骨骼肢体节点数据标准化算法包括如下具体步骤:a.定义第i个骨骼节点Ni与相邻的下一个骨骼节点N(i+1)之间的标准距离为di,所述第i个骨骼节点Ni的位置是ni,其中,i是自然数;b.计算标准坐标系上的骨骼肢体节点之间的距离,包括如下具体处理:b1.计算骨骼节点N(i+1)相对于Ni的相对位置pi=n(i+1)‑ni;b2.将步骤(A)中的相对位置pi归一化,得到相对方向Pi;b3.将前述相对方向Pi乘以标准距离di;b4.计算相对方向Pi与pi之间的位置差pd,pd=Pi‑pi;b5.将第i个骨骼节点Ni的位置是ni减去pd;步骤(204):顺次执行基于标准骨骼节点数据集合的具体动作识别算法,得到该个体当前是否在执行该动作的判定,然后检查该个体的数据队列,看该个体是否在前一帧是否执行了该动作,若前帧未执行,当前未执行,则无信号;若前帧未执行,当前已执行,则产生动作发生信号;若前帧已执行,当前未执行,则动作结束信号;若前帧已执行,当前已执行,则无信号或已发生信号;其中,所述具体动作识别算法包括下面几种动作的识别:a)骨骼相对位置判定取某一帧两个骨骼节点的相对位置与指定的相对位置范围比较,若只指定一个骨骼,则是相对于坐标原点;b)骨骼相对角度判定取某一帧三个骨骼节点的相对角度与指定的角度范围比较;c)骨骼绝对位移判定取某个骨骼某一帧和指定的以前某帧的相对位置,与指定的相对位置变化范围比较;d)骨骼相对位移判定指定两个骨骼点,先取得他们在某一帧的相对位置,然后取得他们在指定以前某帧的相对位置,最后这两个相对位置的相对位置与指定的位置变化范围相比较;e)身体位移判定取得身体中心点与扫描器在某一帧与指定以前某帧中的绝对位置,取得这两个位置的相对位置,然后与指定位置变化范围相比较;f)身体角度判定取得身体与扫描器在某一帧与指定以前某帧中的与扫描器标准坐标轴的转角,得到转角的变化范围与指定的范围相比较;g)特殊判定对拍手、抱拳及拍头的动作,取原始数据进行直接计算得到;h)动作综合判定所有动作进行综合条件式判定,允许进行与或非的表达式运算。
地址 100096 北京市海淀区西三旗上奥世纪中心2B1711