改进SSD 算法对鸟类目标检测研究

2022-05-06 03:25唐鑫鑫陆安江彭熙瞬高海韬
智能计算机与应用 2022年3期
关键词:残差卷积鸟类

唐鑫鑫, 陆安江, 彭熙瞬, 高海韬

(贵州大学 大数据与信息工程学院, 贵阳 550025)

0 引 言

社会经济的快速发展,对生态环境资源索取使用过度,自然环境被严重破坏。 鸟类是自然生态中重要的一员,据国际鸟类联盟最新调查研究显示,全球八分之一的鸟类面临灭绝的危险,生存状况日益恶化,数量下降呈现恐怖趋势,保护鸟类刻不容缓。目前,鸟类的识别工作仍主要依靠人工先验知识,时间成本过大。 通过人工智能技术构建一个智能鸟类识别分类系统,能够节约人力成本,为鸟类保护贡献一份力量。 鸟类识别算法主要分为两类:基于部件的多级分类算法和基于端到端的分类算法。 基于部件的多级分类算法代表有Wah最先提出的基于传统特征的词包分类模型;Donahue 等人提出的基于CNN 的DeCAF 特征;Zhang 等人提出的自局部检测到特征提取均采用CNN 架构的Partbased R-CNN 等。 基于端到端的分类算法有Fu 等人提出的RA-CNN 模型,基于递归神经网络增强局部注意力及特征表达;Li 等人提出幂归一化协方差矩阵MPN-COV;魏秀参提出的基于FCN 学习分割模型的Mask-CNN 算法等等。

本文使用改进过的Resnet50 网络(称作DLResnet50)替换SSD 的前置网络VGG,对自制的鸟类数据集进行目标识别检测分类。

1 SSD 模型的基本原理及结构

Wei Liu 在ECCV 2016 上提出了SSD 模型。 该模型全称Single Shot MultiBox Detector,意思为单镜头多盒检测器。 SSD 基于深度学习,是人工智能下的一种目标检测模型,其前置网络为VGG-16,是目前流行的目标检测框架之一。 该算法会在图片上均匀地产生若干个不同大小的候选框,且其长宽比均不相同,使用卷积层将图像的特征提取出来,再进行回归和分类。 SSD 模型网络结构如图1 所示。

图1 SSD 模型网络结构图Fig. 1 Network structure diagram of SSD model

SSD 采用VGG-16 为前置网络,将VGG-16 的2 个全连接层FC6 和FC7 替换为3×3 卷积Conv6 和1×1 卷积Conv7,将池化层Pool_5 由2×2 池化修改为3×3 池化,移除Dropout 层和全连接层FC8,并添加4 个新的卷积层:Conv8、Conv9、Conv10、Conv1l 。其处理过程中如激活函数全部采用ReLU,且均在卷积操作结束后使用,池化操作不使用激活函数,做卷积与池化交替计算,假设输入的图像尺寸为224×224×3,则每一步的计算与图像尺寸见表1。

表1 VGG16 计算过程图像变化Tab. 1 Image changes during VGG16 calculation process

最后的输出图像与两层1×1×4 096,一层1×1×1 000进行全连接,即共有3 层全连接层,最后再通过ReLU激励函数激活,输出的预测结果可以有1 000 个。

不同特征图的每个特征点上都有一组默认先验框与之对应,因此SSD 模型预测的时候计算默认先验框的位置偏移和置信度。

SSD 的损失函数值包含两个部分: 置信度(L) 和定位(L), 而损失函数就是这两者的加权和。 置信度损失L的计算公式(1)如下:

SSD 算法需要计算两部分,即相应的先验框与目标类别的置信度和相应的位置回归。

其中,参数∈(0,1),表示默认框和实际检测框的匹配是否成功;参数作用类似于权重,用来平衡置信损失和位置损失;是分类置信度;代表预测框;代表真实标签框;是与该类别的校准框匹配的默认框数量,当0 时,说明损失为0。

2 SSD 模型改进

2.1 SSD 模型存在的问题

SSD 的优点在于采取多尺度特征融合策略,利用多个卷积层的输出参与预测,提升了检测精度;直接使用默认框进行检测,没有候选区域生成的过程,提升了检测速度。 但对小目标的鲁棒性差,会有识别不出来的问题。 根据VGG 网络的特性,增加网络层数后提升的效果并不明显,因为出现了网络退化的问题,退化问题阻碍了网络收敛,不仅增加了训练误差,也增加了测试误差,降低了网络精度。

为了提升网络训练的识别准确率,最简单直接的方式是增加网络层数,以增加对目标特征的学习次数。 但若只是盲目增加网络层数,问题并没有得到解决;相反地,还会导致错误率的突然上升,产生此问题的原因是发生了梯度消失。

2.2 改进ResNet50 网络结构

ResNet50 网络中提出的残差结构(Residual Block) 主要目的是解决网络退化问题,ResNet50的残差网络学习单元如图2(a)所示。

ResNet50 网络由多个残差模块构建而成,其函数表达式为式(4):

其中,为输入;() 表示残差映射;() 表示残差网络的特征输出。

当()0 时,表示该卷积层做恒等映射;当()0,表示该卷积层学习到新的特征信息,从而保证反向传播时的梯度传递,有效解决了网络训练过程中存在的梯度消失和网络退化问题。

本文对ResNet50 网络的改进结构如图2(b)所示,将改进后ResNet50 的网络称为DL-ResNet50。

图2 两个残差学习单元对比Fig. 2 Comparison of two residual learning units

