改进SSD算法的多目标检测

2020-12-07 08:20马原东罗子江倪照风吴凤娇孙收余杨秀璋
计算机工程与应用 2020年23期
关键词:置信度卷积阈值

马原东,罗子江 ,倪照风,徐 斌,吴凤娇,孙收余 ,杨秀璋

1.贵州财经大学 信息学院,贵阳 550025

2.北京盛开互动科技有限公司,北京 100089

1 引言

近年来,随着计算机处理能力的提升和人工智能浪潮的推进,目标检测在人们日常生活中扮演着越来越重要的角色。伴随着目标检测的迅速发展,各种算法也不断更新,目前主要的检测算法可分为三类:(1)传统目标检测算法。如Cascade[1]+HOG/DPM[2]+Haar/SVM[3],该类方法通过直接提取HOG/DPM特征,并送入已训练好的分类器进行分类,该类算法检测速度慢,检测性能较低。(2)基于候选区域的目标检测。该方法分两步实现:①首先获取每个像素点各自的特征,将两个最为接近的特征组合,为避免边界框之间的影响,设置不同阈值的检测区域(Regions Of Interest,ROI)。 ② 采用SVM分类器和Logic函数计算损失,修正边界,其中具有代表性的有 R-CNN[4]、Fast R-CNN[5]和 Faster R-CNN[6]等。基于候选区域的检测具有较高的精确度,但仍存在目标检测速度较慢,计算量较大等问题。(3)基于端对端学习的目标检测。该方法无需预先获取候选框,直接采用卷积网络提取图像特征,网络末端通过全连接层分别与分类损失和回归损失连接,输出对应类别概率和位置信息,速度相对较快,具有代表性的有SSD[7]、YOLO[8]和Retina-Net,其中 SSD 算法是 Liu W 等人在 ECCV2016上提出的一种全新检测算法,该算法在前向传播过程中提取不同尺度下的特征图,生成预选框送入网络,并通过反向传播更新参数,兼具高速和高识别率。SSD算法在目标检测[9-10]和目标分类[11-12]中应用同样广泛,其中,Li Haotian等人[13]提出一种基于特征金字塔融合SSD的小目标检测算法,该算法通过特征金字塔结构将选定的多尺度特征层与尺度不变卷积层合并,提高小目标检测效率,但存在SSD 网络结构不统一、相对大目标检测鲁棒性不足等问题;Liu Yi等人[14]提出一种具有前后帧指导的多目标检测算法,让跨层的特征图和网络的侧面输出得到了充分利用,进一步提升目标检测效率;陈幻杰[15]等人提出一种改进的多尺度卷积特征目标检测方法,提高SSD模型对中目标和小目标的检测精度。在多目标检测环境下,现有的算法已经具有良好的检测效果,但当检测环境较为复杂时,仍存在较高的误检、漏检率。本文针对现有的多目标检测算法存在的不足以及SSD内部的网络结构特点,提出一种改进SSD算法的多目标检测,通过优化SSD内部网络和提高训练样本适用性的方式改善检测性能;其中,采用修改网络输出并结合SENet[16]网络添加抗旋转卷积层(Anti Rotation Convolution,ARConv)来统一网络结构,加快模型收敛、减少漏检;提出概率非极大值抑制算法(Probability-Non Maximum Suppression,P-NMS)和限制函数来优化训练样本,减少误检;测试阶段提出单张图片批量测试方法,有效提高模型召回率;在Caffe框架下实现该算法,实验结果验证了算法的有效性,相比传统SSD 算法误检率、漏检率明显降低,模型鲁棒性更强。

2 算法介绍

2.1 检测算法性能比较

当前主流算法可分为One-stage 和Two-stage 两类,并且两类算法在检测速度和检测性能上有着极为明显的差距,其中,Two-stage 检测速度整体偏慢;在精确度上Two-stage优于YOLO,略低于SSD算法。SSD300在速度上比YOLO 快一倍,平均精确度(mean Average Precision,mAP)提高约15%,相比较于R-CNN 系列,速度提高7~2 000 倍,mAP 值提高约10%。具体对比结果如图1 所示,SSD 算法整体效率明显靠前,是目前应用较为广泛的目标检测算法。

