一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于距离向量和多角度自适应网络的人体动作识别方法与流程

2021-10-24 06:08:00 来源:中国专利 TAG:识别 动作 向量 图像处理 自适应


1.本发明涉及动作识别领域,具体涉及一种基于距离向量和多角度自适应网络的人体动作识别方法,属于计算机视觉图像处理技术领域。


背景技术:

2.随着互联网技术的飞速发展和视频监控设备的逐渐普及,视频已成为每个人日常生活的重要媒介。视频数据信息的总量呈指数增长,如何获取并且分析视频中的内容显得尤为重要。人体动作识别任务已经成为计算机视觉领域研究的焦点,在人机交互,视频监控,视频理解,虚拟现实等领域有着广泛应用。
3.基于骨骼点检测的人体动作识别可以很好的解决该问题。该方法首先对输入视频序列中的人进行骨骼点检测,再将预测到的骨骼点构建成为图结构,骨骼点作为图的各个顶点,骨骼点与骨骼点之间的连接作为图的边。接着利用动作识别方法对时序下的图结构特征进行学习,预测动作类别。之前大量的研究都是将固定的骨架图送入网络,这样只能捕获骨骼点之间局部物理关系,造成隐式骨骼点相关性的遗漏。另外,在不同高度和方向的视角下,相同动作的特征呈现也有很大的差异,会造成动作类别识别误差。


技术实现要素:

4.本发明的目的是针对现有技术的不足,提供一种基于距离向量和多角度自适应网络的人体动作识别方法,以解决在动作识别过程中骨骼点相关性遗漏以及在不同角度下缺乏鲁棒性的问题。
5.一种基于距离向量和多角度自适应网络的人体动作识别方法,包括以下步骤:
6.步骤(1)获取动作识别数据集1,利用openpose工具对数据集中视频的每一帧进行人体骨骼点检测来生成带有骨骼点坐标以及骨骼点名称的视频数据集2;
7.步骤(2)将视频数据集2输入到多角度自适应网络中,利用lstm网络以及卷积网络自动学习确定转变到最佳视角所需要的旋转参数与位移;
8.步骤(3)根据旋转参数与位移,将骨骼点坐标转化成最佳视角下的骨骼点坐标;
9.步骤(4)计算最佳视角下骨骼点之间的距离向量,包括空间距离与方向;
10.步骤(5)将最佳视角下的骨骼点坐标、动作类别名称以及骨骼点之间的距离向量输入到时空图卷积网络中;
11.步骤(6)时空图卷积网络学习时间与空间的特征,对最终动作类别进行判断。
12.进一步,步骤(2)所述的多角度自适应网络构建过程如下:
13.多角度自适应主网络主要由两条lstm分支网络组成。
14.(2

1)构建一条lstm网络用来确定位移d
k

15.(2

2)构建另一条lstm网络用来学习并确定合适的视角,即获得旋转参数α
k,θ

k,θ

k,θ

16.其中,三个参数分别表示为绕x、y、z轴旋转的角度。当获取到旋转参数和指定角度
下的位移之后,将骨架坐标数据根据参数进行旋转变换,得到新的骨架坐标点集合。然后将新的骨架坐标点集合以及对应的动作标签输入到多个lstm组成的网络,从端到端对骨架数据进行学习,将特征全连接后,最后通过softmax函数得到输出。
17.进一步,步骤(3)所述的获取最佳视角下的骨骼点坐标过程如下:
18.通过多角度自适应网络获取到位移d
k
与旋转参数r
k,θ

k,θ

k,θ

