17、基于SMSM模型的人体动作检测方法

基于SMSM模型的人体动作检测方法

1. 引言

在处理人体动作检测时,会面临噪声、背景干扰和大量信息等问题。为了解决这些问题,引入了一种基于时空局部自适应回归核密集计算的非学习型SMSM模型,用于识别非紧凑的人体动作。该模型主要包含三个部分:GLARK特征计算、多尺度复合模板集以及时空多尺度统计匹配。

2. 相关跟踪算法对比
算法 平均中心定位误差(像素) 检测率(DP,%) 遮挡率(OP,%)
CAMSHIFT 216 0.385 0.265
GLMT 31.6 33.5 33.5
LLSMT 8.6 99.6 89.2
3. SMSM模型流程
graph LR
    A[构建WQi和WTi] --> B[对WTi应用PCA得到FTi]
    B --> C[去除WQ中相似列向量得到FQ]
    C --> D[计算矩阵余弦相似度]
    D --> E[记录最大值对应列向量位置并统计无重复索引值得到RM]
    E --> F[对RM应用非极大值抑制参数τ]
4. SMSM模型技术细节
4.1 局部GLARK特征
  • LARK核 :由Seo和Milanfar提出的LARK能有效捕捉几何结构,其定义公式为:
    [K(Cl, \vec{Xl}) = \exp(-ds^2) = \exp(-\vec{Xl}^T Cl \vec{Xl})]
    其中,协方差矩阵(Cl)由图像的简单梯度信息计算得出,但简单梯度信息难以描述目标的具体结构特征,且在目标边缘区域对比度较小时,容易忽略弱边缘,导致漏检。
  • GLARK特征 :为弥补LARK的缺陷,引入高斯差分(DOG)算子到LARK特征中,生成新的GLARK特征描述符,以增强弱边缘结构信息。
    • 高斯核算子定义为:
      [g(\cdot, \sigma) = \frac{1}{(2\pi\sigma^2)^{N/2}} \exp\left(-\frac{\sum_{k = 1}^{D} x_k^2}{2\sigma^2}\right)]
    • 对于二维图像,不同的高斯卷积核(\sigma)作为多尺度因子与像素点的梯度信息进行卷积:
      [D(x, y, \sigma) = g(x, y, \sigma) \otimes z(x, y)]
      [Z(x, y, \sigma, k) = D(x, y, k\sigma) - D]
    • 以3×3区域为例,假设3×3高斯核算子(g = \begin{bmatrix}1 & 2 & 3 \ 4 & 5 & 6 \ 7 & 8 & 9\end{bmatrix}),卷积计算如下:
      [f(i, j) = g * z = \sum_{k, l} g(i - k, j - l)z(h, l) = \sum_{k, l} g(k, l)z(i - k, j - l)]
    • 取3×3区域的中心点(2, 2)为例:
      [\begin{bmatrix}Zx_{22} \ Zy_{22}\end{bmatrix} = \begin{bmatrix}Zx_{11} & \cdots & Zx_{33} \ Zy_{11} & \cdots & Zy_{33}\end{bmatrix} \begin{bmatrix}9 & 8 & 7 & \cdots & 2 & 1\end{bmatrix}^T]
    • 3D GALRK的第三维为时间,(\vec{X} = \begin{bmatrix}dx & dy & dt\end{bmatrix}),新的CGLK为:
      [CGLK = \sum_{m \in \Omega l} \begin{bmatrix}Zx^2(m) & Zx(m)Zy(xk) & Zx(m)ZT(m) \ Zx(m)Zy(m) & Zy^2(m) & Zy(m)ZT(m) \ Zx(m)DT(m) & Zy(m)ZT(m) & ZT^2(m)\end{bmatrix}]
    • 则GLARK定义为:
      [K(CGLK, \vec{Xl}) = \exp(-\vec{Xl}^T CGLK \vec{Xl})]
      GLARK突出了物体的边缘,削弱了纹理干扰,尤其关注弱边缘的局部结构,其表示为:
      [Wx = [Wx^1, Wx^2, \cdots, Wx^M] \in R^{N \times M}]
