融合神经网络与超像素的候选区域优化算法

2021-08-24 03:17王春哲安军社姜秀杰邢笑雪崔天舒
国防科技大学学报 2021年4期
关键词:候选框滑动边缘

王春哲,安军社,姜秀杰,邢笑雪,崔天舒

(1. 中国科学院国家空间科学中心 复杂航天系统电子信息技术重点实验室, 北京 100190;2. 中国科学院大学, 北京 100049; 3. 长春大学 电子信息工程学院, 吉林 长春 130022)

在诸如目标检测、目标跟踪等计算机视觉任务中,候选区域算法有着广泛的应用。所谓候选区域,即使用目标的颜色、纹理等信息寻找图像中更可能出现的目标的区域框[1]。

在目标检测及跟踪等任务中,需要将图像中的目标进行识别与定位。解决这一任务的传统策略是在图像中密集采样滑动窗口,并判别每个滑动窗口是否含有目标。由于该范式下生成的滑动窗口质量不高,因此需要训练复杂的分类器,浪费了计算资源[2-3]。在文献[1-3]中指出,仅在单尺度下,每张图像需要处理104~105个滑动窗口,而且当前的目标检测要求检测算法处理不同尺度及不同宽高比下的目标,极大地增加了算法的复杂度。

使用候选区域算法能够有效提高目标的检测效率,如在基于快速区域卷积神经网络(Fast Regions with Convolutional Neural Network, Fast RCNN)的检测算法中,使用选择性搜索(Selective Search,SS)算法[4]生成大约2 000个候选框;在Faster RCNN中,使用候选区域网络(Region Proposals Network, RPN)生成大约800个候选框[5]。当前主流候选区域算法主要有Object-ness[6],BING[7]及Edge Boxes[8]。

随着深度神经网络的不断发展,其已经在目标检测、图像哈希(Image Hashing,IH)、图像细分类、视觉描述与生成、视觉问答等方面有着广泛的应用[9]。特别地,文献[10]使用循环神经网络作为代理来构建哈希函数以及序列化学习策略(Sequential Learning Strategy,SLS)来完成图像哈希;文献[11]则通过神经网络提出一种细粒度的视觉-文本(Visual-Textual,VT)表达学习方法来完成图像的细分类。

目标的边缘和边界常被定义为具有目标的语义信息[12]。Edge Boxes通过统计滑动窗口中出现目标的边缘信息量来确定候选区域,但由于Edge Boxes仍使用的是传统的边缘生成算法,不能够准确地描述目标的边界,具有一定的局限性[3]。由于卷积神经网络(Convolutional Neural Networks,CNNs)通过模拟人类的感知系统,通过自适应学习方式能够更准确地描述目标的边缘,生成更富有语义信息的边缘特征,有助于提高目标候选区域的质量。

目标显著性[13-17],是在图像的多尺度层面统计图像中目标与背景的对比度、形状等信息,通过合理的数学模型来模拟人类视觉感知系统,快速地将目标从背景中区别出来。在视频分类、图像细分类、显著性目标分割等领域有着广泛的应用。

文献[18]从运动学的角度,将视频帧分成显著性区域和非显著性区域,并使用不同的网络分别对显著性、非显著区域建模以达到视频分类的目的。文献[19]使用了一种全局平均池化(Global Average Pooling,GAP)层的神经网络,称之为显著性提取网络(Saliency Extraction Network,SEN)来提取每张图像的显著性信息,并配合检测框架完成图像的细分类。此外,文献[20]联合了目标显著性的先验知识,精调显著性图及语义分割数据的预训练策略来完成显著性分割任务。

在目标显著性检测中,常用超像素算法提取目标信息特征。由于自然图像具有高度结构化特性[12],若将能够描述图像局部信息的超像素引入候选区域算法,可有效提高候选区域的召回率。

本文从神经网络、目标显著性两个线索来研究目标的候选区域算法。使用深度卷积神经网络提取更能表达目标边界的边缘特征;利用超像素的空间位置、完整性及相邻超像素间的对比度策略来描述每个超像素的显著性得分;最后统计每个滑动窗口中含有目标的边缘信息量及包含超像素的显著性得分,筛选滑动窗口。

1 卷积边缘特征与目标显著性