图1 不同检测算法的性能比较

2.2 SSD网络结构

SSD网络结构如图2所示,其中多分类单杆检测器表明定位目标和分类任务是在网络的一次前向传递中完成,同时表明 SSD 属于 One-stage 算法;MultiBox[17-18]边界框回归技术表明SSD 采用多框预测方式实现目标检测。

图2 SSD网络结构

SSD 输入图片尺寸为300×300,检测框架主要由两部分构成,第一部分为VGG-16[19](骨干网络可自由选择如:MobileNet、ResNet)多层卷积提取特征得到Conv4_3的特征图,该特征图属性为38×38×512;第二部分为多尺度检测网络,用于对骨干网络获取的特征进行多尺度特征提取。图2中SSD在经过VGG16网络后继续经过卷积分别生成19×19×1 024、10×10×512、5×5×256、3×3×256、1×1×256的特征图,检测时设置不同的宽高比生成候选框,囊括不同尺寸目标,为后期目标检测和分类打下基础。SSD 模型中特征提取采用逐层提取并抽象化的思想,运用传统卷积手段提取特征,并结合NMS生成对应检测框,虽然模型采用了不同卷积、不同尺度的特征数据进行目标检测,但对于复杂场景变换、目标旋转等情况下仍存在误检、漏检率,本文在传统SSD 架构的基础上,采用ARConv卷积和P-NMS算法替代原有的操作,提升模型整体效率。

3 SSD优化

3.1 网络优化

3.1.1 多输入单输出

为了便于网络输出,并且能够实现与其他模型、框架的统一,本文将SSD 算法中的Multibox 层进行修改,使其支持多输入单输出模式。传统的Multibox 获取多个输入,输出两个结果,并在同一层内对两个输出进行损失计算。具体公式如下:

式中,x表示单个候选框属于预测类的概率值,范围在{0,1}内,c表示置信度,l为预测框,g表示真实框,Lconf(x,c)、Lloc(x,l,g)分别为计算获得的置信度损失值和定位损失值,α为拉格朗日乘子。传统的SSD算法将获取的多尺度特征送入Multibox层,并根据损失计算公式,输出两个对应的特征集合,分别送入对应的Lconf和Lloc损失公式,获取最终值。该方法在算法设计上较为方便,但该网络的设计与单输出模型不同步,无法统一网络结构,并且现有的深度学习框架,大多不支持类似多输入多输出模式。本文改进Multibox层,将多输入多输出方式修改为多输入单输出,即输入多尺度特征值后输出一个多维的特征集合,通过在Caffe 框架中添加slice 层(该层主要用于切分输出数据)实现特征集合分类。slice 层根据输入特征维度、正负检测框属性、标签属性、数量从输出特征集合中为两个损失函数分配不同的特征值,并获取最终损失结果。算法思想如图3 所示,(a)为传统Multibox 层结构,(b)为改进后的多输入单输出模式,多尺度输入数据经过Multibox层计算之后得到一个输出集合,将输出结果送入slice 层,根据输入和标签属性分割所需数据。该方法能够统一网络结构,使训练更清晰、流畅,并且让网络具有更强的可移植性,对不同的深度学习框架都有很好的适配效果。

图3 多输入单输出结构

3.1.2 ARConv抗旋转卷积

深度学习中常见的数据扩充方法包括镜像、随机裁剪、局部变形、原始图像旋转以及使用生成对抗网络等。若大量采用此类数据扩充方式,易造成训练集过大,训练难度增强、训练难收敛。本文在已有的数据扩充方法上提出一种新颖的抗旋转卷积层ARConv,该层以全新的网络层的方式出现在网络模型中,能够降低训练后的模型对待测目标旋转的敏感度。ARConv 采用特征旋转的方式,将高层卷积提取的信息送进下一层或更深层的网络中进行学习,在减少目标旋转造成漏检的同时,加快模型收敛。传统的卷积层,主要用于特征的提取,公式如下:

