SSD(单镜头MultiBox探测器)是最好的目标检测算法,能够提供高精度实时目标检测性能。然而,SSD显示相对贫穷的小目标检测性能,因为它浅预测层,负责检测小对象,缺乏足够的语义信息。SKIPSSD解决这个问题,一种改进的SSD的小说跳过连接地图多尺度特性,本文提出了提高语义信息和预测的细节层通过跳过融合高级和低级特征图。细节的融合方法,我们设计两个特征融合模块和多个融合策略来提高SSD检测器的灵敏度和感知能力。实验结果在帕斯卡VOC2007测试集证明SKIPSSD大大提高了检测性能优于很多先进的对象探测器。输入大小为300×300,SKIPSSD地图达到79.0%(平均平均精度为38.7 FPS(每秒帧数)在一个1080年的GPU, SSD的地图高出1.8%,同时仍然保持实时检测速度。
基于深度学习的目标检测算法大致可以分为两类:基于区域建议和基于端到端。众所周知,前者模型通常包括R-CNN [
两阶段方法如SPP-net [
我们SKIPSSD的框架。SKIPSSD跳过保险丝高级和低级特征图来提高模型的语义信息。
处理这个问题,SSD显示表现不佳在小目标检测和保持一个令人满意的检测速度的同时,我们采用一种新颖的跳过连接的多尺度特性映射到SSD,和整体架构如图
我们SKIPSSD的框架。SKIPSSD跳过保险丝高级和低级特征图来提高模型的语义信息。
实验结果表明,SKIPSSD大大提高了检测性能优于很多先进的对象探测器。输入大小为300×300,SKIPSSD地图达到79.0%(平均平均精度为38.7 FPS(每秒帧数)在一个1080年的GPU, SSD的地图高出1.8%,同时仍然保持实时检测速度。
领域的对象检测、图像金字塔通常用来解决检测性能的退化所造成的改变的对象。然而,这种算法是非常耗时的。SSD创新使用一个事先的锥体功能层次结构和组合来自多个层的预测不同的尺度,在一定程度上减轻对象规模变化的问题(
为了处理上述问题的SSD, DSSD (Deconvolutional单射探测器)
上述算法提高SSD的检测精度。然而,他们的推理时间增加很多。总体来说,它是很有价值的获取高精度实时目标检测性能令人满意的性能。
许多作品发现,从网络的不同层次是互补的特性,和集成的多尺度特性可以受益对象多尺度检测(
图
多尺度预测特征图谱跳过连接(SKIPSSD)。(一)跳过连接结构。(b)多尺度预测层。
如图
多尺度预测特征图(part-SKIPSSD)跳过部分连接。(a)部分跳过连接结构。(b)多尺度预测层。
结构在图
多尺度预测特征图谱双向跳过连接(Bi-SKIPSSD)。(一)双向跳过连接结构。(b)多尺度预测层。
不同于上述三个网络,Base-SKIPSSD图
跳过与局部特征图谱的基础网络(base-SKIPSSD)。(一)跳过连接结构局部特征图谱的基础网络。(b)多尺度预测层。
结构在图
多尺度预测特征图相邻连接(adjacentSSD)。(一)多尺度预测特征图相邻的连接结构。(b)多尺度预测层。
结构在图
多尺度金字塔网络(FPNSSD)预测功能。(一)多尺度金字塔网络结构预测功能。(b)多尺度预测层。
金字塔网络特性。
上述六个多尺度特征图融合结构在SSD分析和评估中设置的帕斯卡VOC2007测试部分
本文两个特征融合模块是为高级和低级特性设计的融合,融合效果比较在我们的实验。Concat和eltsum是两种常见的特征融合方法。Concat操作通道连接两个特征图。在咖啡中,有三个操作的Eltwise层:产品(积),和(加或减),和马克斯(取大值),选择和操作。
如图
融合模块
相比之下,融合模块
融合模块
评价提出改进的SSD的性能网络和找到最优多尺度特征图融合框架,四种类型的测试用例设计摘要:
比较不同特征融合SKIPSSD当使用性能的模块。通过这个实验,可以找到最有效的特征融合模块。
比较不同的融合策略对SKIPSSD模型性能的影响。通过这个实验,可以选择最有效的融合策略。
比较不同SKIPSSD upsampling方法模型的影响性能。通过这个实验,最有效的upsampling方法可以选择。
比较不同特征图融合SSD的性能与结构。通过这个实验,可以找到最有效的特征融合结构。
实验的硬件和软件配置表中列出
实验硬件和软件配置。
硬件和软件 | 配置文件 |
---|---|
CPU | 英特尔xeone5 - 2620 v4@2.10ghz |
GPU | GeForce GTX 1080 |
操作系统 | Ubuntu 16.04 |
深度学习框架 | 咖啡 |
训练参数设置。
参数 | 大小 |
---|---|
输入的大小 | 300×300 |
的迭代次数 | 240000步 |
批量大小 | 16 |
最初的学习速率 | 0.0005(在步骤160000,除以10,200000年和240000年) |
重学习速率 | 0.0005 |
动力 | 0.9 |
为了找到最优特征融合模块,SKIPSSD具有不同特征融合模块评估2007年帕斯卡VOC测试和性能评估与输入大小300×300记录在表中
特性的影响融合连接模块对模型性能。
模型 | 数据 | Pretrained模型 | 融合模块 | 融合方法 | 帧/秒 | 地图(%) |
---|---|---|---|---|---|---|
固态硬盘 | 07年+ 12 | VGGNet | × | × | 41.4 | 77.2 |
SKIPSSD | 07年+ 12 | VGGNet |
|
Eltsum | 32.3 | 78.1 |
SKIPSSD | 07年+ 12 | VGGNet |
|
Eltsum | 37.8 | 78.3 |
结果显示在表中
在这个实验中,比较两个方面的因素:(1)concat和eltsum融合方法;(2)完全和部分利用BN层。实验结果记录在表中
不同的融合策略对模型性能的影响。
模型 | 数据 | Pretrained模型 | 融合模型 | BN | 地图(%) |
---|---|---|---|---|---|
SKIPSSD | 07年+ 12 | VGGNet | Concat | 毕竟卷积层融合模块的使用 | 77.9 |
SKIPSSD | 07年+ 12 | VGGNet | Eltsum | × | 78.0 |
SKIPSSD | 07年+ 12 | VGGNet | Eltsum | 毕竟卷积层融合模块的使用 | 78.3 |
SKIPSSD | 07年+ 12 | VGGNet | Eltsum | 只有在使用eltsum函数 | 78.4 |
从数据表的第一和第三行
为了研究upsampling方法SKIPSSD的性能的影响,我们采用两种特性融合模块SKIPSSD upsampling方法。第一个方法是反褶积和扩张卷积,特定的网络结构参数如图
配置采样参数对反褶积和扩张的卷积。
双线性插值采样参数的配置。
表
不同的upsampling方法对模型性能的影响。
模型 | 数据 | Pretrained模型 | Upsampling方法 | 帧/秒 | 地图(%) |
---|---|---|---|---|---|
SKIPSSD | 07年+ 12 | VGGNet | 反褶积+扩张卷积 | 36.8 | 78.4 |
SKIPSSD | 07年+ 12 | VGGNet | 双线性插值 | 38.7 | 79.0 |
这个实验比较了2007年帕斯卡VOC性能测试集六种不同特性的融合结构:SKIPSSD, Part-SKIPSSD, Bi-SKIPSSD, Base-SKIPSSD AdjacentSSD, FPNSSD。在这个实验中,双线性插值upsampling方法,融合模块
如表所示
不同的功能融合网络结构对模型性能的影响。
模型 | 数据 | Pretrained模型 | 帧/秒 | 地图(%) |
---|---|---|---|---|
SKIPSSD | 07年+ 12 | VGGNet | 38.7 | 79.0 |
Part-SKIPSSD | 07年+ 12 | VGGNet | 39.2 | 78.7 |
Bi-SKIPSSD | 07年+ 12 | VGGNet | 38.1 | 78.8 |
Base-SKIPSSD | 07年+ 12 | VGGNet | 39.2 | 78.6 |
AdjacentSSD | 07年+ 12 | VGGNet | 38.0 | 78.8 |
FPNSSD | 07年+ 12 | VGGNet | 37.9 | 78.8 |
的损失曲线SKIPSSD图所示
损失和精度曲线。(一)Iterations-training损失曲线。(b) Iterations-test精密曲线。
表
对象检测结果2007年帕斯卡VOC测试集。
方法 | 地图 | 航空 | 自行车 | 鸟 | 船 | 瓶 | 公共汽车 | 车 | 猫 | 椅子 | 牛 | 表 | 狗 | 马 | Mbike | 人 | 植物 | 羊 | 沙发 | 火车 | 电视 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
快( |
70.0 | 77.0 | 78.1 | 69.3 | 59.4 | 38.3 | 81.6 | 78.6 | 86.7 | 42.8 | 78.8 | 68.9 | 84.7 | 82.0 | 76.6 | 69.9 | 31.8 | 70.1 | 74.8 | 80.4 | 70.4 |
快( |
73.2 | 76.5 | 79.0 | 70.9 | 65.5 | 52.1 | 83.1 | 84.7 | 86.4 | 52.0 | 81.9 | 65.7 | 84.8 | 84.6 | 77.5 | 76.7 | 38.8 | 73.6 | 73.9 | 83.0 | 72.6 |
YOLOv2 416 |
76.8 | 87.9 | 87.5 | 78.2 | 61.5 | 57.9 | 84.9 | 82.9 | 90.6 | 54.9 | 83.6 | 66.5 | 90.1 | 85.2 | 85.8 | 82.9 | 54.2 | 78.9 | 65.2 | 87.3 | 69.8 |
YOLOv3 416 |
78.3 | 88.7 | 84.3 | 76.1 | 67.6 | 62.8 | 85.7 | 88.8 | 88.9 | 60.4 | 83.6 | 71.6 | 86.0 | 87.9 | 86.4 | 81.7 | 49.1 | 81.1 | 76.6 | 84.9 | 74.7 |
SSD300 [ |
77.2 | 79.2 | 83.5 | 75.7 | 70.0 | 51.0 | 86.7 | 86.0 | 86.8 | 60.1 | 80.9 | 76.8 | 85.8 | 85.8 | 84.2 | 79.6 | 52.7 | 78.6 | 77.4 | 86.9 | 77.3 |
DSSD321 [ |
78.6 | 81.9 | 84.9 | 80.5 | 68.4 | 53.9 | 85.6 | 86.2 | 88.9 | 61.1 | 83.5 | 78.7 | 86.7 | 88.7 | 86.7 | 79.7 | 51.7 | 78.0 | 80.9 | 87.2 | 79.4 |
Feature-fused SSD ( |
78.9 | 82.0 | 86.5 | 78.0 | 71.7 | 52.9 | 86.6 | 86.9 | 88.3 | 63.2 | 83.0 | 76.8 | 86.1 | 88.5 | 87.5 | 80.4 | 53.9 | 80.6 | 79.5 | 88.2 | 77.9 |
RefineDet320 [ |
80.0 | 83.9 | 85.4 | 81.4 | 75.5 | 60.2 | 86.4 | 88.1 | 89.1 | 62.7 | 83.9 | 77.0 | 85.4 | 87.1 | 86.7 | 82.6 | 55.3 | 82.7 | 78.5 | 88.1 | 79.4 |
SKIPSSD300 |
|
|
|
|
|
|
86.6 |
|
|
|
|
|
|
|
|
79.4 |
|
|
|
|
|
RefineDet_SKIP320 | 80.4 | 83.3 | 85.3 | 79.5 | 74.2 | 60.9 | 87.8 | 88.3 | 87.9 | 65.8 | 85.8 | 77.5 | 85.3 | 87.5 | 86.4 | 83.6 | 57.0 | 81.5 | 80.2 | 88.4 | 81.2 |
表
比较帕斯卡VOC2007速度和准确度的测试数据集。
模型 | 数据 | 基础网络 | 地图(%) | 帧/秒 | GPU | 输入的大小 |
---|---|---|---|---|---|---|
快R-CNN [ |
07年+ 12 | VGGNet | 73.2 | 7 | 泰坦X | ∼600×1000 |
R-FCN [ |
07年+ 12 | resnet - 101 | 79.5 | 9 | 泰坦X | ∼600×1000 |
YOLOv2 [ |
07年+ 12 | VGGNet | 76.8 | 67年 | 泰坦X | 416×416 |
YOLOv3 [ |
07年+ 12 | VGGNet | 78.3 | 57.7 | 泰坦Xp | 416×416 |
SSD300 [ |
07年+ 12 | VGGNet | 77.2 | 46 | 泰坦X | 300×300 |
DSSD321 [ |
07年+ 12 | resnet - 101 | 78.6 | 9.5 | 泰坦X | 321×321 |
DSOD300 [ |
07年+ 12 | DS / 64-192-48-1 | 77.7 | 17.4 | 泰坦X | 300×300 |
RSSD300 [ |
07年+ 12 | VGGNet | 78.5 | 35 | 泰坦X | 300×300 |
FSSD300 [ |
07年+ 12 | VGGNet | 78.8 | 35 | 泰坦X | 300×300 |
RefineDet [ |
07年+ 12 | VGGNet | 80.0 | 40.3 | 泰坦X | 320×320 |
SSD300 [ |
07年+ 12 | VGGNet | 77.2 | 41.4 | 1080年 | 300×300 |
RSSD300 [ |
07年+ 12 | VGGNet | 78.5 | 34.8 | 1080年 | 300×300 |
RefineDet [ |
07年+ 12 | VGGNet | 80.0 | 36.0 | 1080年 | 320×320 |
SKIPSSD300 | 07年+ 12 | VGGNet | 79.0 | 38.7 | 1080年 | 300×300 |
RefineDet_SKIP | 07年+ 12 | VGGNet | 80.4 | 37.0 | 1080年 | 320×320 |
在一个1080年的GPU,地图地图为38.7 FPS SKIPSSD300达到79.0%,1.8%高于原始SSD和超过大多数其他先进的目标检测模型包括两级和单程方法和其他改进的SSD模型。尽管SKIPSSD的检测速度有点慢于SSD由于额外的特性融合高端和低端的特性,它仍然是速度比RSSD [
如图
比较SSD和SKIPSSD模型的检测性能,测试样品。第一列显示了SSD的结果,第二列是SKIPSSD的结果。
本文改进的SSD算法SKIPSSD跳过连接的基础上提出了多尺度特征图。为了有效融合高级和低级特征,多种功能融合模块和融合连接模块设计和比较。实验结果表明,与一个输入大小300×300 1080 GPU,地图为38.7 FPS SKIPSSD达到79.0%,比SSD高1.8%,仍然可以保持实时检测速度。此外,虽然只跳过连接采用SSD和RefineDet本文也可以集成到其他对象探测器。
在未来的工作中,通道的注意机制将采用过滤掉不重要的渠道,提高卓越的特性通过学习每个通道的重要性。
使用的数据来支持本研究的发现可以从相应的作者。
作者宣称没有利益冲突有关的出版。
作者要感谢江苏海外访问学者计划大学杰出青年和中年教师和校长的支持。这项工作一直是国家重点支持的项目研究和开发中国计划(授予数量:2016 yfb0502103)和中国江苏省自然科学基金(批准号:BK20160696)。