Alexander作者萝卜兔编辑整理

人体解析端到端框架——CE2P

人体解析是细粒度的语义分割任务,其旨在识别像素级别的人类图像的组成部分(例如,身体部位和服装)。本文确定了包括特征分辨率,全局上下文信息和边缘细节等几个有用的属性,并执行严格的分析以揭示如何将它们应用到人体解析任务中。

基于上述属性,本文提出了一个简单而有效的框架——Context Encedding with Edge Perceiving(CE2P)框架,用于单人解析。CE2P是端到端的可训练的,可以很容易地用于进行多人解析。在第二次(LIP)挑战中赢得了三个人体解析评估指标的第一名,取得了56.50%(mIoU),45.31%(mean )和33.34%(  ),其表现分别超过了最优模型2.06%,3.81%和1.87%。

当前的语义分割方法有两类

1.高分辨率保持

这种方法试图获得高分辨率的特征以恢复所需的详细信息。由于连续的空间池化和卷积步幅,最终特征映射的分辨率显着降低,从而丢失了更精细的图像信息。为了产生高分辨率特征,有两种典型的解决方案,即去掉几个下采样操作和从低级特征图中引入细节。对于后一种情况,它通常嵌入在编码器——解码器架构中,其中在编码器中捕获高级语义信息,并且在解码器中恢复细节和空间信息。

2.上下文信息嵌入

上下文信息嵌入这种方法致力于捕获丰富的上下文信息以处理具有多个尺度的对象。特征金字塔是缓解各种尺度引起的问题的有效方法之一,以及基于空洞卷积的ASPP和金字塔场景解析(PSP)是两个比较受欢迎的结构。 ASPP利用具有不同rate的并行空洞卷积层来结合多尺度上下文。 PSP设计金字塔池操作,将本地和全局信息集成在一起,以实现更可靠的预测。除了这两种典型类型之外,其他一些作品还建议通过引入额外信息(如边)或更有效的学习策略(如级联训练)来优化分割性能。

CE2P组成

1)高分辨率嵌入模块,用于扩大特征图以恢复细节;

2)用于编码多尺度上下文信息的全局上下文嵌入模块;

3)边缘感知模块,用于整合对象轮廓的特征以细化解析预测的边界。

CE2P结构介绍

CE2P将本地精细细节,全局上下文和语义边缘上下文集成到一个统一的网络中。 如图所示,它由三个关键组件组成,用于学习端到端解析,即上下文嵌入模块,高分辨率嵌入模块和边缘感知模块。 采用ResNet-101作为特征提取骨干。

上下文嵌入模块

全局上下文信息可用于区分细粒度类别。例如,左右鞋在外观上具有相对高的相似性。为了区分左右鞋,全局信息(如腿和身体的方向)提供了有效的先验上下文。特征金字塔是捕获上下文信息的有效方式。 借鉴之前的PSP工作,我们利用金字塔池模块来整合全局表示。 我们对从ResNet-101中提取的特征执行四次平均池化操作,以生成尺寸分别为1×1,2×2,3×3,6×6的多尺度上下文特征。 这些上下文特征被上采样以通过双线性插值与原始特征图保持相同的大小,其进一步与原始特征连接。 然后,采用1×1卷积来减少信道并更好地整合多尺度上下文信息。 最后,上下文嵌入模块的输出作为全局先验上下文被馈送到下面的高分辨率模块中。

高分辨率嵌入模块

在人体解析中,存在若干要分割的小对象,例如, 袜子,鞋子,太阳镜和手套。 因此,最终像素级分类的高分辨率特征对于生成准确预测至关重要。 为了恢复丢失的细节,我们采用了一种简单而有效的方法,它嵌入了来自中间层的低级视觉特征,作为高级语义特征的补充。 我们利用conv2中的功能捕获高分辨率细节。 全局上下文特征通过因子4采用双线性插值进行上采样,并在1×1卷积减少通道后与局部特征连接。 最后,我们对连接得到的特征进行两次顺序1×1卷积,以更好地融合局部和全局上下文特征。 以这种方式,高分辨率模块的输出同时获得高级语义和高分辨率空间信息。

