一种基于双向自适应特征金字塔的目标检测方法及系统
文献发布时间:2023-06-19 11:32:36
技术领域
本发明属于图像目标检测技术领域,尤其涉及一种基于双向自适应特征金字塔的目标检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
目标检测是计算机视觉非常重要的一个方向,能够广泛应用于视频监控、交通管控、人员安防、自动驾驶、安全系统、医疗等诸多领域,通过目标检测减少人力消耗。图像目标检测算法得到了广泛应用,但是现有目标检测方法仍存在不足,例如性能不好,或者目标检测的速度和精确度难以兼顾。
据发明人了解,目前许多检测效果较好的目标检测方法均用到了特征金字塔,但是,现有的特征金字塔结构只有自顶向下和自底向上的两个通道来融合特征,虽然对于一阶目标检测网络来说,能够提升目标检测的能力,但是,金字塔同一层次的特征并没有充分利用;并且,现有的特征金字塔结构在经过自底向上通道得到各层的输出之后就进行目标检测,没有充分考虑不同层之间的相互影响,这些对于目标检测结果均存在一定的影响。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于双向自适应特征金字塔的目标检测方法及系统,能够充分利用不同尺度的特征信息,从而获取更丰富的特征,提高了检测精度。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
一种基于双向自适应特征金字塔的目标检测方法,包括以下步骤:
获取待检测图像;
采用预先训练的目标检测模型进行目标检测;
其中,所述目标检测模型采用双向自适应特征金字塔进行特征融合和增强,在每一层的最后,通过自底向上增强路径得到的每一层输出的特征图,还分别与其他层输出的特征图进行自适应加权融合,作为该层的最终输出。
进一步地,所述双向自适应特征金字塔包括自顶向下融合路径和自底向上增强路径,对不同尺度的特征图进行融合和增强。
进一步地,在特征金字塔的每一层中,将该层的输入特征与该层经横向连接得到的融合特征再次进行融合。
进一步地,将自顶向下融合路径和自底向上增强路径重复执行多次。
进一步地,所述目标检测模型训练方法包括:
获取包含待检测目标的图像数据集并进行预处理,得到图像训练集;
基于图像训练集,对搭建的深度学习神经网络进行训练,得到目标检测模型,其中,所述深度学习神经网络包括骨干网络、双向自适应特征金字塔、空间金字塔池化层和全连接层。
进一步地,获取包含待检测目标的图像数据集并进行预处理后,还得到图像测试集;
将n幅图像作为一组,对每幅图像分别进行翻转、缩放、色域变化等处理;对每幅图像进行随机裁剪;将随机裁剪后的n幅图像进行拼接,得到一幅训练图像。
进一步地,获取包含待检测目标的图像数据集并进行预处理后,还得到图像测试集,用于目标检测模型的测试和优化。
一个或多个实施例提供了一种基于双向自适应特征金字塔的目标检测系统,包括:
数据获取模块,获取待检测图像;
目标检测模块,采用预先训练的目标检测模型进行目标检测;
其中,所述目标检测模型采用双向自适应特征金字塔进行特征融合和增强,在每一层的最后,通过自底向上增强路径得到的每一层输出的特征图,还分别与其他层输出的特征图进行自适应加权融合,作为该层的最终输出。
一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于双向自适应特征金字塔的目标检测方法。
一个或多个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的基于双向自适应特征金字塔的目标检测方法。
以上一个或多个技术方案存在以下有益效果:
通过引入双向自适应特征金字塔,能够有效地提升一阶目标检测网络的精度,使得一阶目标检测网络对图像的目标检测精度更高,同时速度更快,漏检率和误检率也更低。
双向自适应特征金字塔在经过自顶向下融合路径和自底向上增强路径得到各层输出特征的基础上,添加自适应特征融合模块,在经过自底向上增强路径获取了各层输出的基础上,通过引入自适应权重信息,对各层的输出进行自适应加权得到各层的最终输出,利用不同之间的特征进行自适应特征融合,充分结合不同层次之间的相互影响,更好地平衡不同尺度的特征信息,提升了一阶目标检测网络的精度。
双向自适应特征金字塔相较于现有特征金字塔,在每一层添加一条额外的边,将该层的输入特征与该层经横向连接得到的融合特征再次进行融合,能够融合得到更为丰富的特征。
并且,通过将特征融合模块重复多次,更加充分利用不同层次的特征信息。
模型训练过程中,采用目标尺度丰富、种类丰富的训练图像,保证了模型能够很好的适应不同的图像目标检测,在实际应用中效果良好,并且模型的鲁棒性高、泛化能力强。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明一个或多个实施例中目标图像增强后的示例图;
图2为特征金字塔PANet结构图;
图3为本发明一个或多个实施例中特征金字塔BAFPN结构图;
图4为本发明一个或多个实施例中目标检测模型的整体结构图;
图5为本发明一个或多个实施例中目标检测模型训练流程图;
图6为使用原始YOLOv5模型的图像目标检测结果;
图7为采用本发明一个或多个实施例中目标检测模型图像目标检测结果;
图8为原始YOLOv5和本发明一个或多个实施例中目标检测模型在MS COCO数据集上的表现对比。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,
而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本发明提供了一种基于特征金字塔结构的一阶图像目标检测方法,以下结合附图简述本发明对图像进行目标检测的过程。
步骤1:获取待检测图像;
步骤2:采用目标检测模型进行目标检测。
所述目标检测模型的获取方法具体包括:
S1:获取图像训练集并进行预处理;具体包括:
S1.1:获取包含目标物体的图像数据集并进行标注;
具体地,本实施例中通过标注工具将图片中包含的目标物体用矩形框选出来并进行标注和分类,标注完的每张图片会生成一个对应的txt文件,其中包含目标类别、标注矩形框的中心点坐标以及矩形框的宽高。
S1.2:对图像数据集进行预处理;
所述预处理具体包括:将n幅图像作为一组,对每幅图像分别进行翻转、缩放、色域变化等处理;对每幅图像进行随机裁剪;将随机裁剪后的n幅图像进行拼接,得到一幅训练图像。
S1.3:将预处理后的图像数据集划分为训练集和测试集。
本实施例中每次选择四张图片,分别对四张图片进行翻转、缩放、色域变化等,将四张图片进行随机裁剪,再拼接到一张图上,最终将数据增强后的图像数据集按照7:3的比例分为训练集和测试集,数据增强前后的图像如图1所示。
S2:基于图像训练集,对搭建的深度学习神经网络进行训练,得到目标检测模型,其中,所述深度学习神经网络采用双向自适应特征金字塔进行特征融合。
所述深度学习神经网络包括骨干网络、双向自适应特征金字塔、空间金字塔池化层和全连接层。
具体地,所述骨干网络用于提取不同尺度的特征图,并分别输入到双向自适应特征金字塔中相应尺度对应的层;双向自适应特征金字塔包括自顶向下融合路径和自底向上增强路径,对不同尺度的特征图进行融合和增强。
其中,自顶向下的融合路径是将高层特征图进行上采样,然后把上采样后的特征横向连接至其前一层特征,从而使得各层的高层特征信息得以加强;自底向上的增强路径是将浅层特征图进行最大化池化,连接至其下一层特征,从而较好的保存浅层的特征信息。
为了充分利用不同尺度的特征信息,获取更丰富的特征,提高预测精度,本实施例在特征金字塔的每一层中,将该层的输入特征与该层经横向连接得到的融合特征再次进行融合。其前一层的输出与再次融合后的特征融合后即为本层的输出,本层的输出连接至其下一层特征得到的融合特征即为下一层的输出。
为了更加充分利用不同层次的特征信息,将自顶向下融合路径和自底向上增强路径重复执行多次,本实施例中为三次,得到各层的输出。
为使各层特征信息更为充分的融合,在经过自底向上增强路径得到了各层输出的基础上还进行自适应加权融合。具体地,在每一层的最后,通过自底向上增强路径得到的每一层输出的特征图,还分别与其他层输出的特征图进行自适应加权融合,作为该层的最终输出。
本实施例中搭建的深度学习神经网络在原始YOLOv5网络模型的基础上进行改进。
原始YOLOv5网络模型采用特征金字塔PANet,采用如图2示,骨干网络提取的三种不同尺度的特征图经过不同层(C
本实施例所提出的双向自适应特征金字塔(BAFPN)结构如图3所示,在PANet的基础上,若输入和输出节点是同一层的,BAFPN则在原始YOLOv5中的特征金字塔添加一条额外的边(即图中的左侧的虚线),将该层的输入特征与该层经横向连接得到的融合特征再次进行融合,能够融合更多的特征,引入了权重信息(即图中的右侧的虚线),更好地平衡不同尺度的特征信息,同时将特征融合模块重复三次,更加充分利用不同层次的特征信息,最后加上自适应特征融合模块,更好地平衡不同尺度的特征信息。
本实施例最终所搭建的深度学习神经网络是将原始YOLOv5的特征金字塔结构PANet替换为双向自适应特征金字塔(BAFPN),即优化YOLOv5。具体地,使用CSPDarknet53作为负责特征提取的骨干网络,使用双向自适应特征金字塔(BAFPN)和空间金字塔池化作为颈部,如图4所示。
优化YOLOv5根据输入图像得到不同尺度的YOLO Head特征图,记为P
y
α
y
将图像训练集输入到优化YOLOv5中进行训练,训练过程如图6所示,过程如下:
步骤A:将增强训练集中的图像输入到优化YOLOv5的输入端,将图像尺度调整到适合负责特征提取的骨干网络进行特征提取的最大分辨率大小;
步骤B:将增强训练集中的图像输入到负责特征提取的骨干网络CSPDarknet53中进行特征提取,生成76×76、38×38、19×19三种不同尺度的特征图;
步骤C:将步骤B中生成的三种不同尺度的特征图输入到BAFPN中,进行不同尺度特征图的特征融合,将融合后的特征输出;
步骤D:将步骤C中输出的不同尺度的特征融合后的结果分别输入到YOLO Head中进行目标检测,得到目标检测结果;
步骤E:通过利用训练集中的图像对网络模型不断训练,采用随机梯度下降方法结合测试集对网络参数不断进行优化,最终得到训练后的网络模型。
至此,得到目标检测模型。
采用上述目标检测模型中进行目标检测,图6为原始YOLOv5检测结果,检测到17架飞机,图7为本实施例优化后的YOLOv5检测结果,检测到80架飞机,目标检测效果优化明显。在微软构建的目标检测数据集MS COCO上进行测试,相较于原始YOLOv5,如图8的实验结果,改进后的YOLOv5的整体目标检测精确度得到明显提升,平均精确度(mAP)提升4.3%,同时保证较高的速度,充分证明本实施例提出的加入自适应特征融合模块的BAFPN能够有效的对一阶目标检测网络进行优化。
以上一个或多个实施例提出的目标检测方法,通过引入BAFPN以及自适应特征融合模块,能够有效的提升一阶目标检测网络模型对多层特征融合的能力,相较于原始一阶目标检测网络模型,使用BAFPN和自适应特征融合模块的一阶目标检测网络模型对小目标的检测能力有所提升,整体性能得到了优化,能够提升目标检测的精度,更好的适应图像目标检测的要求。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
- 一种基于双向自适应特征金字塔的目标检测方法及系统
- 基于加权双向特征金字塔的遥感影像旋转目标检测方法及系统