APP下载

基于改进的SSD监理目标检测研究

2022-05-28静,谢

电子科技 2022年5期
关键词:尺度卷积监理

黄 静,谢 宣

(浙江理工大学 信息学院,浙江 杭州 310018)

监理是装饰装修工程的一大重点,从工程施工到交付,监理工作具有十分重要的地位。目前,装饰装修监理工作主要依靠具有多年工作经验的员工,不仅增加了企业成本,还可能产生误检。近年来,计算机视觉技术发展迅速,已被应用到自动驾驶、行人检测、机器人、文本验证等领域中[1-6]。本文利用目标检测技术识别监理工作中的目标,为后续从图片中获取更深层次的验收信息及解决人工监理问题提供了参考。

目标检测算法主要分为两类:一类是以区域卷积神经网络(Region-Convolutional Neural Network,R-CNN)算法系列为代表的基于区域建议的目标检测与识别算法;另一类是基于回归的检测算法,以单点多盒检测器(Single Shot MultiBox Detector,SSD) 、YOLO(You Only Look Once ,YOLO) 为代表。前者具有较高的预测准确率,后者则在算法速度上占优。

为了兼顾时效性与准确性的要求,本文采用的基础算法为SSD。SSD算法已为目标检测开发人员广泛使用,效果良好[7-8]。但是SSD仍存在两个问题:(1)不同层的特征图独立作为分类网络的输入时,容易出现同一物体被大小不同的框同时检测出来的情况;(2)该方法对小目标检测效果较差。

针对这些问题,研究人员开发了一系列基于SSD的改进算法。文献[9]引入全局上下文模块,提高了特征提取能力。文献[10~11]采用K-means聚类对模型默认框的数量、高宽比进行优化,使模型更加具有针对性。文献[12]在每层预测前加入残差模块,使特征包含更多的语义信息。文献[13]引入空间以及通道注意力机制,增大特征提取的感受野。文献[14~15]使用轻量级网络MobileNet替代SSD特征提取网络,增加了网络深度,降低了模型大小,一定程度上可以改善小目标检测问题。文献[16]使用转置卷积操作构建循环特征聚合模型,提高了检测精度。文献[17]通过在非极大抑制中嵌入特征向量的方式,二次筛选默认框,改善了重叠目标漏检的问题。虽然目前已有基于SSD的改进算法,但小目标检测效果仍然欠佳。

本文对SSD算法应用于装饰装修工程监理工作进行研究,并针对算法的不足进行了改进,主要改进包括:(1)更改基础特征提取网络为DPN(Dual Path Networks);(2)采用加权特征金字塔,融合不同层的语义信息;(3)采用深度可分离卷积减小模型。

1 SSD算法模型

SSD算法于2016年被首次提出。其作为one-stage(直接回归物体的类别概率和位置坐标值)算法,与two-stage(先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类)相比具有更快的检测速度,这也增加了其在工业领域的应用可行性。

SSD结合YOLO中的回归思想和Faster R-CNN中的锚(Anchor)机制,为每个特征图的单元设置一系列先验框[18]。与Faster R-CNN锚机制不同,SSD的锚分布在多个尺度的特征图上,这使得SSD可以用多尺度各个位置的区域特征进行回归,既保持了YOLO速度快的特性,也保证了一定的准确性。先验框的设置包括尺度和长宽比两个方面,尺度遵循着线性变化的原则,随着特征图大小的降低而增加,计算式如下

(1)

式中,m指特征图个数;sk表示先验框大小相对于原图的比例,k∈[1,m]。

SSD算法以VGG16(Visual Geometry Group 16)网络为基础提取特征。与YOLO不同,SSD通过去掉VGG16的全连接层,直接采用卷积对不同的特征图进行检测。这种方法与全连接等价,但可以使模型的输入更灵活,便于接受任意分辨率的图像。额外添加的卷积层大小逐层递减,可在多尺度下对不同大小的目标进行预测,提高小目标的检测效果。算法的损失函数包含两部分,由位置Lloc和类别Lconf损失组成,损失函数相关计算式如下

(2)

(3)

(4)

(5)

式中,式(2)为总损失函数;N是先验框的正样本数量;c为类别置信度;l为先验框所对应的位置预测值;g是真实目标(Ground Truth)的位置参数;xijp∈{0,1}表示第i个先验框与第j个类别为p的Ground Truth是否匹配;式(5)表示第i个搜索框对应类别p的预测概率。SSD算法的分类任务使用Softmax多类别损失函数,位置回归任务采用SmoothL1损失函数预测锚点与实际目标的相对位移。