4.2 多尺度复合模板集
  • 视频转换 :彩色视频包含三个颜色通道,每帧有三个维度,但模型的第三维是时间,因此将视频转换为灰度图像序列。
  • 模板缩放 :与包含数百万训练图像的监督方法不同,训练集规模较小。将各种动作模板(如行人、跳远、滑雪、悬崖跳水和标枪投掷等)调整为多尺度,模型可以在一帧中识别多种大小的动作。
    • 模板图像经过排序得到原始立方体,然后使用最近邻插值方法将原始模板分别调整为0.5倍和1.5倍,形成三个模板序列。
    • 利用3D GLARK获取多尺度局部结构模板集,得到三个GLARK矩阵(W_{0.5} \in R^{N \times M1}),(W_{initial} \in R^{N \times M}),(W_{1.5} \in R^{N \times M3}),连接后得到总模板矩阵:
      [WQ = \begin{bmatrix}W_{0.5} & W_{orginal} & W_{1.5}\end{bmatrix} \in R^{N \times Mt}]
      其中(Mt = M1 + M + M3)。
4.3 SMSM模型
  • 特征提取与降维 :基于非学习型SMSM模型,对WTS应用主成分分析(PCA)进行降维以提取特征。同时,需要一个相似结构阈值(\alpha)去除WQ中的冗余信息。模型计算矩阵中列向量夹角的余弦值,若余弦值大于(\alpha),则认为两个向量相似,保留其中一个。降维去冗余后得到FQ和FTS。
  • 决策规则 :基于矩阵余弦相似度进行决策。计算FTS中每个列向量与FQ中列向量的夹角余弦值,得到余弦相似度矩阵(\rho_{3DGLK}):
    [\rho_{3DGLK(:, :, k)} = \rho(FQ, FT) = \begin{bmatrix}\rho_{11} & \cdots & \rho_{1nT} \ \vdots & \ddots & \vdots \ \rho_{mT1} & \cdots & \rho_{mTnT}\end{bmatrix}]
    其中(mT \times nT \times tT)是测试视频的大小。
  • 相似度判断 :取(\rho_{3DGLK(:, :, k)})中每行的最大值,记录其在FQ中对应列向量的位置,保存到indexGLK矩阵中。需要一个相似度阈值(\theta)(经验值为0.88)来判断(\rho_{3DGLK})中的每个元素,若(\rho’_{3DGLK} \geq \theta),则两个向量相似,否则不相似,对应indexGLK中的位置记录为0。
  • 统计匹配 :选择合适的局部窗口(P \times P \times T)遍历indexGLK矩阵,统计窗口中无重复索引值的数量,使用公式(num = num(Unique(indexGLK_{P \times P \times T})))计算,得到相似度矩阵RMGLK。基于RMGLK获取全局相似度图像RM,然后应用非极大值抑制方法提取相似图像的局部最大值,找出人体位置,需要一个非极大值抑制阈值(\tau)来决定是否忽略RM的某些区域,最后计算剩余可能区域的最大值。
5. 实验分析
5.1 参数分析
  • 相似结构阈值(\alpha) :在去除冗余时,通过比较两个加权向量的余弦值与阈值(\alpha)来判断向量是否相似。(\alpha)越大,保留的权重向量越多,计算越复杂;(\alpha)越小,保留的权重向量矩阵差异越大,识别结果越不准确。通过统计不同(\alpha)下权重向量矩阵的数量,以曲线转折点(斜率为0.5)确定阈值。例如,对于行人场景,选择点(0.986, 909),则(\alpha)设为0.986,去冗余后权重向量数量为909。
  • 非极大值抑制阈值(\tau) :为准确确定目标位置,需要对RM应用非极大值抑制阈值(\tau)。选择多个目标图像,根据各自的RM矩阵建立概率密度曲线,积分得到积分和曲线。由于各目标图像的RM概率密度分布差异较大,但积分和曲线在尾部收敛,尾部对应RM值较大的部分,目标仍可能出现,因此可以忽略其他较小的灰度像素值以减少计算量,提高效率。选择各图像RM积分和曲线积分概率开始收敛的点,右侧保留,左侧忽略,将(\tau)设为0.75。
