掌桥专利:专业的专利平台
掌桥专利
首页

一种结合轻量化网络的目标检测方法

文献发布时间:2023-06-19 11:32:36


一种结合轻量化网络的目标检测方法

技术领域

本发明涉及深度学习、目标检测领域,具体涉及一种结合轻量化网络的目标检测方法。

背景技术

随着科学技术的发展,各种无人机相继出现,其中民用无人机发展迅速,广泛应用于各个领域,无人机的应用能大幅度降低高空作业的成本,在监视和拍摄等领域有着独特的优势,无人机技术在给人民生活带来方便的同时也给国家和社会带来了很多潜在的威胁,比如,近年来,很多的无人机事故造成了飞机无法起飞或者被迫逼停的情况,无人机的监管成为了社会关注的焦点。无人机具有体积小,飞行速度快、旋转性高等特点,传统目标检测方法难以达到要求,基于深度神经网络的目标检测方法展现了其强大的检测性能。近年来深度学习的高速发展为目标检测算法注入了新的血液,自从AlexNet在2012年的ImageNet大赛中轻松夺冠以来,各种基于深度神经网络的目标检测算法层出不穷,并取得了令人惊叹的优异成绩。我们可将基于深度卷积神经网络的目标检测算法大致分为两类,一类是基于锚点(Anchor based)的目标检测算法,另一类是没有锚点(Anchor Free)的方法。基于Anchor based的方法会以锚点为中心先生成大量的候选目标框,然后计算每一候选框包含目标的概率,这种方式会产生一定的计算复杂度,还会产生正负例样本不均衡的情况,这一类代表性方法有RCNN、Faster-RCNN两阶段的算法和YOLOv3、SSD系列等的一阶段算法。Anchor Free的方法则省略了生成候选框的步骤,直接预测和回归得到目标框的位置,这大大减少了计算量,这种方法简单且高效,并且也在近两年之内逐渐发展为一种主流。比如有CornerNet、CenterNet、FCOS和EfficientDet等。

尽管很多算法都在检测准确性和实时性上做出了重大的改进,但还是存在很大的不足,并没有真正做到速度和精度的权衡,在边缘端部署和嵌入式平台上运作的实际应用中还有很大的升值空间,结合轻量化网络能够在保证精度不会下降的同时,大大减少计算量,这也为基于深度学习的目标检测算法实现工程落地提供了可能。

无人机具有体积小,飞行速度快等特点,这给无人机的检测和监管工作带来了一定的挑战,针对这一问题,本发明提出了一种结合轻量化网络改进的快速目标检测方法。首先,将原本在三个特征尺度进行检测的YOLOv3算法扩展为五个特征尺度来检测,提高了无人机等小目标场景的检测性能。其次,五个特征尺度进行检测带来了略微计算量的增加,结合轻量化网络中的Ghost模块构建了轻量的特征提取网络,应用一系列线性变换等廉价操作以较少的参数生成更多的特征图,大大减少了计算量。为了进一步提升网络的检测性能,加入通道注意力机制抑制了不利的信息。另外,在本发明中制作了一个基于城市背景的UAV数据集,用于训练和测试。实验结果表明,本发明提出的改进方法能有效提高UAVs 在复杂城市背景下的检测精度和满足实时性要求,实现了目标检测算法轻量化,为实现嵌入式平台上的目标检测提供了可能。

发明内容

本发明要解决的技术问题是:提供了一种结合轻量化网络的目标检测方法,以解决无人机的检测和监管工作具有很大难度的问题,实验证明本发明提出的方法能有效提高UAVs在复杂城市背景下的检测精度和满足实时性要求,实现了目标检测算法轻量化,为实现嵌入式平台上的目标检测提供了可能。

本发明采用的技术方案如下:一种结合轻量化网络的目标检测方法,该方法步骤为:

步骤1、生成数据集:首先获得一组包含当前市场上各种常见的UAV图像,与提前已经采集好的复杂城市背景图像简单进行相加操作,并记录下无人机所在的位置作为标签,这样就得到了复杂城市背景下的无人机图像,将其划分为训练集和测试集;

步骤2、数据预处理:为了使得图像更加符合格式要求和使样本多样性,对训练数据集进行图像增强操作,主要包括水平翻转和几何变化;

步骤3、构建基于轻量化网络的多尺度特征检测网络,网络框架主要包含了Ghostbackbone、Neck和Prediction三个部分,Ghost backbone部分采用一系列的Ghostbottleneck 堆叠而成,Neck部分就是一个完整的FPN形式,包含了五个特征尺度,Prediction部分根据设置的Anchor在各层级特征图上对目标进行预测;

步骤4、设计基于轻量化网络的多尺度特征检测网络的损失函数:采用Focal Loss通过赋予正负例样本不同权重的方法指导模型的训练,在五个特征尺度预测计算损失,总损失为五个特征尺度损失之和,使用Adam优化器对网络进行学习优化;

