一种弱标签语义分割标定数据生成方法及系统
技术领域
本发明涉及一种模式识别领域中计算机视觉方向的语义分割标定数据生成方法及系统,特别是关于一种基于目标检测结果的弱标签语义分割标定数据生成方法及系统。
背景技术
在近年来基于卷积神经网络的目标检测中,越来越多的算法采用在主网络中接入与其共享前端特征提取层的语义分割分支来增强目标检测结果的精确性。但是由于目标检测算法和语义分割算法各自训练数据的标定方法有较大的差异性,语义分割算法的数据标定难度和成本远高于目标检测算法,而用于训练语义分割算法的数据库数量也远小于目标检测的数据库,所以目前包含语义分割分支的目标检测算法中,普遍的做法是使用弱标签的训练方式,借助目标检测的标定数据中的目标框(ground-truth bounding-box)生成用于训练语义分割分支的标定数据。
传统的标定数据生成方法是将原始图像中位于目标检测的标定数据中的每个目标框所对应的区域内部的点,直接分类为该目标框对应物体的类别,不在任何目标框所对应的区域内部的点,直接分类为背景;位于两个以上目标框所对应区域的重叠部分的点,被直接分类为面积最小的那个目标框对应的物体类别。显而易见,含有上述方法的目标检测系统的优点是简单易行,其在训练语义分割分支的网络参数的时候,不依赖于专门为语义分割精确标定的数据,仅靠对目标检测的标定数据中的目标框位置进行简单的操作,即可获得粗略的语义分割标定数据。但是其缺点也很明显,简单地以像素点的位置处于目标框内、外来作为区分该像素所属物体类别的依据,会导致大量本来属于背景或其它类别的像素混入当前目标物体的语义分割区域,从而使得网络的语义分割分支在训练的过程中学习到大量错误的目标物体特征,影响语义分割分支的结果精度,且这种误差还会随着网络的目标检测和语义分割分支共享一部分主干网络结构及其中参数的更新,进一步影响到整个目标检测算法的结果精度。
实际上,在目标检测算法分类器运行的过程中,基于原图中不同尺度、不同位置、不同形状的锚框(anchor)所对应区域所计算出的目标类别分数中,蕴含了大量远比目标框更完整和精确的语义信息,而在传统的方法中,这些信息仅仅被用于目标检测部分的训练,特别是其中与目标框重叠率既不超过正样本阈值也不低于负样本阈值的大量锚框的分类结果,甚至完全没有参与算法的训练,就被直接丢弃了,这对于语义分割分支的训练来说,无疑是一种巨大的资源浪费。尽管对目标框在卷积图中对应的区域采用目前在目标检测领域广泛应用的注意力(attention)机制能通过对该区域中特征更接近目标物体类别的像素进行加权来改善上述情况,但是该方法不仅同样没有充分利用目标检测的结果中蕴含的信息,还需要建立一个独立于目标检测网络之外并且需要单独进行初始化和训练的小型网络,因而会进一步增加目标检测系统需要训练的参数的数量和网络的训练难度。
综上所述,在含有弱标签语义分割分支的目标检测方法中,传统的直接使用像素点位于目标框内、外的判断来生成语义分割分支的标定数据生成方法,不仅未充分利用目标检测中各个锚框的分类结果,以及相应的锚框与目标框的位置关系中蕴含的信息,还会导致语义分割分支学习到很多不属于目标的错误特征,且这种错误还会随着网络的目标检测和语义分割分支共享一部分主干网络结构及其中参数的更新,进一步影响到整个目标检测算法的结果精度。而目前以注意力机制为代表的目标检测优化机制虽然能在一定程度上缓解上述现象,但是其需要建立额外的网络并进行训练,因而会进一步增加网络参数和训练难度。因此,对于含有语义分割分支的目标检测算法来说,如何获得一种比直接使用目标框标定语义分割训练数据更精确,同时不引入额外的网络结构训练参数的语义分割标定数据生成方法,是一个亟待解决的问题。
发明内容
针对含有语义分割分支的目标检测系统中传统的语义分割标定数据生成方法并未充分利用目标检测结果中蕴含的语义信息,导致系统无法有效地避免学习到不属于目标的错误特征,从而难以保证目标检测的精确性这一问题,本发明提供一种基于目标检测结果的弱标签语义分割标定数据生成方法及系统,其能提高目标检测精确性,并能有效节省人力、物力和时间成本。
为实现上述目的,本发明采取以下技术方案:一种弱标签语义分割标定数据生成方法,其包括以下步骤:1)获取与目标框有重叠区域的锚框对重叠区域内每个像素点的分类分数;2)计算与目标框有重叠区域的锚框对重叠区域内每个像素点的投票权重;3)计算与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果;4)根据加权投票结果,标定原图中每个像素点所属的类别。
进一步,所述步骤1)中,获取与目标框有重叠区域的锚框,对重叠区域内每个像素点的分类分数的方法包括以下步骤:1.1)对于目标检测算法中与当前的第m个目标框Om有重叠区域的第n个锚框An,读取算法分类器末端的softmax层输出的该锚框的分类结果Yn;锚框An对其与当前目标框Om的重叠区域的像素点的第k个类别的分数Sm,n,k等于Yn中关于第k个类别的分数yn,k:
1.2)重复步骤1.1)中的操作,直到获得与所有目标框有重叠区域的全部锚框对重叠区域内每个像素点的分类分数。
进一步,所述步骤2)中,与目标框有重叠区域的锚框对重叠区域内每个像素点的投票权重的计算方法包括以下步骤:2.1)计算锚框对其与目标框重叠区域内每个像素点的位置权重:采用离散二维高斯函数来赋予位于该锚框内部不同位置的像素点不同的位置权重,该锚框对重叠区域内每个像素点的位置权重为weightp,i,j;2.2)计算锚框对其与目标框重叠区域内每个像素点的尺度权重:采用锚框、目标框及其重叠区域的尺度来赋予位于不同锚框内部的像素点不同的尺度权重;该锚框对重叠区域内每个像素点的位置权重weights,i,j的计算方法为重叠区域的面积除以锚框的面积,再乘以重叠区域的面积除以目标框的面积;2.3)计算锚框对其与目标框重叠区域内每个像素点的投票权重:对于锚框与目标框重叠区域的每个像素点,使用其位置权重与尺度权重的乘积作为其投票权重weightv,i,j为:weightv,i,j=weightp,i,j·weights,i,j;2.4)重复步骤2.1)至步骤2.3),直到获得与所有目标框有重叠区域的全部锚框对重叠区域内每个像素点的投票权重。
进一步,所述步骤3)中,与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果的计算方法包括以下步骤:3.1)使用锚框对其与目标框重叠区域内每个像素点进行加权投票;3.2)根据步骤3.1)中的加权投票计算锚框与目标框重叠区域内每个像素点的加权投票结果。
进一步,所述步骤3.1)中,对于任意锚框An对其与当前目标框Om的重叠区域的像素点,使用其每个分类的分数与该像素点投票权重的乘积作为锚框An与当前目标框Om对该像素点的投票结果:锚框An对该像素点的每个类别的加权投票分数
进一步,所述步骤3.2)中,对于锚框与目标框重叠区域的每个像素点,将所有与之相关的N个锚框与M个目标框对该像素点的加权投票分数中属于每个类别的分数对位相加,得到该像素点的加权投票结果:该像素点每个类别最终获得的加权投票总分数Rk,i,j:
进一步,所述步骤4)中,原图中每个像素点所属类别的标定方法包括以下步骤:4.1)对于只位于1个目标框内部,或者位于多个对应相同目标类别的目标框内部重叠区域的像素点,直接读取加权投票总分数Rk,i,j中最高分数所属的类别,并将该像素点标定为该类别;4.2)对于位于多个对应不同目标类别的目标框内部重叠区域的像素点,若其归一化后的加权投票结果中最高分数所属的类别不属于上述任何目标框对应的目标所属的类别,将该像素点的类别标定为背景;否则,根据不同目标框对应的目标在目标检测中获得的最高分数,将得到的锚框对重叠区域内每个像素点的加权投票结果中与上述目标框相关的类别的分数进行归一化处理,获得该像素点针对相应目标框的归一化加权投票分数读取其归一化后的加权投票结果中最高分数所属的类别,并将该像素点标定为该类别;4.3)对于原图中位于所有目标框外部的像素点,直接将该像素点的类别标定为背景。
进一步,所述步骤4.1)中,加权投票结果中若出现多个相同的最高分数,则优先选择非背景的类别,并在获得相同最高分数的非背景的类别中优先选择该目标框对应的目标所属的类别。
进一步,所述步骤4.2)中,归一化后的加权投票结果中若出现多个相同的最高分数,优先选择尺度较小的目标框对应的目标所属的类别。
一种弱标签语义分割标定数据生成系统,其包括像素点的分类分数获取模块、投票权重计算模块、加权投票模块和数据标定模块;所述分类分数获取模块根据目标检测结果,获取与目标框有重叠区域的锚框对重叠区域内每个像素点的分类分数;所述投票权重计算模块用于计算与目标框有重叠区域的锚框对重叠区域内每个像素点的投票权重;所述加权投票模块用于计算与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果;所述数据标定模块根据加权投票结果,标定原图中每个像素点所属的类别。
本发明由于采取以上技术方案,其具有以下优点:1、本发明充分利用了目标检测中各个锚框的分类结果,以及相应的锚框与目标框的位置关系信息,特别是进一步利用了目标检测中与目标框重叠率既不超过正样本阈值也不低于负样本阈值的大量锚框的分类结果中蕴含的信息,显著增强了语义分割标定数据的精确性,从而在对目前目标检测系统常用的弱标签语义分割分支的训练过程中,有效地训练出过滤与目标物体无关的背景或其它物体的干扰性特征的能力,提高了语义分割分支的特征提取精度。2、本发明可以方便快捷地嵌套在含有语义分割分支的目标检测系统中,其在算法训练过程中在目标检测部分的损失小于事先给定的阈值的时候开始运行,直接利用目标检测的结果生成用于训练语义分割分支的标定数据,提高语义分割特征提取精度,并通过目标检测与语义分割分支共享的卷积层在训练过程中的参数更新,最终实现提高目标检测结果精度的目的。3、本发明不需要建立额外的卷积神经网络结构,对于原有网络结构也不用进行修改,在执行过程中不增加任何需要训练的参数,因而不会增加网络结构复杂度和训练难度,工程量小,而且不会对网络原有的训练任务造成任何干扰。4、本发明并不强制要求在目标检测主算法的每次正向目标检测—反向误差传播过程中都执行一次,只要在整个训练过程中至少执行一次即可,其不会导致目标检测系统的总运算复杂度随着主算法的迭代而迅速增加。并且随着目标检测结果精度不断提高,本发明执行的次数越多,其数据标定结果越精确,进而进一步提高语义分割和目标检测结果的精度,使用者可以根据实际情况做出灵活的选择。5、本发明采用全自动实现,其输入完全来自已经获得的目标检测结果,无需用户重新输入或测量相关数据,其执行过程中也无需用户的额外操作,不仅节省了人力、物力和时间成本,还避免了人为操作误差,保证了标定数据结果的精确性。
附图说明
图1是本发明的整体流程示意图;
图2是锚框内部像素点的投票权重与参与投票的区域的示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
本发明提供一种弱标签语义分割标定数据生成方法,该方法基于目标检测算法结果中与每个目标框(ground-truth bounding-box)有重叠区域的锚框(anchor)的分类结果,获取每个与目标框有重叠区域的锚框对重叠区域内每个像素点的分类分数,再根据锚框与目标框重叠区域的每个像素点在该锚框内部的位置,以及该锚框、目标框和重叠区域的尺度,计算出该锚框对重叠区域内每个像素点的投票权重,对于目标框内每个像素点,利用上述分类分数与投票权重计算与之相关的所有锚框的加权投票结果,再根据加权投票结果,并结合相关像素点与目标框以及目标框之间的重叠区域的位置关系进行分类讨论,最终对每个像素点所属的类别进行标定。具体的,如图1所示,本发明的方法包括以下步骤:
1)获取与目标框有重叠区域的锚框对重叠区域内每个像素点的分类分数:
根据目标检测算法中每个与目标框有重叠区域的锚框在算法分类器末端的softmax层输出的分类结果,获取该锚框对重叠区域内每个像素点的分类分数。其包括以下步骤:
1.1)对于目标检测算法中与当前的第m个目标框Om有重叠区域的第n个锚框An,读取算法分类器末端的softmax层输出的该锚框的分类结果Yn:
其中,Yn为C+1维向量{yn,1,yn,2,…,yn,C+1};C+1代表目标的类别数量,即C个前景类别加上1个背景类别;yn,k代表该锚框关于第k个类别的分数,分数越高表示其锚框应的区域存在第k个类别目标的概率越大;每个锚框关于全部C+1个类别的分数之和为1。
锚框An对其与当前目标框Om的重叠区域的像素点的第k个类别的分数Sm,n,k等于Yn中关于第k个类别的分数yn,k:
1.2)重复步骤1.1)中的操作,直到获得与所有目标框有重叠区域的全部锚框对重叠区域内每个像素点的分类分数。
2)计算与目标框有重叠区域的锚框对重叠区域内每个像素点的投票权重:
分别根据锚框与目标框重叠区域的每个像素点在该锚框内部的位置,以及该锚框、目标框和重叠区域的尺度,计算出该锚框对重叠区域内每个像素点的位置权重和尺度权重,并将位置权重和尺度权重的乘积作为该锚框对重叠区域内每个像素点的投票权重。如图2所示,展示了锚框与目标框的重叠区域(即参与投票的区域)与其内部像素点的投票权重的一个示例。其包括以下步骤:
2.1)计算锚框对其与目标框重叠区域内每个像素点的位置权重:
因为现有技术中已经证明了卷积神经网络的有效感受野呈现出以其感受野(即理论感受野)中心点为中心的高斯分布,所以在目标检测算法中每个锚框对于出现在其感受野中心附近的目标比较敏感。为了充分利用锚框感受野中各个像素点的敏感程度差异,本发明采用离散二维高斯函数来赋予位于该锚框内部不同位置的像素点不同的位置权重。该锚框对重叠区域内每个像素点的位置权重weightp,i,j的计算方法如下:
其中,锚框宽度方向和高度方向的方差σw与σh的数值均等于1,A为使得锚框内部各个像素点的位置权重相加之和等于1的常数,lw,i与lh,j分别为锚框内部编号为(i,j)的像素与锚框中心点在宽度方向和高度方向上的归一化距离,其具体计算方法如下:
其中,2kw+1与2kw分别代表锚框宽度为奇数个像素与偶数个像素,2kh+1与2kh分别代表锚框高度为奇数个与偶数个像素。
上述位置权重使得像素点的位置越靠近锚框中心(即锚框感受野中心最敏感的区域),其位置权重越高;反之,则像素点的位置权重越低。
2.2)计算锚框对其与目标框重叠区域内每个像素点的尺度权重:
为了应对目标检测算法中不同尺度锚框由于其感受野大小的差异,从而对于不同尺度的目标有不同的敏感程度的现象,本发明采用锚框、目标框及其重叠区域的尺度来赋予位于不同锚框内部的像素点不同的尺度权重。该锚框对重叠区域内每个像素点的位置权重weights,i,j的计算方法为重叠区域的面积(宽度乘高度的数值,以下同上)除以锚框的面积,再乘以重叠区域的面积除以目标框的面积:
其中,wa为锚框的宽度,ha为锚框高度,wg为目标框的宽度,hg为目标框的高度,wa∩g为锚框、目标框重叠区域的宽度,ha∩g为锚框、目标框重叠区域的高度,该宽度和高度以像素个数为单位。
上述尺度权重使得锚框、目标框及其重叠区域的尺度越接近(即锚框与目标框匹配的越精准),锚框中各个像素点的尺度权重越高;反之,则相关像素点的尺度权重越低。
2.3)计算锚框对其与目标框重叠区域内每个像素点的投票权重:
对于锚框与目标框重叠区域的每个像素点,使用其位置权重与尺度权重的乘积作为其投票权重weightv,i,j,其计算方法如下:
weightv,i,j=weightp,i,j·weights,i,j。 (7)
2.4)重复步骤2.1)至步骤2.3),直到获得与所有目标框有重叠区域的全部锚框对重叠区域内每个像素点的投票权重。
3)计算与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果:
3.1)使用锚框对其与目标框重叠区域内每个像素点进行加权投票:
对于任意锚框An对其与当前目标框Om的重叠区域的像素点,使用其每个分类的分数与该像素点投票权重的乘积作为锚框An与当前目标框Om对该像素点的投票结果,即锚框An对该像素点的每个类别的加权投票分数
3.2)根据步骤3.1)中的加权投票计算锚框与目标框重叠区域内每个像素点的加权投票结果:
对于锚框与目标框重叠区域的每个像素点,将所有与之相关的N个锚框与M个目标框对该像素点的加权投票分数中属于每个类别的分数对位相加,即可得到该像素点的加权投票结果,即该像素点每个类别最终获得的加权投票总分数Rk,i,j。
4)根据加权投票结果,标定原图中每个像素点所属的类别:
根据所有与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果,生成语义分割的标定数据,即原图中每个像素点所属的类别。其包括以下步骤:
4.1)对于只位于1个目标框内部,或者位于多个对应相同目标类别的目标框内部重叠区域的像素点,直接读取加权投票总分数Rk,i,j中最高分数所属的类别,并将该像素点标定为该类别。加权投票结果中若出现多个相同的最高分数,则优先选择非背景的类别,并在获得相同最高分数的非背景的类别中优先选择该目标框对应的目标所属的类别。
4.2)对于位于多个对应不同目标类别的目标框内部重叠区域的像素点,若其归一化后的加权投票结果中最高分数所属的类别不属于上述任何目标框对应的目标所属的类别,将该像素点的类别标定为背景;否则,根据不同目标框对应的目标在目标检测中获得的最高分数,对步骤3.2)中得到的锚框对重叠区域内每个像素点的加权投票结果中与上述目标框相关的类别的分数进行归一化处理,获得该像素点针对相应目标框的归一化加权投票分数
归一化处理的具体做法为对于加权投票结果中相关类别的分数Rk,i,j,将其数值除以目标检测的各个锚框对该目标框对应的目标获得的最高分类分数ym_max:
读取其归一化后的加权投票结果中最高分数所属的类别,并将该像素点标定为该类别。归一化后的加权投票结果中若出现多个相同的最高分数,优先选择尺度较小的目标框对应的目标所属的类别。
本步骤的目的是防止在卷积神经网络中用于提取和检测不同尺度的目标特征的卷积层位置不同,从而用作检测不同尺度目标的特征的语义深度差异导致其对所检测到的目标的分类分数出现偏差(尤其是尺度较小的目标类型的分类分数容易偏低)的问题。
4.3)对于原图中位于所有目标框外部的像素点,直接将该像素点的类别标定为背景。
本发明还提供一种弱标签语义分割标定数据生成系统,其包括像素点的分类分数获取模块、投票权重计算模块、加权投票模块和数据标定模块;
分类分数获取模块根据目标检测结果,获取与目标框有重叠区域的锚框对重叠区域内每个像素点的分类分数;
投票权重计算模块用于计算与目标框有重叠区域的锚框对重叠区域内每个像素点的投票权重;
加权投票模块用于计算与目标框有重叠区域的锚框对重叠区域内每个像素点的加权投票结果;
数据标定模块根据加权投票结果,标定原图中每个像素点所属的类别。
综上所述,本发明充分利用了目标检测中各个锚框的分类结果,以及相应的锚框与目标框的位置关系中蕴含的信息,显著增强了语义分割标定数据的精确性,从而在对目标检测算法中语义分割分支的训练过程中,有效地避免算法提取到与目标物体无关的背景或其它物体的干扰性特征,从而实现提高目标检测结果精度的目的。与此同时,本方法不需要建立额外的网络并进行训练,因而不会增加网络参数和训练难度。
上述各实施例仅用于说明本发明,各个步骤都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别步骤进行的改进和等同变换,均不应排除在本发明的保护范围之外。