图1 SSD300网络结构Figure 1. The network structure of SSD300

2 模型改进

2.1 DPN

本文采用的基础特征提取网络为DPN。DPN被认为是残差网络(Resnet)与密集网络(Densenet)的结合。研究发现,随着深度的增加,网络性能会更好,深层卷积提取到的特征图的表达能力也更强,可学习到图像深层次的语义信息。但网络并不是越深越好,深层网络会带来梯度爆炸和梯度消失的问题。为了解决这种因为深度增加而导致性能下降的问题,文献[19]提出新的网络结构Resnet。Resnet网络的跳跃链接实现了特征的复用,增加了网络深度。Densenet[20]的思路与Resnet基本一致,它的特点是将前面所有层与后面层进行密集连接,通过通道上的连接实现特征复用。图2和图3为残差网络与密集网络结构图,Resnet进行特征图的相加(Add),而Densenet做了异通道特征图的连接(Concate)。这两种方式各有优点,前者凸显了特征的复用,后者则能够探索出新的特征。DPN吸收了Resnet与Densenet的优点,如图4所示的双路径将两种网络的理念结合到了一起。文献[21]通过实验证明,与Resnet和Densenet相比,DPN网络性能更优异。

图2 Resnet block结构Figure 2. The structure of Resnet block

图3 Densenet block结构Figure 3. The structure of Densenet block

本文针对SSD512进行整合,将尺度8×8之前的每组卷积、池化替换为一个DPN网络块。如图4所示,DPN块的子块为1×1、3×3(或5×5)、1×1这3个卷积层(构成深度可分离卷积单元),每个DPN块由数量不一的子块构成。子块的输入为双路径输出的连接,经第二个1×1卷积分割后,按不同的方式合并到残差和密集连接路径中。每个DPN首个子块中非1×1卷积步长为2,用于降采样。

2.2 加权特征金字塔

计算机视觉的基本挑战之一是多尺度识别。目前,特征金字塔(Feature Pyramid Network,FPN) 已经成为不同尺度目标检测系统的基本构件之一。

SSD各层用于预测的特征图相互独立,势必会忽视部分信息。浅层特征图含有较多的位置信息,而高层特征图则具有较多的语义信息。将浅层与高层特征进行融合,可提升网络的预测效果。

通常对FPN进行融合时,不同层的权重相同,但是尺度不同对输出特征的贡献也不一样。故本文在此基础上,对特征图进行加权融合。

本文选取与原算法相同尺度的特征图进行预测。各层特征图通过上下采样缩放,调整为同一尺度,对缩放后的特征图进行1×1卷积统一通道数后,赋权相加,该权值可以进行学习。特征融合模块结构如图5所示,输出计算式为

(6)

式中,I为输入的特征图;ε为常量,需避免分母为0。

图4 DPN block结构Figure 4. The structure of DPN block

初始化权值后,通过ReLU函数保证权值大于0。为了减小计算量,本文设置同层的权值相同,并未按通道细分。

图5 改进的SSD网络结构Figure 5. The structure of improved SSD

2.3 深度可分离卷积

通过上述改进,模型的深度较原SSD有所增加。新模型参数量很大,但在实际应用中主要通过移动设备进行采集和检测。大模型会使得FPS较低,影响视频的推理。为了提高推理速度,降低模型参数量,本文引入了深度可分离卷积。深度可分离卷积可分为两步,即深度卷积和逐点卷积。逐点卷积即1×1卷积,可改变输出的通道数;深度卷积则对每个通道分别进行卷积。若输入特征为DF×DF×M,输出特征为DF×DF×N,卷积核尺寸为DK×DK×M,则标准卷积参数量为

Wnor=DF×DF×(DK×DK×M)×N

(7)

深度卷积的参数量(深度卷积与逐点卷积参数量之和)为

Wdept=
DF×DF×((DK×DK×1×M)+(1×1×M×N))

(8)

两种方式参数量之比

(9)

由上式可以看出,深度可分离卷积有效降低了参数量。

本文将DPN网络块以及特征融合过程中的普通卷积调整为深度卷积。由于深度卷积不改变通道数,无法增加特征信息的获取量,因此在深度卷积前,通过1×1卷积扩大通道数。

