一种基于粗细粒度复合卷积的多分支对象检测方法与流程

文档序号:16037228发布日期:2018-11-24 10:10阅读:185来源:国知局

本发明属于机器学习中深度学习技术领域,涉及一种图像特征处理方法,尤其涉及一种用于对象检测的特征复合方法。

背景技术

在计算机视觉领域,图像特征的表达能力一直是计算机视觉应用的关键,加强图像的特征表达,更好的理解图像,成为当前的研究热点。在深度学习引入图像理解领域前,hog、haar、sift等传统特征抽取方法被广泛的应用于图像特征处理。

随着卷积神经网络(convolutionalneuralnetwork,cnn)(文献1)的使用,极大的增强了图像特征的抽取能力,在通用数据集上,对于图像中对象的检测与识别,其精度指标都有大幅度的提高。基于卷积神经网络在图像处理领域表现出的良好性能,越来越多的研究者从事卷积神经网络的研究。也因此出现了各种性能更高的卷积神经网络变体,如alexnet(文献2)、googlenet(文献3)、vgg(文献4)、resnet(文献5)及densenet(文献6)。这些卷积神经网络中,包含了各种图像特征抽取的子网络结构,如google-inception(文献3)和denseblock(文献6)等,它们在图像特征抽取能力方面都展示其良好的性能。但这些网络结构在进行图像分类或图像中对象的检测与识别等任务时,都使用抽象程度较高的深层特征图作为执行这些任务的特征输入,忽略了不同层次包含不同粒度大小的特征。深层特征图包含了较多的粗粒度(大物体)特征,对细粒度(小物体)的特征及粗粒度的部件特征并没有得到较好的体现。使得卷积神经网络中各层的特征并没有得到充分地使用,也限制了相关任务的精度提升。充分使用已抽取的蕴含于网络各层中的特征是提升卷积神经网络执行相关任务精度的关键。

相关文献:

【文献1】lecuny,bottoul,bengioy,etal.gradient-basedlearningappliedtodocumentrecognition[j].proceedingsoftheieee,1998,86(11):2278-2324.

【文献2】krizhevskya,sutskeveri,hintonge.imagenetclassificationwithdeepconvolutionalneuralnetworks[c]//advancesinneuralinformationprocessingsystems.2012:1097-1105.