5.2 测试结果
  • 单人场景 :在包含一个目标的可见视频中测试方法的鲁棒性。结果表明,多光谱检测效果优于单波段。由于Seo算法使用单一模板,只能识别与模板姿势相似的目标,而引入的算法通过扩大权重矩阵,结合丰富的光谱信息,不仅提高了检测率,还能更准确地识别结果。同时,由于GLARK关注目标的局部结构信息,算法在目标部分被遮挡时仍能良好检测,而Seo算法更关注局部结构的整体结构,在部分身体结构被遮挡时效果不佳。
  • 快速运动场景 :在包含快速运动的可见视频中测试。Seo算法只能粗略定位运动员,但边界框只包含部分人体。而引入的算法即使在视频包含快速运动部分、空间尺度和外观变化较大的情况下,仍能检测到运动员的动作,边界框能很好地定位运动员。此外,在目标尺度变化的快速运动场景中,Seo算法不稳定,而引入的算法对目标的不稳定尺度具有良好的鲁棒性,这是因为模板采用了多尺度复合。
  • 多人多尺度场景 :在包含不同人的可见视频中测试。对于人体弱边缘情况,Seo算法容易将人体误判为背景,而引入的算法能局部增强弱边缘信息,检测效果良好。同时,Seo算法在同一视野中受人物多尺度的限制,而引入的算法由于建立了多尺度模板集,不受此干扰。
5.3 算法对比分析
  • IoU曲线 :通过评估IoU曲线,引入的方法性能优于Seo算法。
  • RPC曲线 :对于目标识别系统,精度和召回率是相互矛盾的指标,引入接收者操作特征(ROC)曲线评估目标识别效果,使用RPC曲线(Leibe等人,2008),横轴和纵轴分别对应1 - 精度和召回率。
  • 平均精度 :在视觉跟踪基准测试中,对包含人体动作的30个视频进行测试,计算11个属性的平均精度(mAP)。结果显示,引入的算法在多个动作检测上表现良好,虽然mAP略低于S - CNN,但模型是无监督的,不依赖训练过程。
动作 S - 卷积神经网络(CNN) Wang等人方法 引入的方法
BaseballPitch 15.2 16 22.4
BasketballDunk 23 0.8 5.6
Billiards 16.5 2.1 16
CleanAndJerk 25 9.7 26.9
CliffDiving 27.9 7.3 1.2
CricketBowling 15.8 0.8 9
Cricketshot 13.9 0.5 26.7
Diving 18 1.8 18.3
FrisbeeCatch 15.3 0.9 15.4
GolfSwing 16.9 22 33
HammerThrow 18.3 28 15.9
HighJump 22.6 10.1 17.4
JavelinThrow 17.2 6.2 17.6
LongJump 34.8 19.7 16.8
PoleVault 31.78 17.3 25.7
Shotput 12.5 1.2 22
SoccerPenalty 18.9 4 5.7
TennisSwing 19.7 3.2 24.6
ThrowDiscus 24.8 18.5 17
VolleyballSpiking 0.48 0.18 8.6
mAP 19.4 10.3 17.3

基于SMSM模型的人体动作检测方法

6. 实验拓展:THUMOS 2014数据集测试

为了让实验结果更具可信度,还在 THUMOS 2014 数据集上进行了测试。该数据集的时间动作检测任务旨在定位长未修剪视频中的动作实例,涉及 20 种动作,每种动作包含多个场景。

使用了三种方法对 213 个视频进行测试,分别是 S - 卷积神经网络(CNN)、Wang 等人的方法以及引入的方法。测试结果如下表所示:

动作 S - 卷积神经网络(CNN) Wang 等人方法 引入的方法
BaseballPitch 15.2 16 22.4
BasketballDunk 23 0.8 5.6
Billiards 16.5 2.1 16
CleanAndJerk 25 9.7 26.9
CliffDiving 27.9 7.3 1.2
CricketBowling 15.8 0.8 9
Cricketshot 13.9 0.5 26.7
Diving 18 1.8 18.3
FrisbeeCatch 15.3 0.9 15.4
GolfSwing 16.9 22 33
HammerThrow 18.3 28 15.9
HighJump 22.6 10.1 17.4
JavelinThrow 17.2 6.2 17.6
LongJump 34.8 19.7 16.8
PoleVault 31.78 17.3 25.7
Shotput 12.5 1.2 22
SoccerPenalty 18.9 4 5.7
TennisSwing 19.7 3.2 24.6
ThrowDiscus 24.8 18.5 17
VolleyballSpiking 0.48 0.18 8.6
mAP 19.4 10.3 17.3

从表格数据可以看出,引入的方法在部分动作的检测上表现出色,如 BaseballPitch、CleanAndJerk、Cricketshot、GolfSwing 等。虽然平均精度(mAP)略低于 S - CNN,但引入的模型是无监督的,不依赖训练过程,具有一定的优势。