图4 ARConv结构

分支右侧首先将所有特征图做归一化处理,并获取单个批次中第i个特征图内(1~m)个特征值组成的矩阵,与同样归一化处理后的i+1 个特征图内积;度量公式如下:

式中引入相邻特征图余弦值,以为基准,采用内积的方式获取向量间余弦值,并通过公式(4)求得第i+1个特征图的旋转角度。之后将当前位置的对应角度输入旋转层;当i=0 时,此时获取的特征矩阵为保存的上一批次旋转后的最后一个特征图矩阵。不同角度的特征旋转,可能会导致部分边缘信息丢失;针对这一问题,分支左侧引入单通道注意力机制,该机制可理解为从大量信息中有选择地筛选出重要信息并聚焦,同时忽略大多数不重要信息;聚焦的过程体现在权重系数的计算上,权重越大表明该部分关注度越高。本文在训练中为每个通道赋予不同的权重值以建模通道的重要程度,加强对重要特征提取能力,降低因边缘信息丢失造成的特征提取不充分,如图5所示。

图5 通道注意力机制

文中借鉴SENet[16]网络的通道注意力机制和ResNeXt[20]的卷积分组方法,提出更适合ARConv 的Split Attention 机制,图5 中单个批次中总共含有M个特征图,每个特征图内包含m个通道,将特征图连接后送入全局池化层,输出对应通道全局特征,之后接r-Softmax 赋予各通道不同的权重以建模通道的重要程度。假设给定输入特征图Y∈Rh×w×c,将特征图沿输入通道维度分成M组,用xi∈Rh×w×c表示各个分组,i∈{1,M},其中每个xi含有m=c/M个通道。分组后的特征图在框架中以特征向量xi=[a1,a2,…,am]形式存储,其中每个通道am含有不同的特征响应,利用不同通道间的相互关系,采用全局平均池化聚合每个通道,映射生成对应通道的权重信息,其中权重的每个元素都由特征图的空间维度h×w全局平均得到,公式如下:

式(5)中,Sc表示聚合后通道的输出权值,在获取单通道权值信息后加入BN 层(Batch Normalization,BN)调整输出比例,并接PRelu 增加权重非线性信息,最后输入r-Softmax 函数,将所有信息转化为非负数并做归一化,输出各通道权值,其中⊕表示逐元素相加,⊗表示逐元素相乘。文中采用BN层和PRelu激活函数代替传统注意力机制的两个全连接层和Sigmoid 函数,降低Split Attention 带来的参数量,接着连接r-Softmax 函数避免权重逐元素相乘时引入更多噪音信息干扰特征提取,然后再与输入模块进行跨通道整合让浅层信息保留到深层网络提升模型决策能力,输出带权值特征矩阵并结合角度信息旋转特征。

(1)漏检率分析。ARConv 层根据矩阵运算后输出特征图的大小、特征数据在网络中的存储方式、特征向量的变化角度等进行特征旋转,并添加通道注意力机制,通过拟合多组权重向量来精细捕捉高层特征送入下一层卷积。通过不断的学习使下一层卷积的输入特征更具统一性,同时让整个网络的学习能力增强,训练结果具备更强的鲁棒性,同时降低因待测目标旋转而造成的漏识别。实验验证及注意力权重可视化结果表明,通道注意力机制赋予各通道不同权重值信息,在兼顾粗特征提取基础上能够进一步提升待测目标各成分间重要性的区分度,从而有助于复杂环境下的多目标分类与提取。