【文献3】szegedyc,liuw,jiay,etal.goingdeeperwithconvolutions[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:1-9.

【文献4】simonyank,zissermana.verydeepconvolutionalnetworksforlarge-scaleimagerecognition[j].arxivpreprintarxiv:1409.1556,2014.

【文献5】hek,zhangx,rens,etal.deepresiduallearningforimagerecognition[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2016:770-778.

【文献6】huangg,liuz,weinbergerkq,etal.denselyconnectedconvolutionalnetworks[j].arxivpreprintarxiv:1608.06993,2016.



技术实现要素:

针对卷积神经网络中各特征层所蕴含各粒度特征无法充分利用问题,本发明以深度学习为基础,提出一种基于粗细粒度复合卷积的多分支对象检测方法,以实现提高图像中对象检测与识别的精度。

1.本发明所采用的技术方案是:一种基于粗细粒度复合卷积的多分支对象检测方法,其特征在于,包括以下步骤:一种基于粗细粒度复合卷积的多分支对象检测方法,其特征在于,包括以下步骤:

步骤1:基于初始卷积神经网络netoriginal,确定执行特定任务的n个特征层l1,l2,...,ln,对应的特征图x1,x2,...,xn作为复合卷积的主干分支输入;

步骤2:计算卷积神经网络netoriginal各个卷积层中的特征图所对应的感受野;

步骤3:根据各层的感受野,确定若干需要被复合的特征层,被复合的特征层作为复合卷积的细粒度分支输入;

步骤4:对复合卷积的主干分支和细粒度分支进行复合卷积计算,n个特征层对应n个复合卷积输出;

步骤5:把n个复合卷积的输出替换主干分支的输入层l1,l2,...,ln,在新的卷积网络中,n个复合特征代替初始卷积神经网络的单粒度特征,执行对应的任务。

与现有技术相比,本发明具有以下优点和积极效果:

(1)本发明基于粗细粒度复合卷积的多分支对象检测,实现了更高的检测精度,及更精准的对象定位。

(2)由于本发明特有的网络级联方式,加强了损失的梯度传导,使得深度学习网络的训练能够快速的收敛。

附图说明

图1是本发明实施的三分支(xmain作为主粒度分支输入特征图,作为两个不同尺度的细粒度分支输入)复合卷积块示例图;

图2是本发明实施例中,原始对象检测ssd框架(图上部)与把复合卷积添加到框架ssd中(图下部)的对比示例图;

图3是本发明实施例中,针对ssd框架附加复合卷积的具体实施细节。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施示例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图1,本发明提供的一种基于粗细粒度复合卷积的多分支对象检测方法,用于在卷积神经网络中进行特征综合,从而实现基于综合特征的多分支检测,本实施例中,选用当前流行的对象检测框架ssd(weiliu,dragomiranguelov,dumitruerhan,christianszegedy,scottreed,cheng-yangfu,andalexandercberg.ssd:singleshotmultiboxdetector.ineuropeanconferenceoncomputervision,pages21–37.springer,2016.)作为附加复合卷积的基础网络框架,具体包括以下步骤:

步骤1:基于初始卷积神经网络netoriginal,确定执行特定任务的n个特征层l1,l2,...,ln,对应的特征图x1,x2,...,xn作为复合卷积的主干分支输入。

本发明适用于所有的卷积神经网络,相当于给网络中n个层各添加一个用于语义融合的子网络块,如图2所示。

确定执行特定任务的n个特征层l1,l2,...,ln,是指基于每一个卷积层的特征图执行图像中的对象检测与识别任务;初始网络中n个感受野不同的用于执行检测与识别任务的特征层,将作为复合卷积模块的主干分支输入。

从图2可以看出,在执行对象检测任务时,ssd分别从多个特征图(conv4_3,conv7,conv8_2,conv9_2,conv10_2,conv11_2)出发,通过对该多尺度的特征图执行建议搜索区域的边界回归和建议搜索区域的类别判定任务。在本发明的具体实施示例中,选定这些特征层作为即将附加的复合卷积块的主干分支输入。由于有多尺度特征图执行对象检测任务,因此本实施例将构造多个复合卷积块用于多个检测分支的特征综合,用于强化每一个尺度的特征表达能力。

步骤2:计算该卷积神经网络netoriginal各个卷积层中的特征图所对应的感受野。

该步骤计算网络中各层感受野,用来作为各层是否被选为复合卷积细粒度分支输入的判断依据。感受野的计算方法,采用自顶向下的方式,即先计算该层对前一层特征图的感受野,然后逐渐传递到第一层,即从第layer层到原始图像输入对应的第0层,具体计算公式为:

rflayer-1=((rflayer-1)*stridelayer)+fsizelayer;

其中,stridelayer表示该层的卷积步长,fsizelayer表示该卷积层的滤波器的大小,rflayer表示原始图像上的响应区域。

步骤3:根据各层的感受野,确定若干需要被复合的特征层,被复合的特征层作为复合卷积的细粒度分支输入。

依据前一步骤计算出各层的感受野,根据粗细粒度的感受野成倍的关系,细粒度特征图感受野的大小需为粗粒度特征图感受野的一半,若无法找出精准比例的细粒度特征图,则找出与粗粒度特征图感受野一半最接近的细粒度特征图,把该特征图作为细粒度分支的输入。本实施例有多个特征图用于对象检测任务,需要为每个复合特征块细粒度分支选定输入层。由于conv4_3所对应的感受野已足够小,无适合的低层特征作为细粒度分支输入,所以,conv4_3层没有细粒度分支与其进行特征综合,因此,对于conv4_3层,不附加复合卷积层进行特征综合。其余各层的分支附加如图3。

comconv7(主干分支:conv7,细粒度分支:conv4_3);

comconv8_2(主干分支:conv8_2,细粒度分支:conv7,conv4_3);

comconv9_2(主干分支:conv9_2,细粒度分支:conv8_2,conv7);

comconv10_2(主干分支:conv10_2,细粒度分支:conv9_2,conv8_2);

comconv11_2(主干分支:conv11_2,细粒度分支:conv10_2,conv9_2)。

步骤4:对复合卷积的主干分支和细粒度分支进行复合卷积计算,n个特征层对应n个复合卷积输出。

该步骤进行主干分支xmain和细粒度分支xfine-grain的复合卷积计算,其计算方式为:

其中:xfine-grain表示当前细粒度分支的输出特征,表示n个细粒度分支输出特征图的集合,xl表示当前细粒度分支的输入特征,size(xl)表示该特征图的大小;xmain表示当前复合卷积的粗粒度特征,size(xmain)表示粗粒度特征图的大小;表示粗细分支输出特征图数据通道的连接操作;表示基于粗细粒度分支特征的复合卷积操作,即求出最终的综合特征图。

当前细粒度分支输入与复合卷积粗粒度分支输出的特征图大小相同时,可以不用做变换,当前细粒度分支的输入直接作为当前细粒度分支输出,直接进行连接操作;若当前细粒度分支输入与复合卷积粗粒度分支输出特征图大小不相同时,当前分支需要先进行一次卷积操作(考虑到计算量,可采取深度可分卷积即depthwiseseparableconvoltion),使当前分支的输出特征图与复合卷积的粗粒度特征图具有相同的大小,然后进行连接操作(考虑到计算量,也可通过分组点卷积即pointwisegroupedconvolution进行通道数的扩张或缩放)。

在连接操作前,通过卷积确保每个分支输出的特征图大小相同,然后连接各分支的特征,再通过一次卷积(考虑到计算量,也可通过分组点卷积进行通道数的扩张或缩放)操作,从而复合各层特征,输出包含综合各粒度特征的特征图。

步骤5:把n个复合卷积的输出替换主干分支的输入层l1,l2,...,ln,在新的卷积网络中,n个复合特征代替初始卷积神经网络的单粒度特征,执行对应的任务。

用复合卷积输出的复合特征图xcomconv替代初始卷积神经网络netoriginal中的单粒度特征图xmain,来执行其对应图像中的对象检测与识别等任务。

本实施例中,用复合卷积(comconv7,comconv8_2,comconv9_2,comconv10_2,comconv11_2)输出的复合特征图替代初始网络中的单粒度特征图(conv7,conv8_2,conv9_2,conv10_2,conv11_2),执行对象检测中其对应的建议搜索区域的边界回归和建议搜索区域的类别判定任务。

由于上述复合卷积神经网络的添加,只是通过复合卷积的综合特征图替换单粒度特征图,执行对象检测中其对应的建议搜索区域的边界回归和建议搜索区域的类别判定任务。该过程并没有改变网络框架的训练和测试方式,其输入输出接口也不发生变化,因此在训练和测试阶段皆使用原始网络的训练和测试参数及方法。

本例也把附加复合卷积的网络框架与不附加复合卷积的网络框架在通用数据集——pascalvoc2007/2012(markeveringham,lucvangool,christopherkiwilliams,johnwinn,andandrewzisserman.thepascalvisualobjectclasses(voc)challenge.internationaljournalofcomputervision,88(2):303–338,2010.)及mscoco(linty,mairem,belongies,etal.microsoftcoco:commonobjectsincontext[c]//europeanconferenceoncomputervision.springer,cham,2014:740-755.)——进行了训练与测试,发现在精度上均有不同层度的提高。

综上所述,本发明可以在训练和测试过程不变的情况下,通过附加多个复合卷积块进行多分支特征的复合,提高网络框架对于各尺度对象的检测能力。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对当前流行框架实施示例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,做出的替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1