分析OpenPose存在的问题
OpenPose架构
主干网络
-
作为提取图像特征的主干网络,OpenPose使用了VGG-19,其优缺点都显而易见,优点是:
- 其结构简单,类似于一个直筒的线性结构;
- 同时VGG-19由19个卷积块级联,较深的网络能够获得更大的感受野,提取到足够多的特征。
- 因为方向是轻量化,所以本是优点的VGG-19就变成了缺陷:由于网络较深,可能出现深度网络的通病:梯度消失或梯度爆炸的网络退化问题。
支线网络
- 作为根据主干网络提取的特征来进行预测的支线网络,OpenPose采用了自底向上的检测方法,即先获得人体稀疏关键点,再对关键点进行组合形成肢体。预测的5个细化阶段显然后三个细化阶段并没有提升太多的精度,可以舍弃;
-
每个细化阶段分为7个级联卷积层,PCM分支和PAF分支的共同点在于前5个 \(7 \times 7\) 卷积,因此可以通过共享他们的计算过程,来降低运算复杂度;
-
支线网络的两个分支为了获得更大的更大的感受野,获取更多的上下文场景信息,大量使用了较大的 \(7 \times 7\) 卷积核,产生了大量参数以及更多次的乘法运算。
结论
主干网络
- 将主干网络替换为轻量级卷积神经网络来进行特征提取;
- 已经确定使用MobileNet系列网络,因此针对MobileNet v1和v2进行了测试,其结果如下:
故选择MobileNet v1作为主干网络;
- 把conv4_2的步长改为1,损失了感受野但提升了精度,然后在conv5_1使用空洞卷积来维持感受野;
支线网络
- 舍弃后三个细化阶段,因为它们使计算复杂度提升了,却对精度提升极少;
- 共享每个细化阶段前5个 \(7 \times 7\) 卷积;
- 每个 \(7 \times 7\) 卷积可以替换为 \(1 \times 1, 3 \times 3, 3 \times 3\) 卷积的级联,最后一个 \(3 \times 3\) 卷积dilation=2扩大感受野;
- 替换卷积层后网络深度增加,发生网络退化,通过增加残差结构解决。