(2)收敛性分析。添加ARConv层对浅层输入特征进行对应角度的特征旋转,使高层卷积获取的特征值含有的旋转属性较少,学习难度降低,同时训练集中旋转样本数量可适量减少;加入单通道注意力机制,推导并制定出一整套类别权重计算方法,各个类别权重作为参数量与r-softmax 损失函数共同参与训练。类别权重信息的引入,可杜绝原始采样所引入的随机误差,保证待测目标的固有属性。实验结果表明,该方法在改善目标特征提取不平衡问题的同时,加速了训练阶段模型整体的收敛速率。相同训练环境下,添加ARConv层网络的训练集更少,收敛速度更快,有效缩短模型训练时间。多目标检测情况下,能够有效解决训练样本不够丰富造成的模型无法识别旋转目标以及鲁棒性不足的问题;同时还能增强模型学习能力降低漏检率,加快模型收敛。

3.2 算法优化

3.2.1 正负样本限制

在多人物检测中,若单张图片中存在多个目标,会导致检测结果的正样本框数量过多。传统的SSD 算法只对负样本的数量进行选择,忽略了正样本数量过多导致负样本数量过少的情况,经过改进后的SSD算法通过在网络配置文件中设置超参数,判断是否需要对正样本的数量进行限制,能够解决由于正样本过多而造成的误识别情况。算法思想如下:根据网络配置文件,确定正负样本比例(本文设定为1∶3),并求出最大正样本的数量,如式(6)所示:

式中,MPnum为最大正样本数量,PBnum为先验框总数,(1+3)取值根据配置文件中的正负样本比例设置;判断正样本数量是否超出限制,若数量正常,直接进行下一步,若数量过多,随机删除部分正样本数量(随机删除可保证样本多样性)删除数量如下:

式中,Nnum表示负样本数量,Pnum表示正样本数量,Denum为需要删除的正样本数量。

3.2.2 P-NMS算法

多目标检测中,生成待测框集合之后,如何提取最优框是衡量目标检测性能的关键。目前多采用非极大值抑制[21](Non-Maximum Suppression,NMS)提取最优框,传统NMS 算法无法排除个别非目标检测区域出现单个误检框,因此本文提出P-NMS 算法对需要显示的先验框集合进行二次计算,用框的数量和概率来判断该区域是否有检测目标,从而达到降低误检率的目的。

传统NMS算法步骤如下:(1)对所有检测框集合进行降序排列,放入先验框集合Confidence中。(2)按置信度从大到小遍历所有检测框,单个检测框分别与剩余所有框进行交并比(Intersection-over-Union,IOU)[22]运算,如果IOU大于某个阈值,则在Confidence集合中删除该框位置,并将最大概率框放入集合MaxConfidence 中。(3)集合MaxConfidence 保留该图片所有框的坐标以及置信度,用于后续姿态分类。若存在单个检测框误检情况,会导致Confidence 集合得分非常高,极易出现误检影响检测整体性能。如图6(a)表示传统NMS处理之前效果,(b)表示NMS 处理之后效果,其中红色表示该区域内置信度最高的框,绿色表示与红色框交并比大于阈值的预测框。

图6 传统NMS性能图

如图6(b)所示,传统NMS 检测后会出现左上角窗户位置的红色误检框,并且类似情况在检测中常有发生,传统算法无法排除此类框,针对该问题,本文提出P-NMS算法,具体步骤如下:(1)首先对先验框集合Confidence按置信度得分排序。(2)选取置信度较高的框,并与剩余框进行IOU计算,当IOU大于某个阈值,删除该框,且在MaxConfidence 集合中对此计数。(3)MaxConfidence 集合保留目标检测框坐标并对检测框做数值统计(包括:每个目标IOU大于阈值的数量、大于IOU阈值的集合中置信度最高检测框坐标以及该集合置信度得分总和)。(4)进行平均置信度求值,当该值大于设定的显示阈值时,标定该框为最终目标位置,具体如式(10)和(11)所示:

式中,num表示该框与其他所有剩余框进行IOU 计算之后,IOU大于设定阈值的数量;MeanConfidence表示该集合内平均置信度,根据检测情况选择不同的计算模式(包括平均概率模式和最大概率模式,文中选择最大概率模式)。P-NMS不仅考虑置信度的大小,同时考虑待测目标周围检测框数量。实际检测中,不同目标、不同网络、不同环境下,设定的阈值也不相同,阈值具体设计思路如下:(1)首先根据训练结果统计检测框的置信度得分,获取得分最大值j和置信度众数k确定阈值区间{k,j}。(2)统计单个目标平均生成检测框数量a,在阈值区间内以0.1为间隔取不同的置信度值{c1,c2,…,cn}∈{k,j},求取对应阈值。(3)对阈值集合中的所有值分别进行检测框阈值判定并统计误检率,选取误检率最低时对应的阈值c′n作为最终阈值。

