一种自然场景下的金丝猴躯体分割算法转让专利

申请号 : CN201910405596.6

文献号 : CN110287777A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许鹏飞王妍郭松涛李朋喜常晓军郭凌何刚陈峰郭军

申请人 : 西北大学

摘要 :

本发明公开了一种自然场景下的金丝猴躯体分割算法,该算法包括构造语义分割网络,实现端到端的图像分割;对所述的语义分割网络进行训练,保存训练后的网络模型用于待分割图像的分割检测;所述的语义分割网络包括分类网络、融合部分以及输出部分,分类网络用于对输入图像进行特征提取并进行像素级的分类,得到置信图;特征融合层有两个,分别融合最底两层、三层的分割网络,提高识别准确率,实现跨层连接;输出部分最终输出与原始图像大小一致的高分辨率的类热力图。本发明有效地提高了检测准确率,可以较好地解决金丝猴身体被分为多个部分的问题。

权利要求 :

1.一种自然场景下的金丝猴躯体分割算法,其特征在于,包括以下步骤:

构造语义分割网络,实现端到端的图像分割;对所述的语义分割网络进行训练,保存训练后的网络模型用于待分割图像的分割检测;

所述的语义分割网络包括分类网络、融合部分以及输出部分,其中:

语义分割网络从前至后依次为第一卷积层、第一最大池化层、第二卷积层c、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、第五卷积层、第五最大池化层、第六卷积层、第七卷积层;第一卷积层至第五卷积层的每层包括两次连续的卷积计算、第六卷积层包括一次卷积计算,作用是将输入的图像进行特征提取处理,得到特征图;第七卷积层包括一次卷积计算和分类激活函数,作用是进行特征提取处理并做像素级的分类,得到置信图;第一最大池化层至第五最大池化层的作用是在不损失特征的情况下减小数据维度;

融合部分包括第一特征融合层和第二特征融合层,第一特征融合层将第七卷积层的输出经过上采样后,与第五最大池化层的输出进行特征融合;第二特征融合层将第一特征融合层的输出结果和第四最大池化层提取的特征进行特征融合,得到融合后的置信图;

输出部分包括输出层,输出层包括一个上采样层和一个分类层,其中上采样层的输入为第二特征融合层的输出,作用是扩大所述融合后的置信图到原始输入图像的大小;分类层作用是对每个像素进行分类预测,最终得到与原始输入图像大小一致的高分辨率的类热力图。

2.如权利要求1所述的自然场景下的金丝猴躯体分割算法,其特征在于,所述的第一卷积层至第五卷积层的每一层卷积核大小均为2×2,步长为2;第六卷积层的卷积核大小为7×7,步长为1;第七卷积层的卷积核大小为1×1,步长为1。

3.如权利要求1所述的自然场景下的金丝猴躯体分割算法,其特征在于,所述的第一最大池化层至第五最大池化层的每一层池化核大小为2×2,步长为2。

4.如权利要求1所述的自然场景下的金丝猴躯体分割算法,其特征在于,所述的第一特征融合层将第七卷积层的输出经过上采样后,与第五最大池化层的输出进行特征融合,包括:第一特征融合层包括一个上采样层和卷积层,上采样层的输入为第七卷积层的输出,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图A2;卷积层的输入为第五最大池化层的输出,卷积核大小为1×1,步长为1,激活函数为Relu函数,得到第五最大池化层层输出的置信图B;第一特征融合层最终的输出为置信图B与置信图A2的和,记为置信图C。

5.如权利要求1所述的自然场景下的金丝猴躯体分割算法,其特征在于,所述的第二特征融合层将第一特征融合层的输出结果和第四最大池化层提取的特征进行特征融合,得到融合后的置信图,包括:第二特征融合层包括一个上采样层和卷积层,上采样层的输入为分割结果图C,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图C2;卷积层的输入为第四最大池化层的输出,卷积核大小为1×1,步长为1,激活函数为Relu函数,得到第四最大池化层层输出的置信图D;第二特征融合层最终输出为置信图D与置信图C2的和,记为置信图E,即为融合后的置信图。

6.如权利要求1所述的自然场景下的金丝猴躯体分割算法,其特征在于,所述的语义分割网络进行训练时,所采用的损失函数为:(i,j)

其中,y 表示输入图像对应的实际分类后的图像像素点(i,j)处的标签值, 表示输入图像经语义分割网络处理后的输出图像像素点(i,j)处的预测值,height和width分别(i,j)表示图像的高和宽,dw 为距离约束权重函数,表示为:

