http://cvrc.ece.utexas.edu/Publications/Xia_HAU3D12.pdf

 
View Invariant Human Action Recognition Using Histograms of 3D Joints

The  HOJ3D computed from the action depth sequences are  reprojected using LDA and then clustered into k posture  visual words, which  represent  the  prototypical  poses  of  actions.  The temporal evolutions of  those  visual  words  are modeled by discrete hidden Markov models (HMMs).
 
 

特征定义
 
In this representation, the 3D space is partitioned into n bins using a modified spherical coordinate system. We manually select 12 informative joints to build a compact representation of human posture. To make our representation robust against minor posture variation, votes of 3D skeletal joints are cast into neighboring bins using a Gaussian weight function.
 
we acquire  the  3D locations of 20 skeletal joints  which  comprise  hip  center,  spine,  shoulder  center, head, L/ R shoulder, L/ R elbow, L/ R wrist, L/ R hand, L/ R hip, L/  R knee, L/  R angle and L/ R foot. 
 
we  compute  our  histogram based  representation of postures  from 12 of the 20 joints, including  head, L/  R elbow, L/  R hands, L/  R knee, L/ R feet, hip center  and  L/  R hip. We take the hip center  as the center of  the  reference  coordinate  system,  and  define  the x-direction according to L/ R hip. The rest 9 joints are used to compute the 3D spatial histogram.
 
要达到视不变(不同视角下相同姿态正确归类):We achieve this by  aligning  our  spherical  coordinates  with  the  person’s specific  direction。We  define  the center of the spherical coordinates as the  hip center  joint.Define  the  horizontal  reference  vector  α  to  be  the  vector from the left hip center to  the  right hip center  projected on the horizontal plane (parallel to the ground), and the zenith reference vector θ as the vector that is perpendicular to the ground plane and passes through the coordinate center.
 
partition the 3D space into n  bins
The  inclination angle is divided into 7 bins from  the zenith vector θ: [0, 15], [15,  45], [45, 75], [105, 135], [165, 180]
 
Our HOJ3D descriptor is computed by casting the rest 9 joints  into  the  corresponding  spatial  histogram  bins.
To  make  the representation robust against minor errors of joint locations, we vote the 3D bins using a Gaussian weight function:
 
For each  joint,  we  only  vote  over  the  bin  it  is  in  and  the  8 neighboring bins. We calculate the probabilistic voting on θ and  α  separately since they are independent (see Fig. 4). The probabilistic voting for each of the 9 bins is the product of the probability on α  direction and θ direction. Let the joint 
location  be The  vote  of  a  joint  location  to  bin  is 
 
输入为20*3(20个关节点,xyz3维空间坐标),输出为84位HOJ3D特征
 
特征为84维向量,水平方向12,垂直方向7
1,12个关节点局部坐标的计算:1,根据L_HIP和R_HIP的连线方向计算转换后的坐标 ; 2,计算相对于HIP_CENTER的坐标
2,之后计算两个偏转角 vector  α 和 vector θ
3,在每个关节所属的bin中的8个邻域内,按双方向的单高斯分布乘积投票
 

特征降维
 
Linear  discriminant  analysis  (LDA)  is  performed  to extract the  dominant  features. 
降维的目的是得到区分度更大的9个维度信息
 
输入为84维HOJ3D特征,输出为9维降维特征

特征聚类
 
We cluster the vectors into K clusters (a K-word vocabulary) using K-means. Then each posture is represented as a  single number of a  visual word.
聚类是为了减少观察特征表示,训练阶段需要把所有观测数据(所有动作,每一个动作包含若干帧,每帧的20个骨骼节点经过LDA降维成9)在9维空间中聚类,可以得到25个聚类中心的坐标(9维),依次标号
在识别阶段,将LDA之后的特征,分配到最近邻的聚类中心,记录其标号,作为HMM的输入参数
 
训练阶段,输入为所有动作的9维特征,输出为25个聚类中心
识别阶段,输入为每一帧的动作特征(9维),输出为距其最近的聚类中心的标号
 

动作识别
 
the HMM gives a state based representation for each action.  After forming the models for each activity, we take an action sequence and  calculate  its  probability  of  a  modelfor  the observation  sequence, for every model, which  can be solved using the forward algorithm. Then we classify the 
action as the one which has the largest posterior probability.
 
训练阶段,输入为每一类动作的时序标号,输出为HMM模型参数
识别阶段,输入为某一动作的时序标号,输出为前向概率即模型匹配度最大的动作模型 —— 识别结束
 


 