k,θ
)之后,根据公式(1)进行计算新的骨骼点坐标。
19.v'
k,i,θ
=[x'
k,i,θ
,y'
k,i,θ
,z'
k,i,θ
]
t
=r
k,θ
(v
k,i

d
k
)
ꢀꢀꢀꢀ
(1)
[0020]
进一步,步骤(4)所述的计算骨骼点之间的距离向量过程如下:
[0021]
(4

1)距离向量主要由骨骼点之间的距离和骨骼点相对方向组成,其中骨骼点之间的距离可以表示为:
[0022][0023][0024][0025]
其中(x,y,z)为骨骼点的坐标,如果人体骨骼点检测的输出为二维坐标,可将深度信息置为相同,实现二维坐标三维化。式(2)表示同一帧下第i个骨骼点与第j个骨骼点之间的空间距离,式(3)表示第m帧的第i个骨骼点与第n帧的第i个骨骼点之间的空间距离。
[0026]
(4

2)骨骼点之间的相对位置可以表示为:
[0027][0028][0029]
其中(x,y,z)为骨骼点的坐标,为一个方向向量,式(4)表示同一帧下第j个骨骼点相对于第i个骨骼点的方位,式(5)表示第n帧的第i个骨骼点相对第m帧的第i个骨骼点的方位。
[0030]
进一步,步骤(6)所述的构建时空图卷积网络过程如下:
[0031]
(6

1)记一个具有n个节点和k帧的骨骼序列时空图为g=(v,e),其节点集合为v={v
ki
|k=1,

,k,i=1,

,n}。
[0032]
(6

2)根据人体结构,将每一帧的骨骼点连接起来形成空间边es={v
ki
v
kj
|(i,j)∈b},将连续两帧中的相同节点连接成边,形成时序边et={v
ki
v
(k 1)i
}。
[0033]
(6

3)将骨骼点之间的距离向量、骨骼点坐标位置、动作名称组成了新的输入特征向量f
new
(v
ti
)。以常见的图像二维卷积操作为参考,时空图卷积操作可以写成:
[0034]
[0035][0036]
式(6)表示同一帧不同骨骼点的图卷积操作,式(7)表示不同帧相同骨骼点的图卷积操作。其中,b(v
mi
)为骨骼点的领域约束条件,对于空间图卷积网络,b(v
mi
)={v
mj
|l(v
mj
,v
mi
)≤d},l(v
mj
,v
mi
)表示的是从v
nj
到v
mi
的最短距离。对于时间图卷积网络,的最短距离。对于时间图卷积网络,k为卷积核大小,γ控制时间域的卷积核大小,即设置最大间隔视频帧数。p为采样函数,获取以该骨骼点为中心的周围邻居骨骼点,w为权重函数,z为归一化项。
[0037]
下面对时空图卷积操作进行更为详细的描述:
[0038]
在图像中,采样函数p是定义在中心位置为x的近邻像素上的。在骨骼点图中,采样函数的结果指的是一个骨骼点v
mi
的近邻集合b(v
mi
),那么采样函数可以写为:
[0039]
p(v
mi
,v
mj
)=v
mj
ꢀꢀꢀ
(8)
[0040]
对于权重函数w,将骨骼点的近邻集合根据距离划分为固定个数的8个子集,每一个子集都有一个标签,通过映射函数根据标签来获取对应的权重函数,可以用式(9)表示:
[0041]
w(v
mi
,v
mj
)=w'(l(v
mi
,v
mj
))
ꢀꢀꢀꢀ
(9)
[0042]
因此图卷积操作进一步表示为:
[0043][0044][0045]
(6

4)在测试阶段,通过输入一段视频序列,经过人体骨骼点检测技术得到每一帧视频对应的骨骼点,再经过动作识别技术便得到了一系列动作标签以及对应的得分,最高得分对应的动作标签便是最后的结果。
[0046]
本发明所具有的优点如下:提出了一种基于距离向量和多视角自适应网络的动作识别方法,首先利用多视角自适应网络自动确定不同高度下的最佳观测点,生成相同动作类别下的多个骨骼点坐标组合,提高精度的同时也提高对特定场景下的鲁棒性。其次利用各个骨骼点之间的距离向量来捕捉动作的变化信息,能够学习到丰富的联动特征,在时空图网络的基础上提高了识别精度。
附图说明
[0047]
图1是本发明的整体实施方案流程图;
[0048]
图2是不同角度(不同高度)下的最佳视角示意图;
[0049]
图3是不同角度(不同高度)下的骨架示意图;
[0050]
图4是多角度自适应网络模型图;
[0051]
图5是骨骼点距离向量示意图;
[0052]
图6是时空图网络示意图;
具体实施方式
[0053]
下面结合附图对本发明做详细描述。
[0054]
实施例1
[0055]
在实际场景中,人体动作会受各方面因素影响,同一个动作在不同角度下会有较大差异且骨骼点之间的关联没有被充分利用,本发明提出了一种基于距离向量和多角度自适应网络的人体动作识别方法,流程图参照图1,包括如下步骤:
[0056]
步骤(1)获取动作识别数据集1,利用openpose工具对数据集中视频的每一帧进行人体骨骼点检测来生成带有骨骼点坐标以及骨骼点名称的视频数据集2;
[0057]
步骤(2)将视频数据集2输入到多角度自适应网络中,利用lstm网络以及卷积网络自动学习确定转变到最佳视角所需要的旋转参数与位移;
[0058]
多角度自适应主网络主要由两条lstm分支网络组成。
[0059]
(2

1)构建一条lstm网络用来确定位移d
k