改进后的置信度比较如图7所示,将图6(b)中处理后的误检情况和准确检测框放大,其中图7(a)为置信度得分为0.81的误检框,图7(b)为置信度得分为0.83的正确检测框,两者得分很接近,难以通过阈值判定是否保留该框。由图6(a)可知,图7(a)位置只有一个预测框,图7(b)周围和该框IOU 大于阈值框数量有6 个,包括5个置信度较低的绿色框,1个置信度较高的红色框。通过P-NMS公式计算两张图片的置信度分别为:

图7 置信度比较

通过对比测试获取此时的阈值为0.92,由此判定图7(a)为误检框,并删除该位置检测框,框的数量越多,表明该区域出现目标的可能性越大,最终Confidence越高,结果越可靠。实验结果表明,改进后的P-NMS算法能有效减少误检率。

3.3 测试优化

传统检测方法将单张待测图片送入已训练好的网络模型获取检测结果;测试过程中往往由于图像缩放造成待测图片失真,从而导致检测效率下降。本文根据SSD算法及数据集特点,提出分块测试算法。设计思路如下:(1)设置测试所需的分块的数量parts(根据原图大小和图像输入大小设定,本文将原图分为5 个parts)。(2)将分块后图片缩放到网络输入尺寸。(3)对分块后存储的数据进行循环读取。(4)依次存入内存,并进行通道分离、归一化操作。(5)批处理所有数据,分别输出每个框的坐标集合。(6)将每个框的坐标反算到原图的坐标得到相对于原图的真实坐标。(7)使用P-NMS算法对所有框进行合并。

由于计算机硬件以及内存限制,SSD算法在进行目标检测时,需要将原图缩放至网络输入大小,在多目标情况下,缩小后的图片极易造成失真导致检测能力较弱,因此本文提出单张图片批量检测方法在一定程度上解决了小目标检测难的问题,在耗费少量测试时间前提下显著提高了召回率。

4 实验

4.1 数据集介绍

本文采用常用数据集PASCAL VOC集与自建人物属性数据集(主要涉及教室、商场等多人物环境)组成混合训练集共同训练,其中训练集共874 523张,测试集共15 463张,涉及了各种姿态、光照、背景。数据集中人物包含各种表情、动作和遮挡,高度贴合现实环境中的场景识别。该数据集包含权威数据集PASCAL VOC,并在权威数据集中添加自建的多类别数据集,不仅保证数据集的广泛性和权威性,同时也增加目标检测的难度,让实验更具挑战性。为保证检测算法的鲁棒性,文中采用图像增强的方法对数据集进行扩充,包括模拟光照变化、灰度变换、模糊处理等。

4.2 实验环境

实验测试PC机环境:CPU选取Intel®Core™i7-4590,显卡NVIDIA GTX 1080Ti,采用Visual Studio 2013,OpenCV2.4.8 和Caffe 框架实现改进型SSD 算法的多目标检测。

4.3 检测结果对比

4.3.1 定量分析

为了验证本文所提出的基于改进SSD 算法的多目标算法性能,本文将从mAP 值、误检率、漏检率和参数量进行对比实验。AP 值衡量模型在每个类别上的好坏,具体公式如下:

式中,TP为预测为正的正样本,FN为预测为负的正样本,FP为预测为正的负样本,mAP 值为所有类别的Precision平均值;浮点运算数用来量模型参数量。网络主要采用原始SSD 300、传统SSD 512与改进后的网络对比,在实验中确保各算法软硬件环境的一致性,以及训练集、测试集的统一。训练参数如下:初始学习率0.001,权值衰减项为0.000 5,动量为0.9,批次为64,采用随机梯度下降算法更新参数。