其中,distance(I(i,j),center(i,j))表示像素点I(i,j)距离其所在连通域中心center(i,j)的距离,α和β是两个常数。

说明书 :

一种自然场景下的金丝猴躯体分割算法

技术领域

[0001] 本发明涉及图像分割、图像物体识别定位技术领域,具体涉及一种自然场景下的金丝猴躯体分割算法。

背景技术

[0002] 在野生金丝猴研究与保护工作中,通过自然图像和视频精准地将金丝猴与环境背景区分,是后续个体重识别任务的基础,从而为金丝猴群体数量、行为等研究提供数据支持。目前国内外有很多研究人员提出了各种各样基于脸部特征的动物检测和识别算法。
[0003] 其中,Du利用图像分割和数学形态学提出了一种基于恒河猴面部特征的自动定位方法。张利用传统的图像处理方法实现了猕猴眼、口等器官的自动定位,并利用边缘检测算子提取了部分器官的细节轮廓。
[0004] 然而,由于图像的变化,这些方法得到的结果并没有很好的性能。Pengfei Xu提出了一种基于区域色彩量化和增量式自适应课程学习的金丝猴脸检测算法,该算法能够有效地检测出猴子的猴脸,但ISPCL的分割阈值受金丝猴的种类或栖息地限制。

发明内容

[0005] 本发明所要解决的技术问题是提供了可以满足金丝猴个体重识别任务对于自然场景数据处理需求的一种金丝猴躯体分割算法。
[0006] 为了实现上述任务,本发明采用以下技术方案:
[0007] 一种自然场景下的金丝猴躯体分割算法,包括以下步骤:
[0008] 构造语义分割网络,实现端到端的图像分割;对所述的语义分割网络进行训练,保存训练后的网络模型用于待分割图像的分割检测;
[0009] 所述的语义分割网络包括分类网络、融合部分以及输出部分,其中:
[0010] 语义分割网络从前至后依次为第一卷积层、第一最大池化层、第二卷积层c、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、第五卷积层、第五最大池化层、第六卷积层、第七卷积层;第一卷积层至第五卷积层的每层包括两次连续的卷积计算、第六卷积层包括一次卷积计算,作用是将输入的图像进行特征提取处理,得到特征图;第七卷积层包括一次卷积计算和分类激活函数,作用是进行特征提取处理并做像素级的分类,得到置信图;第一最大池化层至第五最大池化层的作用是在不损失特征的情况下减小数据维度;
[0011] 融合部分包括第一特征融合层和第二特征融合层,第一特征融合层将第七卷积层的输出经过上采样后,与第五最大池化层的输出进行特征融合;第二特征融合层将第一特征融合层的输出结果和第四最大池化层提取的特征进行特征融合,得到融合后的置信图;
[0012] 输出部分包括输出层,输出层包括一个上采样层和一个分类层,其中上采样层的输入为第二特征融合层的输出,作用是扩大所述融合后的置信图到原始输入图像的大小;分类层作用是对每个像素进行分类预测,最终得到与原始输入图像大小一致的高分辨率的类热力图。
[0013] 进一步地,所述的第一卷积层至第五卷积层的每一层卷积核大小均为2×2,步长为2;第六卷积层的卷积核大小为7×7,步长为1;第七卷积层的卷积核大小为1×1,步长为1。
[0014] 进一步地,所述的第一最大池化层至第五最大池化层的每一层池化核大小为2×2,步长为2。
[0015] 进一步地,所述的第一特征融合层将第七卷积层的输出经过上采样后,与第五最大池化层的输出进行特征融合,包括:
[0016] 第一特征融合层包括一个上采样层和卷积层,上采样层的输入为第七卷积层的输出,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图A2;卷积层的输入为第五最大池化层的输出,卷积核大小为1×1,步长为1,激活函数为Relu函数,得到第五最大池化层层输出的置信图B;第一特征融合层最终的输出为置信图B与置信图A2的和,记为置信图C。
[0017] 进一步地,所述的第二特征融合层将第一特征融合层的输出结果和第四最大池化层提取的特征进行特征融合,得到融合后的置信图,包括:
[0018] 第二特征融合层包括一个上采样层和卷积层,上采样层的输入为分割结果图C,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图C2;卷积层的输入为第四最大池化层的输出,卷积核大小为1×1,步长为1,激活函数为Relu函数,得到第四最大池化层层输出的置信图D;第二特征融合层最终输出为置信图D与置信图C2的和,记为置信图E,即为融合后的置信图。
[0019] 进一步地,所述的语义分割网络进行训练时,所采用的损失函数为:
[0020]
[0021] 其中,y(i,j)表示输入图像对应的实际分类后的图像像素点(i,j)处的标签值,表示输入图像经语义分割网络处理后的输出图像像素点(i,j)处的预测值,height和width分别表示图像的高和宽,dw(i,j)为距离约束权重函数,表示为:
[0022]
[0023] 其中,distance(I(i,j),center(i,j))表示像素点I(i,j)距离其所在连通域中心center(i,j)的距离,α和β是两个常数。
[0024] 本发明具有以下技术特点:
[0025] 1.本发明算法通过对原始图像的语义分割达到金丝猴目标检测的目的,主要是通过深度学习中的全卷积网络进行金丝猴与自然环境的分割,再使用基于距离权重的损失函数即改进后的交叉熵损失函数将FCN模型聚焦于金丝猴个体的完整性上,提高最终的检测准确率。
[0026] 2.通过实验对比分析,发现使用改进后的损失函数,可以较好地解决金丝猴身体被分为多个部分的问题,改进后的自然场景金丝猴检测网络对之前出现问题的图像分割结果有了比较好的提升。