[0060]
(2

2)构建另一条lstm网络用来学习并确定合适的视角,即获得旋转参数α
k,θ

k,θ

k,θ

[0061]
其中,三个参数分别表示为绕x、y、z轴旋转的角度。当获取到旋转参数和指定角度下的位移之后,将骨架坐标数据根据参数进行旋转变换,得到新的骨架坐标点集合。然后将新的骨架坐标点集合以及对应的动作标签输入到多个lstm组成的网络,从端到端对骨架数据进行学习,将特征全连接后,最后通过softmax函数得到输出。
[0062]
步骤(3)根据旋转参数与位移,将骨骼点坐标转化成最佳视角下的骨骼点坐标;
[0063]
通过多角度自适应网络获取到位移d
k
与旋转参数r
k,θ

k,θ

k,θ

k,θ
)之后,根据公式(1)进行计算新的骨骼点坐标。
[0064]
v'
k,i,θ
=[x'
k,i,θ
,y'
k,i,θ
,z'
k,i,θ
]
t
=r
k,θ
(v
k,i

d
k
)
ꢀꢀꢀꢀ
(1)
[0065]
步骤(4)计算最佳视角下骨骼点之间的距离向量,包括空间距离与方向;
[0066]
(4

1)距离向量主要由骨骼点之间的距离和骨骼点相对方向组成,其中骨骼点之间的距离可以表示为:
[0067][0068][0069]
其中(x,y,z)为骨骼点的坐标,如果人体骨骼点检测的输出为二维坐标,可将深度信息置为相同,实现二维坐标三维化。式(2)表示同一帧下第i个骨骼点与第j个骨骼点之间的空间距离,式(3)表示第m帧的第i个骨骼点与第n帧的第i个骨骼点之间的空间距离。
[0070]
(4

2)骨骼点之间的相对位置可以表示为:
[0071][0072][0073]
其中(x,y,z)为骨骼点的坐标,为一个方向向量,式(4)表示同一帧下第j个骨骼点相对于第i个骨骼点的方位,式(5)表示第n帧的第i个骨骼点相对第m帧的第i个骨骼点的方位。
[0074]
步骤(5)将最佳视角下的骨骼点坐标、动作类别名称以及骨骼点之间的距离向量输入到时空图卷积网络中;
[0075]
步骤(6)时空图卷积网络学习时间与空间的特征,对最终动作类别进行判断。
[0076]
(6

1)记一个具有n个节点和k帧的骨骼序列时空图为g=(v,e),其节点集合为v={v
ki
|k=1,

,k,i=1,

,n}。
[0077]
(6

2)根据人体结构,将每一帧的骨骼点连接起来形成空间边es={v
ki
v
kj
|(i,j)∈b},将连续两帧中的相同节点连接成边,形成时序边et={v
ki
v
(k 1)i
}。
[0078]
(6

3)将人体骨骼点检测的输出进行三维化后,再经过上述的时空图处理之后,把该图结构数据输入到动作识别网络模型中,同时学习骨骼序列在时间和空间下的特征信息以及该特征信息对应的动作标签。
[0079]
(6

4)在测试阶段,通过输入一段视频序列,经过人体骨骼点检测技术得到每一帧视频对应的骨骼点,再经过动作识别技术便得到了一系列动作标签以及对应的得分,最高得分对应的动作标签便是最后的结果。
[0080]
实施例2
[0081]
如附图2,为不同高度下的最佳视角,可以看出这是一个弯腰的动作序列,第1行是从原视频抽取的4帧图像,第2行是原始骨骼点以及对应的人体动作建模。第3行是在视角与水平夹角为0
°
下的最佳视角,可以发现经过转换的骨架信息更容易学习,但动作却没有改变。第4行与第5行分别为视角与水平夹角为θ1与θ2下的最佳视角以及对应的人体建模,θ2>θ1。可以发现,不同高度下的最佳视角也有不同,通过将骨骼点进行变换,获取不同高度视角下的骨骼点,对它们一同进行训练,达到数据增强的目的。
[0082]
实施例3
[0083]
如附图3,子图(a)、(b)、(c)分别为某一视频帧下不同高度下的新视角。其中(a)为自适应网络确定的最佳视角,(b)、(c)为添加角度约束条件下的最佳视角。从第1帧到第t帧,人体姿态不断发生变化,多视角自适应网络总能找到最佳视角并在此基础上提升高度来进行学习。
[0084]
实施例4
[0085]
如附图4,将视频某一帧的原始骨架坐标输入网络,主网络主要由两条lstm分支网络组成。第一条lstm网络用来确定位移d
k
,另一条lstm网络用来学习并确定合适的视角,即获得旋转参数α
k,θ

