一种航拍图像旋转目标的检测方法及系统
文献发布时间:2023-06-19 18:30:43
技术领域
本发明涉及深度学习及目标检测技术领域,尤其涉及一种航拍图像旋转目标的检测方法及系统。
背景技术
目前航拍图像旋转目标检测分为水平框和任意角度框两种。而在真实场景中,当待检测物体存在长宽比较大、角度倾斜、物体之间排列紧密的时候,如果仅仅使用水平框类型的检测器,会因为水平框之间相互重叠而发生大规模的漏检。因此,许多时候需要一个带有任意角度、能将物体完全包络起来的边界框。
而在对航拍图像旋转目标检测时,由于航拍图像中目标尺寸小,在整幅图像中占的像素少,目标包含信息少,重要信息缺失,边缘信息较为明显,而且目标角度不固定、方向多变,从而导致检测难度大、误检率过高以及检测精度低。
发明内容
针对现有技术的不足,本发明提供了一种航拍图像旋转目标的检测方法及系统,解决了现有大多数检测器局限于预测水平框、小目标召回率低、误检率过高、特征不对齐以及角度预测存在边界问题的缺陷,达到了消除边界问题的任意角度目标检测,改善了特征不对齐的问题,并提高了检测精度的目的。
为解决上述技术问题,本发明提供了如下技术方案:一种航拍图像旋转目标的检测方法,包括以下步骤:
S1、获取无人机拍摄的高空图像作为训练数据,并对训练数据进行预处理;
S2、采用YOLOv5网络搭建航拍图像旋转目标检测模型;
S3、使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型;
S4、将待检测的航拍图像输入至最优检测模型中输出检测结果,检测结果包括物体类别、坐标位置、置信度;
S5、对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理。
进一步地,在步骤S1中,对训练数据进行预处理包括以下步骤:
S11、利用labelme标注软件对航拍图像中目标的四个顶点进行标注,四个顶点按照顺时针进行排列,同时标明每个目标的类别和检测难度;
S12、将标注后的目标的四个顶点确定的四边形转换成最小外接矩形,得到最小外接矩形四个顶点的坐标;
S13、通过设定的size和gap将航拍图像切割成固定大小,并且记录裁剪信息;
S14、采取长边定义法将最小外接矩形四个顶点的坐标从顶点格式{(x
S15、将角度信息θ编码成CSL格式;
S16、对切割成固定大小航拍图像的训练数据进行数据增强。
进一步地,在步骤S2中,采用YOLOv5网络搭建航拍图像旋转目标检测模型包括以下步骤:
S21、构建TE-BottleneckCSP网络作为backbone提取特征;
S22、在Neck中的Bottom-up Path Augmentaion部分加入CBAM注意力机制模块;
S23、在Neck中增加了一个检测分支,对于以高空俯角拍摄的无人机图像中目标过小的问题,新增一个小步长的特征图来预测微小目标;
S24、在Head部分添加角度分量;
S25、将Head部分中位置预测任务和类别预测任务进行解耦,分别用两个子网络并行进行;
S26、用回归分支的预测结果来调整分类网络卷积核的采样位置,实现特征对齐,最终得到航拍图像旋转目标检测模型。
进一步地,在步骤S3中,使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型包括以下步骤:
S31、对预处理后的航拍图像根据类别数量,通过k-means和遗传算法对每个类别均设计一组anchor;
S32、根据每个gt的类别来设定相应的anchor,利用YOLOv5的正负样本划分规则,对每个gt进行label assignment;
S33、随着训练的进行,不断地实施动态匹配的策略,使gt能得到更多高质量的补偿anchor;
S34、划定正负样本后开始计算loss,随后进行梯度更新;
S35采用隐式监督方法将真实框和预测框的SkewIoU设置为标量,作为系数与回归loss相乘,融入目标的定位过程;
S36、添加一个角度预测的损失函数。
进一步地,在步骤S5中,对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理包括以下步骤:
S51、设定网址和端口号,通过客户端将待推理航拍图像传入浏览器上,待检测的航拍图像即为待推理航拍图像;
S52、服务端从浏览器捕获待推理航拍图像,随后送入训练好的最优检测模型中进行特征提取和目标类别的判定与目标位置的定位得到检测结果,即为步骤S4中的检测结果;
S53、将检测结果通过JSON格式发送回浏览器,再通过客户端从浏览器中获取最终检测结果;
S54、根据最终检测结果判定推理图像是否经过切割后送入网络;
如果未经过切割,则直接将检测结果可视化;
如果经过切割,则利用被分割图像检测出的目标位置信息和图像名称中的裁剪信息,还原目标在原始未分割图像中的位置后送入网络。
进一步地,
CSL的数学表达式为:
上式中,g(x)为窗口函数,r为窗口半径,θ为边界框的角度,x为窗口范围内的横坐标,窗口函数需要满足周期性、对称性、单调性以及最大值g(θ)=1。
进一步地,
回归分量的数学表达式为:
上式中,N表示正样本的数量,CI表示预测框和真实框的Compete IoU,SI表示预测框和真实框的倾斜交并比,|·|表示将其设置为标量。
该技术方案还提供了一种用于实现上述检测方法的系统,该检测系统包括:
预处理模块,所述预处理模块用于获取无人机拍摄的高空图像作为训练数据,并对训练数据进行预处理;
检测模型搭建模块,所述检测模型搭建模块用于采用YOLOv5网络搭建航拍图像旋转目标检测模型;
最优检测模型训练模块,所述最优检测模型训练模块用于使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型;
检测结果输出模块,所述检测结果输出模块用于将待检测的航拍图像输入至最优检测模型中输出检测结果,检测结果包括物体类别、坐标位置、置信度;
后处理模块,所述后处理模块用于对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理。
借由上述技术方案,本发明提供了一种航拍图像旋转目标的检测方法及系统,至少具备以下有益效果:
1、本发明预先将航拍图像处理成适应当前通用目标检测的形式,实现了在有限的计算资源上进行训练、测试,并且完全不影响检测效果。
2、本发明通过CSL将角度信息的预测从回归问题转换成了分类问题,消除了常规角度回归问题中导致损失骤增的Periodicity of Angular问题和Exchangeability ofEdges问题,在解决了边界问题的同时还有效的衡量了预测结果与标签信息之间的角度距离,降低了训练难度,提升了角度信息的预测精度。
3、本发明设计了TE-BottleNeckCSP网络作为Backbone,用以挖掘图像的全局信息,其次在Neck的设计中,增加了一个低倍下采样的检测头,更好的适应了航拍图像中目标微小的特点,有效提高了召回率,此外在Neck中添加了CBAM注意力机制,提高了高密度场景目标定位的准确性,以及有益于网络在大范围场景对高效的搜索到感兴趣区域,最后将分类任务和回归任务进行解耦,消除了分类和回归的misalignment现象,又用回归结果来校准分类分支的感受野,实现了特征对齐。
4、本发明针对YOLOv5的匹配策略进行了优化,对每种类别的gt设计不同的一组anchor,实现更精确的匹配,同时在训练过程中实施动态匹配的策略,使得gt能得到更多高质量的补偿anchor,从而有效的提高召回率。
5、本发明针对包络框任意角度的特点对损失函数中的定位分量进行了改进,通过集成CIoU和SkewIoU,有效的解决了SkewIoU部分不可导的问题,从而实现更精准的定位效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明航拍图像旋转目标的检测方法的流程图;
图2为本发明航拍图像旋转目标的检测方法的HTTP服务流程图;
图3为本发明航拍图像旋转目标检测模型的网络结构图;
图4为本发明航拍图像旋转目标的检测系统的结构框图。
图中:10、预处理模块;20、检测模型搭建模块;30、最优检测模型训练模块;40、检测结果输出模块;50、后处理模块。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。借此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
背景概述
目前航拍图像旋转目标检测分为水平框和任意角度框两种。而在真实场景中,当待检测物体存在长宽比较大、角度倾斜、物体之间排列紧密的时候,如果仅仅使用水平框类型的检测器,会因为水平框之间相互重叠而发生大规模的漏检。因此,许多时候需要一个带有任意角度、能将物体完全包络起来的边界框。
当前航拍图像旋转目标检测主要面临以下几个挑战:
1、相较于普通地面拍摄的图像而言,航拍图像的尺寸太大,所需计算资源较大。
2、由于高空俯角拍摄的缘故,航拍图像场景中背景复杂、干扰因素多、目标尺度变化大。
3、航拍图像中目标尺寸小,在整幅图像中占的像素少,目标包含信息少,重要信息缺失,边缘信息较为明显。
4、航拍图像场景中目标分布疏密变化大,排列稀疏和紧密的场景均存在。
5、目标角度不固定,方向多变,检测难度大。
根据上述背景概述所提出的问题,本实施例提出了一种航拍图像旋转目标的检测方法及系统用于解决目前现有技术所面临的问题。
请参照图1-图4,示出了本实施例的一种具体实施方式,本实施例通过训练数据的获取及其预处理,对航拍图像进行切割以及转换标注信息格式;根据基础目标检测网络,通过集成Transformer编码器构建特征提取网络,在特征融合阶段融入注意力机制以及增加小步长检测分支,分解检测与回归任务并以回归分支输出优化分类分支,搭建航拍图像旋转目标检测模型;训练过程中采取多类别标签分配划分正负样本,并在迭代过程中动态调整,根据优化后的损失函数进行参数更新,实现了消除边界问题的任意角度目标检测,改善了特征不对齐的问题,并提高了检测精度。
请参照图1,本实施例提出了一种航拍图像旋转目标的检测方法,该检测方法包括以下步骤:
S1、获取无人机拍摄的高空图像作为训练数据,并对训练数据进行预处理,预先将航拍图像处理成适应当前通用目标检测的形式,实现了在有限的计算资源上进行训练、测试,并且完全不影响检测效果。
在步骤S1中,对训练数据进行预处理包括以下步骤:
S11、利用labelme标注软件对航拍图像中目标的四个顶点进行标注,四个顶点按照顺时针进行排列,同时标明每个目标的类别和检测难度;
S12、将标注后的目标的四个顶点确定的四边形转换成最小外接矩形,得到最小外接矩形四个顶点的坐标;
S13、通过设定的size和gap将航拍图像切割成固定大小1024*1024,并且记录裁剪信息;
S14、采取长边定义法将最小外接矩形四个顶点的坐标从顶点格式{(x
S15、将角度信息θ编码成CSL格式;
CSL的数学表达式如下:
在上式中,g(x)为窗口函数,r为窗口半径,θ为边界框的角度,x为窗口范围内的横坐标,窗口函数需要满足周期性、对称性、单调性以及最大值g(θ)=1。
S16、对切割成固定大小航拍图像的训练数据进行数据增强。
在本实施例中,首先整理无人机拍摄的航拍图像,其次使用labelme标注软件对航拍图像中所要检测的目标进行标注,标注格式为待检测目标的四个顶点,其中四个顶点按照顺时针标注,同时标明每个目标的类别和检测难度,此外标注出的四边形应尽可能的包络住待检测目标,消除一些不必要的背景信息。
在得到所有待检测目标的标注信息后,将待检测目标的四个顶点确定的四边形转换成最小外接矩形,从而得到最小外接矩形四个顶点的坐标;随后根据计算机的计算资源和性能来设定合适的size和gap,从而将数据集中的图像切割成固定大小,并且记录下裁剪信息以便后续的测试结果后处理;
在得到统一尺寸的航拍图像后,对所有待检测目标的标注信息重新编码为(x
随后将带有角度标签信息的图像进行一系列数据增强操作,增强了数据的多样性,提升了模型的泛化能力。
S2、采用YOLOv5网络搭建航拍图像旋转目标检测模型,以YOLOv5网络作为base进行优化,包括构建TE-BottleneckCSP网络作为backbone提取特征、在Neck部分加入全局注意力机制模块、构建并行特征对齐检测头、增加预测分支,通过CSL将角度信息的预测从回归问题转换成了分类问题,消除了常规角度回归问题中导致损失骤增的Periodicity ofAngular问题和Exchangeability of Edges问题,在解决了边界问题的同时还有效的衡量了预测结果与标签信息之间的角度距离,降低了训练难度,提升了角度信息的预测精度。
在步骤S2中,采用YOLOv5网络搭建航拍图像旋转目标检测模型包括以下步骤:
S21、构建TE-BottleneckCSP网络作为backbone提取特征,根据TransformerEncoder和BottleNeckCSP的优势,提出TE-BottleNeckCSP网络作为backbone提取特征;
S22、在Neck中的Bottom-up Path Augmentaion部分加入CBAM注意力机制模块;
S23、在Neck中增加了一个检测分支,对于以高空俯角拍摄的无人机图像中目标过小的问题,新增一个小步长的特征图来预测微小目标;
S24、在Head部分添加角度分量;
S25、将Head部分中位置预测任务和类别预测任务进行解耦,分别用两个子网络并行进行;
S26、用回归分支的预测结果来调整分类网络卷积核的采样位置,实现特征对齐,最终得到航拍图像旋转目标检测模型。
在本实施例中,航拍图像旋转目标检测模型是在基于YOLOv5的基础上为了适应航拍图像所进行优化的。传统的YOLOv5仅可以用水平框来检测,因此本发明为YOLOv5的Head部分添加了角度分量,使其可以预测出带有任意角度的边界框。
本实施例在传统YOLOv5的backbone基础上,去除了最后一个BottleNeckCSP组件,使用Transformer Encoder模块将其替换,如图3所示,其中,Transformer Encoder模块集成了多个全连接层和Multi-head Self-Attention层,相较于传统的Transformer Encoder模块,去除了一些不必要的网络结构。Multi-head Self-Attention是Self-Attention的变体,通过设置合理的head数目nh,进行nh次linear操作,映射出多个不同的子区域表征空间,更加全面的挖掘出不同位置特征在多个子空间下的信息。
YOLOv5的Neck部分使用PANet方法来进行特征聚合,对于地面检测而言足以精准的检测出各个尺度范围的目标,然而为了适应航拍图像目标尺寸较小的特点,本实施例在YOLOv5原有的Neck部分添加了一个更小步长的检测层,如图3所示,可以检测出航拍图像中尺寸极小的目标,提高了检测的鲁棒性。
此外为了过滤无效特征,本实施例在Neck中的Bottom-up Path Augmentaion部分添加了CBAM模块,如图3所示,使检测器能更加精确高效的定位目标,提高了检测器对各种复杂场景的适应能力;
CBAM是一种结合了空间和通道的注意力机制模块,即考虑到相同位置不同通道的特征,又考虑到相同通道不同位置的特征。包括Channel Attention Module和SpatialAttention Module,通过对两种维度的综合考虑,使检测器能有效的搜索到感兴趣区域。
Channel Attention可以表达为:
F
Spatial Attention可以表达为:
F
式中,F
为了解决目标检测中分类任务与回归任务所需特征冲突的问题,本实施例采取将Head部分分解为两个子网络来分别进行分类和回归的方法,如图3所示,使分类和回归的准确度均得到有效提升。
而由于分类任务和回归任务之间的独立性所引起的misalignment问题,本发明提出了一个特征对齐模块来学习对象感知特征进行分类。对齐模块将卷积核的固定采样位置变换为与预测的边界框对齐,如图3所示的OA.Conv模块。具体而言,对于分类图中的每个位置(dx,dy),它有一个相应的由回归网络预测的边界框M=(m
T={(m
式中,B={(-[m
通过新的采样位置,特征对齐模块提取对象感知特征,其数学表达式如下:
式中,x表示输入特征映射,w表示卷积权重,u表示特征图上的位置,F表示输出对象感知特征图,G表示标准2D卷积的常规采样区域,g表示常规采样位置,T表示空间变换矩阵,t表示原始采样点到新采样点的距离向量。
采样位置的变换可以适应预测边界框的变化。因此,提取的目标感知特征对目标尺度的变化具有鲁棒性。此外,对象感知特征提供了候选目标的全局描述,这使得对象和背景的区分更加可靠。
S3、使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型,以类别为单位分别设计anchor,训练过程中采取动态匹配策略进行样本标签划分,在损失函数中添加角度分量,对于损失函数中的回归分量,将预测框和标注框的SkewIoU与CIoU相集成来构建一个可导的近似倾斜损失。
本实施例设计了TE-BottleNeckCSP网络作为Backbone,用以挖掘图像的全局信息,其次在Neck的设计中,增加了一个低倍下采样的检测头,更好的适应了航拍图像中目标微小的特点,有效提高了召回率,此外在Neck中添加了CBAM注意力机制,提高了高密度场景目标定位的准确性,以及有益于网络在大范围场景对高效的搜索到感兴趣区域,最后将分类任务和回归任务进行解耦,消除了分类和回归的misalignment现象,又用回归结果来校准分类分支的感受野,实现了特征对齐。
在步骤S3中,使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型包括以下步骤:
S31、对预处理后的航拍图像根据类别数量,通过k-means和遗传算法对每个类别均设计一组anchor;
S32、根据每个gt的类别来设定相应的anchor,利用YOLOv5的正负样本划分规则,对每个gt进行label assignment;
S33、随着训练的进行,不断地实施动态匹配的策略,使gt能得到更多高质量的补偿anchor;
S34、划定正负样本后开始计算loss,随后进行梯度更新;
S35、采用隐式监督方法将真实框和预测框的SkewIoU设置为标量,作为系数与回归loss相乘,融入目标的定位过程,用一种隐式监督的方法提高了网络的定位能力,回归分量的数学表达式为:
式中,N表示正样本的数量,CI表示预测框和真实框的Compete IoU,SI表示预测框和真实框的倾斜交并比,|·|表示将其设置为标量。
S36、添加一个角度预测的损失函数。
在本实施例中,图像通过网络输出多个不同尺寸大小的特征图后,在每个特征图上进行label assignment。
根据k-means和遗传算法对每类目标分别设计一组anchor;
在确定好每种类别的一组anchor后,将每个gt映射到每个特征图上,按照YOLOv5的匹配策略来对每个gt匹配正负样本,此外随着每个epoch的进行,对每个gt动态的调整匹配的anchor,从而使一些困难样本也能匹配到高质量的anchor,减小了训练的难度。
在匹配完成后,通过计算正样本的定位损失、正样本的角度损失、正负样本的分类损失以及置信度损失来进行反向传播,从而梯度更新。损失函数的数学表达式如下:
L
其中分类损失L
S4、将待检测的航拍图像输入至最优检测模型中输出检测结果,检测结果包括物体类别、坐标位置、置信度,针对YOLOv5的匹配策略进行了优化,对每种类别的gt设计不同的一组anchor,实现更精确的匹配,同时在训练过程中实施动态匹配的策略,使得gt能得到更多高质量的补偿anchor,从而有效的提高召回率。
S5、对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理,针对包络框任意角度的特点对损失函数中的定位分量进行了改进,通过集成CIoU和SkewIoU,有效的解决了SkewIoU部分不可导的问题,从而实现更精准的定位效果。
请参照图2,在步骤S5中,对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理包括以下步骤:
S51、设定网址和端口号,通过客户端将待推理航拍图像传入浏览器上,待检测的航拍图像即为待推理航拍图像;
S52、服务端从浏览器捕获待推理航拍图像,随后送入训练好的最优检测模型中进行特征提取和目标类别的判定与目标位置的定位得到检测结果,即为步骤S4中的检测结果;
S53、将检测结果通过JSON格式发送回浏览器,再通过客户端从浏览器中获取最终检测结果;
S54、根据最终检测结果判定推理图像是否经过切割后送入网络;
如果未经过切割,则直接将检测结果可视化;
如果经过切割,则利用被分割图像检测出的目标位置信息和图像名称中的裁剪信息,还原目标在原始未分割图像中的位置后送入网络。
在本实施例中,训练完成后,保存在验证集上精度最高的模型,进行后续推理;
通过Flask构建一个Web框架,客户端通过设定的网址和端口号将待推理图像编码后送入浏览器中,服务端将得到的图像送入模型中。
进行前向推理,随后将推理结果转换成JSON格式,由服务端传回相应的网址和端口号,此时客户端便可以得到检测信息,包括物体类别、坐标位置、置信度等信息。
测试图像前向推理完成得到输出结果后,判定推理图像是否经过切割后送入网络;如果未经过切割,则直接将检测结果可视化;如果经过切割,则利用被分割图像检测出的目标位置信息和图像名称中的裁剪信息,还原目标在原始未分割图像中的位置。
与上述实施例提供的检测方法相对应,本实施例还提供检测方法的系统,由于本实施例提供的检测系统与上述实施例提供的检测方法相对应,因此前述检测方法的实施方式也适用于本实施例提供的检测系统,在本实施例中不再详细描述。
请参阅图4,其所示为本实施例提供的检测系统的结构框图,该检测系统包括:
预处理模块10,预处理模块10用于获取无人机拍摄的高空图像作为训练数据,并对训练数据进行预处理;
检测模型搭建模块20,检测模型搭建模块20用于采用YOLOv5网络搭建航拍图像旋转目标检测模型;
最优检测模型训练模块30,最优检测模型训练模块30用于使用经过预处理后的训练数据对航拍图像旋转目标检测模型进行训练得到最优检测模型;
检测结果输出模块40,检测结果输出模块40用于将待检测的航拍图像输入至最优检测模型中输出检测结果,检测结果包括物体类别、坐标位置、置信度;
后处理模块50,后处理模块50用于对待检测的航拍图像进行推理得到推理结果,随后对推理结果进行后处理。
需要说明的是,上述实施例提供的系统,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的系统与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施方式对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 一种无人机航拍目标检测识别方法和系统
- 一种航拍视频运动目标检测方法及系统