表1是本文所采用的改进SSD网络层参数,其中Sub_block_num表示每个DPN子块的数量。Dept_Block为深度可分离卷积,深度卷积前的通道扩大倍数为4。卷积后添加批标准化(Batch Normalization,BN)层以及激活函数。

表1 改进的SSD模型参数

3 实验

实验的运行环境和工具版本信息如表2所示。训练时,采用Adam优化器,初始学习率为0.001。当验证集损失值连续5个训练时代(Epoch)不下降时,降低10倍学习率;连续11个Epoch不下降则提前终止训练。训练分为两步,首先冻结基础特征提取网络,批输入batch_size为32;触发提前终止操作后解冻,重新开始第二步训练,batch_size为8。

表2 实验环境

3.1 数据集与评价指标

本文以卫生间作为实验场景,通过手机拍摄及网络爬虫共得5 000张图片,从中筛选了706张图片作为实验数据。数据集中用于推理的类别有8种,包括马桶(Closestool)、立柱盆(Wash)、莲蓬头(Sprinkler)、浴霸(Light)、热水器(Calorifier)、地漏(Drain)、窗户(Window)、镜子(Mirror)。利用LabelImg工具,将原图片制作成pascalvoc格式数据集。原数据按8∶1∶1拆分为训练集、验证集和测试集。训练之前,采用图像增强技术,例如随机裁剪、旋转、颜色扭曲等,来扩充数据集。

实验的评价指标用平均精确率(mean Average Precision,mAP)来衡量。mAP的计算式如下

(10)

式中,AP(q)表示召回率q下的平均准确率;Q为目标种类。

3.2 实验结果及分析

图6展示了3种算法在在数据集上的表现,包含了各类别的AP以及平均精确率mAP。图6(a)~图6(c)分别为经典SSD算法、YOLOv3算法和改进后的SSD算法的检测结果。

图6 性能对比(a)经典SSD算法检测结果 (b)YOLOv3算法检测结果 (c)改进后的SSD算法检测结果Figure 6. Performance comparison(a)Detection result of classic SSD algorithm (b)Detection result of YOLOv3 algorithm (c)Detection result of improved SSD algorithm

从图6可以看出,相较于原始算法,改进后算法的mAP提高了3.47%。此外,改进后算法对于小目标莲蓬头、地漏的检测AP有较大幅度的提升,分别为5%和15%。与YOLOv3相比,本文算法仅在对窗户和莲蓬头检测所获得的AP稍显不足,但整体上看,改进的SSD检测效果仍优于YOLOv3,其mAP有1.49%的提升。

关于AP较低的莲蓬头和地漏,算法改进前后的检测详情如表3所示。由表3可知两类别的召回率(Recall)均较低,这是由于数据集的不平衡造成。与其他类别相比,数据集包含的莲蓬头和地漏的样本信息较少,提取的特征信息相对不足,但从F1(Recall和Precision的调和平均数)可知,改进后的算法性能比较优异,召回率和准确率均有提升。

表3 检测详情

图7展示了3种算法的实物检测效果,图7(a1)~(a4)为采用经典SSD算法获得的结果。图7 (b1)~(b4)为采用YOLOv3算法的结果。图7 (c1)~(c4)为采用改进后SSD算法获得的结果。从图中可以看出,图7(a1)和图7(a3)存在误检,而图7(a2)~(a4)有漏检,图7(a4)有重复标定的问题。YOLOv3算法虽然没有重复标定以及误检,但存在漏检。而采用本文算法则可以有效地改善上述问题,改进后的算法在查全率和查准率上均有所提升。

(a1) (a2) (a3) (a4)

4 结束语

本文研究了目标检测技术在监理上的应用。针对SSD算法的不足进行了改进,通过更换基础特征提取网络、加权FPN以及采用深度可分离卷积,有效提升了算法的检测效果。新模型的mAP达93.04%,提升了3.47%,对小目标检测的提升效果更为明显。若数据集制作更加合理,则 mAP还有提升的空间。

对于智能化监理,目标检测只是第一步,后续的目标分割以及提取施工参数进行判别仍有较多的问题亟需解决。计算机视觉技术的发展也为机器验收取代人工验收提供了可能。

猜你喜欢

尺度卷积监理
基于全卷积神经网络的猪背膘厚快速准确测定
环境史衰败论叙事的正误及其评判尺度
引导建筑工程监理与施工技术相互促进之探讨
谈如何做好房建监理开展前的预控工作
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
房建监理工作中的质量控制分析
以长时间尺度看世界
9