k,θ

k,θ
。其中,三个参数分别表示为绕x、y、z轴旋转的角度。当获取到
旋转参数和指定角度下的位移之后,将骨架坐标数据根据参数进行旋转变换,得到新的骨架坐标点集合。然后将新的骨架坐标点集合以及对应的动作标签输入到多个lstm组成的网络,从端到端对骨架数据进行学习,将特征全连接后,最后通过softmax函数得到输出。
[0086]
实施例5
[0087]
如附图5,假设(a)为视频的第n帧图像,(b)为视频的第n 1帧图像,对于第n帧的k1骨骼点,它与其他骨骼点的距离向量由虚线箭头表示,k1到k2的虚线箭头表示不同帧相同骨骼点之间的距离向量。从图中可以看出在第n 1帧的时候骨骼点k2与骨骼点f2的距离更近了,方向也有轻微的改变。通过构建同一帧下不同骨骼点以及不同帧下相同骨骼点之间的距离向量,可以有效地捕捉动作的变化信息,并通过时空图卷积网络进行学习。
[0088]
实施例6
[0089]
如附图6,人体在运动的一段时间内,通过人体骨骼点检测方法识别出每一帧的骨骼点,如图6为若干帧的骨架图信息。记一个具有n个节点和k帧的骨骼序列时空图为g=(v,e),其节点集合为v=v
ki
|k=1,

,k,i=1,

,n},图6的b
k,i
即表示第k帧的第i个骨骼点。根据人体结构,将每一帧的骨骼点连接起来形成空间边es={v
ki
v
kj
|(i,j)∈b},其中b为第k帧所有骨骼点的集合,图6的虚线边即为空间边。将连续两帧中的相同节点连接成边,形成时序边et={v
ki
v(
k 1
)
i
},图6的带箭头虚线边即为时序边。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