zoukankan      html  css  js  c++  java
  • Convolutional Pose Machines(理解)

    0 - 背景

      人体姿态识别存在遮挡以及关键点不清晰等主要挑战,然而,人体的关键点之间由于人体结构而具有相互关系,利用容易识别的关键点来指导难以识别关键点的检测,是提高关键点检测的一个思路。本文通过提出序列化结构模型,来提高人体姿态识别任务的效果。

    1 - 贡献

    • 使用一个序列卷积结构模型学习表达空间信息
    • 采用系统的方法来设计和训练模型,以学习图像特征和依赖图像空间模型进行结构化预测的任务
    • 在MPII/LSP/FLIC等数据集上实现了最好的性能
    • 分析了联合训练一个多阶段、中间重复监督的架构的效果

    2 - 整体思路

    2.1 - CPM(Convolutional Pose Machines)

      Convolutional Pose Machines(CPM)算法思想来自于Pose Machine,其网络结果如下图:

      图中(a)和(b)是pose machine中的结构,(c)和(d)是其对应的卷积网络结构,(e)展示了图片在网络中传输的不同阶段的感受野。

    • Stage 1:对输入图片做处理,其中$X$代表经典的VGG结构,并且最后采用$1 imes 1$卷积输出belief map,如果人体有$k$个关键带来,则$belief map$的通道数为$k$
    • Stage T:对于Stage 2以后的Stage,其结构都统称为Stage T,其输入为上一个Stage的输出以及对原始图片的特征提取的联合,输出于Stage 1一致

    2.2 - 损失函数

      损失函数公式如下:

    $$f_t=sum_{p=1}^{P+1}sum_{zin Z}egin{Vmatrix}b_t^p(z)-b_*^p(z)end{Vmatrix}^2_2$$

    3 - 实验

    3.1 - intermediate supervision

      如果直接对整个网络进行梯度下降,输出层的误差经过多层反向传播会大幅减小,而发生梯度消失现象。

        

      本文为了解决这个问题,提出了中间监督方法,从而保证底层参数的正常更新。

        

      效果如下图,可以看到,加入中间监督之后,在靠近输入的stage,其梯度比没有中间监督大很多,从而保证学习的效果。

    3.2 - 感受野

       CPM采用大卷积核获得大感受野,对于被遮挡的关键点检测很有效果。并且本文通过实验表明了随着感受野的增大,预测的准确率上升,如下图:

        

      文中提出增大感受野有如下几种方式:

    • 增大pool,但会损失较多信息从而减小了精度
    • 增大卷积核,同时会增加参数量
    • 增加卷积层,层数过多容易产生梯度消失等问题

    4 - 参考资料

    https://arxiv.org/abs/1602.00134

    https://blog.csdn.net/cherry_yu08/article/details/80846146

    https://blog.csdn.net/shenxiaolu1984/article/details/51094959

    https://www.cnblogs.com/JillBlogs/p/9098989.html

  • 相关阅读:
    安装scrapy解决Microsoft Visual C++ 14.0 is required...
    django一对多模型以及如何在前端实现
    django实现分页功能
    django实现搜索功能
    pycharm里生成requirements.txt
    ubuntu中pwntools安装
    获取一个图片的颜色html代码
    对class文件进行反编译
    Django项目将debug模式设置为false时,静态文件出错
    Django中在xadmin中集成DjangoUeditor
  • 原文地址:https://www.cnblogs.com/CZiFan/p/10045835.html
Copyright © 2011-2022 走看看