所提算法主要包括三部分:①边缘特征图的生成、边缘点聚合及边缘簇权重的计算;②超像素的显著性得分;③筛选滑动窗口。首先,使用丰富卷积特征(Richer Convolutional Features,RCF)网络生成富有语义信息的卷积边缘特征图,并结合边缘点聚类获取边缘簇、边缘簇间的相似性等策略获取每个边缘簇权重;然后,在整张图像上使用简单线性迭代的聚类(Simple Linear Iterative Clustering,SLIC)算法将图像分割成若干图像块,并利用相邻超像素间颜色直方图的卡方距离(Chi-Square Distance,CSD)、超像素的空间位置及完整性等策略,统计每个滑动窗口的显著性得分;最后,根据每个滑动窗口含有的边缘信息得分、显著性得分,筛选滑动窗口,确定候选区域。其算法结构如图1所示。

图1 所提算法的实现框图Fig.1 Block diagram of the proposed algorithm

1.1 卷积边缘特征

RCF结构的骨架是VGG-16网络,由卷积层、concat层和cross-entropy层组成[12],其结构见文献[3,12]。为更直观地说明卷积边缘特征,在边缘检测数据集BSD500任意选取一张原始图像(见图2(a)),及使用几种边缘检测算子生成的边缘特征图(见图2(c)~图2(e)),图2(b)为真实的边缘特征图。由图2(c)可知,传统边缘检测算子Canny生成的边缘特征,目标轮廓较差,目标语义信息较弱;由图2(e)可知,使用RCF网络生成的边缘特征,目标轮廓更加明显,目标语义信息丰富。丰富的语义信息可使用相对简单的分类器进行目标分类,有效降低了算法的复杂度。

给定任意一个边缘簇s,任取s中的任意一个边缘点p,用四维向量[mp,θp,xp,yp]表示。向量中的参数分别为边缘点p的边缘强度、方向角及空间位置坐标。根据边缘点p可确定边缘簇s的空间位置。

(1)

其中,P是s中所有边缘点组成的集合。

因此,边缘簇s的方向角θs为:

(2)

(3)

式中,γ是调整方向角的变化对相似性a(ti,tj)的敏感程度的参数[8],鉴于Edge Boxes算法的取值,取γ=2。

给定滑动窗口b及边缘簇tk,使用参数wb(tk)∈[0,1]来描述tk是否被滑动窗口b包围。若wb(tk)=0,表明滑动窗口b与边缘簇tk不相交;若wb(tk)=1,表明tk完全在b中[8]。而对于其他的边缘簇ti,采用以下策略来确定参数wb(ti)。

步骤1:建立一个集合Tb作为与滑动窗口b的边界完全相交的边缘簇。若边缘簇ti∈Tb,则wb(ti)=0。

(4)

(5)

(a) 原图(a) Original image (b) 真实边缘特征(b) Real Edge Features (c) Canny (d) 结构化的边缘(d) Structured edges (e) RCF 图2 几种边缘特征图的对比Fig.2 Comparisons of several edge features

1.2 显著性得分

1.2.1 超像素

图3为使用SLIC算法[21]分割的超像素示意图。图3中每一个闭合区域为一个超像素。

从图3可知:①任意一个超像素块与相邻超像素块颜色的对比度较大;②靠近图像中心的超像素更可能含有目标;③在图像边缘像素个数越多的区域更可能成为背景,如图3中的br。含有目标区域的bc无边缘像素,br含有相对较多的边缘像素。为方便起见,把包含图像边缘像素的数目作为指标来定义一个超像素的完整性。

对于一张图像X,其中心坐标为(x0,y0)。首先使用SLIC算法将其过分割成L个超像素{ci}(i=1,…,L)。SLIC算法对不同图源的图像具有通用性,其算法流程及初值选取情况如下所示。

图3 SLIC算法生成超像素Fig.3 Superpixels generated from SLIC algorithm

R通道颜色直方图的卡方距离

(6)

G通道颜色直方图的卡方距离

(7)

B通道颜色直方图的卡方距离

(8)

为考虑计算成本,取nbin=8。则超像素ci与nj直方图的卡方距离为:

(9)

常使用与相邻超像素nj间的卡方距离d(ci,nj)、超像素ci的空间位置g(xci,yci)及完整性q(u)来描述超像素ci的显著性[16]。因此,超像素ci的显著性[16]为:

(10)

式中,wij是给对应的p(d(ci,nj))赋予的权重值,其值的大小为:

(11)

式中,count(ο)表示含有ο的个数。

p(φ)=-lg(1-φ)

(12)

式中,函数p(φ)目的是保证输入为φ时,输出为正值。

由此可知,超像素ci与nj直方图的卡方距离越大,p(d(ci,nj))值也将越大。g(xci,yci)描述超像素ci的中心(xci,yci)与图像中心(x0,y0)归一化的空间距离:

(13)