由于ResNet50 网络训练过程中易出现过拟合,为了进一步提高该网络的识别精度,本文在原网络最后一个卷积层后加入Dropout 层和3 层全连接层,用Leaky-relu 函数取代原网络的ReLU 函数。

加入Dropout 层和3 层全连接层后,可以让ResNet50 网络过拟合的机率有效下降,改善增强模型泛化能力。 当网络输入0 时,ReLU 函数无法更新,从而模型不能训练学习特征。 而Leaky-relu函数在输入0 时输出持续变化,更新权重继续学习。 改进的SSD 模型工作流程如图3 所示。

3 实验结果分析

图3 改进SSD 模型工作流程Fig. 3 Improved SSD model workflow

3.1 数据预处理

本次数据集从文献[12]所记录的鸟类中随机选取10 种,分别是黑颈鹤、灰鹤、斑头雁、黄眉柳莺、白鹭、大斑啄木鸟、山斑鸠、喜鹊、赤麻鸭以及乌鸦,共计4 830 张图片,为了保证模型识别效果,防止模型过拟合,对数据图像进行镜像翻转处理,增加数据集数量,将数据集按照模型比例6 ∶4 ∶1 分配划分为训练集、验证集、测试集。

为了更好的训练模型,对收集的图像数据灰度化、均衡化以及归一化处理,如图4 所示,其中(a)为原图,(b)表示经过加权均值灰度化的图,(c)表示经过直方图均衡化后的灰度图。 对比(b)和(c)可以明显看出图中的目标与背景的差异变大。 再利用labelImg-master 工具在图中框出目标位置及类型,即可获取目标的像素信息。

图4 图片处理对比Fig. 4 Comparison of image processing

3.2 实验结果对比

本文实验平台选取 tensorflow 开源框架,Windows10 系 统,python3. 6 编 程 语 言,cuda9. 0,cudnn7.0, NVIDIIA GTX2060 显卡。

本文实验以模型损失值曲线变化、平均交并比(Average Intersection Over Union, Avg IOU)以及AP曲线来作为评估依据,分别在SSD、SSD+ResNet50以及SSD+DL-ResNet50 3 个模型下做实验对比。 3个模型实验训练参数一致,训练批次大小为8,迭代300 次,初始学习率为0.001,权值衰减系数为0.000 5。损失值曲线变化如图5 所示。

图5 3 种模型的损失值曲线Fig. 5 Loss value curves of the three models

本文所提算法SSD+DL-ResNet50(红色线)收敛速度最快且最终损失值最小,稳定在1.3 左右。 SSD+ResNet50(绿色线)次之,原SSD 模型最慢损失值也最高,约2.1,本文算法在损失值这一项上降低了约0.8。

在目标检测中常表示预测框和真实框相交面积与相并面积的比值,比值越接近1 效果越好,公式(5)。

其中,A表示目标预测框面积,表示目标真实检测框的面积。

通过实验结果可得3 个模型的交并比变化曲线,如图6 所示。 由图6 可知,随着迭代次数的增加,3 种模型的交并比值都逐渐增加,但是由红色线可知本文改进模型DL-ResNet50 SSD 的值均高于绿色线ResNet50 SSD 模型和蓝色线原SSD 模型。

图6 3 种模型交并比变化曲线Fig. 6 Intersection ratio change curves of the three models

本文选择准确率和召回率来作为目标检测的性能评估标准,准确率就是测试检测正确的目标在所有样本中所占的比例,计算表达如式(6)。 召回率则表示在所有真实目标中被正确检测出来的占比,计算表达如式(7)。

其中,表示准确率;表示召回率;表示模型正确检测的目标个数;表示模型错误检测的目标个数;表示模型漏检的正确目标个数。

实际上, 准确率和召回率往往是此消彼长,难以兼得,因此将计算得到的、值绘制成曲线图,综合考虑曲线下的面积值大小来评估各类别检测性能,值越大表示模型检测精度越高,即性能越好,计算公式(8)。

针对多个类别,使用平均值评估模型整体性能,公式(9)。

斑头雁和灰鹤两种类别的鸟在原SSD 模型、用ResNet50 替换VGG 网络的SSD 模型还有本文提出的改进ResNet50 取代VGG 的SSD 模型下的变化值如图7 所示。 对比分析,本文所提算法的值更大,模型精确度更高。

SSD、SSD 中已有的VGG 网络替换为ResNet50以及改进ResNet50 取代VGG 的SSD 模型下的检测精度对比见表2,可知本文的改进算法在总体的检测精度上比原SSD 提升5 个点

表2 3 种模型检测精度Tab. 2 Detection accuracy of the three models

检测结果如图8 所示,其中(a)是原SSD 模型的检测结果,可以看到有些被遮挡的目标没有被检测到,(b)图是改进后的SSD 模型检测结果,虽然有的被遮挡目标也没有被检测出,但是增加了2 个目标检测框。

图7 3 种网络的AP 曲线Fig. 7 AP curves of the three networks

图8 检测结果Fig. 8 Detection results

4 结束语

本文提出一种用改进ResNet50 网络,取代SSD模型的基准网络VGG 的SSD 模型算法对鸟类目标进行检测研究。 通过实验对比可知,本文提出的算法在模型收敛速度、检测精度以及多目标检测方面都有改善提升。 本文数据集种类只有10 类,因此下一步的研究工作是增加数据集种类以及数量,将算法融合进系统之中,实现一个完整的鸟类识别分类系统。

猜你喜欢
残差卷积鸟类
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于图像处理与卷积神经网络的零件识别
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
鸟类靠什么认路
基于深度卷积网络与空洞卷积融合的人群计数
鸟类
卷积神经网络概述
测量数据的残差分析法
连续型过程的二元残差T2控制图