您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页ST-GCN基于skeleton的动作识别

ST-GCN基于skeleton的动作识别

来源:抵帆知识网
ST-GCN基于skeleton的动作识别

gcn

图卷积,其实是基于graph-structure这种结构,不再是⼀维或2维的空间,本⾝就可以表⽰空间的图结构。多张⾻架skeleton可以共同组成⼀张图graph

st_gcn有两种类型的边:(基于openpose提取的skeleton)

1. ⼀种是符合关节⾃然连通性的空间边,

2. 另⼀种是跨越连续时间步长连接同⼀关节的时间边。

并在此基础上构造了多个时空图卷积层,实现了信息在时空维度上的集成

这样构成的同时具有空间关系边和时间关系边的“多帧skeleton组成1张graph_structure\",经过多次GCN(论⽂中提及graph的维度变化是⽐如输⼊多帧组成的1张graph-------128-128-128-256-256-256这叫保持时间操作等长,即卷积核变多就会减少featuremap⼤⼩),最终得到⾼层特征,然后对这个⾼层特征⽤softmax分类得到动作类别。(当然也需要正确的置信度阈值)

问题:st-gcn⼀次的输⼊帧数是不是固定的(可以不固定,因为全卷积可以控制输出尺度;但是论⽂中应该是固定的,因为不固定1张graph的⼤⼩就变了),gcn采⽤了9层。

动作识别:

1. 基于RGB图像(精度不错)---如Non-local Neural Networks,78% top1准确率,ksinetics2. 基于Two-stream(RGB+光流场)(精度不错)---如TSN,I3D3. 基于⾻架(精度差些)---如ST-GCN

⽐如kinetics⼤概都在10s左右的动作,也即300帧,那么提取视频的特征就是(300,3, 18 ,nums_person)18:每个⾻架的关键点及置信度,每帧只选了关键点⾃信度最⾼的两⼈(这⾥做法也是为了固定最终的tensor尺度)。

⼀个action:多个不同动作帧的有序组合,因此⼀个action的识别也需要长期的信息交互。

当然也可以将动作识别直接⽤到动作检测中,那就需要密集的动作识别。是不是可以有⼀个检测过程,像Faster rcnn⼀样可以给出region(frames) proposal,然后送⼊动作识别组件中去。

为什么yolo会⽕尤其在⼯业界?想想就明⽩了!

⼯业界和学术界对算法的不同追求:

1. ⼯业界青睐的算法在学术界其实并不重视,⼀⽅⾯是因为开源的原因。

2. 另⼀⽅⾯可以看到顶会的算法都不是注重速度的,通常⽤了很复杂的模块和trick来提升精度。⽽且这些trick不是⼀般意义的trick了,是针对这个数据集的或者说针对糟糕检测器的⼀些trick, 对于实际应⽤⼏乎没有帮助。3. 因此,在这⾥提醒⼀下,应该把重⼼往代码能⼒上靠拢了,真正有价值的东西必然很少,没必要焦虑⽣怕拉下来什么关键技术。为什么同⼀个⽬标或者不同⽬标的提取后的特征不完全⼀样也可以做跟踪??阈值!DL中常⽤的就是阈值。既然在⼯业界就要做⼯业界应该做的事!不是吗?

跟踪

基于skeleton的动作识别还需要结合poseTrack(alphapose中⽤的是PoseFLOW),保证动作识别时不同⽬标的pose不交叉。否则⽆法对单⼈时序建模。⼈是典型的⾮刚体,因此⼤部分跟踪问题(75%)都是研究⼈。典型的跟踪⽅法过程:

1. 检测(⽬标类别),

2. 特征抽取(像NLP⼀样给予⽬标嵌⼊向量),

3. 数据关联(对不同帧之间的⽬标嵌⼊作数据关联,这步⼀般还是hand-crafted。)对于⼈这种⽬标:

ReID是处理多⽬标跟踪任务中轨迹因长时间遮挡或者漏检⽽丢失的找回任务的必须模块。attention主要⽤来处理部分遮挡的问题。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务