[0045] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0046] 在计算机视觉技术领域中,很多时候为了实现对图像中物体的准确识别,会将图像拆解成多个局部候选区域来理解和学习。拆解的原则是能够尽可能多的覆盖图像中不同大小的物体;每个局部候选区域可以覆盖物体的一部分,不必完全包含物体,因而每个局部候选区域学到的信息更丰富。本发明中,目标识别问题实际指的是局部候选区域的分类问题,即局部候选区域所归属的物体类别。本发明利用大量的训练图像,经过训练过程得到目标识别模型,能大大提升局部候选区域分类的准确性。
[0047] 在实现本发明的过程中,发明人通过研究现有技术发现目前存在一些利用半监督或弱监督的方法训练目标识别问题。传统的给定图像类别的弱监督目标识别通常分为两类。第一类是采用多个体学习(Multiple Instance Learning,以下简称:MIL)的方法直接预测像素类别。在这个设定下,每个图片被认为是一系列像素或者超像素的集合。其中如果集合中有一个元素为正样本则整体输出为正,反之如果集合中的所有元素都为负样本则整体输出为负。这样的方案因为没有对底层信息有直接的监督信息指导,很容易无法准确定位物体,如图1a至图1f所示。其中,图1a和图1d为原图,图1b和图1e分别为图1a和图1d对应的真实的语义分割图像,图1c和图1f分别为利用MIL方法预测得到的目标识别图像。从图中可看出,利用MIL方法预测得到的目标识别图像的准确率较低。
[0048] 现有技术中另一个方向的弱监督学习是利用期望最大的思想(Expectation-Maximization),循环的学习当前暂时的监督类别,以及学习语义分割模型。这样的方法受利于有像素级别的监督,但是很依赖于一个非常好的初始化。如果初始化不当,结果比较难保证。
[0049] 基于以上发现,本发明实施例提出了一种弱监督目标识别方案,既有像素级别的直接监督,又可以端到端的优化语义分割模型,还引入了一个物体定位分支,能够改善目标识别的结果。下面通过几个具体的实施例对该方案进行详细介绍。
[0050] 图2示出了本发明提供的目标识别模型训练方法的实施例一的流程图。本实施例提供的目标识别模型训练方法无需进行像素级别的标注,基于预先提供的弱监督信息即可实现目标识别模型的训练。该方法采用多个训练图像对目标识别模型进行训练,本实施例所描述的方法主要是在讲如何利用一个训练图像对语义分割辅助的目标识别模型进行训练。本领域技术人员可以理解的是,训练过程需要使用大量的训练图像,训练图像的数量越多,覆盖面越广,训练得到的目标识别模型越精确。本发明实施例对训练图像的数量不作限制。
[0051] 如图2所示,针对于每一个训练图像的训练方法包括如下步骤:
[0052] 步骤S101,从训练图像中选择多个局部候选区域;以及,获取训练图像的弱监督信息。步骤S101为数据准备步骤。
[0053] 本发明实施例将一个训练图像拆成多个局部候选区域来理解和学习。拆解的原则是能够尽可能多的覆盖训练图像中不同大小的物体;每个局部候选区域可以覆盖物体的一部分,不必完全包含物体,因而每个局部候选区域学到的信息更丰富。进一步的,对训练图像的拆解具体为对训练图像进行超像素分割处理,得到若干个图像块;然后,将若干个图像块进行聚类组合得到多个局部候选区域。本发明实施例可采用现有技术中提供的局部候选区域的选择方法,对此不作限制。
[0054] 另外,还需获取训练图像的弱监督信息,该弱监督信息是预先提供的信息。可选地,弱监督信息具体为物体类别信息。传统的像素标注信息需要精确地标注出训练图像中每个像素所属的物体类别,而本发明中弱监督信息是训练图像所包含的物体类别信息。举例来说,假如某个训练图像中包含人和飞机,传统的像素标注信息需要标注出该训练图像中每个像素是否属于人或飞机,而本发明仅需标注出训练图像中有人和飞机即可。也即,预先告知训练装置训练图像中包含的物体类别,但不告知物体的位置。
[0055] 步骤S102,将针对训练图像选定的多个局部候选区域输入至目标识别模型,得到目标识别模型输出的多个局部候选区域分类的初步结果。
[0056] 在准备好数据后,开始训练过程。首先,将针对训练图像选定的多个局部候选区域输入至目标识别模型,得到多个局部候选区域分类的初步结果。
[0057] 本发明实施例中,利用深度学习的全卷积神经网络的全连接层的交叉熵损失函数作为目标识别模型,使用交叉熵损失函数预测得到多个局部候选区域分类的初步结果。
[0058] 步骤S103,依据弱监督信息和多个局部候选区域分类的初步结果,进行局部候选区域融合。
[0059] 依赖于前述准备的弱监督信息以及步骤S102获得的多个局部候选区域分类的初步结果,对多个局部候选区域进行融合处理。
[0060] 步骤S104,根据多个局部候选区域分类的初步结果和局部候选区域融合的结果对目标识别模型的参数进行修正。
[0061] 共享全卷积神经网络的结果,修正全连接层的交叉熵损失函数,实现对目标识别模型的修正。
[0062] 以上步骤S102至步骤S104为训练步骤,迭代执行上述训练步骤,以得到经训练的目标识别模型。具体地,训练步骤迭代执行直至目标识别模型的训练结果满足预定收敛条件。例如,预定收敛条件为达到预定迭代次数,当迭代次数达到预定迭代次数时,迭代过程结束。或者,预定收敛条件为初步结果与校正结果之间的差异收敛到一定程度,当满足该预定收敛条件时,迭代过程结束。
[0063] 本实施例提供的目标识别模型训练方法,首先将针对训练图像选定的多个局部候选区域输入至目标识别模型得到多个局部候选区域分类的初步结果,依据弱监督信息和多个局部候选区域分类的初步结果,进行局部候选区域融合,根据融合结果对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地局部候选区域的类别识别,完成目标识别任务。
[0064] 图3示出了本发明提供的目标识别模型训练方法的实施例二的流程图。图4示出了本发明提供的目标识别模型训练方法的实施例二的网络模型示意图。下面结合这两幅图对本实施例的具体方案进行详细介绍。本实施例所描述的方法也是在讲如何利用一个训练图像对目标识别模型进行训练。
[0065] 如图3所示,针对于每一个训练图像的训练方法包括如下步骤:
[0066] 步骤S201,从训练图像中选取多个局部候选区域;以及,获取训练图像的弱监督信息。步骤S201为数据准备步骤。
[0067] 本发明实施例将一个训练图像拆成多个局部候选区域来理解和学习。拆解的原则是能够尽可能多的覆盖训练图像中不同大小的物体;每个局部候选区域可以覆盖物体的一部分,不必完全包含物体,因而每个局部候选区域学到的信息更丰富。如图4中的b分支所示,b分支为物体定位分支,具体将原始的训练图像拆解为若干个局部候选区域,此分支拆解的越细致,物体定位的准确率越高。在实际操作过程中,b分支可拆解得到2000个左右的局部候选区域。本发明实施例可采用现有技术中提供的局部候选区域的选择方法,对此不作限制。
[0068] 另外,还需获取训练图像的弱监督信息,该弱监督信息是预先提供的信息。可选地,弱监督信息具体为物体类别信息。传统的像素标注信息需要精确地标注出训练图像中每个像素所属的物体类别,而本发明中弱监督信息是训练图像所包含的物体类别信息。如图4右下角所示,针对该训练图像所预先提供的弱监督信息就是人和飞机。传统的像素标注信息需要标注出该训练图像中每个像素是否属于人或飞机,而本发明仅需标注出训练图像中有人和飞机即可。也即,预先告知训练装置训练图像中包含的物体类别,但不告知物体的位置。
[0069] 步骤S202,将训练图像输入至语义分割模型,得到训练图像的语义分割的初步结果。
[0070] 在准备好数据后,开始训练过程。首先,将训练图像输入至初始的语义分割模型,得到训练图像的语义分割的初步结果。本实施例利用深度学习的全卷积神经网络作为语义分割的模型。具体地,对训练图像进行全卷积神经网络预测得到语义分割的初步结果。本步骤通过多个卷积层/非线性响应层/池化层学习中间表示的参数,一个具体的示例如下:
[0071] 1.输入层
[0072] //第一阶段,共享卷积层结果
[0073] 2.<=1卷积层1_1(3×3×64)
[0074] 3.<=2非线性响应ReLU层
[0075] 4.<=3卷积层1_2(3×3×64)
[0076] 5.<=4非线性响应ReLU层
[0077] 6.<=5池化层(3×3/2)
[0078] 7.<=6卷积层2_1(3×3×128)
[0079] 8.<=7非线性响应ReLU层
[0080] 9.<=8卷积层2_2(3×3×128)
[0081] 10.<=9非线性响应ReLU层
[0082] 11.<=10池化层(3×3/2)
[0083] 12.<=11卷积层3_1(3×3×256)
[0084] 13.<=12非线性响应ReLU层
[0085] 14.<=13卷积层3_2(3×3×256)
[0086] 15.<=14非线性响应ReLU层
[0087] 16.<=15卷积层3_3(3×3×256)
[0088] 17.<=16非线性响应ReLU层
[0089] 18.<=17池化层(3×3/2)
[0090] 19.<=18卷积层4_1(3×3×512)
[0091] 20.<=19非线性响应ReLU层
[0092] 21.<=20卷积层4_2(3×3×512)
[0093] 22.<=21非线性响应ReLU层
[0094] 23.<=22卷积层4_3(3×3×512)
[0095] 24.<=23非线性响应ReLU层
[0096] 25.<=24池化层(3×3/2)
[0097] 26.<=25卷积层5_1(3×3×512)
[0098] 27.<=26非线性响应ReLU层
[0099] 28.<=27卷积层5_2(3×3×512)
[0100] 29.<=28非线性响应ReLU层
[0101] 30.<=29卷积层5_3(3×3×512)
[0102] 31.<=30非线性响应ReLU层
[0103] 32.<=31线性差值层
[0104] 33.<=32损失层,进行损失函数的计算
[0105] 其中符号“.<=”前面的数字为当前层数,后面的数字为输入层数,例如,2.<=1表明当前层为第二层,输入为第一层。卷积层后面括号内为卷积层参数,例如,3×3×64,表明卷积核大小3×3,通道数为64。池化层后面括号内为池化层参数,例如,3×3/2表明池化核大小3×3,间隔为2。
[0106] 在上述神经网络中,每个卷积层之后都有一个非线性响应单元。该非线性响应单元具体为纠正线性单元(Rectified Linear Units,以下简称:ReLU),通过在卷积层后增加上述纠正线性单元,将卷积层的映射结果尽量稀疏一些,更接近人的视觉反应,从而使图像处理效果更好。上述示例中,将卷积层的卷积核设为3×3,能更好的综合局部信息。
[0107] 本实施例中,设定池化层的步长stride,目的是为了让上层特征在不增加计算量的前提下获得更大的视野,同时池化层的步长stride还有增强空间不变性的特征,即允许同样的输入出现在不同的图像位置上,而输出结果响应相同。
[0108] 线性差值层为了将之前的特征放大到原图大小,得到每个像素的预测值。
[0109] 综上所述,该全卷积神经网络的卷积层主要用于信息归纳和融合,池化层(可选为最大池化层:Max pooling)主要进行高层信息的归纳。该全卷积神经网络可以进行微调来适应不同的性能和效率的权衡。
[0110] 本步骤得到的训练图像的语义分割的初步结果具体为像素级别的语义分割的标注,即每个像素的语义分割结果的标注。但是,由于该语义分割模型为训练过程中的模型,不是最终的模型,因此初步结果不够精确。
[0111] 步骤S203,利用交叉熵损失函数,将多个局部候选区域按照物体类别进行分类;对每个局部候选区域属于物体类别的概率进行预测,得到每个局部候选区域的物体类别概率预测值。
[0112] 在通过步骤S201利用物体的局部候选区域生成方法获得一系列物体的局部候选区域之后,本步骤对这些局部候选区域进行分类。本发明实施例额外设计了一个多任务的训练子系统,利用图像级别的标注进行约束。该多任务的训练子系统包括对物体的局部候选区域分类的训练(即步骤S203)和对图像类别的训练(即步骤204),该方法避免了因为最初阶段训练样本监督信号不准确而造成的语义偏离。
[0113] 具体地,在步骤S203中,利用交叉熵损失函数,将多个局部候选区域按照物体类别进行分类。一个具体的示例如下:
[0114] 34.<=31全连接层6_1(M×N)(M为上一层输出维度,N为需要预测的类别维度)[0115] 35.<=34交叉熵损失函数层
[0116] 通过共享前述全卷积神经网络的结果,在全连接层可预测得到局部候选区域的类别。
[0117] 本步骤还对每个局部候选区域属于物体类别的概率进行预测,得到每个局部候选区域的物体类别概率预测值。具体地,每个局部候选区域的物体类别概率预测值是通过上述全卷积神经网络学习得到的。
[0118] 步骤S204,依据弱监督信息,对用于预测训练图像的图像类别的函数进行训练。
[0119] 本步骤中,图像类别训练利用了多个体训练的方案,使用产生式模型Log-Sum-Exponentail分类,优化公式如下:
[0120]
[0121] 其中,Ik为第k个训练图像,c为类别;xkj为第k个训练图像的第j个局部候选区域的描述特征,M为第k个训练图像的局部候选区域的个数;wc为要学的类别c的分类器参数。该公式预测的是Ik类别为c的概率,即Pr(Ik∈c|wc)。
[0122] 本步骤将弱监督信息作为输入,通过上述优化公式的学习,可学到各类别的分类器参数。由于弱监督信息为图像类别的标准标注信息,依据该标准标注信息,通过上述优化公式的学习得到各类别的分类器参数,使得网络具有了下次遇到同类输入图像时也能够预测的能力。
[0123] 步骤S205,从多个局部候选区域内选择出属于同一物体类别的局部候选区域。
[0124] 在经过步骤S203的分类处理后,可获知每个局部候选区域所属的物体类别。本步骤将属于同一物体类别的局部候选区域选择出来作为一组,执行后续的操作。如果训练图像包含N个物体类别,那么局部候选区域被分为N组,针对每一组执行后续的操作。
[0125] 步骤S206,针对属于同一物体类别的局部候选区域,进行融合处理,并采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0126] 由于所选取的局部候选区域较多,如果对属于同一物体类别的所有局部候选区域进行融合处理,计算量较大。为了减小计算量,可选地从针对属于同一物体类别的局部候选区域中挑选出一批局部候选区域进行融合处理。挑选的原则可采用但不限于如下两种:
[0127] 一种是,依据局部候选区域的物体类别概率预测值从高至低的顺序,从针对属于同一物体类别的局部候选区域中挑选出预设数量的局部候选区域,进行融合处理。
[0128] 另一种是,从针对属于同一物体类别的局部候选区域中挑选出物体类别概率预测值高于预设阈值的局部候选区域,进行融合处理。
[0129] 以上两种示例性的原则都是基于局部候选区域的物体类别概率预测值进行挑选,物体类别概率预测值的高低反映出局部候选区域属于某个物体类别的概率的高低,上述两种原则的目的都是挑选出属于物体的概率比较高的局部候选区域。
[0130] 对挑选出的局部候选区域进行融合处理。具体过程可以为:对挑选出的局部候选区域进行图像分割处理,得到局部候选区域的二进制分割掩膜;将挑选出的局部候选区域的二进制分割掩膜进行融合处理;采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0131] 图5a至图5h示出了本发明实施例中局部候选区域融合处理的一个示例的示意图。其中,图5a为原始图像,图5b为语义分割的真实图像,图5c、图5d和图5e为物体类别概率预测值排名在前三位的局部候选区域的二进制分割掩膜,将图5c、图5d和图5e进行融合处理得到图5f;采用一种可选地聚类算法,如kmeans方法对图像区域进行聚类处理得到图5g,在图5g中图像区域被划分为近物体区域、近背景区域和歧义区域。其中近物体区域指的是为物体的概率较高的区域(图5g中白色区域),近背景区域指的是为背景的概率较高的区域(图5g中黑色区域),这里的背景通常是指不属于物体的概率较高的区域,歧义区域指的是无法预估是否为物体的区域(图5g中灰色区域)。
[0132] 步骤S207,将近物体区域和近背景区域作为种子,采用分割算法对所述歧义区域进行分割,得到所述训练图像的语义分割的校正结果。
[0133] 为了进一步预测出歧义区域的分割结果,本步骤将近物体区域和近背景区域作为种子,采用一种可选地分割算法,如grabcut算法对歧义区域进行分割,得到一个物体类别的语义分割的校正结果。在上述示例中,图5h为图5a的语义分割的校正结果。
[0134] 如果训练图像包含N个物体类别,那么局部候选区域被分为N组分别经过上述步骤S206和步骤S207的处理,得到所有物体类别的语义分割的校正结果,最终得到整个训练图像的语义分割的校正结果。
[0135] 步骤S208,依据初步结果和校正结果,对语义分割模型的模型参数进行修正。
[0136] 替代真实结果,将上述步骤得到的校正结果视为标准输出,确定标准输出与初步结果的差异,根据确定的差异得到语义分割模型的损失函数,利用损失函数响应值进行回传,更新语义分割模型的模型参数。
[0137] 步骤S209,共享经修正的语义分割模型的输出结果,对交叉熵损失函数的参数进行修正。
[0138] 共享全卷积神经网络的结果,修正全连接层的交叉熵损失函数,实现对目标识别模型的修正。
[0139] 以上步骤S202至步骤S209为训练步骤,迭代执行上述训练步骤,以得到经训练的目标识别模型。具体地,训练步骤迭代执行直至语义分割模型的训练结果满足预定收敛条件。例如,预定收敛条件为达到预定迭代次数,当迭代次数达到预定迭代次数时,迭代过程结束。或者,预定收敛条件为初步结果与校正结果之间的差异收敛到一定程度,当满足该预定收敛条件时,迭代过程结束。
[0140] 本实施例提供的目标识别模型训练方法,依据弱监督信息和多个局部候选区域,进行局部候选区域融合,得到训练图像的语义分割的校正结果,从而对语义分割模型的模型参数进行修正。而后,共享经修正的所述语义分割模型的输出结果,对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地目标识别。进一步地,本方法包含两个分支的训练过程,一个分支是语义分割模型的训练过程,另一个分支(即物体定位分支)是对物体的局部候选区域分类的训练和对图像类别的训练的过程,两个分支能够共享训练的结果,能够避免因为最初阶段训练样本监督信号不准确而造成的语义偏离,进一步提升了语义分割结果的准确性。由于该方案中通过语义分割模型可得到像素级别的预测结果,可将其作为暂时的监督信息,这种情况属于像素级别的直接监督,使得该方案既有像素级别的直接监督,又可以端到端的优化语义分割模型,还引入了一个物体定位分支,又能够根据对局部候选区域的判断改善目标识别的结果,最终实现了对局部候选区域类别的准确识别。
[0141] 图6示出了本发明提供的目标识别模型训练方法的实施例三的流程图。图7示出了本发明提供的目标识别模型训练方法的实施例三的网络模型示意图。本实施例与上述实施例二的主要区别在于,本实施例依据训练图像的语义分割的初步结果和每个局部候选区域的物体类别概率预测值,对多个局部候选区域进行筛选,利用经筛选的局部候选区域进行后续的融合处理。其中,对局部候选区域筛选过程也属于目标识别模型的训练过程的一部分。下面结合这两幅图对本实施例的具体方案进行详细介绍。本实施例所描述的方法也是在讲如何利用一个训练图像对目标识别模型进行训练。
[0142] 如图6所示,针对于每一个训练图像的训练方法包括如下步骤:
[0143] 步骤S301,从训练图像中选取多个局部候选区域;以及,获取训练图像的弱监督信息。步骤S301为数据准备步骤。
[0144] 步骤S302,将训练图像输入至语义分割模型,得到训练图像的语义分割的初步结果。
[0145] 步骤S303,利用交叉熵损失函数,将多个局部候选区域按照物体类别进行分类;对每个局部候选区域属于物体类别的概率进行预测,得到每个局部候选区域的物体类别概率预测值。
[0146] 步骤S304,依据弱监督信息,对用于预测训练图像的图像类别的函数进行训练。
[0147] 上述步骤S301至步骤S304的具体实现过程可参见本发明实施例二中步骤S201至步骤S204的描述,在此不再赘述。
[0148] 步骤S305,依据训练图像的语义分割的初步结果和每个局部候选区域的物体类别概率预测值,对多个局部候选区域进行筛选。
[0149] 由于步骤S301准备得到的局部候选区域有上千个,而且这些局部候选区域作为样本来说,存在样本不均衡的问题,即高概率物体的区域(正样本)的数量与高概率背景的区域(负样本)的数量不均衡,使得后续训练过程受其影响得到不准确的结果。因此,本实施例通过对局部候选区域进行筛选,使得样本更为均衡。
[0150] 具体来说,首先计算局部候选区域的分割掩膜与训练图像的语义分割的初步结果的交并比,交并比越大,表明局部候选区域为物体的概率越高,交并比越小,表明局部候选区域为背景的概率越高。然后,根据局部候选区域的交并比与交并比阈值的比较结果、以及局部候选区域的物体类别预测值与预测值阈值的比较结果,对多个局部候选区域进行筛选。
[0151] 进一步的,本实施例预先设定交并比的两个阈值,分别为第一交并比阈值和第二交并比阈值,其中第一交并比阈值大于第二交并比阈值;本实施例还预先设定物体类别预测值的两个阈值,分别为第一预测值阈值和第二预测值阈值,其中第一预测值阈值大于第二预测值阈值。
[0152] 响应于局部候选区域的交并比大于或等于第一交并比阈值,局部候选区域的物体类别预测值大于或等于第一预测值阈值,将局部候选区域作为经筛选得到的正样本的局部候选区域;
[0153] 响应于局部候选区域的交并比小于或等于第二交并比阈值,局部候选区域的物体类别预测值小于或等于第二预测值阈值,将局部候选区域作为经筛选得到的负样本的局部候选区域。
[0154] 通过上述阈值比较过程,筛选出一定数量的正样本和负样本,且保证筛选出的正样本和负样本的数量均衡。
[0155] 步骤S306,从经筛选得到的局部候选区域内选择出属于同一物体类别的局部候选区域。
[0156] 本步骤将属于同一物体类别的局部候选区域选择出来作为一组,执行后续的操作。如果训练图像包含N个物体类别,那么局部候选区域被分为N组,针对每一组执行后续的操作。
[0157] 步骤S307,针对属于同一物体类别的局部候选区域,进行融合处理,并采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0158] 步骤S308,将近物体区域和近背景区域作为种子,采用分割算法对所述歧义区域进行分割,得到所述训练图像的语义分割的校正结果。
[0159] 步骤S309,依据初步结果和校正结果,对语义分割模型的模型参数进行修正。
[0160] 步骤S310,共享经修正的语义分割模型的输出结果,对交叉熵损失函数的参数进行修正。
[0161] 上述步骤S307至步骤S310的具体实现过程可参见本发明实施例二中步骤S206至步骤S209的描述,在此不再赘述。
[0162] 以上步骤S302至步骤S310为训练步骤,迭代执行上述训练步骤,以得到经训练的目标识别模型。具体地,训练步骤迭代执行直至语义分割模型的训练结果满足预定收敛条件。例如,预定收敛条件为达到预定迭代次数,当迭代次数达到预定迭代次数时,迭代过程结束。或者,预定收敛条件为初步结果与校正结果之间的差异收敛到一定程度,当满足该预定收敛条件时,迭代过程结束。
[0163] 本实施例提供的目标识别模型训练方法,依据弱监督信息和多个局部候选区域,进行局部候选区域融合,得到训练图像的语义分割的校正结果,从而对语义分割模型的模型参数进行修正。而后,共享经修正的所述语义分割模型的输出结果,对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地目标识别。进一步地,本方法包含两个分支的训练过程,一个分支是语义分割模型的训练过程,另一个分支(即物体定位分支)是对物体的局部候选区域分类的训练和对图像类别的训练的过程,两个分支能够共享训练的结果,能够避免因为最初阶段训练样本监督信号不准确而造成的语义偏离,进一步提升了语义分割结果的准确性。该方案既有像素级别的直接监督,又可以端到端的优化语义分割模型,还引入了一个物体定位分支,又能够根据对局部候选区域的判断改善目标识别的结果。除此之外,本实施例还通过对局部候选区域进行筛选,使得样本更为均衡,进一步优化了训练效果,最终实现了对局部候选区域类别的准确识别。
[0164] 本发明还提供了一种目标识别方法,该目标识别方法将待识别的图像作为目标识别模型的输入,根据目标识别模型的输出结果确定针对图像选定的多个局部候选区域的分类结果。本发明中基于训练得到的目标识别模型进行目标识别的方法与现有技术中的方法相同,不同的是,所利用的目标识别模型采用本发明上述实施例提供的训练方法得到。
[0165] 图8示出了本发明提供的目标识别模型训练装置的实施例一的功能结构框图。如图8所示,本实施例的目标识别模型训练装置采用多个预先标注有弱监督信息的训练图像对目标识别模型进行训练,该训练装置包括:训练模块820。
[0166] 训练模块820进一步包括:目标识别单元824,融合单元822,以及修正单元823。
[0167] 目标识别单元824用于将针对训练图像选定的多个局部候选区域输入至目标识别模型,得到目标识别模型输出的多个局部候选区域分类的初步结果。本发明实施例中,利用深度学习的全卷积神经网络的全连接层的交叉熵损失函数作为目标识别模型,使用交叉熵损失函数预测得到多个局部候选区域分类的初步结果。
[0168] 融合单元822用于依据弱监督信息和多个局部候选区域分类的初步结果,进行局部候选区域融合。依赖于前述准备的弱监督信息,对多个局部候选区域进行融合处理。
[0169] 修正单元823,用于根据所述多个局部候选区域分类的初步结果和局部候选区域融合的结果对所述目标识别模型的参数进行修正。
[0170] 上述训练模块820迭代运行,以得到经训练的目标识别模型。具体地,训练模块820迭代执行直至目标识别模型的训练结果满足预定收敛条件。例如,预定收敛条件为达到预定迭代次数,当迭代次数达到预定迭代次数时,迭代过程结束。或者,预定收敛条件为初步结果与校正结果之间的差异收敛到一定程度,当满足该预定收敛条件时,迭代过程结束。
[0171] 进一步的,该训练装置还包括:数据准备模块810用于从训练图像中选择多个局部候选区域;以及,获取训练图像的弱监督信息。
[0172] 本发明实施例将一个训练图像拆成多个局部候选区域来理解和学习。拆解的原则是能够尽可能多的覆盖训练图像中不同大小的物体;每个局部候选区域可以覆盖物体的一部分,不必完全包含物体,因而每个局部候选区域学到的信息更丰富。进一步的,对训练图像的拆解具体为对训练图像进行超像素分割处理,得到若干个图像块;然后,将若干个图像块进行聚类组合得到多个局部候选区域。本发明实施例可采用现有技术中提供的局部候选区域的选择方法,对此不作限制。
[0173] 另外,数据准备模块810进一步用于:获取训练图像的物体类别信息。传统的像素标注信息需要精确地标注出训练图像中每个像素所属的物体类别,而本发明中弱监督信息是训练图像所包含的物体类别信息。举例来说,假如某个训练图像中包含人和飞机,传统的像素标注信息需要标注出该训练图像中每个像素是否属于人或飞机,而本发明仅需标注出训练图像中有人和飞机即可。也即,预先告知训练装置训练图像中包含的物体类别,但不告知物体的位置。
[0174] 本实施例提供的目标识别模型训练装置,将针对训练图像选定的多个局部候选区域输入至目标识别模型得到多个局部候选区域分类的初步结果,依据弱监督信息和多个局部候选区域分类的初步结果,进行局部候选区域融合,根据融合结果对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地目标识别。
[0175] 图9示出了本发明提供的目标识别模型训练装置的实施例二的功能结构框图。本实施例在上述装置实施例一的基础上,额外设计了一个多任务的训练子系统,利用图像级别的标注进行约束,以避免因为最初阶段训练样本监督信号不准确而造成的语义偏离。
[0176] 训练模块820进一步包括:语义分割单元821,用于将训练图像输入至语义分割模型,得到训练图像的语义分割的初步结果。可选地,本发明实施例利用深度学习的全卷积神经网络作为语义分割的模型。使用全卷积神经网络进行预测,通过多个卷积层/非线性响应层/池化层学习中间表示的参数,得到训练图像的语义分割的初步结果。
[0177] 目标识别单元824,用于利用交叉熵损失函数,将多个局部候选区域按照物体类别进行分类;对每个局部候选区域属于物体类别的概率进行预测,得到每个局部候选区域的物体类别概率预测值。具体地,每个局部候选区域的物体类别概率预测值是通过全卷积神经网络学习得到的。
[0178] 目标识别单元824通过共享全卷积神经网络的结果,在全连接层可预测得到局部候选区域的类别。
[0179] 融合单元822用于依据弱监督信息和多个局部候选区域分类的初步结果,进行局部候选区域融合,得到所述训练图像的语义分割的校正结果。
[0180] 修正单元823进一步用于:依据语义分割的初步结果和语义分割的校正结果,对语义分割模型的模型参数进行修正;共享经修正的语义分割模型的输出结果,对目标识别模型的参数进行修正。本发明实施例与现有技术的不同之处在于,本实施例不采用语义分割的真实结果(如像素级别的预先标注信息等)作为校正训练过程中语义分割模型的模型参数,而是将训练图像的多个局部候选区域的融合得到的结果作为校正训练过程中语义分割模型的模型参数。替代真实结果,将融合单元822得到的校正结果视为标准输出,确定标准输出与初步结果的差异,根据确定的差异得到语义分割模型的损失函数,利用损失函数响应值进行回传,更新语义分割模型的模型参数。
[0181] 训练模块820还包括:图像类别预测单元825,用于依据弱监督信息,对用于预测训练图像的图像类别的函数进行训练。
[0182] 具体地,图像类别训练利用了多个体训练的方案,使用产生式模型Log-Sum-Exponentail分类,优化公式如下:
[0183]
[0184] 其中,Ik为第k个训练图像,c为类别;xkj为第k个训练图像的第j个局部候选区域的描述特征,M为第k个训练图像的局部候选区域的个数;wc为要学的类别c的分类器参数。该公式预测的是Ik类别为c的概率,即Pr(Ik∈c|wc)。
[0185] 图像类别预测单元825将弱监督信息作为输入,通过上述优化公式的学习,可学到各类别的分类器参数。由于弱监督信息为图像类别的标准标注信息,依据该标准标注信息,通过上述优化公式的学习得到各类别的分类器参数,使得网络具有了下次遇到同类输入图像时也能够预测的能力。
[0186] 进一步地,融合单元822包括:归类子单元822a,融合处理子单元822b,分割子单元822c。
[0187] 归类子单元822a用于从多个局部候选区域内选择出属于同一物体类别的局部候选区域。归类子单元822a将属于同一物体类别的局部候选区域选择出来作为一组,交由融合处理子单元822b和分割子单元822c进行处理。如果训练图像包含N个物体类别,那么局部候选区域被分为N组,将每一组交由融合处理子单元822b和分割子单元822c进行处理。
[0188] 融合处理子单元822b用于针对属于同一物体类别的局部候选区域,进行融合处理,并采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0189] 由于所选取的局部候选区域较多,如果对属于同一物体类别的所有局部候选区域进行融合处理,计算量较大。为了减小计算量,可选地融合处理子单元822b从针对属于同一物体类别的局部候选区域中挑选出一批局部候选区域进行融合处理。挑选的原则可采用但不限于如下两种:
[0190] 一种是,依据局部候选区域的物体类别概率预测值从高至低的顺序,从针对属于同一物体类别的局部候选区域中挑选出预设数量的局部候选区域,进行融合处理。
[0191] 另一种是,从针对属于同一物体类别的局部候选区域中挑选出物体类别概率预测值高于预设阈值的局部候选区域,进行融合处理。
[0192] 以上两种示例性的原则都是基于局部候选区域的物体类别概率预测值进行挑选,物体类别概率预测值的高低反映出局部候选区域属于某个物体类别的概率的高低,上述两种原则的目的都是挑选出属于物体的概率比较高的局部候选区域。
[0193] 融合处理子单元822b对挑选出的局部候选区域进行融合处理。具体过程可以为:对挑选出的局部候选区域进行图像分割处理,得到局部候选区域的二进制分割掩膜;将挑选出的局部候选区域的二进制分割掩膜进行融合处理;采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0194] 分割子单元822c用于将近物体区域和近背景区域作为种子,采用分割算法对歧义区域进行分割,得到训练图像的语义分割的校正结果。
[0195] 为了进一步预测出歧义区域的分割结果,分割子单元822c将近物体区域和近背景区域作为种子,采用一种可选地分割算法,如grabcut算法对歧义区域进行分割,得到一个物体类别的语义分割的校正结果。如果训练图像包含N个物体类别,那么局部候选区域被分为N组分别经过融合处理子单元822b和分割子单元822c的处理,得到所有物体类别的语义分割的校正结果,最终得到整个训练图像的语义分割的校正结果。
[0196] 本实施例提供的目标识别模型训练装置,依据弱监督信息和多个局部候选区域,进行局部候选区域融合,得到训练图像的语义分割的校正结果,从而对语义分割模型的模型参数进行修正。而后,共享经修正的所述语义分割模型的输出结果,对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地目标识别。进一步地,本装置包含两个分支的训练过程,一个分支是语义分割模型的训练过程,另一个分支(即物体定位分支)是对物体的局部候选区域分类的训练和对图像类别的训练的过程,两个分支能够共享训练的结果,能够避免因为最初阶段训练样本监督信号不准确而造成的语义偏离,进一步提升了语义分割结果的准确性。该方案既有像素级别的直接监督,又可以端到端的优化语义分割模型,还引入了一个物体定位分支,又能够根据对局部候选区域的判断改善目标识别的结果,最终实现了对局部候选区域类别的准确识别。
[0197] 图10示出了本发明提供的目标识别模型训练装置的实施例三的功能结构框图。本实施例在上述装置实施例二的基础上,训练模块820还包括:选择单元826,用于依据训练图像的语义分割的初步结果和每个局部候选区域的物体类别概率预测值,对多个局部候选区域进行筛选。
[0198] 融合单元822进一步用于:依据弱监督信息,对经筛选得到的局部候选区域进行融合,获得训练图像的语义分割的校正结果。
[0199] 由于数据准备模块准备得到的局部候选区域有上千个,而且这些局部候选区域作为样本来说,存在样本不均衡的问题,即高概率物体的区域(正样本)的数量与高概率背景的区域(负样本)的数量不均衡,使得后续训练过程受其影响得到不准确的结果。因此,本实施例的选择单元826通过对局部候选区域进行筛选,使得样本更为均衡。
[0200] 具体来说,选择单元826首先计算局部候选区域的分割掩膜与训练图像的语义分割的初步结果的交并比,交并比越大,表明局部候选区域为物体的概率越高,交并比越小,表明局部候选区域为背景的概率越高。然后,根据局部候选区域的交并比与交并比阈值的比较结果、以及局部候选区域的物体类别预测值与预测值阈值的比较结果,对多个局部候选区域进行筛选。
[0201] 进一步的,本实施例预先设定交并比的两个阈值,分别为第一交并比阈值和第二交并比阈值,其中第一交并比阈值大于第二交并比阈值;本实施例还预先设定物体类别预测值的两个阈值,分别为第一预测值阈值和第二预测值阈值,其中第一预测值阈值大于第二预测值阈值。
[0202] 选择单元826进一步用于:响应于局部候选区域的交并比大于或等于第一交并比阈值,局部候选区域的物体类别预测值大于或等于第一预测值阈值,将局部候选区域作为经筛选得到的正样本的局部候选区域;响应于局部候选区域的交并比小于或等于第二交并比阈值,局部候选区域的物体类别预测值小于或等于第二预测值阈值,将局部候选区域作为经筛选得到的负样本的局部候选区域。
[0203] 通过上述阈值比较过程,选择单元826筛选出一定数量的正样本和负样本,且保证筛选出的正样本和负样本的数量均衡。
[0204] 归类子单元822a用于从经筛选得到的局部候选区域内选择出属于同一物体类别的局部候选区域。
[0205] 融合处理子单元822b用于针对属于同一物体类别的局部候选区域,进行融合处理,并采用聚类算法将融合后的图像区域划分为近物体区域、近背景区域和歧义区域。
[0206] 分割子单元822c用于将近物体区域和近背景区域作为种子,采用分割算法对歧义区域进行分割,得到训练图像的语义分割的校正结果。
[0207] 融合处理子单元822b进一步用于:依据局部候选区域的物体类别概率预测值从高至低的顺序,从针对属于同一物体类别的局部候选区域中挑选出预设数量的局部候选区域,进行融合处理;或者,从针对属于同一物体类别的局部候选区域中挑选出物体类别概率预测值高于预设阈值的局部候选区域,进行融合处理。
[0208] 本实施例提供的目标识别模型训练装置,依据弱监督信息和多个局部候选区域,进行局部候选区域融合,得到训练图像的语义分割的校正结果,从而对语义分割模型的模型参数进行修正。而后,共享经修正的所述语义分割模型的输出结果,对目标识别模型的参数进行修正,继而得到经训练的目标识别模型。通过预先提供的弱监督信息的指导,实现了准确地目标识别。进一步地,本装置包含两个分支的训练过程,一个分支是语义分割模型的训练过程,另一个分支(即物体定位分支)是对物体的局部候选区域分类的训练和对图像类别的训练的过程,两个分支能够共享训练的结果,能够避免因为最初阶段训练样本监督信号不准确而造成的语义偏离,进一步提升了语义分割结果的准确性。该方案既有像素级别的直接监督,又可以端到端的优化语义分割模型,还引入了一个物体定位分支,又能够根据对局部候选区域的判断改善目标识别的结果。除此之外,本实施例还通过对局部候选区域进行筛选,使得样本更为均衡,进一步优化了训练效果,最终实现了对局部候选区域类别的准确识别。
[0209] 本发明还提供了一种目标识别装置,该目标识别装置将待识别的图像作为目标识别模型的输入,根据目标识别模型的输出结果确定针对图像选定的多个局部候选区域的分类结果。本发明中基于训练得到的目标识别模型进行目标识别的装置与现有技术中的装置相同,不同的是,所利用的目标识别模型采用本发明上述实施例提供的训练装置得到。
[0210] 在此提供的方法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0211] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0212] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0213] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0214] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0215] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的获取应用信息的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0216] 例如,图11示出了可以实现根据本发明的目标识别模型训练方法的计算设备。该计算设备可以是终端或者服务器。该计算设备传统上包括处理器1110和以存储设备1120形式的计算机程序产品或者计算机可读介质,另外还包括通信接口和通信总线。存储设备1120可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。一个或多个处理器、通信接口和存储器通过通信总线完成相互间的通信。处理器可以是CPU(中央处理单元)或GPU(图形处理单元)存储设备1120具有存储用于执行上述方法中的任何方法步骤的程序代码1131的存储空间1130,用于存放至少一指令,该指令使处理器执行本发明实施例的目标识别模型训练方法中的各种步骤。例如,存储程序代码的存储空间1130可以包括分别用于实现上面的方法中的各种步骤的各个程序代码1131。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘、紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图12所示的便携式或者固定存储单元。该存储单元可以具有与图11的计算设备中的存储设备1120类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码1131',即可以由诸如1110之类的处理器读取的代码,当这些代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
[0217] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。