步骤5、根据设置的损失函数指导模型训练,使用步骤1中得到的训练集来训练网络直到收敛,记录并保存最好的模型权重,获得最优的网络模型;

步骤6、多目标检测:利用基于轻量化网络的多尺度特征检测网络进行目标检测,加载已经保存的最优网络模型权重,使用步骤1中得到的测试集进行测试。

进一步地,步骤1数据获取过程为首先获得一组包含当前市场上各种常见的UAV图像,通过对其进行旋转、尺度缩放等操作后与提前已经采集好的复杂城市背景图像简单进行相加,并记录下无人机所在的位置作为标签,这样就得到了复杂城市背景下的无人机图像,划分为训练集和测试集,生成的训练集共有12100张,其中每张图像都包含了16个姿态、类型和大小不同的无人机,图像的大小为416×416,测试集有1210张,每张图像都包含了8个姿态、类型和大小不同的无人机。

进一步地,步骤2数据预处理中采用图像增强方法中对训练集进行了数据多样化增强,包含随机水平翻转(Random Horizontal Flip),几何变化(Geometric Transform),原本的训练集 12100张,通过数据增强等手段可高达20万的数据量。

进一步地,步骤3构建基于轻量化网络的多尺度特征检测网络,网络框架主要包含了 Ghost backbone、Neck和Prediction三个部分,Ghost backbone部分采用一系列的Ghost bottleneck堆叠而成,具体为先后通过1个卷积层(Convolution),2个Ghostbottleneck,3个 Ghost bottleneck,9个Ghost bottleneck,9个Ghost bottleneck和5个Ghost bottleneck,然后分别会对应生成{208×208,104×104,52×52,26×26,13×13}五个尺度大小的特征图,Neck部分就是一个完整的FPN形式,将原本的YOLOv3中三个特征尺度扩展为五个特征尺度,具体包含了4个卷积层(Convolution),4个上采样层(最邻近上采样)和四个add操作,将高层的特征与低层特征相互融合充分利用多尺度信息,Prediction部分根据设置的Anchor在各层级特征图上对目标进行预测,具体为每个层级的特征图会先后通过两个卷积层,第1个卷积层后面紧跟着1个批归一化层和1个Leaky ReLU层。

进一步地,步骤4中考虑正负例样本不均衡的情况,采用Focal Loss通过赋予正负例样本不同权重的方法指导模型的训练,在五个特征尺度预测计算损失,总损失为五个特征尺度损失之和,使用Adam优化器对网络进行学习优化。

进一步地,步骤5中总损失L

本发明的原理在于:本发明提出了一种复杂城市背景下的UAV检测算法,利用特征金字塔网络进行多尺度预测,具体为将原本YOLOv3算法中三个特征尺度扩展为五个特征尺度进行预测,提高了小目标的检测性能,结合轻量化网络中的Ghost模块构建了轻量的特征提取网络,应用一系列线性变换等廉价操作以较少的参数生成更多的特征图,大大减少了计算量,实现了网络的轻量化。基于本文提出的UAV数据集,实验结果表明,该算法能有效应对无人机这种小目标场景的各种变化,具有较强的鲁棒性。在Nvidia GeForce GTX 1080Ti上测试精度高达97.21%,实时速度有45.31FPS,生成的模型权重只有8.2M,能满足大多数场景的精度和实时性要求,为实现嵌入式平台运行和工程落地实践提供了可能。

综上所述,相比于现有的一些方法,本发明的有益效果是:

首先,对原本只在三个特征尺度上进行检测的YOLOv3算法进行扩展到了五个特征尺度,能有效改善小目标检测性能,最终得到的模型相比原来的YOLOv3算法提高了5.1%的精度。

然后,结合GhostNet构建了轻量高效的特征提取网络,使得模型的训练得以加速,生成的模型权重只有8.2M,只有YOLOv3的1/30,在Nvidia GeForce GTX 1080Ti上实时速度能达到45.31FPS,在速度和精度间取得一个恰好的平衡,为嵌入式平台实时运行提供了可能。

本发明制作了一个基于复杂城市背景的UAV数据集,能为很多无人机检测场景提供数据集,本发明是一种one-stage的方法,轻量、运行速度快、准确度更高。

附图说明

为了更加清晰明了的说明本发明的具体细节,对本发明中涉及到的一些附图做简单的介绍,以下附图仅仅示出了本发明的某些实施例以便于细节理解,并不以任何方式限制本发明的范围。

图1为本发明中将三个特征尺度检测扩展为五个特征尺度来检测的示意图;

图2为本发明的传统卷积与Ghost module操作的比较图;

图3为本发明的网络结构图;

图4为本发明中Ghost bottleneck单元示意图;