7. 总结与展望
7.1 总结
  • 模型优势 :基于时空局部自适应回归核密集计算的非学习型 SMSM 模型在人体动作检测方面具有显著优势。通过引入 GLARK 特征,增强了弱边缘结构信息,削弱了纹理干扰,尤其关注弱边缘的局部结构。多尺度复合模板集的建立,使得模型能够在一帧中识别多种大小的动作,提高了检测的灵活性。时空多尺度统计匹配方法结合了降维、相似度计算和非极大值抑制等技术,有效地提高了检测的准确性和鲁棒性。
  • 实验验证 :在多个场景的实验测试中,引入的方法表现优于 Seo 算法。在单人、快速运动、多人多尺度等场景下,能够更好地检测人体动作,尤其是在目标部分被遮挡、弱边缘以及目标尺度变化等复杂情况下,具有更好的适应性。与其他方法的对比分析也表明,引入的方法在 IoU 曲线、RPC 曲线和平均精度等指标上表现良好,虽然 mAP 略低于 S - CNN,但无监督的特性使其具有独特的应用价值。
7.2 展望
  • 性能提升 :可以进一步优化模型的参数,如相似结构阈值(\alpha)和非极大值抑制阈值(\tau),以提高模型的性能。同时,可以探索更有效的特征提取方法,结合更多的信息,如深度信息、运动信息等,进一步增强模型的检测能力。
  • 应用拓展 :该模型在人体动作检测领域具有良好的应用前景,可以将其应用于更多的实际场景,如智能监控、体育赛事分析、人机交互等。通过不断的实践和改进,为这些领域提供更准确、高效的动作检测解决方案。
8. 附录:关键算法流程
graph LR
    A[构建WQi和WTi] --> B[对WTi应用PCA得到FTi]
    B --> C[去除WQ中相似列向量得到FQ]
    C --> D[计算矩阵余弦相似度]
    D --> E[记录最大值对应列向量位置并统计无重复索引值得到RM]
    E --> F[对RM应用非极大值抑制参数τ]
    F --> G[输出检测结果]
9. 附录:关键代码回顾
  • GLARK 特征计算

    • 高斯核算子定义:
      [g(\cdot, \sigma) = \frac{1}{(2\pi\sigma^2)^{N/2}} \exp\left(-\frac{\sum_{k = 1}^{D} x_k^2}{2\sigma^2}\right)]
    • 二维图像卷积:
      [D(x, y, \sigma) = g(x, y, \sigma) \otimes z(x, y)]
      [Z(x, y, \sigma, k) = D(x, y, k\sigma) - D]
    • 3×3 区域卷积计算:
      [f(i, j) = g * z = \sum_{k, l} g(i - k, j - l)z(h, l) = \sum_{k, l} g(k, l)z(i - k, j - l)]
    • 中心点计算:
      [\begin{bmatrix}Zx_{22} \ Zy_{22}\end{bmatrix} = \begin{bmatrix}Zx_{11} & \cdots & Zx_{33} \ Zy_{11} & \cdots & Zy_{33}\end{bmatrix} \begin{bmatrix}9 & 8 & 7 & \cdots & 2 & 1\end{bmatrix}^T]
    • CGLK 计算:
      [CGLK = \sum_{m \in \Omega l} \begin{bmatrix}Zx^2(m) & Zx(m)Zy(xk) & Zx(m)ZT(m) \ Zx(m)Zy(m) & Zy^2(m) & Zy(m)ZT(m) \ Zx(m)DT(m) & Zy(m)ZT(m) & ZT^2(m)\end{bmatrix}]
    • GLARK 定义:
      [K(CGLK, \vec{Xl}) = \exp(-\vec{Xl}^T CGLK \vec{Xl})]
  • 多尺度复合模板集构建
    [WQ = \begin{bmatrix}W_{0.5} & W_{orginal} & W_{1.5}\end{bmatrix} \in R^{N \times Mt}]
    其中(Mt = M1 + M + M3)。

  • SMSM 模型决策规则
    [\rho_{3DGLK(:, :, k)} = \rho(FQ, FT) = \begin{bmatrix}\rho_{11} & \cdots & \rho_{1nT} \ \vdots & \ddots & \vdots \ \rho_{mT1} & \cdots & \rho_{mTnT}\end{bmatrix}]

通过以上的总结和回顾,我们可以看到基于 SMSM 模型的人体动作检测方法在理论和实践上都取得了较好的成果。未来,随着技术的不断发展和应用需求的不断增加,该模型有望在更多领域发挥重要作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值