如前所述,一个完整的超像素应是一个闭合(连通)区域,如bc。而对于超像素br,由于位于图像的边缘,并不是一个完整的超像素。因此,引入描述超像素的完整性参数q(u)。

(14)

其中:μ为超像素ci所包含在图像边缘像素的数目;E为图像X中所有边缘像素的数目;λ用来控制E对q(u)的影响强度;η是一个阈值。鉴于文献[16]的取值,取λ=0.05,η=0.07。

由式(14)知,当μ=0时,q(u)=1,表明超像素ci不在图像的边缘;当μ≠0时,q(u)是一个取值范围在[0,1]之间的正数。

由此可知,超像素ci与所有相邻的超像素nj间的显著性f(ci)的值越大,超像素ci包含目标的可能性越大。

1.2.2 滑动窗口的显著性得分

给定滑动窗口b,用四维向量[bx,by,bw,bh]表示。为确定滑动窗口b包含超像素ci的程度,首先,计算滑动窗口b的中心位置坐标(bmx,bmy):

(15)

其中:bx,by分别为滑动窗口b左上角的位置坐标;bw,bh分别为滑动窗口b的宽与高。

然后计算图像X上所有超像素的中心位置坐标(xci,yci)(i=1,…,L)。确定超像素ci的中心位置坐标的算法,见算法1。

目标显著性得分情况如图4所示。图4中,超像素2、5被滑动窗口完全包围,超像素1、3、4被滑动窗口部分包围。为确定滑动窗口b包含超像素ci的程度,使用b的中心位置(bmx,bmy)与超像素ci中心位置(xci,yci)之间的欧氏距离dis(b,ci)是否满足:

dis(b,ci)≤δ

(16)

图4 目标显著性得分示意图Fig.4 Illustration of object saliency scores

(17)

使用b中包含所有超像素{cψ}的显著性得分作为滑动窗口b的显著性得分:

(18)

式中,Nb表示b中含有的超像素的个数。

1.3 筛选候选框

将上述获得滑动窗口的边缘信息得分hb以及显著性得分Ssal(b),并给予恰当权重值,作为此滑动窗口b含有目标的得分。

(19)

最后,按照每个候选区域b的得分从高到低排列,选取指定个数的候选区域进行后续的目标检测。

2 数据分析与性能比较

2.1 数据集选取、评价指标及RCF网络的训练

在目标检测领域中广泛使用PASCAL VOC 2007数据集进行测试。该数据集由训练集、验证集与测试集组成。包含20类、共24 640个目标,分布在9 963张图像中。

使用召回率来衡量候选区域算法的性能,召回率是描述候选区域算法生成有效的目标候选框占所有目标候选框的比重[3]。

借鉴文献[12]中关于RCF网络的训练方法,即直接使用Liu等训练好的RCF网络[12],在PASCAL VOC 2007数据集中获取对应每张图像的边缘特征。关于RCF网络超参数的设置见文献[12]。

2.2 参数确定

由表1可知:当α=0.2、τ=0.8、IoU=0.7及0.9时,PRPA4取得最高的召回率。在高IoU的取值下,获得召回率值最高的参数组合,表明候选框与标注候选框重合面积越大,其定位性能越好,因此选择PRPA4,即参数α=0.2、τ=0.8。

表1 所提算法在VOC 2007验证集的召回率

2.3 数据性能分析

为论证所述算法的性能,选取近几年来较流行的算法如:SS[4]、Object-ness[6]、BING[7]、Edge Boxes[8]、CPMC[22]、Randomized Prim′s[23]、Geodesic[24]、MCG[25]、Rantalankila[26],在VOC 2007测试集上进行对比实验。

固定候选区域数目,研究各种算法在不同IoU下的召回率,如图5所示。当取得较少候选框数100时,MCG及CPMC算法性能略高于所提算法PRPA4,但PRPA4性能却优于近年主流算法SS[4];当候选框数为1 000及10 000时,交并比为0.5~0.7时,PRPA4的召回率最高,这表明所提算法能够生成高质量的候选框。

接下来,固定交并比,研究10种算法在不同候选框数目下的召回率,如图6所示。从图6(a)及图6(b)可以看出,当交并比为0.5、0.7时,随着候选框数目的不断增加,PRPA4的召回率不断升高,最终可获得最高的召回率。图6(c)为各算法在交并比取[0.5,1.0]时的平均召回率。由图6(c)可知,随着候选框数目的增加,所提算法PRPA4的平均召回率(Average Recall,AR)逐渐超过Edge Boxes算法,其整体性能表现优越。

2.4 候选区域算法对不同尺寸目标性能的影响

