2. 奇瑞前瞻与预研技术中心, 安徽 芜湖 241006
2. Chery Advanced Engineering&Technology Center, Wuhu, Anhui 241006, China
开放科学(资源服务)标志码(OSID):
基于深度卷积神经网络的物体检测方法已经在各种数据集[1-3]上取得了较好的成果,其中很多方法都有一个共同的、重要的组成结构——锚框(Anchor),锚框是各种大小的预选框。当单阶段(One-stage)方法[4-6]使用锚框后,可以实现与两阶段(Two-stage)目标检测方法[7-8]极具竞争力的结果,同时检测速度更快。One-stage方法将锚框密集地放置在图像上,根据对锚框评分并通过回归方法修正坐标来生成最终的预测框。需要锚框的方法称之为Anchor-based方法。One-stage目标检测算法将可能的边界框(称为锚框)复杂地排列在图像上,并采用滑动窗口的方法直接对其进行分类,而无需指定框的内容。Two-stage目标检测算法是为每个潜在的框重新计算图像特征,然后对这些特征进行分类。当检测方法对潜在的锚框进行检测和分类后,一般都需要进行非最大值抑制(NMS)[9]后处理才能得到最终的检测目标的各种属性。
虽然在近年来该方法取得了一定的成功,但是锚框还存在缺点。首先,在目前锚框的目标检测算法中,通常使用基于滑动窗口的方法,这就需要大量的锚框,如DSSD算法[10]中超过4万,而在RetinaNet算法[11]中超过10万。当采用锚框时,只有小部分的锚框满足于标注的真实值重叠程度,这会造成正锚框与负锚框的失衡,往往都是负锚框的数量远多于正锚框,同时还会增加训练时间。其次,锚框的使用会引入很多超参数,以及增加如何选择这些超参数的难点,这些超参数的选择很大程度上是通过经验和启发式方法[5-8]得到的,当与多尺度目标检测结合使用时会变得更加复杂。
鉴于锚框存在的缺点,考虑设计一个不需要锚框同时可以取得良好的目标检测速度和准确度的目标检测方法显得很有必要,即Anchor-free方法。
目前已经产生了许多不需要锚框的方法[12-14]。2019年,ZHOU等[15]提出CenterNet目标检测算法。该算法通过对一张图片进行全卷积操作,输出热值图,直接检测目标的中心和大小,不需要NMS方法,减少了计算量。CenterNet目标检测算法通过3个网络构造来输出预测值,分别输出目标的类、中心点与大小,完全实现了Anchor-free。CenterNet算法[15]采用了4种Backbone,在不同的Backbone下,其最终的目标检测性能有着明显的差异。因此,设计同时兼顾目标检测速度和准确度的Backbone,显得很有必要。在原CenterNet目标检测方法中,只采用一个特征图进行目标检测,这样不可避免地会造成图像特征丢失。为充分利用深度卷积神经网络提取后的特征,采用特征图融合非常重要。
本文在Hour-glasss-104模型的基础上,构建Hourglass-208模型。该模型基于原CenterNet算法减少参数量和计算量,在此基础上给出特征图融合方法,并设计一种新的Backbone,通过对损失函数进行改进,提出一种T_CenterNet目标检测算法。
1 相关工作 1.1 Hourglass-208模型在Hourglass-104模型[15]中,输入为原始图像大小的4倍下采样,依次经过8倍、16倍、32倍、64倍、128倍的下采样,然后再依次经过上采样,最后只输出一个特征图,大小为输入图像的4倍下采样。
与CenterNet[15]相比,本文设计的Hourglass-208模型最后进行特征图的输出数量和大小不同于原Hourglass-104。在Hourglas-208模型中,输入图像的大小为
在Hourglass-208模型中,主要计算为卷积操作以及残差网络[17]的短接,由7个残差块构成,只经过了2倍、4倍、8倍和16倍下采样,和hourglass-104相比,省去了32倍、64倍和128倍的下采样。同时,基于Hourglass-208模型,在旁路卷积中,直接采用短接连接,省去了卷积操作,减少了参数量和计算量。Hourglass-208模型如图 1所示。
![]() |
Download:
|
图 1 Hourglass-208模型 Fig. 1 Hourglass-208 model |
在图 1中,Conv表示卷积层,BN表示BN层[18],Leaky relu表示Leaky relu激活函数层,Upsample表示上采样层,圆形为张量的相加操作,斜杠矩形表示由卷积层、BN层和激活函数层构成的卷积块,为Hourglass-208的主要组成结构。
1.2 加权特征图融合方法在CenterNet中,使用最大的特征图进行目标检测,不可避免地损失了图像的一些特征。为充分利用经过卷积操作后产生的特征图,本文将Hourglass-208输出的4个特征图进行融合。文献[19]提出特征金字塔网络(FPN)的特征图融合方法,随后FPN广泛运用于各种卷积网络中。
传统特征图融合方法都是平等对待各个特征图,未考虑不同特征图对最后目标检测性能的区别。但通过研究发现,各个特征图对最后融合输出特征图的贡献是不平等的,TAN等[20]在EfficientDet中提出一种对各个特征图的加权特征融合方法BiFPN。在对特征图进行融合时,对每个输入的特征图增加可以学习的权重,以便网络在学习时,通过学习改变各个特征图的融合权重,研究每个特征图的最后目标检测性能的重要性。
对每个特征图进行学习的权重融合,可采用快速归一化融合,计算公式为:
$ O=\sum\limits _{i}\frac{{\omega }_{i}}{ε +{\sum }_{j}{\omega }_{j}}\times {I}_{i} $ | (1) |
其中:
本文通过2种方法进行特征图的加权融合:
1)双特征金字塔网络(TFPN)方法
TFPN结构如图 2所示。在图 2中,圆形为卷积操作,点划线箭头代表上采样,虚线箭头表示跳层连接。
![]() |
Download:
|
图 2 双特征金字塔网络结构 Fig. 2 Structure of twin feature pyramid network |
具体计算实例如式(2)所示:
$ \begin{array}{l}{P}_{4}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{4}\right)\\ {P}_{3}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{3}\right)\\ {P}_{3}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}\cdot {P}_{3}^{1}+{\omega }_{2}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{4}^{1}\right)}{{\omega }_{1}+{\omega }_{2}+ε }\right)\\ {P}_{2}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{2}\right)\\ {P}_{2}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{\mathrm{'}}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{3}^{1}\right)+{\omega }_{2}^{\mathrm{'}}\cdot {P}_{2}^{1}}{{\omega }_{1}^{\mathrm{'}}+{\omega }_{2}^{\mathrm{'}}+ε }\right)\\ {P}_{2}^{3}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{\mathrm{'}\mathrm{'}}\cdot {P}_{2}^{1}+{\omega }_{2}^{\mathrm{'}\mathrm{'}}\cdot {P}_{2}^{2}+{\omega }_{3}^{\mathrm{'}\mathrm{'}}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{3}^{2}\right)}{{\omega }_{1}^{\mathrm{'}\mathrm{'}}+{\omega }_{2}^{\mathrm{'}\mathrm{'}}+{\omega }_{3}^{\mathrm{'}\mathrm{'}}+ε }\right)\\ {P}_{1}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{1}\right)\\ {P}_{1}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{\mathrm{'}\mathrm{'}\mathrm{'}}\cdot {P}_{1}^{1}+{\omega }_{2}^{\mathrm{'}\mathrm{'}\mathrm{'}}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{2}^{1}\right)}{{\omega }_{1}^{\mathrm{'}\mathrm{'}\mathrm{'}}+{\omega }_{2}^{\mathrm{'}\mathrm{'}\mathrm{'}}+ε }\right)\\ {P}_{1}^{3}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{4}\cdot {P}_{1}^{1}+{\omega }_{2}^{4}\cdot {P}_{1}^{2}+{\omega }_{3}^{4}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{2}^{2}\right)}{{\omega }_{1}^{4}+{\omega }_{2}^{4}+{\omega }_{3}^{4}+ε }\right)\\ {P}_{\mathrm{o}\mathrm{u}\mathrm{t}}={P}_{1}^{4}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{5}\cdot {P}_{1}^{2}+{\omega }_{2}^{5}\cdot {P}_{1}^{3}+{\omega }_{3}^{5}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{2}^{3}\right)}{{\omega }_{1}^{5}+{\omega }_{2}^{5}+{\omega }_{3}^{5}+ε }\right)\end{array} $ | (2) |
在图 2所示的融合方法中,由高层到低层的特征图经过的卷积操作逐渐增加,整体呈三角形结构,所以对该融合方法命名为双特征金字塔网络(TFPN)。
TFPN特征图融合不同于BiFPN[20],只有单向连接和跳层连接,因为最后是通过热值图来实现目标的检测和定位,考虑一张特征图实现,所以只采用了上采样操作,没有下采样。在TFPN中,最后输出的只有一个融合后的特征图
2)FPN_o1方法
FPN_o1结构如图 3所示。在图 3中,圆形为卷积操作,点划线箭头代表上采样。
![]() |
Download:
|
图 3 FPN_o1结构 Fig. 3 FPN_o1 structure |
具体计算实例如式(3)所示:
$ \begin{array}{l}{P}_{4}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{4}\right)\\ {P}_{4}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{4}^{1}\right)\\ {P}_{3}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{3}\right)\\ {P}_{3}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}\cdot {P}_{3}^{1}+{\omega }_{2}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{4}^{2}\right)}{{\omega }_{1}+{\omega }_{2}+ε }\right)\\ {P}_{2}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{2}\right)\\ {P}_{2}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{\mathrm{'}}\cdot {P}_{2}^{1}+{\omega }_{2}^{\mathrm{'}}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{3}^{2}\right)}{{\omega }_{1}^{\mathrm{'}}+{\omega }_{2}^{\mathrm{'}}+ε }\right)\\ {P}_{1}^{1}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left({P}_{1}\right)\\ {P}_{\mathrm{o}\mathrm{u}\mathrm{t}}={P}_{1}^{2}=\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}\left(\frac{{\omega }_{1}^{\mathrm{'}\mathrm{'}}\cdot {P}_{1}^{1}+{\omega }_{2}^{\mathrm{'}\mathrm{'}}\cdot \mathrm{R}\mathrm{e}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}\left({P}_{2}^{2}\right)}{{\omega }_{1}^{\mathrm{'}\mathrm{'}}+{\omega }_{2}^{\mathrm{'}\mathrm{'}}+ε }\right)\end{array} $ | (3) |
在图 3所示的融合方法中,由高层到低层的特征图是经过上采样后,然后通过相加得到,最后输出的只有一个融合后的特征图
对输出的特征图进行权重融合时也采用快速归一融合法,计算公式如式(4)所示:
$ {P}_{\mathrm{o}\mathrm{u}\mathrm{t}}=\frac{\sum {\omega }_{ij}\cdot {P}_{ij}}{\sum {\omega }_{ij}+ε } $ | (4) |
权重融合示意图如图 4所示。
![]() |
Download:
|
图 4 权重融合结构 Fig. 4 Structure of weight fusion |
在图 4中,输出的特征图经过卷积,该卷积不改变特征图维度的大小,然后通过可学习的权重相加,其中:Pij代表第i个Hourglass-208模型中第j个特征图;ωij代表第i个Hourglass-208模型中第j个特征图的权重;Pij′为融合后的输出,即式(4)中的Pout;Add代表特征图的相加。
1.4 热值图热值图(heatmap)主要通过颜色去表现数值的大小,热值图中的颜色越暖,表示值越大,颜色越冷,表示值越小,热值图示意图如图 5所示。
![]() |
Download:
|
图 5 热值图示意图 Fig. 5 Schematic diagram of heatmap |
本文需要将卷积神经网络提取到的中心点的特征转化为热值图。在热值图中,颜色越暖,表示该处存在目标中心点的概率越大;颜色越冷,表示该处为背景的概率越大(彩图效果见《计算机工程》官网HTML版)。
1.5 中继监督本文通过端到端堆栈多个Hourglass-208模型,将上一个Hourglass-208模型的输出作为下一个Hourglass-208模型的输入。这种方式为网络提供了一种重复的自下而上、自上而下推理的机制,从而允许重新评估整个输入图像的初始估计和特征。
每个Hourglass-208模型的输出特征图融合后,都生成一个由关键点构成的热值图。在训练时,每个热值图都进行目标检测,生成损失函数。这种方法就可以对中间产生的热值图进行预测和监督,即中继监督[21-22]。中继监督可以减轻深度神经网络带来的梯度消失和梯度爆炸等[23-24]问题。因为通过对每个Hourglass-208模型的输出都添加中继监督,所以可以保证底层的神经网络参数正常更新。
预测是通过每个Hourglass-208模型在本地和全局环境下对输入图像或者特征图处理之后产生的。后续的Hourglass-208模块再次处理上一个Hourglass-208模块输出的特征图,以进一步评估和重新评估更高阶的特征信息。这种方法类似于一些人体姿势估计方法[21-22],在多个迭代阶段和中间监督下均表现出出色的性能。
在进行中继监督后,将中间产生的热值图映射到更大数量的通道(通过额外的
基于锚框与基于中心点目标检测都是将目标从背景中分离出来,但是采用的方法不同,区别如图 6所示。
![]() |
Download:
|
图 6 基于标准锚框的检测与基于中心点的检测的区别 Fig. 6 Difference of standard anchor-based detection and center point-based detection |
在图 6(a)中,当锚框与标注的目标边界框的IoU > 0.7时,记该锚框包含的内容为前景;当IoU < 0.3时,记该锚框包含的内容为背景;否则忽略该锚框忽略[7-8]。在图 6(b)中,将目标中心像素表示检测的目标对象,周围的像素点为背景,目标对象的大小回归得到。
2.2 目标中心点的预测设输入图片为
CenterNet算法原理如图 7所示。
![]() |
Download:
|
图 7 CenterNet算法原理 Fig. 7 Principle of CenterNet algorithm |
目标的中心点如图 7(a)所示。在训练时,每一个标注的真实点为
$ {Y}_{xyc}=\mathrm{e}\mathrm{x}\mathrm{p}\left(-\frac{{\left(x-{\tilde{p}}_{x}\right)}^{2}+{\left(y-{\tilde{p}}_{y}\right)}^{2}}{2{\sigma }_{p}^{2}}\right) $ | (5) |
通过高斯核变换成一个热值图
$ {L}_{k}=\frac{-1}{N}\sum\limits _{xyc}\left\{\begin{array}{l}{\left(1-{\widehat{Y}}_{xyc}\right)}^{\alpha }\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left({\widehat{Y}}_{xyc}\right), {Y}_{xyc}=1\\ {\left(1-{Y}_{xyc}\right)}^{\beta }{\left({\widehat{Y}}_{xyc}\right)}^{\alpha }\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left(1-{\widehat{Y}}_{xyc}\right), \mathrm{其}\mathrm{他}\end{array}\right. $ | (6) |
其中:
在最后输出热值图时,因为进行了下采样,所以输出的特征图不可避免地产生了偏移。为解决产生的偏移,可以通过对偏移进行预测,最后进行平衡,抵消输出偏移的影响。对所有的类C进行偏移预测,则设输出偏移为
在训练时,采用L1损失函数,如式(7)所示:
$ {L}_{\mathrm{o}\mathrm{f}\mathrm{f}}=\frac{1}{N}\sum\limits _{p}\left|{\widehat{O}}_{\tilde{p}}-\left(\frac{p}{R}-\tilde{p}\right)\right| $ | (7) |
对于此损失函数,偏移量的监督仅作用在关键点位置
本文用
为对目标大小进行预测,可通过增加预测输出分支,设输出的目标大小为
$ \mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}{\mathrm{h}}_{{L}_{1}}\left(x\right)=\left\{\begin{array}{l}0.5{x}^{2}, \left|x\right|<1\\ \left|x\right|-0.5, \mathrm{其}\mathrm{他}\end{array}\right. $ | (8) |
目标大小的损失函数如式(9)所示:
$ {L}_{\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}}=\frac{1}{N}\sum\limits _{k=1}^{N}\mathrm{s}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}{\mathrm{h}}_{{L}_{1}}\left({\widehat{S}}_{{p}_{k}}-{s}_{k}\right) $ | (9) |
其中:
由2.2节~2.4节可知,总损失函数包括中心点的损失函数、中心点的偏移损失函数和目标大小的损失函数。总损失函数表示如下:
$ {L}_{\mathrm{d}\mathrm{e}\mathrm{t}}={L}_{k}+{\lambda }_{\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}}{L}_{\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}}+{\lambda }_{\mathrm{o}\mathrm{f}\mathrm{f}}{L}_{\mathrm{o}\mathrm{f}\mathrm{f}} $ | (10) |
在本文的算法模型中,设置
本文中的网络所有输出共享一个通用的全卷积Backbone网络,使用该Backbone网络来预测目标的关键点
在进行目标检测时,首先提取每个类的热值图的峰值,选取所有值大于或等于其8个连通邻居的响应,并保持前100个峰值,通过
设
$ \begin{array}{l}\left({\widehat{x}}_{i}+\delta {\widehat{x}}_{i}-{\widehat{w}}_{i}/2, {\widehat{y}}_{i}+\delta {\widehat{y}}_{i}-{\widehat{h}}_{i}/2,\right.\\ \left.{\widehat{x}}_{i}+\delta {\widehat{x}}_{i}+{\widehat{w}}_{i}/2, {\widehat{y}}_{i}+\delta {\widehat{y}}_{i}+{\widehat{h}}_{i}/2\right)\end{array} $ | (11) |
其中:
所有输出都是直接从关键点预测产生的,而无需基于IoU的非最大值抑制(NMS)或其他后处理。因为峰值关键点提取可以作为NMS的替代方案,并且可以使用
在本文的实验中,实验条件均为:Ubuntu16.04系统,CPU为Intel Core i7-8086K,GPU采用英伟达的TITAN XP 12 GB的独立显卡,安装CUDA8.0、CUDNN5.1、OpenCV3.2等。
为了对新设计Hourglass-208的性能进行测试,在这里对单个的Hourglass-208模型进行图像的分类实验和测试并与原来的Hourglass模型[15]进行比较。为了在ImageNet数据集[1]上进行图像分类实验,在模型最后增加Softmax全连接层。测试结果如表 1所示。其中,Top-1表示在ImageNet数据集上的分类准确率,t表示模型对一张图片的识别时间。
![]() |
下载CSV 表 1 Hourglass性能测试 Table 1 Hourglass performance test |
从表 1可以看出,虽然Hourglass-208的准确率降低了19.9%,但是运算速度却提高了47.8%,这对于提高目标检测的实时性具有很大的优势。因此,为提高目标检测的速度,本文采用Hourglass-208模型。
3.2 架构设计为得到最佳的网络架构设计,本文设计了一系列实验进行测试和验证。在验证测试时,采用PASCAL VOC数据集[2]进行实验,该数据集远小于MS COCO数据集[3],为了能更快地得到实验结果,选择PASCAL VOC数据集进行训练和测试,根据结果对算法的架构进行评估,并选择最优的架构结果。本文实验将对是否考虑中继监督、特征图融合、综合考虑2个Hourglass-208模型输出特征图的归一化融合以及采用soomth L1损失函数来选择最优的网络架构。
在PASCAL VOC数据集上进行目标检测实验。训练时在训练图像集上进行算法模型训练,采用数据增强技术,对训练集的图像进行随机翻转、随机缩放、裁剪和色彩抖动等方法,算法模型的优化器选择Adam[25]优化,批量大小(Batch size)为32,学习率设置为指数衰减,初始值设置为
本文实验将从中继监督、Hourglass-208输出特征图的选择、FPN_o1、TFPN及smooth L1损失函数等方面选择出最优的构件,设计了12种不同的算法架构,进而筛选出目标检测算法的最优架构。本文设计的12种架构,都使用了2个Hourglass-208,其中对第1个Hourglass-208模型进行了外部短接,2个Hourglass-208模块之间没有共享权重,对每个Hourglass-208模型输出的特征图进行权重融合、FPN_o1及TFPN融合等操作,然后通过
本文设计的12种目标检测算法架构如图 8所示。
![]() |
Download:
|
图 8 目标检测算法架构 Fig. 8 Architecture of target detection algorithm |
在图 8中,空白矩形表示输入图像;Conv表示卷积层;BN表示BN层;Leaky relu表示Leaky relu激活函数层;
测试结果如表 2所示,其中:√表示采用。在表 2中,中继监督表示是否采用中继监督方法;P1表示只采用Hourglass-208输出的分辨率最高的特征图进行目标检测,即P1特征图,如图 8架构1~架构4所示;FPN_o1表示采用FPN_o1特征图融合方法,如架构5~架构8所示;TFPN表示采用TFPN特征图融合方法,如图 8架构9~架构12所示;加权融合表示是否考虑将2个Hourglass-208模型输出的特征图进行归一化融合;Smooth L1表示是否采用smooth L1损失函数。
![]() |
下载CSV 表 2 12种架构的测试结果 Table 2 Test results of twelve architecture |
通过表 2,在类似结构下可得到如下结论:
1)通过对比实验架构11、12可知,采用中继监督后,mAP值最高可以提高18.2个百分点。
2)通过对比实验架构4、12可知,采用特征图融合方法相比只采用P1特征图,mAP值最高可以提高17.1个百分点。
3)通过对比实验架构8、12可知,采用TFPN特征图融合方法相比采用FPN_o1特征图融合方法,mAP值最高可以提高2.9个百分点。
4)通过对比实验架构10和12可知,采用smooth L1损失函数代替L1损失函数时,mAP值最高可以提高1.1个百分点。
综上所述,考虑中继监督、TFPN、加权融合和smooth L1时,架构12在VOC数据集上得到了最优的结果,mAP值达到了85.4%。
3.3 实验结果根据实验结果,架构12为最优的架构,即在最终选择的网络架构计中,使用了2个Hourglass-208,其中对第3个Hourglass-208模型进行了外部短接,2个Hourglass-208模块之间没有共享权重,对每个Hourglass-208模型输出的特征图进行权重融合以及TFPN融合,然后通过
因为该算法架构采用了本文设计的TFPN特征图融合方法,所以命名为T_CenterNet。架构模型如图 9所示(图例含义同图 8)。
![]() |
Download:
|
图 9 T_CenterNet架构模型 Fig. 9 T_CenterNet architectural model |
下文将在MSCOCO数据集上对该架构目标检测的速度和准确度进行评估,并与知名的目标检测算法进行比较。
4 实验 4.1 实验条件本文实验在Ubuntu16.04系统下进行,CPU为Intel Core i7-8086K,GPU采用英伟达的TITAN XP 12 GB的独立显卡,安装CUDA8.0、CUDNN5.1、OpenCV3.2等。数据集采用更大的ImageNet图像分类数据集[1]和MS COCO目标检测数据集[3]。
4.2 Hourglass-208的预训练为提高Hourglass-208特征提取能力,本次实验在ImageNet数据集上进行图像分类的预训练。在预训练时,由于ImageNet数据集的目标种类远多于MS COCO数据集,因此选取和MS COCO具有相同的物体类型进行预训练,从ImageNet数据集中选取约80种和MS COCO数据集具有相同物体的图片集。对于预训练,需要将原T_CenterNet目标检测模型进行改进。对于每一个Hourglass-208的输出,经过TFPN处理后,只需将2个TFPN的输出
![]() |
Download:
|
图 10 Hourglass-208特征提取预训练模型 Fig. 10 Hourglass-208 feature extraction pre-training model |
在ImageNet数据集上训练完成后,去掉拼接层、池化层和全连接层,添加热值图和中继监督,然后在MS COCO数据集上进行目标检测训练和测试。
4.3 目标检测训练在MS COCO数据集上进行训练和测试,该数据集包含118k训练图像(train201-7)、5k验证图像(val2017)和20k支持测试图像(test-dev)。
在训练图像集(train2017)上进行算法模型训练,以
损失函数的收敛趋势如图 11所示。从图 11可以看出,其损失函数L(size)、L(off)、L(k)和L(det)分别在迭代数(Iteration)为
![]() |
Download:
|
图 11 损失函数的收敛曲线 Fig. 11 Convergence curve of loss function |
对于测试,同样是在MS COCO数据集上评估了目标检测的性能。最后的测试结果的指标为FPS(Frame Per Second),表示每秒检测图像的帧数,是实时性的衡量参数。
![]() |
下载CSV 表 3 在MS COCO数据集测试图像上的目标检测结果 Table 3 Object detection results on test images of MS COCO dataset |
通过表 3可以得知:
1)T_CenterNet算法模型的
2)虽然T_CenterNet算法模型的FPS值低于EfficientDet-D0的47,但是也达到了36%,排名第3,具有实时性。
3)T_CenterNet算法模型的目标检测各项指标均高于EfficientDet-D2,虽然
4)T_CenterNet算法模型的目标检测各项指标均高于原CenterNet算法模型。这个结果与改进的Hourglass-208和采用了加权特征图融合方法有关。
5)从T_CenterNet/off的检测结果可以看出,去掉中心点偏移的预测后,对目标的检测速度影响不大,只有1帧的速率的提升。各个检测精度的指标均有降低,其中AP值降低了5.49个百分点,特别是对大目标和中等大小的目标影响很大,分别降低了11.3、7.86个百分点,但对小目标的检测准确度影响很小,只降低了0.1个百分点。总体来讲,增加对目标中心点偏移的预测有利于增加目标检测的准确性。
通过实验可知,本文提出的T_CenterNet算法模型在进行目标检测之前先在ImageNet数据集上对Hourglass-208进行了预训练,通过预训练的方法,可以很好地提高目标检测的性能。从表 3可以看出,T_CenterNet目标检测算法最后的测试结果超过了原CenterNet算法模型,也优于最新的EfficientDet目标检测算法,总体上达到了理想的结果。但是在目标检测的准确度上,T_CenterNet算法模型的部分指标稍落后于EfficientDet-D3算法模型,由于EfficientDet算法模型综合考虑了复合模型缩放方法[20]。
该算法模型采用TFPN特征图融合策略后,对于原CenterNet中多个中心点在同一位置的目标检测效果不是很理想,改善不明显,这是因为最后的目标检测还是在一个特征图上进行的(TFPN的目标检测并不是严格意义上的用特征金字塔网络(FPN)进行目标检测)。关于该问题解决,还要考虑使用多个分辨率不同的特征图进行目标检测。同时发现,当不考虑在ImageNet数据集上进行预训练时,T_CenterNet算法模型在目标检测准确度的各项指标均有5%~20%的降低。因此,该算法模型经过预训练后,可以取得更好的效果。另一方面也可以得到,当模型考虑对目标中心点偏移的预测时,有利于增加该模型进行目标检测的准确率。
5 结束语本文针对CenterNet算法中以Hourglass为Backbone的目标检测模型检测速度慢的问题,提出改进的T_CenterNet算法。在原CenterNet算法的基础上对Hourglass以及特征图融合等方法进行改进,将目标大小的损失函数改进为smooth L1。在MS COCO数据集上的实验结果表明,本文提出的T_CenterNet算法与One-stage和Two-stage算法相比具有竞争优势,综合性能优于EfficientDet系列目标检测算法。下一步将对本文所提模型进行轻量化设计,以应用于嵌入式设备与移动设备。
[1] |
DENG J, DONG W, SOCHER R, et al. ImageNet: a large-scale hierarchical image database[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2009: 248-255.
|
[2] |
EVERINGHAM M, GOOL L, WILLIAMS C K I, et al. The pascal visual object classes challenge[J]. International Journal of Computer Vision, 2010, 88(2): 303-338. DOI:10.1007/s11263-009-0275-4 |
[3] |
LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context[C]//Proceeding of European Conference on Computer Vision. Berlin, Germany: Springer, 2014: 740-755.
|
[4] |
LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[C]//Proceeding of European Conference on Computer Vision. Berlin, Germany: Springer, 2016: 21-37.
|
[5] |
REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 6517-6525.
|
[6] |
REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1804.02767.pdf.
|
[7] |
GIRSHICK R. Fast R-CNN[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 1440-1448.
|
[8] |
REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[9] |
HOSANG J, BENENSON R, SCHIELE B. Learning non-maximum suppression[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1705.02950.pdf.
|
[10] |
FU C Y, LIU W, RANGA A, et al. DSSD: deconvolutional single shot detector[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1701.06659.pdf.
|
[11] |
LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327. DOI:10.1109/TPAMI.2018.2858826 |
[12] |
REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 779-788.
|
[13] |
LAW H, DENG J. CornerNet: detecting objects as paired keypoints[J]. International Journal of Computer Vision, 2020, 128(3): 642-656. DOI:10.1007/s11263-019-01204-1 |
[14] |
TIAN Z, SHEN C H, CHEN H, et al. FCOS: fully convolutional one-stage object detection[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1904.01355.pdf.
|
[15] |
ZHOU X, WANG D, KRHENBUHL, PHILIP P. Objects as points[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1904.07850.pdf.
|
[16] |
LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 3431-3440.
|
[17] |
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 770-778.
|
[18] |
LOFFE S, SEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1502.03167.pdf.
|
[19] |
LIN T Y, DOLLA R, PIOT R, et al. Feature pyramid networks for object detection[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 4-9.
|
[20] |
TAN M, PANG R, LE Q V. EfficientDet: scalable and efficient object detection[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1911.09070.pdf.
|
[21] |
CARREIRA J, AGRAWAL P, FRAGKIADAKI K, et al. Human pose estimation with iterative error feedback[C]//Proceeding of IEEE Conference on Computer Vision & Pattern Recognition. Las Vegas, USA: [s. n. ], 2016: 4733-4742.
|
[22] |
NEWELL A, YANG K Y, DENG J. Stacked hourglass networks for human pose estimation[C]//Proceedings of European Conference on Computer Vision. Berlin, Germany: Springer, 2016: 483-499.
|
[23] |
BENGIO Y, SIMARD P, FRASCONI P. Learning long-term dependencies with gradient descent is difficult[J]. IEEE Transactions on Neural Networks, 1994, 5(2): 157-166. DOI:10.1109/72.279181 |
[24] |
GLOROT X, BENGIO Y. Understanding the difficulty of training deep feed for ward neural networks[J]. Journal of Machine Learning Research, 2010, 9: 249-256. |
[25] |
KINGMA D F, JIMMY B A. Adam: a method for stochastic optimization[EB/OL]. [2020-06-01]. https://arxiv.org/pdf/1412.6980.pdf.
|