基于SSD算法的行人检测技术研究

2023-05-24 02:30郭健王伟马壮壮
无线互联科技 2023年5期
关键词:特征融合人工智能

郭健 王伟 马壮壮

摘要:行人检测技术的应用十分普遍,包括人工智能的研究、智能监控的应用、智能交通、无人驾驶汽车中对行人的检测、对人体行为进行分析后做出预判等,应用深度学习的方法对行人进行检测就是人工智能发展的一个十分重要的方向。文章主要研究的内容有3部分,对原SSD算法进行了改进,探讨了神经网络的根本组成与特性,将原SSD算法的基础VGG16改为ResNet50,提高了检测速度和精确度。

关键词:人工智能;行人检测;SSD;ResNet50;特征融合

中图分类号:TP39文献标志码:A

0 引言

本文研究了以深度学习和卷积神经网络为基础的SSD行人检测算法,对于行人的检测和提取是计算机视觉处理中十分困难的一项技术。SSD是深度学习出现之后提出的十分有效的检测算法,它只在顶层进行检测,而且是单级目标检测算法。SSD算法参考了多种数据集,同时对多种不同分辨率的图片进行检测试验,有效地提高了目标检测的精度,而且是一个非常好用且简单的单级目标检测器。对于一些小目标的检测,SSD在检测精确度和检测速率上都具备亮点。检测中所用的数据集大部分都是PASCAL VOC,MS-COCO[1],PASCAL VOC中不仅有目标检测所用的数据,还具备图像分类、语义分割和动作检测等任务;MS-COCO还包括很多的小对象和更密集的定位对象。

1 應用深度学习的方法对行人进行检测

行人检测的任务就是使用行人检测算法判断一张图片中存在多少个行人,并返回行人存在的位置空间。R-CNN算法流程可分为4个步骤:第一步是区域提名,候选区域的生成有1 000~2 000个,是使用SS(Selective Search)算法得到图片中不经过处理的一部分;第二步是区域大小归一化,将2 000个候选区域框缩放到227×227,然后对第一步获得的候选框用深度网络提取特征,这个深度网络就是图片分类网络;第三步是将在第二步获得的特征向量传输到SVM分类器中,其作用是对每一类都用非极大值抑制进行剔除堆叠建议框的处理;第四步是使用回归器精修候选框,即对候选框进行一个位置的调整,因为通过SS算法得到的区域候选框,并不是那么准[2]。

非极大值抑制剔除重叠建议框的寻找是通过IOU,IOU是两个目标框预测概率的一个交并比,数学表达式是A∩BA∪B,如图1所示。对于每一个类别,首先,要找到评分比较高的一个目标,再去计算其他目标框与该目标框的IOU值;其次,对每一个边界框与最高得分的边界框的IOU值进行判断,如果该值大于给定阈值,则删除;最后,将得到的最高得分的目标保存,在剩下的边界框中找到得分最高的目标,依照之前的流程进行计算及删除操作,以此类推,把一切的边界框都进行完[3]。

2 卷积神经网络概述

在反向传播算法提出之后,神经网络被广泛地应用到对机器学习的研究,由于神经网络中含有大量的参数,常常会发生过度拟合、训练耗时太长的情况,但是相对于Boosting、Logistic回归、SVM等一些传统办法,还是具备很大的优越性。卷积神经网络的3个主要操作是局部感受野、权值共享和池化层,通过这些操作可以有效地降低网络参数的数量,并且使网络具有了一定的稳定性,还能够降低网络因为出现过拟合的缺陷所带来的影响。简单的卷积神经网络结构如图2所示[4]。

局部感受野:每一张图片中所有事物的联系并不是整体的、不可分割的,它们之间的空间联系只是部分内容的相互联系,不用对全部的图像做感受处理,就可以得到整体的信息。采取这种方法能够有效地缩小所需连接的参数数目,大大地降低了计算量,提高了运算速度。

3 SSD网络的搭建