在VOC 2007测试集中测试了PRPA4对不同尺寸目标性能的影响。使用目标区域的面积来衡量不同尺寸目标,即:如果目标候选框的面积BoxArea≤32像素×32像素,则为小尺寸目标;如果BoxArea>32像素×32像素,则为较大尺寸目标。

选取1 000个候选框,以及常用的IoU为0.5、0.6及0.7进行实验,其结果见表2。

(a) 100个候选框(a) 100 proposals (b) 1 000个候选框(b) 1 000 proposals (c) 10 000个候选框(c) 10 000 proposals图5 交并比与召回率的关系Fig.5 Recall versus IoU threshold

(a) 交并比为0.5(a) IoU is 0.5 (b) 交并比为0.7(b) IoU is 0.7 (c) 交并比为[0.5,1](c) IoU is between [0.5,1]图6 候选框数目与召回率的关系Fig.6 Recall versus number of proposals

表2 10种候选区域算法不同尺寸目标的性能

由表2可知:对于较大尺寸目标,IoU=0.5、0.6、0.7时,PRPRA4均能达到最高的召回率;对于较小尺寸目标,PRPA4在IoU=0.6、0.7时,可获得最高的召回率,在IoU=0.5时,略低于SS算法的召回率;结合各算法运算时间可知,在处理较大尺寸目标时,PRPA4能够生成质量最高的目标候选框。

2.5 RCF网络及显著性得分对候选区域算法的影响

使用Canny及RCF两种边缘检测算子(均使用参数α=0.2、τ=0.8),选定500个候选框,在VOC 2007验证集上进行测试,实验结果见表3。

表3 不同检测算子的性能

表3中:符号“/”左侧为未引进显著性的召回率;符号“/”右侧为引进显著性的召回率;符号“↑”代表召回率提高;符号“↓”代表召回率下降。

由表3可以看出,Canny算子在IoU=0.9时,加入显著性得分后,召回率略有下降(下降了0.11%),在其余的情况下,引入显著性得分均可改善候选区域的质量。

另一方面,在未加入显著性得分时,相较于Canny算子,RCF生成的目标候选框的召回率明显提高。因此,基于卷积神经网络生成的边缘特征图和显著性得分这两部分都有助于提高所生成目标候选框的质量。

2.6 所提算法在Fast RCNN上检测性能的表现

为确定所提算法在检测框架Fast RCNN[27]上的检测性能。选取了Fast RCNN的3种基本模型分别是:Model-S(即CaffeNet)、Model-M(即VGG_CNN_M_1024)、Model-L(即VGG16)。

选取2组对比实验,2 000个候选框在Fast RCNN的3种模型的检测精度见表4。

1)未重训练。选取由SS算法生成的候选框(VOC 2007训练集),分别训练Fast RCNN的3种模型,获得训练参数,并对其他9种候选区域算法生成的候选框进行测试(VOC 2007测试集),其各算法的平均检测度(mean Average Precision,mAP)分别位于表4中符号“/”的左侧。

2)重训练。在10种候选区域算法各自生成的候选框(VOC 2007训练集)上,分别训练Fast RCNN的3种模型,使用训练参数,分别测试各算法在测试集上生成的候选框(VOC 2007测试集),其检测精度位于表4中符号“/”的右侧。

表4中:符号“+”代表检测精度mAP值增加。符号“-”代表mAP值减小。

由表4可知:在检测模型Model-M中,在“未重训练”的情况下,PRPA4的检测精度要优于Edge Boxes算法,这说明PRPA4确实提高了候选区域的质量。在“重训练”的情况下,PRPA4在3种模型中,检测精度均要优于Edge Boxes算法;同时,在Model-M及Model-L模型中,PRPA4均能获得最高的mAP值,这也说明PRPA4能够获得高质量的目标候选区域。

另外,从表4也可发现:像Object-ness、BING、Edge Boxes、PRPA4算法,在Model-S、Model-M、Model-L的3种模型中,“重训练”均能大幅提高目标的检测精度(精度升高的变化范围为1.64%~8.40%)。

表4 2 000个候选框在Fast R-CNN的3种模型的检测精度

在表4的Model-S模型中,“重训练”的PRPA4的检测精度mAP值要小于MCG算法。为说明此现象的原因,首先观看图5。

由图5可知,当交并比IoU取值为0.8~1.0时,MCG算法生成的候选框要比PRPA4的召回率高,这表明:相比于PRPA4算法,MCG算法生成的目标候选框和真实的目标标注框有较高的重叠率;当在相对较浅的网络Model-S训练时,由于浅层网络不能很好地抓住目标的语义信息,PRPA4算法生成定位质量相对较差的目标候选框。由于引入了额外的背景信息,其平均检测精度要小于MCG算法生成的目标候选框的检测精度。