边缘感知模块

该模块旨在学习轮廓的表示以进一步锐化并改进预测。 我们引入了三个分支来检测多尺度语义边缘。 如图1所示,对conv2,conv3和conv4进行1×1卷积以生成语义边缘的2通道分数图。 然后,执行1×1卷积以获得融合边缘图。 边缘分支的那些中间特征(其可以捕获对象边界的有用特征)被上采样并与来自高分辨率的特征连接。 最后,在级联特征图上执行1×1卷积以预测像素级人体部分。

损失函数

其中表示边缘模块检测到的边缘图与二值边标签图之间的加权交叉熵损失函数; 表示高分辨率模块的解析结果与解析标签之间的交叉熵损失函数;  表示从边缘感知分支预测的最终解析结果与解析标签之间的交叉熵损失函数

多人解析

MHP是一项更具挑战性的任务,它不仅需要对像素的语义进行分类,还需要识别这些像素所属的实例(即一个独特的人)。 为了在多人的情景下实现高质量的解析结果,我们在CE2P和Mask R-CNN上设计了一个名为M-CE2P的框架。

全局解析

尽管CE2P被提议用于单人解析,但我们发现它在多个人类图像上也显示出相当大的性能。 因此,我们首先将它应用于整个图像以进行全局解析。 对于Bg的分支,我们用整个图像训练CE2P模型。然后,该分支的输出被用作对以下局部解析的补充。 当多个人之间存在遮挡时,全局解析分支可以提供上下文信息。 例如,可以容易地区分形成不同人的相同语义部分,并且可以捕获人之间的空间关系以处理遮挡的情况。 但是,它并没有集中在相对较小的人实例上。 结果,Bg可能忽略了属于小尺度的人的身体部位。

具有预测实例mask的局部解析

为了缓解全局解析Bg的问题,我们考虑将人员定位为预处理步骤以生成准确的解析结果。为此,我们提出了一个专门针对人类级本地解析的两阶段分支。具体来说,我们使用Mask R-CNN来提取输入图像中的所有人物patch,并调整它们的大小以适应CE2P的输入大小。然后,将所有人级子图像馈送到CE2P中以训练模型以用于本地视图。在测试阶段,通过Mask R-CNN提取具有单个人类输入图像实例的子图像,并进一步馈送到训练模型中以进行解析预测。通过双线性插值将预测的置信度图调整为原始大小,以用于整个图像的后续预测。最后,用零填充每个子图像的置信度图以保持与来自Bg的置信度图相同的大小,并且通过前景信道上的元素求和和背景信道上的最小化进一步融合在一起。

用ground-truth实例mask进行局部解析

考虑到从ground-truth实例mask获得的人类实例更接近于真实单个人类图像,我们引入分支  来训练具有从ground-truth实例mask生成的数据的模型。 这个分支与  非常相似,唯一的区别是我们在训练阶段使用ground-truth边界框获得人物patch。 使用  ,可以进一步提高局部解析的性能。 最后,由三个分支生成的预测通过逐元素求和来融合,以获得最终的实例解析结果。 预测的与实例无关的解析结果进一步馈入后续过程以进行实例级解析。

实例级解析和标签细化

通过从M-CE2P获得的与实例无关的解析结果,我们考虑两个方面来生成实例级标签,即用于预测实例感知结果的实例分配和用于解决Mask R-CNN的欠整齐现象不足的标签细化。我们直接应用Mask R-CNN生成的human mask来分配全局身体部位的实例级标签。具体地说,当身体部位属于相同类别的不同的mask时,将被分配不同的部位实例标签。通过实验,我们发现从我们的CE2P预测的解析mask比人类实例图更可靠。为了进一步验证解析结果的可靠性,我们通过扩展具有相同解析标签的领域像素的交叉区域,同时跨越实例来引入标签细化。例如,边缘部分的一些区域(例如,头发,手)很可能在预测的人类mask区域之外,我们使用基于搜索的方法来缓解这个问题。 具体地,对于从分配步骤获得的每个部位边界像素,我们使用广度优先搜索来找到赋予实例类标签但由于分割预测的不准确性而没有部位标签的像素。 通过所提出的改进,由人类mask排除的身体部位可以有效地包括在最终的实例级结果中。

