1.一种带有边缘约束的层次化人体解析语义分割方法,其特征在于,包括:S1)数据的采集与标注:
采集含有人体的若干自然图片,并将每张含有人体的自然图片按照人体组分对应的语义信息进行像素级的标注;
将自然图片与其对应像素标注图片组成图片对,按照1:1的近似比随机将所有图片对划分为训练集和测试集;
S2)对训练数据做预处理:
对训练集的所有图片对依次进行随机剪裁、随机尺度缩放和随机翻转的增强;
根据边缘检测算子提取训练集真值数据的语义边缘,并根据人体分层情况,合并训练集的真值数据不同层次的语义标签;
S3)构建带有边缘约束的层次化人体解析语义分割模型,其包括骨干网络、边缘检测模块、层次空间金字塔模块和解码模块,该骨干网络的输出分别与边缘检测模块和层次空间金字塔模块的输入端连接,边缘检测模块与层次空间金字塔模块的输出与解码模块连接;
1 2 3 4
其中的边缘检测模块,是由三个并联的边缘特征块b,b,b与融合特征块b级联组成,这些特征块通过以下操作得到:1
第一边缘特征块b由骨干网络中第一特征编码模块R1的输出特征,经过1×1卷积操作,再经过下采样变换得到,其中变换的维度应与第三特征编码模块R3的输出特征维度保持一致;
2
第二边缘特征块b由骨干网络中第二特征编码模块R2的输出特征,经过1×1卷积操作,再经过下采样变换得到,其中变换的维度应与第三特征编码模块R3的输出特征维度保持一致;
3
第三边缘特征块b由骨干网络中第三特征编码模块R3的输出特征,经过1×1卷积操作得到;
4 1 2 3
第四边缘特征块b由第一边缘特征块b,第二边缘特征块b与第三边缘特征块b按照通道维度进行矩阵拼接得到;
其中的层次空间金字塔模块,包括级联的最底层图结构推理模块G1,中间层图结构推理模块G2,最上层图结构推理模块G3,其中:所述最底层图结构推理模块G1,用于最底层语义特征的消息传递,即将对应特征块的维度映射到由最细节人体解析层分组类别构成的最底层图结构的特征维度上,对最底层图结构特征进行消息传递,并将消息传递后的最底层图结构反映射回原特征块的维度;
所述中间层图结构推理模块G2,用于中间层语义特征的消息传递,即将对应特征块的维度映射到由上下半身人体解析层分组类别构成的中间层图结构的特征维度上,对中间层图结构特征进行消息传递,并将消息传递后的中间层图结构反映射回原特征块的维度;
所述最上层图结构推理模块G3,用于最上层语义特征的消息传递,即将对应特征块的维度映射到由全身人体解析层分组类别构成的最上层图结构的特征维度上,对最上层图结构特征进行消息传递,并将消息传递后的最上层图结构反映射回原特征块的维度;
S4)设置模型超参数和训练规则,包括设置梯度下降方法、学习率、最大训练代数、损失函数,并将经过S2)预处理后的训练集批量输入到带有边缘约束的层次化人体解析语义分割模型中,进行带有边缘约束的层次化人体解析语义分割模型训练;
S5)将S4)训练后的模型参数保存,获得含参数的带有边缘约束的层次化人体解析语义分模型,将测试集输入带参数的人体解析语义分割模型中进行模型评价,得到其平均交并比指标;
S6)根据评价的平均交并比指标评价模型性能是否达到预期效果:若达到,则执行S7),
否则,返回S4)调整网络超参数和训练规则,重新训练带有边缘约束的层次化人体解析语义分割模型;
S7)将包含人体的自然图像输入到S4)含参数的带有边缘约束的层次化人体解析语义分割模型中,得到边缘约束的人体解析图像。
2.根据权利要求1所述的方法,其特征在于,S2)中根据边缘检测算子提取训练集真值数据的语义边缘,是利用两个卷积核在真值图像上遍历整幅真值图像,即按照垂直坐标依次进行水平滑动,分别检测图像的水平梯度响应和垂直梯度响应,如果某像素在这两个卷积核下的响应值大于预先设定的阈值,则将其视为真值图像的边缘。
3.根据权利要求1所述的方法,其特征在于,S2)中根据人体分层情况,合并训练集的真值数据不同层次的语义标签,先是将人体解析标签由精细到粗糙划分为三层,再进行标签合并,其中:所述三层结构如下:
第一层为最细节人体解析层,表达了人体标签最多的层次,标签数量与S1)中标注的人体组分数量保持一致,划分得到最细节真值图像第二层为上下半身人体解析层,其利用人体上下半身的语义信息对人体标签上下半身进行区分,其标签类别为上半身、下半身和背景;
第三层为全身人体解析层,其为表达人体标签最少的层次,标签类别为全身人像和背景,所述标签合并如下:
由第一层类别标签将同属于上半身的人体标签合并成一类,将同属于下半身的人体标签合并成为另一类,将背景被分为单独一类,划分得到上下半身真值图像由第二层类别标签进行合并,即上半身和下半身合并成一类,背景仍被分成单独的一类,划分得到全身真值图像
4.根据权利要求1所述的方法,其特征在于,S3)中的骨干网络,包括两个级联的残差神经网络模块和空洞空间卷积池化模块ASPP,其中:所述残差神经网络模块作为通用的编码器,用于将输入的人体图像特征进行编码,得到高维度的人体特征信息,该模块包括依次连接7×7卷积模块C和四个特征编码模块:R1、R2、R3、R4,这四个特征编码模块包含不同数目的残差块,以实现输入特征由浅层到深层、由高分辨率特征向低分辨率特征的转换,并通过第四特征编码模块R4与ASPP模块连接所述空洞空间卷积池化模块ASPP,用于对全局上下文的粗提取,其包含一个1×1卷积模块和三个采样率分别为6,12,18的3×3空洞卷积模块。
5.根据权利要求1所述的方法,其特征在于,S3)中的解码模块由融合解码子模块,边缘解码子模块,最细节人体解码子模块,上下半身解码子模块与全身解码子模块并联组成,其中:融合解码子模块,用于融合边缘检测模块的输出和层次空间金字塔模块的输出,并将融合结果进行解码得到带有边缘约束的层次化人体解析语义分割模型预测的边缘约束人体解析图像y;
边缘解码子模块,用于输出带有边缘约束的层次化人体解析语义分割模型预测的人体边缘图像ye;
最细节人体解码子模块,用于输出带有边缘约束的层次化人体解析语义分割模型预测的最细节人体解析图像y1;
上下半身人体解码子模块,用于输出带有边缘约束的层次化人体解析语义分割模型预测的上下半身人体解析图像y2;
全身人体解码子模块,用于输出带有边缘约束的层次化人体解析语义分割模型预测的全身人体解析图像y3。
6.根据权利要求1所述的方法,其特征在于,S4)中的损失函数,表示如下:L总=L+Le+L1+L2+L3
其中; 为融合解码子模块输出的边缘约束人体解析图像y与最细节真值图像 间的损失函数,LCE为交叉熵损失函数;
为边缘检测模块输出的边缘约束人体解析图像ye与边缘真值图像 间的损失函数;
为解码模块最细节人体解码子模块输出的边缘约束人体解析图像y1与最细节真值图像 间的损失函数;
为解码模块上下半身人体解码子模块输出的边缘约束人体解析图像y2与上下半身真值图像 间的损失函数;
为解码模块全身人体解码子模块输出的边缘约束人体解析图像y3与全身真值图像 间的损失函数。
7.根据权利要求1所述的方法,其特征在于,S4)中对带有边缘约束的层次化人体解析语义分割模型进行训练,实现如下:S41)将S2)预处理后训练集图片输入进带有边缘约束的层次化人体解析语义分割模型的骨干模块,将骨干网络中第一特征编码模块R1,第二特征编码模块R2,第三特征编码模块R3和空洞空间卷积池化模块ASPP的输出特征作为骨干网络的输出,并将其输出输入进边缘检测模块,得到边缘特征;
S42)对骨干网络中第一特征编码模块R1的输出特征下采样,并与空洞空间卷积池化模块ASPP的输出进行特征融合,输入到层次空间金字塔模块,得到最上层原始特征、中间层推理特征和最底层推理特征;
S43)将上述边缘特征,最上层推理特征,中间层推理特征,最底层推理特征,输入到解码模块,得到预测的边缘约束人体解析图像y、预测的人体边缘图像ye、预测的最细节人体解析图像y1、预测的上下半身人体解析图像y2和预测的全身人体解析图像y3;
S44)计算解码模块的输出与对应真值间的损失函数L总,利用神经网络的反向传播机制更新带有边缘约束的层次化人体解析语义分割模型中各卷积核参数,完成一次训练;
S45)训练次数加一,循环执行上述步骤,并判断当前的训练次数是否达到最大训练次数:若是,则训练完成,得到训练好的带有边缘约束的层次化人体解析语义分割模型,否则,返回S41)继续循环迭代网络参数。