传统模型与本文所提出模型在测试集中整体性能对比结果如表1所示,其中+ARConv表示仅添加本文所提卷积层,SSD…(ours)表示添加ARConv 及P-NMS 算法,表1中分别对SSD 300及SSD 512做优化前后的性能对比,从表1 中可以看出,虽然传统SSD 300 和SSD 512 算法已经有较理想的准确率,且在PASCAL VOC测试集中mAP值分别达到77.3%和80.2%,但传统算法漏检率较高,这是由于网络无法有效识别旋转位置变换和复杂环境下的目标并且模型的特征提取能力有限,在加入ARConv卷积层后,此时算法增强对目标的识别能力,表中结果显示SSD 300+ARConv 旋转漏检率降低0.47 个百分点,正面漏检率降低0.11 个百分点,SSD 512+ARConv旋转漏检率降低0.48个百分点,正面漏检率降低0.09 个百分点。实验结果验证了添加ARConv卷积能增强模型识别能力降低漏检,其中ARConv旋转机制增强旋转目标检测力,注意力机制增强算法正面目标检测力。在模型性能方面,仅添加ARConv后该算法的mAP 值已超越传统算法,表明对不同通道赋予不同的权值能够辅助提升模型对目标的表征能力提高模型检测准确性,从而进一步影响下游相关特征提取效果;此外,实验过程中发现带类别权重的注意力机制在保证模型性能的同时加速了训练过程的收敛速率。实际多人物测试环境下,通道注意力机制对待测目标复杂环境中的信息具有较强的学习和捕捉能力,使得模型对多目标检测有更好的表征性能,而在此基础上引入带权学习的损失函数可进一步提升模型在训练阶段的拟合能力,从而提高目标检测效率、加快收敛。

表1 优化对比结果

添加ARConv 卷积后带来漏检率降低的同时也引入更多误检框,模型分类难度增加,网络误检率略有提高,此时添加P-NMS算法调整边界框置信度判定方式,SSD 300(ours)相比SSD 300+ARConv误检率有明显降低,与传统SSD 300 相比误检率下降0.19 个百分点,此时模型达到误检率与漏检率的平衡,SSD 512(ours)优化后模型误检率同样有所降低;在参数量方面,采用ARConv 卷积后 SSD 300 和 SSD 512 算法参数量整体低于传统SSD算法,在提取图像特征过程中运算量降低,能有效提升算法的运算速度,增强实时性;相比传统的SSD 300 和SSD 512 本文所提的算法SSD 300(ours)、SSD 512(ours)mAP值分别提升2.4个百分点和1.9个百分点。通过实验结果可知,特征信息能够在ARConv机制的作用下得到更好的捕捉和表达;待测框能够在PNMS 算法下得到更好的筛查和过滤;实验结果验证了同时验证了添加ARConv 卷积以及P-NMS 算法能实现提升模型整体性能的设计目标。

实验对比结果如图8所示,输入教室多人物视角下的待测图片,将传统SSD 300 与优化后的SSD 300 做对比测试,网络输入是300×300,原始输入图片大小为1 920×1 080,图8(a)中显示传统SSD 300 检测过程中出现大量漏检情况,部分人脸无法识别检测效率较低;改进后添加ARConv 卷积以及P-NMS 算法的SSD 300检测效率明显提升,误检情况也得到有效改善,对歪头、侧脸等难以识别的人脸区域都有较高的检测率,相较于传统SSD 300,优化后模型检测效率明显提升。

图8 检测算法对比

4.3.2 定性测试