实验结果

我们比较了本文提出的方法进行单人解析与LIP数据集上的其他现有技术的表现,进一步评估了CIHP上的多人解析和MHP v2.0数据集。

LIP数据集:LIP(Liang et al.2017)数据集用于LIP挑战2016,这是一个专注于单人解析的大型数据集。 在像素级有50,462个具有细粒度注释的图像,具有19个语义人类部分标签和一个背景标签。 这些图像进一步分为30K / 10K / 10K,分别用于训练,验证和测试。

CIHP数据集:CIHP(Gong等人,2018)提供了一个包含38,280种不同人类图像的数据集,其中包含28,280次训练,5K验证和5K测试图像。 图像具有20个类别和实例级标识的逐像素注释。

MHP v2.0数据集:MHP v2.0数据集设计用于野外的多人解析,包括25,403个具有更多类别的图像,最多58个语义标签。 验证集和测试集分别具有5K图像。 其余15,403作为训练集提供。

指标:我们使用平均IoU来评估全局级别的预测,并使用以下三个度量来评估实例级别的预测。(mean )计算精确IoU阈值限制下召回曲线下的面积,并计算最终平均结果。()语义实例类别的像素级IoU。PCP详细说明了使用像素级IoU引导的某个人正确预测了多少身体部位。

更多实现细节

我们在PyTorch的基础上实现了提议的框架,并采用ResNet101作为骨干网络。 在训练和测试期间,图像的输入大小为473×473。 我们采用与Deeplab类似的训练策略,即基础学习率为0.007的“Poly”学习率策略。 我们对网络进行了大约150个时期的微调。 对于数据增强,我们在训练期间应用随机缩放(从0.5到1.5),裁剪和左右翻转。 注意,边缘感知模块中使用的边注释是通过提取不同语义之间的边界从解析注释直接生成的。

论文贡献:

分析了几种属性对人体解析的有效性,并揭示了如何利用它们来应用到人体解析任务。

通过利用有用的属性以简单有效的方式进行人体解析,设计了一个简单而有效的CE2P框架。

CE2P为三个人类解析基准测试带来了显着的性能提升,大大超过了当前最先进的方法。

代码可用,可作为单/多人解析的未来研究的坚实基线。

参考链接:

https://arxiv.org/pdf/1809.05996.pdf

https://github.com/liutinglt/CE2P

极验
极验

极验是全球顶尖的交互安全技术服务商,于2012年在武汉成立。全球首创 “行为式验证技术” ,利用生物特征与人工智能技术解决交互安全问题,为企业抵御恶意攻击防止资产损失提供一站式解决方案。

理论框架人体解析CE2P语义分割
3
相关数据
广度优先搜索技术

广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

双线性插值技术

双线性插值,又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。 双线性插值作为数值分析中的一种插值算法,广泛应用在信号处理,数字图像和视频处理等方面。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

掩饰的基于区域的卷积神经网络技术

Mask R-CNN是一个概念上简单,灵活和通用的对象实例分割框架。 该方法能够高效地检测图像中的对象,同时为每个实例生成高质量的分割蒙版。 这种方法通过添加一个用于预测对象蒙版的分支来扩展R-CNN使之更快,该分支与现有的用于边界框识别的分支并行。

空洞卷积技术

空洞卷积最大的特性就是扩张感受野,它不是在像素间插入空白像素,而是略过一些已有的像素。当然,我们也可以理解为保持输入不变,并向卷积核中添加一些值为零的权重,从而在计算量基本不变的情况下增加网络观察到的图像范围或序列长度。

推荐文章
暂无评论
暂无评论~