图5为本发明中Ghost module模块示意图;

图6为本发明中通道注意力机制模块示意图;

图7为本发明提出的方法和YOLOv3、YOLO-tiny的实验结果效果图,其中,图7(a)为原始的无人机图片,图7(b)为YOLOv3的检测效果图,图7(c)为YOLO-tiny的检测效果图,图7(d)是本文提出的方法和ShuffleNetv2结合得到的SFv2-FPN的检测效果图,图7(e)是本文提出的方法和MobileNetv2结合得到的MBv2-FPN的检测效果图,图7(f)是本文提出的方法和GhostNet结合得到的Ghost-FPN的检测效果图。

具体实施方式

以下结合附图说明本发明的具体实施例做详细说明。但以下的实施例仅限于解释本发明,本发明的保护范围应包括权利要求书限定的全部内容;而且通过以下实施例对本领域的技术人员即可以实现本发明权利要求书的全部内容。

图1为本发明中将三个特征尺度检测扩展为五个特征尺度来检测的示意图:为了能更好的适用于无人机等的小目标检测场景,对原本在三个特征尺度上检测的YOLOv3算法扩展为五个特征尺度进行检测,在小目标的检测场景中取得了更好的性能;

图2为本发明的传统卷积与Ghost module操作的比较图:相比较于传统的卷积方式, Ghost模块通过一系列的线性变换操作,以较小的代价生成了更多的特征图,避免了冗余的特征大大减少了计算量;

图3为本发明的网络结构图:主要包含了三个部分Ghost backbone、Neck和Prediction, Ghost backbone部分由一系列的Ghost bottleneck堆叠而成,Neck部分就是一个完整的FPN 形式,Prediction部分根据设置的Anchor在各层级特征图上对目标进行预测;

图4为本发明中Ghost bottleneck单元示意图:具体分为了stride=1和stride=2的两种情况,每种情况下又包含两个Ghost module;

图5为本发明中Ghost module模块示意图:首先第一部分(Primary_conv)由普通卷积生成固有的特征图,并且严格控制普通卷积层的数量以减少参数,然后第二部分(Cheap_operation)将一系列的线性变换在第一部分生成的特征图的基础上生成更多的特征图;

图6为本发明中通道注意力机制模块示意图;

图7为本发明提出的方法和YOLOv3、YOLO-tiny的实验结果效果图,此外,五个特征尺度预测的方法基础上尝试结合ShuffleNetv2和MobileNetv2分别生成了SFv2-FPN和MBv2-FPN也参与比较。其中,图7(a)为原始的无人机图片,图7(b)为YOLOv3的检测效果图,图7(c)为YOLO-tiny的检测效果图,图7(d)是本文提出的方法和ShuffleNetv2结合得到的SFv2-FPN的检测效果图,图7(e)是本文提出的方法和MobileNetv2结合得到的MBv2-FPN 的检测效果图,图7(f)是本文提出的方法和GhostNet结合得到的Ghost-FPN的检测效果图。

如图3所示,本发明的整体网络框架结构图,实现的网络结构包含了Ghostbackbone、 Neck和Prediction三个部分,主要如下的几个步骤:

步骤1、生成数据集:首先获得一组包含当前市场上各种常见的UAV图像,通过对其进行旋转、随机尺度缩放等操作后与提前已经采集好的复杂城市背景图像简单进行相加,并记录下无人机所在的位置作为标签,这样就得到了复杂城市背景下的无人机图像,划分为训练集和测试集,生成的训练集共有12100张,其中每张图像都包含了16个姿态、类型和大小不同的无人机,图像的大小为416×416,测试集有1210张,每张图像都包含了8个姿态、类型和大小不同的无人机;

步骤2、数据预处理:为了使得图像更加符合格式要求和使样本多样性,对训练数据集进行图像增强操作,包含随机水平翻转(Random Horizontal Flip),几何变化(Geometric Transform)等,对比于原本的训练集12100张,通过数据增强等手段可高达20万的数据量;

步骤3、构建基于轻量化网络的多尺度特征检测网络,网络框架主要包含了Ghostbackbone、Neck和Prediction三个部分,Ghost backbone部分采用一系列的Ghostbottleneck 堆叠而成,Neck部分就是一个完整的FPN形式,包含了五个特征尺度,Prediction部分根据设置的Anchor在各层级特征图上对目标进行预测,对backbone和Neck做主要介绍如下:

Ghost backbone部分采用一系列的Ghost bottleneck堆叠而成,其过程如下:输入图像为 416×416像素大小的图像通过图像增强等预处理后输入网络,会依次生成 {208×208,104×104,52×52,26×26,13×13}大小的特征图,过程中,并没有采用池化等操作来进行下采样,而是采用了step=2的卷积操作对特征图进行下采样,每一层级的特征提取采用多个Ghost bottleneck为基础单元叠加的形式。Ghost backbone部分的具体参数设置如表Ⅰ所示。

