发明内容
本发明所要解决的技术问题是:提出一种基于图卷积神经网络的弱监督目标检测方法,解决传统的弱监督目标检测网络只检测到物体的一部分而不是整个物体这一问题。本发明通过图卷积神经网络降低弱监督目标检测模型的冗余性,从而提高弱监督目标检测的精度,以及降低弱监督目标检测的时间,提升目标检测的效率。
针对上述实际情况,提出一种基于图卷积神经网络的弱监督目标检测方法,通过引入只检测到物体一部分的伪标注框作为弱监督目标检测网络的监督条件,通过多实例网络只检测到物体的一部分而不是覆盖全部物体。利用图卷积神经网络把检测为物体框的邻近且相交的候选框学习物体框的特征表示。因为和物体框相交的候选框也是物体的一部分,通过学习检测为物体的框的特征表示来改变候选框的特征表示,邻近的框学习检测为物体的框的特征。候选框和检测为物体框的特征表示就会相似,弱监督网络测试的时候会把与检测为物体框的邻近候选框也分类为目标物体。从而检测出的目标框覆盖更大的面积和更全的物体,提高弱监督目标检测的精度。
本发明将两个步骤的弱监督检测模型简化为一个端到端的网络模型结构,不仅简化了网络模型。减少了弱监督目标检测的时间,图卷积网络损失函数和弱监督模型的分类损失函数共同组成新的损失函数训练弱监督检测模型。提高弱监督检测模型的精度,减少了弱监督检测的时间。
本发明解决其技术问题所采用的技术方案具体包括以下步骤:
步骤(1)训练数据集的准备阶段:
在目标检测中用PASCAL VOC 2007以及PASCAL VOC 2012数据集作为训练数据集,训练数据集中包括20种物体类别,PASCAL VOC2007一共有9963张图片,其中有训练数据集5011张图片,测试数据集有4952张图片。PASCAL VOC 2012数据集一共有22531张图片,其中训练数据集11540张图片,测试数据集有10991张图片。其中除了图片信息外还有每张图片含有的物体类别信息。
步骤(2)获取图片的特征图以及多实例检测网络模型:
首先,图片经过卷积层得到卷积特征图Ⅰ;
其次,选择性搜索边框图片经过金字塔池化层得到每个选择性搜索边框图片的卷积特征图Ⅱ,将卷积特征图Ⅱ连续经过两层全连接层得到选择性搜索边框图片的特征向量Ⅰ,特征向量Ⅰ分别经过全连接层Ⅰ和全连接层Ⅱ,全连接层Ⅰ与物体类别方向的softmax层Ⅰ连接,全连接层Ⅱ与选择性搜索边框图片方向的softmax层Ⅱ连接;将softmax层Ⅰ和softmax层Ⅱ输出的两个特征向量进行数量积相乘得到特征向量Ⅱ,根据特征向量Ⅱ得到每个选择性搜索边框图片在每个类别上的得分。
所述的图片包含多个选择性搜索边框图片;
步骤(3)图卷积神经网络,为了提高弱监督网络模型的检测精度,将步骤(2)获取的选择性搜索边框图片的特征向量Ⅱ输入图卷积神经网络,图卷积神经网络(GCNnetwork)包括第一个隐藏层、第一个ReLU激活函数层、第二个隐藏层、第二个ReLU激活函数层。
将特征向量Ⅰ作为第一个隐藏层的输入,所述的特征向量Ⅰ是2000*4096大小的的特征矩阵;将第一个隐藏层输出设置为256维,因此第一个隐藏层将4096维转为256维,输出特征向量Ⅲ,降低了网络参数的个数,减少训练复杂度。然后输出的特征向量Ⅲ点乘邻接矩阵A,再然后连接第一个ReLU激活函数层;第一个ReLU激活函数层的输出作为第二个隐藏层的输入,第二个隐藏层的输出网络参数为21维,因此第二个隐藏层将256维转为21维,第二个隐藏层输出21维的特征向量Ⅳ,第二个隐藏层输出的特征向量Ⅳ再次点乘邻接矩阵A,然后再连接第二个ReLU激活函数层,得到特征向量Ⅴ;特征向量Ⅴ是2000*21大小的的特征矩阵;
图卷积神经网络的输出层连接一个softmax层,softmax层输出特征向量Ⅵ,即每个选择性搜索边框图片获得特征向量Ⅵ中,属于21个类别中每个类别的概率;最后连接损失函数。
所述的邻接矩阵A的获取如下:
计算n行和m列的选择性搜索边框图片之间的IOU,当IOU大于0.1时邻接矩阵A的n行m列的值为1,当IOU小于0.1时,邻接矩阵A的n行m列的值为0,具体步骤如图所示。
本发明用图卷积神经网络的一个分支网络替代了三个实例分类器优化网络,利用图卷积算法降低了模型的冗余性,只需连接一个图卷积神经网络,提高了模型的检测效率。
步骤(4)设置弱监督目标检测模型的损失函数,多实例检测网络模型的损失函数为分类损失函数,具体的为交叉熵损失函数,如公式(1)所示。
其中,φc是多实例网络模型输出的所有选择性搜索框图片的一个类别c上的权重之和。yc表示图片存在或者不存在物体类别c,当存在时等于1,不存在时等于0。C表示物体种类的总数量,PASCALVOC有20类;加上背景这一类,C的取值为21,c表示物体的种类。
所述的权重之和是指在一个类别c上的所有选择性搜索框图片的概率之和,且该权重之和的数值在(0,1)之间。
图片中,当c种类存在时,yc等于1;那么式(1)的加号右侧为0,所以此时φc越大损失函数越小,则存在的分类的置信分数就会越大。
图片中,当c种类不存在时,yc等于0,那么式(1)的加号左侧为0,所以此时φc越小损失函数越小,则不存在的类别的置信分数就会越小。
图卷积神经网络分支结构的损失函数是一个分类损失函数,首先每个选择性搜索框图片的输出特征向量Ⅵ再经过softmax层,分类出每个选择性搜索框图片的类别概率的置信分数
分类损失函数如下所示:
其中,
表示第r个选择性搜索框图片属于c类别的置信分数,属于(0,1)之间。y
c表示图像存在或者不存在类别c,当存在时y
c等于1,不存在时y
c等于0。C表示物体种类数目,PASCAL VOC中有20个类。对图片中所有的选择性搜索框图片对应的类进行聚类,经过聚类分为N束,s
n表示第n个聚类束的置信分数,M
n表示第n个聚类束的物体框的个数。
步骤(5)用步骤(1)中训练数据集中的训练接迭代训练弱监督目标检测模型,得到模型结果。由上述步骤可以得到弱监督目标检测模型的训练结果,通过迭代训练,训练20个epoch,每个epoch迭代一万张图片,每个epoch存储一个训练的模型.
步骤(6)测试弱监督目标检测模型结果,通过两个重要的指标判断目标定位精度:平均正确率mAP和定位正确率CorLoc;其中平均正确率mAP是对于测试集的目标检测精度,定位正确率CorLoc是对于训练集的目标定位精度。
通过本方法获取的平均正确率mAP和定位正确率CorLoc比现有PCL弱监督算法精确度提高5%mAP。
实验结果表面,在弱监督目标检测模型上达到了端到端的平均正确率mAP最好的性能和定位准确率CorLoc最好的性能。
本发明的有益效果:
本发明所述的方法是一个基于图卷积神经网络的弱监督目标检测方法,本方法是一个端到端的弱监督目标检测模型,而不是两个步骤的弱监督加全监督网络模型。
本发明提出了更简洁的网络结构,减少了检测时间,提高了目标检测的效率,本发明第一次加入了图卷积神经网络模型,在没有物体边框作监督的条件下,利用自身网络产生伪标注框,通过图卷积神经网络使模型检测出更完整的物体。极大的提升了弱监督目标检测精度。
具体实施方式
以下结合附图及实施例,对本发明进行进一步的详细说明。
本发明提出的一种基于图卷积神经网络的弱监督目标检测方法,通过引入只检测到物体一部分的伪标注框作为弱监督目标检测网络的监督条件,通过多实例网络只检测到物体的一部分而不是覆盖全部物体。利用图卷积神经网络把检测为物体框的邻近且相交的候选框学习物体框的特征表示(如图2所示,其中框4经过检测后是伪标注物体框,只检测部分飞机,将与框4相交的框1通过图卷积神经网络建立特征联系训练模型,框1将学习框4的特征表示,进而将框1检测为真实的物体框)。和伪标注框物体框4(图2中框4)相交的候选框(图2中与框4相交的其他框,包括框2和框3)也是物体的一部分,通过学习检测为物体的框的特征表示来改变候选框的特征表示,将与框4相交的候选框(即框2和框3)通过图卷积神经网络建立特征联系训练模型,候选框(即框2和框3)将学习框4的特征表示;候选框和检测为伪标注物体框4的特征表示就会相似,弱监督网络测试的时候会把与检测为伪标注物体框4的候选框(即框2和框3)也分类为目标物体。从而检测出的目标框覆盖更大的面积和更全的物体,提高弱监督目标检测的精度。
将两个步骤的弱监督检测模型简化为一个端到端的网络模型结构,不仅简化了网络模型。减少了弱监督目标检测的时间,提升了弱监督目标检测网络的效率。弱监督目标检测网络的实现步骤流程图如图1所示。本发明所述方法包括以下步骤:
步骤(1)训练数据集的准备阶段,如图一所示。在目标检测中我们用的是PASCALVOC 2007以及PASCAL VOC 2012数据集作为我们的训练数据集,训练数据集中包括20种物体类别,PASCAL VOC 2007一共有9963张图片,其中有训练数据集5011张图片,测试数据集有4952张图片。PASCAL VOC 2012数据集一共有22531张图片,其中训练数据集11540张图片,测试数据集有10991张图片。其中除了图片信息外还有每张图片含有的物体类别信息。
步骤(2)图片的特征图的获取以及多实例网络模型(Basic MIL network)的结构,多实例检测网络模型(Basic MIL network)结构如图3所示。首先图片先经过卷积层得到卷积特征图,选择性搜索边框的图片经过金字塔池化层得到每个选择性搜索框的卷积特征图,这些卷积特征图经过两层全连接层得到选择性搜索框的特征向量,特征向量分别经过一个全连接层之后,一个在物体类别方向连接softmax层如图3弱监督目标检测网络的网络结构示意图所示,一个在选择性搜索框的方向连接softmax层,两个向量进行数量积相乘,得到每个是选择性搜索框在每个类别上的得分即图2中的框分数。
步骤(3)图卷积神经网络,为了提高弱监督网络模型的检测精度,步骤2中得到选择性搜索框的特征向量之后增加图卷积神经网络,图卷积神经网络(GCN network)结构如图3所示。共有:输入层,第一个隐藏层,ReLU激活函数层,第二个隐藏层,ReLU激活函数层,最后连接输出层。输入层:每张图片经过特征提取网络,和金字塔池化层,得到图片的特征图。特征图之后连接两层全连接层生成2000*4096大小的的特征矩阵,我们把第一个隐藏层输出设置为256大小。所以第一个隐藏层为4096维转为256维,降低了网络参数的个数,减少训练复杂度。然后输出的特征向量点乘邻接矩阵A。再连接一个ReLU的激活层。再连接第二个隐藏层,第二个隐藏层的输出网络参数为256维转为21维,此层每个候选框将输出21个数的向量预测候选框属于每个类别的概率,输出的特征向量再次点乘邻接矩阵A,再连接一个ReLU的激活层。所以输出层的输入是2000*21大小的的特征矩阵,网络后面连接接一个softmax层。输出每个选择性搜索框的属于21个类别的概率。最后连接损失函数。
我们用图卷积网络分支网络替代了传统弱监督网络中的三个实例分类器优化网络,利用图卷积算法降低了模型的冗余性,只需连接一个图卷积神经网络。提高了模型的检测效率。
步骤(4)设置弱监督目标检测模型的损失函数,多实例检测网络模型的损失函数为分类损失函数,具体的为交叉熵损失函数,如公式(1)所示。
其中,φc是多实例网络模型输出的所有选择性搜索框图片的一个类别c上的权重之和。yc表示图片存在或者不存在物体类别c,当存在时等于1,不存在时等于0。C表示物体种类的总数量,PASCAL VOC有20类;加上背景这一类,C的取值为21,c表示物体的种类。
所述的权重之和是指在一个类别c上的所有选择性搜索框图片的概率之和,且该权重之和的数值在(0,1)之间。
图片中,当c种类存在时,yc等于1;那么式(1)的加号右侧为0,所以此时φc越大损失函数越小,则存在的分类的置信分数就会越大。
图片中,当c种类不存在时,yc等于0,那么式(1)的加号左侧为0,所以此时φc越小损失函数越小,则不存在的类别的置信分数就会越小。
图卷积神经网络分支结构的损失函数是一个分类损失函数,首先每个选择性搜索框图片的输出特征向量Ⅵ再经过softmax层,分类出每个选择性搜索框图片的类别概率的置信分数
分类损失函数如下所示:
其中,
表示第r个选择性搜索框图片属于c类别的置信分数,属于(0,1)之间。y
c表示图像存在或者不存在类别c,当存在时y
c等于1,不存在时y
c等于0。C表示物体种类数目,PASCAL VOC中有20个类。对图片中所有的选择性搜索框图片对应的类进行聚类,经过聚类分为N束,s
n表示第n个聚类束的置信分数,M
n表示第n个聚类束的物体框的个数。
步骤(5)用步骤(1)中训练数据集中的训练接迭代训练弱监督目标检测模型,得到模型结果。由上述步骤可以得到弱监督目标检测模型的训练结果,通过迭代训练,训练20个epoch,每个epoch迭代一万张图片,每个epoch存储一个训练的模型.
步骤(6)测试弱监督目标检测模型结果,通过两个重要的指标判断目标定位精度:平均正确率mAP和定位正确率CorLoc;其中平均正确率mAP是对于测试集的目标检测精度,定位正确率CorLoc是对于训练集的目标定位精度。