本文提出Parsing R-CNN可进行实例级人体分析,在CIHP、MHP v2.0、DensePose-COCO数据集取得SOTA,获得COCO2018挑战赛冠军;
Parsing R-CNN从以下4个方面进行探究:
1、为了强化特征语义信息及保持特征分辨率,使用proposal分离采样策略,目标检测分支RoIPool仅在合适的特征层级执行,人体解析分支RoIPool在最精细特征层P2进行;
2、为了获取细节信息用于区分实例中不同人体部件及稠密点,扩大RoI分辨率;
3、提出几何及上下文编码模块,用于扩大感受野,捕获不同人体部件之间相关性;
4、解耦解析分支为三部分:语义空间变换、空间及上下文编码、语义特征表征;
Parsing R-CNN算法如图2,
FPN中对于大尺寸RoI分配到粗糙特征层(P5、P6);如图3,经统计,CIHP数据集及MHP数据集中大部分目标尺寸超过图片尺寸10%,如果用此策略将分配到粗糙特征层,从而对于眼镜、手表等小目标类别难以提供细节信息;
为解决此问题,作者提出PSS,bbox分支扔采用FPN中尺度分配策略,parsing分支的RoIPool/RoIAlign仅在精细化特征层P2进行;
过小RoI分辨率将导致损失细节信息,为解决此问题,Parsing分支作者使用32*32分辨率;
为解决训练时长及内存过载,作者将Parsing分支batch设置为固定值,比如32,这在保证性能同时加速收敛。
FCN对池化特征进行预测mask,但是用于人体分析有三个缺点:
1、人体部件尺寸不一,因此需要包含多尺度信息的特征;
2、每个人体部件,空间相关联,需要非局部特征;
3、32 * 32的RoI需要较大感受野,堆叠4个或8个3 * 3卷积不够;
ASPP在语义分割已验证有效性,通过并列卷积层(不同dilation)获取不同尺度信息。
Non-local可以捕获远距离依赖关系;
作者结合ASPP及non-local优势,提出GCE替换parsing分支中FCN,如图5,GCE可有效区分人体的不同部件;
GCE结构如图4所示,
RoI特征,经过全局平均池化及1 * 1卷积,而后通过双线性插值上采样到RoI特征尺寸32 * 32,图4中ASPP最左侧分支;
ASPP包括1个1 * 1卷积、3个3 * 3卷积(dilation为6,12,18),输出4个特征层,5个特征层通过通道维进行concat;
作者使用的non-local中相似性度量为embedde Gaussian,参考:https://zhuanlan.zhihu.com/p/33345791
Parsing分支输出模块,使用1个kernel为4的转置卷积进行2倍上采样,及双线性插值进行上采样上采样2倍;
作者将parsing分支解耦为GCE前语义空间变换、GCE模块、GCE后转好语义特征至特定任务;
在CIHP数据集上,消融实验结果如表6所示:
PSS提升1个点,如表1如果box分支及parsing分支都仅使用P2层特征可提升0.5;
ERR(32*32)可提升2.8个点;
与堆叠8个3 * 3卷积层相比,GCE可提升2个点;如表3仅使用Non-local将使得性能下降,但是与ASPP结合,可提升性能,可能由于ASPP使得特征更加丰富;
如表4,在GCE前增加卷积层无必要,由于GCE可进行语义空间变换;
如表5,使用COCO关键点预训练模型或延迟2-3倍训练时长,均可带来性能提升;
表7为在MHP v2.0数据集上消融实验结果;
表8为与目前SOTA方法比较实验;
作者基于DensePose RCNN进行消融实验,结果如表9,在ResNeXt101 backbone上提升6.1个点;
作者提出基于区域的实例级人体解析方案Parsing RCNN从4个角度进行探究人体分析存在问题:Proposal分配采样策略、扩大parsing分支RoI池化输出分辨率、GCE、parsing分支解耦。取得SOTA性能。