运动识别之HOJ3D和HMM的更多相关文章

  1. 基于ROS的运动识别

    #!/usr/bin/env python # -*- coding: utf-8 -*- import rospy import cv2 import numpy as np from sensor ...

  2. HanLP中人名识别分析

    HanLP中人名识别分析 在看源码之前,先看几遍论文<基于角色标注的中国人名自动识别研究> 关于命名识别的一些问题,可参考下列一些issue: 名字识别的问题 #387 机构名识别错误 关 ...

  3. leap motion

    体感控制器: 识别:手,手指和工具,获取位置,手势,动作 范围:倒金字塔,塔尖在设备中心,2.5cm~0.6米 坐标系统:采用右手笛卡尔积坐标系,返回的数值:毫米 摆放:绿灯朝向自己,z轴距离屏幕越来 ...

  4. paper 92:图像视觉博客资源2之MIT斯坦福CMU

    收录的图像视觉(也包含机器学习等)领域的博客资源的第二部分,包含:美国MIT.斯坦福.CMU三所高校 1)这些名人大家一般都熟悉,本文仅收录了包含较多资料的个人博客,并且有不少更新,还有些名人由于分享 ...

  5. paper 86:行人检测资源(上)综述文献【转载,以后使用】

    行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,主要还是在性能和速度方面还不能达到一个 ...

  6. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  7. 第六十四篇、OC_计步器

    计步器的实现方式主要有那么两种 1.通过直接调用系统的健康数据,基于HealthKit框架的,但是貌似是一小时更新一次数据.如果要实时获取步数,这种方式并不是最佳. 2.基于CoreMotion框架, ...

  8. Kinect for Windows SDK开发入门(15):进阶指引 下

    Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...

  9. iOS获取健康步数从加速计到healthkit

    计步模块接触了一年多,最近又改需求了,所以又换了全新的统计步数的方法,整理一下吧. 在iPhone5s以前机型因为没有陀螺仪的存在,所以需要用加速度传感器来采集加速度值信息,然后根据震动幅度让其加入踩 ...

随机推荐

  1. PostgreSQL Replication之第八章 与pgbouncer一起工作(4)

    8.4 提升性能 从一开始考虑pgbouncer的时候,性能就是一个关键的因素.为了确保高性能,有些问题必须认真对待.首先,确保参与您设置的所有节点相互之间的距离较近.这对于降低网络往返时间有很多的帮 ...

  2. codeforces 527 C Glass Carving

    Glass Carving time limit per test 2 seconds Leonid wants to become a glass carver (the person who cr ...

  3. iOS——集成支付宝 系统繁忙,请稍后再试ALI10

    问题描述:调用支付宝时,显示系统繁忙,请稍后再试(ALI10).代码没有报错,其他也是按照文档来的,为何老是提示显示系统繁忙? 解决方案:还需要在targets的中info里面,添加  url typ ...

  4. Open With Atom添加到右键菜单/从右键菜单移除

    1.进入Settings 快捷键ctrl+shift+p,输入settings后回车 2.切换到System选项卡 3.通过勾选/取消勾选以下选项实现添加/移除右键菜单 √ Show in file ...

  5. [NOIP2014提高组]联合权值

    题目:洛谷P1351.Vijos P1906.codevs3728.UOJ#16. 题目大意:有一个无向连通图,有n个点n-1条边,每个点有一个权值$W_i$,每条边长度为1.规定两个距离为2的点i和 ...

  6. 今日SGU 5.29

    sgu 299 题意:给你n个线段,然后问你能不能选出其中三个组成一个三角形,数字很大 收获:另一个大整数模板 那么考虑下为什么如果连续三个不可以的话,一定是不存在呢? 连续上个不合法的话,一定是 a ...

  7. WHU 1552 Seats 枚举

    题意: 有一个年级中7个班的n个学生. 一天,他们毫无顺序的站成一排.请计算最小的交换次数,使得 相同班的同学都站在一起. (只有站在一起的人才能交换) 思路: 如果知道班级的最终排列就能在很短的时间 ...

  8. Unity C# 设计模式(六)原型模式

    定义:用原型实例指定创建对象的种类,并通过拷贝这些原型来创建新的对象. 优点: 1.原型模式向客户隐藏了创建新实例的复杂性 2.原型模式允许动态增加或较少产品类. 3.原型模式简化了实例的创建结构,工 ...

  9. uvalive 4730王国kingdom(并查集+线段树)

     题意:有T组測试数据.每组数据的N表示有N个城市,接下来的N行里每行给出每一个城市的坐标(0<=x,y<=1000000),然后有M(1<M<200000)个操作,操作有 ...

  10. uip UDP server广播模式(client能够随意port,而且主动向client发送数据)

    眼下移植uip,发现UDP server模式下,必须指定本地port以及clientport,否则仅仅能讲clientport设置为0,才干接收随意port的数据,可是无法发送数据,由于此时clien ...