附图说明

[0027] 图1为语义分割网络结构图;
[0028] 图2为特征融合图;
[0029] 图3为IoU计算方法;
[0030] 图4为语义分割网络正确生成检测结果示例图,其中(a)表示原始图像的分割结果,(b)的矩形框内为在结果图像基础上生成的矩形金丝猴个体检测结果;
[0031] 图5为语义分割网络生成错误检测结果示例图;其中(a)与(c)展示了金丝猴下边缘未被矩形检测结果完全覆盖的情况,(b)展示了单只金丝猴由于分割结果错误被分为两个检测框的情况;
[0032] 图6为语义分割网络采用改进后的DWL函数进行训练后的检测结果对比,其中(a)、(b)、(c)分别为三个金丝猴个体的检测结果图。

具体实施方式

[0033] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本方案中所述的金丝猴躯体分割,是指从包含有金丝猴的图像中检测并分割出金丝猴躯体所在的图像部分。
[0034] 步骤1,构造语义分割网络,实现端到端的图像分割
[0035] 所述的语义分割网络包括分类网络、融合部分以及输出部分,其中:
[0036] 第一部分,分类网络
[0037] 分类网络由7个卷积层和5个池化层构成,该网络从前至后每一层的排布具体为:第一卷积层conv1、第一最大池化层pool1、第二卷积层conv2、第二最大池化层pool2、第三卷积层conv3、第三最大池化层pool3、第四卷积层conv4、第四最大池化层pool4、第五卷积层conv5、第五最大池化层pool5、第六卷积层conv6、第七卷积层conv7。其中:
[0038] 第一卷积层至第五卷积层conv1~conv5,每层包括两次连续的卷积计算,将输入的图像进行特征提取处理,得到特征图;第六卷积层conv6,该层包括一次卷积计算,作用是将输入的图像进行特征提取处理,得到特征图,并作为下一层的输出;第七卷积层conv7,该层包括一次卷积计算和分类激活函数,作用是将输入的图像进行特征提取处理并做像素级的分类,得到低分辨率的类的热图,即置信图;conv1~conv5的每一层卷积核大小均为2×2,步长为2;第六卷积层的卷积核大小为7×7,步长为1;第七卷积层的卷积核大小为1×1,步长为1。
[0039] 第一最大池化层至第五最大池化层pool1~pool5,在不损失特征的情况下减小数据维度,得到数据维度减小的特征图;pool1~pool5池化核的大小均为2×2,步长为2。
[0040] 第二部分,融合部分
[0041] 融合部分包括第一特征融合层和第二特征融合层,第一特征融合层将第七卷积层的输出经过上采样后,与第五最大池化层的输出进行特征融合;第二特征融合层将第一特征融合层的输出结果和第四最大池化层提取的特征进行特征融合。
[0042] 第一融合层融合了最底两层特征的分割结果,作用为融合多层输出的特征,提高识别准确率;第二特征融合层融合了最底三层的分割结果,实现了跨层连接。
[0043] 特征融合部分如图2所示:
[0044] 第一特征融合层包括一个上采样层和卷积层,上采样层的输入为conv7的输出,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图A2;卷积层的输入为pool5的输出,卷积核大小为1×1,步长为1,激活函数为Relu函数,得到pool5层输出的置信图B;第一特征融合层最终的输出为置信图B与置信图A2的和,记为置信图C,即融合了最底两层特征的分割结果图,作用为融合多层输出的特征,提高识别准确率。
[0045] 第二特征融合层包括一个上采样层和卷积层,上采样层的输入为分割结果图C,上采样倍数为2倍,作用是扩大置信度图的像素便于特征融合,得到维度扩大的置信度图C2;卷积层的输入为pool4的输出,卷积核大小为1×1,步长为1,激活函数为relu函数,得到pool4层输出的置信图D;第二特征融合层最终输出为置信图D与置信图C2的和,记为置信图E,即融合了最底三层的分割结果图,作用为实现了跨层连接,融合多层输出的特征,提高识别准确率。
[0046] 第三部分,输出部分
[0047] 输出部分包括输出层,输出层包括一个上采样层和一个分类层,其中上采样层的输入为融合部分,即第二特征融合层的输出;上采样倍数为8倍,作用是扩大融合后的置信图E的像素到原始输入图像(输入分类网络的图像)大小;分类层激活函数为SoftMax函数,作用是对每个像素进行分类预测,最终得到与原始输入图像大小一致的高分辨率的类热力图。
[0048] 步骤2,对步骤1构造的语义分割网络进行训练
[0049] 创建数据集:本数据集中是将金丝猴部分像素统一标注为目标区域。最终按照PASCAL VOC数据集的标准创建自然场景下金丝猴目标检测集-Nature Goldenmonkey Segmentation并将其命名为NGS。NGS数据集总共包含自然场景下金丝猴图像600张,共计出现31只金丝猴个体,这些金丝猴性别和年龄层分布都较为均匀,且动作类型丰富。
[0050] 利用NGS数据集进行训练,按照4:1的比例随机分配训练数据和测试数据,最大迭代次数设置为5000次,训练结束后保存网络模型。具体的训练过程为:
[0051] 将语义分割网络最后的输出作为 输入图像的已分类图像作为y(即原始图像的实际分类结果)代入损失函数并进行计算,计算的结果反映了网络的预测和实际结果的差距大小;将损失函数对网络中的参数求导,根据导数关系更新网络参数,学习率设置为0.00005,学习率在学习过程中稳定不变。
[0052] 本方案中,损失函数采用基于距离权重的损失函数distance-weight loss,记为DWL;该损失函数是在基础的交叉熵函数中对不同的像素点引入权重系数,将权重系数取值为距离约束权重函数而得到的。DWL损失函数能够更好的对预测值与样本真实值之间的距离进行计算,使模型更聚焦于金丝猴躯干中心区域,并学习到金丝猴身体的结构信息,DWL损失函数如下所示:
[0053]
[0054] 下面给出DWL损失函数的具体推导过程。
[0055] 对本发明的分割问题而言,网络模型会输出每个像素点是否属于金丝猴区域的预测概率值,通过基础的分类交叉熵函数可以推导出网络模型的交叉熵函数L如下所示:
[0056]
[0057] 其中,y(i,j)表示输入图像对应的实际分类后的图像像素点(i,j)处的标签值,表示输入图像经语义分割网络处理后的输出图像像素点(i,j)处的预测值,height和width分别表示图像的高和宽。
[0058] 本发明主要对交叉熵损失函数做出两点改进:ROI区域与环境背景区域不同权重的改进,和引入ROI区域金丝猴中心到边缘位置的距离信息。
[0059] 首先在基础交叉熵函数中对不同的像素点引入权重系数W(i,j),新的交叉熵函数WL如下所示:
[0060]
[0061] 其中,W(i,j)表示像素点(i,j)处loss的权重,原始的交叉熵损失函数L中可以理解为W(i,j)恒等于1,因此可以忽略。
[0062] 在计算W(i,j)的过程中,需根据像素点的标签值y(i,j)以及像素点(i,j)的位置信息对权重系数W(i,j)进行分别取值:首先保持环境背景区域权重不变,并增大金丝猴ROI区域的权重系数,使得模型更加关注金丝猴区域;其次,对于金丝猴ROI目标区域,为了利用金丝猴本身的身体结构信息,从金丝猴身体中心部位,即ROI区域的矩形中心到边缘设置线性降低的权重,从而强化模型对金丝猴躯干中心区域的学习,同时能够尽量保留金丝猴躯干中心和毛发边缘之间重要的距离约束信息;该距离约束权重函数dw(i,j)如下所示:
[0063]
[0064] 其中,I(i,j)表示(i,j)处的像素点,center(i,j)表示像素点(i,j)所在连通域的中心,distance(I(i,j),center(i,j))表示像素点I(i,j)距离其所在连通域中心center(i,j)的距离,α和β是两个常数,用于控制像素点I(i,j)处的权重值,使得金丝猴ROI区域中的不同像素点权重取值范围为[α-β,α];假设取α为2,β为max(distance(I(i,j),center(i,j))),则当I(i,j)为该连通域的中心时,dw(i,j)值为2;当I(i,j)距离该连通域中心最远时,dw(i,j)值为1,从而达到金丝猴ROI区域从连通域中心到边缘处的权重逐渐减小的目标。
[0065] 将新的交叉熵函数WL的权重系数W(i,j)取值为dw(i,j),可以得到改进后的基于距离权重的损失函数DWL,如下所示:
[0066]
[0067] 步骤3,保存训练后的网络模型用于待分割图像的分割检测。
[0068] 语义分割网络经过步骤2训练后,保存训练得到的网络模型;实际应用时,将待分割的图像输入网络模型中,网络模型的输出即为分割后的高分辨率的类热力图。
[0069] 通过实验对比分析,发现使用改进后的损失函数,可以较好地解决金丝猴身体被分为多个部分的问题,改进后的自然场景金丝猴检测网络对之前出现问题的图像分割结果有了比较好的提升。
[0070] 实验对比分析过程如下:
[0071] 本发明对NGS数据集进行实验,按照4:1的比例随机分配训练数据和测试数据。本发明的自然场景金丝猴检测算法中学习率设置为0.00005,学习率在学习过程中稳定不变,实验最大迭代次数设置为5000次。在得到自然场景下原始图像的分割结果后,根据分割图边缘生成矩形金丝猴个体检测结果,在生成过程中,排除过小而无法正常利用的目标像素区域,最后通过矩形框内的图像区域得到金丝猴个体数据。
[0072] IoU标准可以用来定量的测量真实值与预测值之间的相关度,如图3所示,在本发明中对DWL函数应用前后的FCN网络得到的分割结果进行对比,通过计算分割结果与ground truth之间的IoU作为网络性能的评价指标,计算测试集中的全部100张图像的IoU并计算平均值,其结果见下表格:
[0073] DWL函数改进前后IoU对比
[0074]损失函数 IoU
交叉熵函数 85.28%
DWL函数 86.14%
[0075] 从表格中可以看出,原始语义分割网络得到的分割效果对于基础的数据而言较好,证明该方法适用于本发明的分割任务;而改进损失函数后,使用DWL函数的结果比原网络提高了0.86%,证明本发明对损失函数的改进,整体而言在一定程度上提高了网络模型的分割效果。
[0076] 如图4所示,其中(a)表示原始图像的分割结果,(b)的矩形框内为在结果图像基础上生成的矩形金丝猴个体检测结果。
[0077] 图5详细展示了分割结果错误对矩形检测结果生成造成的影响,其中(a)与(c)展示了金丝猴下边缘未被矩形检测结果完全覆盖的两种情况,该分割错误导致了金丝猴个体的边缘信息缺失问题。(b)展示了单只金丝猴由于分割结果错误被分为两个检测框的情况,该分割错误导致了单只金丝猴被分为多个矩形问题。显而易见,如图5所示的检测数据对于金丝猴个体重识别实验来说是无法使用的。
[0078] 通过本发明的方法,对原FCN网络的损失函数做出了改进,采用基于距离的不同像素的损失权重计算方式,从而引进金丝猴身体结构的约束信息,分割结果如图6所示,可以看出结果有较好的改进效果。该图对改进前两个典型分割错误造成的矩形检测结果不可用的情况作对比,两个图像中分割结果都明显得到了提升,错误结果的面积明显减少。对于生成的矩形检测结果,(a)中金丝猴的下边缘被完整包含入检测结果中,(b)中原本被分成两个矩形检测框的金丝猴成功被精确的检测为完整金丝猴个体。
[0079] 可以看出,本发明设计的基于距离权重的损失函数DWL对自然场景下金丝猴分割结果能够实现较大的提升,从而有效地提高了最终矩形检测结果的准确性,能够通过矩形区域结果得到符合金丝猴个体重识别实验要求的金丝猴个体图像数据。