而随着检测网络的深入,如Model-M及Model-L模型时,这些网络能够很好地抓住目标的语义信息;且在训练这两个模型的过程中,相对于MCG算法,PRPA4算法生成的目标候选框有较多的正样本(Positive Samples,PS),这将促进两个模型的目标检测准确度。因此在Model-M、Model-L模型中,使用“重训练”模式,PRPA4生成的目标候选框的平均检测精度要高于MCG算法。

表5列出了在模型Model-L下选取2 000个候选框,“重训练”模式,各算法在VOC 2007测试集上的检测精度。同时,为每个算法给出20类目标的mAP值。表5中,每类目标的最高检测精度值用“加粗”字体标识。

表5 VOC 2007测试集中20类目标的检测精度

由表5可知:①所提算法PRPA4在诸如“bird”“boat”“car”“horse”“person”“plant”共6类目标上性能最好,这表明在遇到上述场景目标时,可优先选用PRPA4算法;②与其他9种算法相比,所提算法的检测精度为最高值的目标数为6,远远大于SS算法(4种)、Edge Boxes算法(4种)、Randomized Prim′s算法(3种),这反映所提算法的检测性能有更高的鲁棒性;③所提算法的mAP值最高。

2.7 所提算法的运算效率

文献[28]使用召回率、候选区域的定位质量(Proposal Localization Quality,PLO)和算法的运算效率(Computational Efficiency,CE)来说明各算法所生成的候选区域的质量。本文绘制了各算法的召回率与运算效率的散点图以及各算法的定位质量与运算效率的散点图,来描述各算法的性能。

通常使用数据集中所有类别的平均最佳重叠率(Mean Average Best Overlap,MABO)衡量候选区域的定位质量。

图7为选择1 000个候选框时,各候选区域算法的召回率、MABO以及运算时间的对比图。由图7(a)可知:BING算法所需时间最短,但是召回率低;PRPA4算法所需时间相对较短,但却有最高的召回率。由图7(b)可知:PRPA4算法的MABO接近MCG算法,但运算时间远小于MCG算法。因此,所述算法使用较短的时间,就能获得高质量的候选区域。

(a) 候选区域的召回率与运算时间(a) Recall of region proposals versus computation time

(b) MABO与运算时间 (b) MABO versus computation time图7 VOC 2007数据集上各算法的性能对比Tab.7 Performance comparison of region proposal methods on VOC 2007 dataset

2.8 所提算法的目标检测结果

图8列出了各候选区域算法的目标检测结果。从图8可以看出:各算法检测出来的“候选框”及精度值均有差别;“候选框”越接近标注框,检测精度越高;另外,PRPA4算法的检测“候选框”更接近真实标注框,检测精度值也更高。

(a) BING (b) CPMC

(c) Edge Boxes (d) Geodesic

(e) MCG (f) Object-ness

(g) Randomized Prim′s (h) Rantalankila

(i) SS (j) PRPA4图8 各候选区域算法的目标检测结果Fig.8 Object detection results of region proposals algorithms

3 结论

本文从卷积神经网络、超像素两方面研究目标候选区域算法。实验结果表明:由卷积神经网络生成的边缘特征具有较高的语义信息,能够更清楚地表达目标的边界,从而提高目标候选区域的质量。使用超像素算法将图像中具有相似属性的像素聚类成同一区域,并从超像素的空间位置、完整性角度统计每个滑动窗口的显著性得分,使得候选区域的召回率提高。

在目标检测框架Fast RCNN的检测模型Model-M及Model-L上,选取2 000个候选框,所提算法PRPA4的平均检测精度mAP分别为61.33%、69.24%,较Edge Boxes算法的mAP分别提高了0.43%、0.34%;同时,由MABO这一定位指标可知,所述算法能够获得定位质量较好的候选框。

所述算法的不足之处在对浅层的神经网络检测框架Fast RCNN(Model-S),其检测精度并不是最优。针对这种情况,接下来将继续从超像素角度研究目标的显著性对目标检测精度的影响,以提高所生成的候选框的检测精度。

猜你喜欢
候选框滑动边缘
重定位非极大值抑制算法
面向自然场景文本检测的改进NMS算法
基于深度学习的重叠人脸检测
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
一种针对特定目标的提议算法
一张图看懂边缘计算
滑动供电系统在城市轨道交通中的应用
一种基于变换域的滑动聚束SAR调频率估计方法
在边缘寻找自我