表I Ghost backbone的具体参数设置(Input表示生成的特征图大小,block表示使用的单元,times表示堆叠的次数,step表示步长大小)

Ghost bottleneck是一个集成了多个卷积层和shortcut的专门为小型CNN设计的单元模块,其作用方式类似于ResNet中的基本残差块(Basic Residual Block)。如图4所示,根据步长的不同分为了stride=1和stride=2的两种情况,每种情况下又包含两个Ghost module。

Ghost module的提出就是为了解决特征图的冗余的问题,其通过少量的计算或者称之为一种廉价操作(Cheap operations)就能生成大量的特征图。具体来说,将普通卷积层替换为两部分,首先第一部分(Primary_conv)由普通卷积生成固有的特征图,并且严格控制普通卷积层的数量以减少参数,然后第二部分廉价操作部分(Cheap_operation)将一系列的线性变换在第一部分生成的特征图的基础上生成更多的特征图。具体实现如图5所示,值得注意的是,经过第一部分的操作生成特征图,不仅输入第二部分的Cheap_operation操作,还直接通过 shortcut路径与第二部分生成的特征图进行concatenate拼接,然后作为最后的输出。

为了抑制不利信息和更好的提取重要信息,我们在两个幽灵网络模块之间加入了一个通道注意力模块SENet,这有效改善了最后的检测性能,只是我们这儿实现的SENet略有不同,具体如图6所示。

Neck部分采用多尺度特征进行预测,能更好的适用于无人机等的小目标检测场景。对原本在三个特征尺度上检测的YOLOv3算法扩展为五个特征尺度进行检测,在小目标的检测场景中取得了更好的性能。如图1左边所示,来自高层的特征图经过2倍上采样与通过1x1 卷积操作之后的低层特征图相加,从而使得高层特征图与低层特征图相融合,这儿的上采样我们采用的是最临近插值(Nearest Interpolation)以消除锯齿状的情况。为了更加充分的融合多尺度信息,我们采用一个完整的FPN来进行了四次特征融合,在五个特征尺度上进行预测,如图1右边所示;

步骤4、设计基于轻量化网络的多尺度特征检测网络的损失函数:采用Focal Loss通过赋予正负例样本不同权重的方法指导模型的训练,在五个特征尺度预测计算损失,总损失 L

FL(p

利用总损失L

步骤5、根据设置的损失函数指导模型训练,使用步骤1中得到的训练集进行训练网络直到收敛,记录并保存最小损失的模型权重,获得最优的网络模型;

步骤6、多目标检测:利用基于轻量化网络的多尺度特征检测网络进行目标检测,加载已经保存的最优网络模型权重,使用步骤1中得到的测试集进行测试。

为了验证本发明的有效性,采用Precision、Recall和F1作为检测精度的评价指标,采用每秒处理的图像数(FPS)和单图像处理时间(ms)作为实时评价指标。采用和Ghost-FPN相同的通道数,尝试结合ShuffleNetv2和MobileNetv2分别生成了SFv2-FPN和MBv2-FPN,另外,YOLOv3和YOLO-tiny也被加入进来参与比较。最终得到的模型权重大小比较结果如表Ⅱ所示,模型的检测性能如表Ⅱ所示。

表II生成的各个模型权重大小进行比较

表III各个模型性能比较

从表III中可以得知,YOLOv3的精度能达到92.11%,但是在实时速度上只有26.47FPS,处理单帧图像的过程需要39.21ms的时间,其它模型中YOLO-tiny以最高实时速度78FPS 获得了较为不错的精度86.47%,其中结合轻量化网络生成的SFv2-FPN和MBv2-FPN也都取得了超过80%的精度,在速度上相较于YOLOv3也得到了大大的提升。本发明提出的 Ghost-FPN获得了最高的精度,高达97.21%,这是我们针对无人机这种小目标精心设计网络的结果。在1080Ti上也有45.31FPS的实时速度,比YOLOv3快了1.7倍,单幅图像处理时间上少了16.72ms,这样的结果是可接受的,能满足大多数场景的精度和实时性要求。Ghost-FPN模型权重大小也只有8.2M,相较于YOLO-tiny减少了4倍,与YOLOv3相比,其模型权重大小只有YOLOv3的1/30,这已经在很大程度上实现了模型的轻量化,为模型实现工程落地提供了可能。

本发明未详细阐述的部分属于本领域公知技术,以上所述仅为本发明的较佳的实例,并不用以限制本发明,本领域技术人员均能根据具体应用场景做出适当调整和有效改进。

相关技术
  • 一种结合轻量化网络的目标检测方法
  • 一种基于轻量化蒸馏网络的遥感图像目标检测方法及系统
技术分类

06120112965085