在定性对比实验中,同样使用mAP 指标来衡量网络性能,选取SPP-net BB(ZF5)[23]、Fast R-CNN[24]、YOLO[8]、YOLOv2 228、SSD 300、SSD 512与改进后的SSD 300、SSD 512算法进行比较,表2显示了各算法在相同环境下的性能。从表中结果能够发现,改进后的SSD 300(ours)迭代85 轮后达到收敛,迭代次数最少、收敛性较强,优化后的 SSD 512(ours)算法相比SSD 512 收敛性同样增强,这一验证结果表明本文所提算法能加速模型收敛速率,其原因在于各通道总体损失的贡献得到平衡,因此一定程度上缩小了模型参数收敛空间,从而提升模型收敛速率。与其他测试算法对比,优化后SSD 300(ours)在较少的迭代时间内具有更高的mAP值,实际检测速度达62 f/s,与相同领域的YOLO 算法相比在减少15 轮迭代的同时,检测速度增加接近3 倍,mAP 值提升13.2 个百分点;与性能更为突出的YOLOv2 228 相比,检测速度几乎持平,但收敛更快,mAP值提升10.7个百分点;优化后的SSD 512(ours)算法由于网络限制,相比SSD 300收敛性略有下降,仍能达到对比算法的平均迭代水平,与YOLO 算法相比收敛性几乎持平,但误检率下降近一半,mAP值提升15.6个百分点;与Two-stage领域的Fast R-CNN 算法相比,检测速度提升近4 倍,mAP 高出 15.2 个百分点。SSD 300(ours)相较于传统SSD 300 改进后的算法在较少的迭代次数下具有理想的检测性能、收敛性更强,其中误检率降低0.19 个百分点,检测速度提升 16 f/s,mAP 提升 2.4 个百分点;SSD 512(ours)相比传统 SSD 512,在检测速度、误检率、mAP值上同样实现较为可观的性能提升,误检率、mAP值在所有模型中达到最优,但相比优化后的SSD 300检测速度和收敛性较弱,其原因在于SSD 512网络模型更大,参数量更多,导致训练难度增强。结合表2 的对比结果可知,优化后的SSD 算法增加大量候选检测窗口、提升目标检测精度,对不同角度、不同环境的待测目标检测效果都有提升;对比所有算法,优化后SSD 300 训练难度低、收敛性较强,同时具有理想的mAP 值,在所有算法中整体性能最优;优化后SSD 512由于网络结构的限制,收敛性和检测速度低于SSD 300,但mAP值达到最优、具有更低的误检、漏检率,实际检测性能较强。实验结果验证了改进后的SSD 算法能够降低模型训练时间,增强网络收敛性,有效降低误检、漏检率,整个模型具有更理想的检测效果。

表2 各类检测算法性能对比

5 结束语

本文基于原有SSD 算法在实际使用中存在的问题进行改进,使算法的网络结构更为统一、高效,同时在多目标检测中具有更高的召回率和更低的误检率,具体优化如下:

(1)多输入单输出。为了增强算法移植性,本文将算法的多输入多输出,设计为类似于C语言的多输入单输出模式,使模型整体结构更统一。

(2)ARConv。添加ARConv 能够有效解决训练样本不够丰富造成的漏检现象,并加快模型收敛。

(3)正负样本限制。面对SSD 算法生成的正样本较多导致误识别增多,在样本生成过程中对正样本增加限制。

(4)P-NMS 算法。采用多框合并的方式对先验框进行二次计算,用框的数量和概率来判断该区域是否存在待测目标降低误检率。

(5)单张图片批量检测。将单张测试图片分块处理,组合成同一批次输入训练后的网络,并行运算。

实验结果验证了本文算法的有效性,相比以往的目标检测算法,效率明显提升;与传统SSD算法比较,能够在较少的迭代时间内,实现更高的mAP值,并且误检率明显降低,鲁棒性更强。

猜你喜欢
置信度卷积阈值
一种基于定位置信度预测的二阶段目标检测方法
硼铝复合材料硼含量置信度临界安全分析研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
系统可靠性评估与更新方法
卷积神经网络的分析与设计
小波阈值去噪在深小孔钻削声发射信号处理中的应用
从滤波器理解卷积
基于CS-TWR的动态阈值贪婪算法成像研究
基于自适应阈值和连通域的隧道裂缝提取
正负关联规则两级置信度阈值设置方法