SSD最突出的操作是预测很多边界框的类别,并通过IOU计算出类别分数以及边界框可能产生的偏移,应用非常小的卷积滤波器对预测特征图进行处理。原SSD算法是以VGG16为基本网络架构,并在此基础上增加了几个卷积层用于获取比较多的预测特征图。该网络只是使用了VGG16的Conv5_3,对全连接层6和全连接层7做处理,将其转化为卷积层,从全连接层6和全连接层7中进行重采样参数,将池化层5从卷积核为2×2、步距为2,更改为3×3、步距1,删除一切丢弃层和全连接层8。

3.1 默认边界框的生成

在预测的时候,网络会为每一个类别的默认边界框生成相应的分数。两个特征矩阵,一个是8×8,一个是4×4,8×8的特征矩阵相对于4×4的特征矩阵,其抽象程度会更低一些,所保留的细节信息也会更多一些。用8×8的特征层在相对低层的特征矩阵上去预测较小的目标,之后默认边界框就可以和真实边界框更好地进行匹配计算。4×4的特征层适合去检测相对更大一点的目标。如图3所示,是每个层的默认边界框的尺度以及对应的比例,每一个默认边界框的尺度大小里都会有两个值,这是对于比例一的一种情况,在每一个特征层上面都会去额外添加一个默认边界框。网络会在conv4_3层、conv10_2层和conv11_2层生成4个默认边界框,去掉了1∶3和3∶1的比例,其他的预测特征层都是6个默认边界框[5]。

3.2 预测器的实现

对于高和宽为m×n、深度为p的预测特征层,是直接使用卷积核为3×3、深度为p的卷积核来实现的,然后通过3×3的卷积才能生成概率分数以及相对默认边界框的坐标偏移量,来预测边界框回归参数。关于特征图中的每个位置,都会生成k个默认边界框,分别去计算c个类别分数以及4个坐标偏移量,要用(c+4)×k个卷积核来对图片进行卷积处理。相对于一个m×n大小的预测特征层,则会有(c+4)×k×m×n个输出值生成。

3.3 正负样本的选取

对于正样本的选取有两个匹配准则:第一个匹配准则,是对每一个实际边界框进行匹配,选取的是与它IOU值最大的默认边界框;第二个匹配准则,是对于任意的一个默认边界框。只要与任何一个实际边界框IOU值大于0.5,那么也认为它是正样本。除了正样本以外,其他的都可以归为负样本,但是在训练过程中,会出现的情况是默认边界框匹配到的实际边界框的正样本个数很少,基本上都是几个到十几个。所以,如果把剩下的默认边界框全部当作负样本来训练,就会带来样本不平衡的情况。负样本的选取策略是先对所有的负样本计算它的最大置信度损失,如果置信度损失值越大,将负样本错误地检测成目标的概率就会越大,这是不能接受的。所以,可根据计算出的置信度损失选取排在前面的负样本[6]。

3.4 损失的计算

4 基于ResNet50的SSD行人检测

使用ResNet50作为基础搭建SSD网络,网络结构如图4所示,提高了网络关于行人检测的精确度,只保留conv4之前的层结构。对于conv4层结构将卷积的步距改为1×1大小,从实验得出的结果可以说明,这样设计提升了行人检测的速率与精度。

4.1 算法设计背景

分层特征提取是SSD网络的主要思路,之后再进行行人检测和边框回归。基础的SSD网络应用VGG16提取行人的特征信息,VGG16应用较小的卷积核,有利于堆叠更多的层,建立深层的网络结构,在视觉工作上的性能得到了提高。伴随着深度学习的迅猛发展,深层卷积神经网络的构建成为深度学习的主要方向,研究证明,加深网络结构对提高行人特征的检测具有有效性。但是VGG16属于相对浅层的网络,对行人的特征提取不太充分,本文引用ResNet50替换VGG16,以求达到算法整体性能的提升[7]。

4.2 特征提取网络

本文使用的特征提取网络为ResNet50,采用残差结构使得网络层数变多而不会发生过拟合现象。在卷积层进行堆积的过程中,先用1×1的卷积核对原图片进行有效的降维,之后的特征提取利用3×3的卷积核进行,可以有效地减少网络的参数数量。

4.3 特征图融合模块

传统的特征融合,仅仅采用了网络最后一层的特征。图像金字塔是将原图像变成有差别的图像,然后进行特征提取检测。多尺度的特征融合可以在检测的时候进行特征融合,就像本文所使用的SSD,就是利用了这样的多尺度特征融合方式,不需要使用上采样的步骤,它是从网络中生成的预测特征图中选取具有差异尺度的特征之后再进行融合,这样做还不会增加多余的计算量[8]。

SSD算法在6层产生了6种尺度的预测特征图,深层特征图对原图提取的语义信息非常多、特征诠释能力强,但是缺少目标细节信息。浅层特征图对原图的感受野小,可以有效地检测原图中的一些小目标,但是浅层的卷积层比较少,导致语义信息少,容易造成欠拟合。所以,将浅层特征图与深层特征图进行多尺度融合,使其能够做到对小目标检测精确度的提升。

5 实验条件与结果

模型的训练需要使用较多的样本数据,当开始对行人检测进行深入研究时,一系列算法性能公开的数据集不断出现,例如PASCAL VOC,COCO,Caltech等。

Caltech行人数据库是目前规模比较大的行人数据库,对矩形边框之间的时间所对应的关系和遮挡情况进行了有效标注。COCO有5种类型标注,每一个标注都对应一个JSON文件。本文采用了一些COCO和Caltech,PASCAL VOC数据集。

实验使用的是微软操作系统Windows 10,显卡型号为GTX1650,内存为16 G。预训练权重使用英伟达SSD FP32,训练方法为:提前准备好数据集,下载对应预训练模型的权重,使用GPU运行。总训练次数15 000次,分3个阶段,第0~4 999次的训练为第一阶段,设定学习率为0.001;第5 000~9 999次为第二阶段,设定学习率为0.001;第10 000~14 999次为第三阶段,继续设定学习率为0.001[9]。

实验结果如表2和图5所示。

6 结语

本文介绍了CNN卷积网络和在没有深度学习之前的行人检测,分析了一些利用深度学习方法构建的网络进行的行人检测,提出了ResNet50为网络基础的SSD网络架构,并使用特征融合方法对原有的SSD算法做了改良。经实验验证,这些改进对行人的检测和标记是有效的,检测速率也没有降低,漏检率有所降低。

参考文献

[1]王璐,王帅,张国峰,等.基于语义分割注意力与可见区域预测的行人检测方法[J].东北大学学报,2021(9):1261-1267.

[2]熊寿禹,陶青川,戴亚峰.一种轻量级的卷积神经网络的行人检测方法[J].计算机应用与软件,2021(9):220-225,231.

[3]康帅,章坚武,朱尊杰,等.改进YOLOv4算法的复杂视觉场景行人检测方法[J].电信科学,2021(8):46-56.

[4]单志勇,张鐘月.基于改进Faster R-CNN算法的行人检测[J].现代计算机,2021(23):124-128.

[5]张向清.基于YOLO算法的无人机視角下行人小目标检测[J].信息与电脑,2021(15):76-78.

[6]陈敏,王池社,郝达慧.基于SSD多模态多尺度特征融合的行人检测算法[J].金陵科技学院学报,2021(2):33-38.

[7]鲍文斌,张冬泉.XSSD-P:改进的SSD行人检测算法[J].计算机工程与应用,2022(23):132-141.

[8]于波,刘畅.基于改进SSD算法的行人检测方法[J].电子测量技术,2021(12):24-28.

[9]邝先验,杨江波,张建华.基于改进的DSSD算法的行人检测[J].中国仪器仪表,2021(5):21-27.

(编辑 沈 强)

猜你喜欢
特征融合人工智能
我校新增“人工智能”本科专业
人工智能与就业
基于移动端的树木叶片识别方法的研究
融合整体与局部特征的车辆型号识别方法