一种基于无人机航拍图像的目标检测与识别方法和系统

    技术2024-12-30  58


    本发明属于电子,无人机航拍目标检测识别,尤其涉及无人机航拍图像的,目标检测与识别。


    背景技术:

    1、随着无人机技术的迅猛发展,无人机航拍图像在农业、环境监测、城市规划、军事等领域的应用越来越广泛。功能各异的无人机在许多不同场景中担当着重要角色,存在着巨大的发展潜力。在农业领域,无人机航拍图像可以用于监测作物生长情况、病虫害防治等。在环境监测领域,无人机航拍图像可以用于监测环境污染、生态变化等。在城市规划领域,无人机航拍图像可以用于城市测绘、建筑监测等。在军事领域,无人机作为冲击战场的利器,能够灵活执行各类战术和战略任务,可以提高战场侦察与预警能力,还能保障作战人员的安全,成为空中军事力量的重要一员。

    2、近年来,随着深度学习技术的快速发展,目标检测研究也取得了飞速进步。迄今为止,大部分研究都集中在与自然图像相关的应用上。这些应用包括人脸识别、人车计数和自动驾驶。与自然图像相比,物体尺度的巨大差异和复杂的背景使得航空图像在目标检测方面更具挑战性。在深度学习不断发展的过程中,深度神经网络得到了大规模的应用,并逐渐成为图像分类、目标检测和图像分割的最佳方法。但是目前应用的大多数深度神经网络模型,例如vgg、resnet、u-net等主要是在人工采集的图像数据上进行开发和验证的,如voc2007、voc 2012等。与手动捕获的地面图像相比,从无人机航拍获得的图像则有着明显不同。无人机拍摄的这些图像具有以下特点:(1)大部分航拍图像为室外场景;(2)航拍图像中有许多不同大小的物体。在许多场景中,目标物体分布十分密集比如行走的人群、公路上的汽车等等。并且这些看起来相似的物体,还存在重叠交叉的情况;(3)航拍图像的背景复杂;(4)单个物体的尺寸与整个图像的尺寸的比例相对较小;(5)一些图像存在照明问题,例如低光照场景或过度曝光。这些航拍图像数据特征是制约无人机航拍应用的关键因素之一,特别是针对小目标的目标检测任务尤其困难。

    3、当前针对小目标的定义主要可以分为两种:一种是基于相对尺度的,即根据目标在图像中所占比例大小来判断,通常是目标与图像的宽高比例小于0.1或目标像素与图像像素之比小于一定阈值;另一种是基于绝对尺度的,例如在一些常用目标检测数据集中,如在ms coco数据集和dota数据集中,小目标被定义为尺寸小于32×32像素的目标。尽管深度学习技术的发展提高了目标检测的效果,但对小目标的检测仍然具有挑战性。


    技术实现思路

    1、为解决上述技术问题,本发明提出一种基于无人机航拍图像的目标检测与识别方法和系统,以解决上述技术问题。

    2、本发明第一方面公开了无人机航拍图像的小目标识别方法,所述方法包括:

    3、步骤s1、构建dhn-yolo v8网络模型,包括backbone、neck和head三个关键组成部分;

    4、步骤s2、在neck部分,引入hs-fpn(high-level screening-feature pyramidnetworks)结构,构建特征融合层,利用高级特征作为权重筛选低级特征,通过通道注意力模块实现特征的筛选与融合,提高小目标检测的准确性和鲁棒性;

    5、步骤s3、在head部分,采用动态检测头dyhead,实现尺度感知、空间感知和任务感知的统一,提高目标检测头的性能;

    6、根据本发明第一方面的方法,在所述步骤s1中,所述dhn-yolo v8神经网络模型:在yolo v8n的基础上针对小目标检测的需求进行改进。通过引入hs-fpn中的高级筛选特征融合金字塔结构来改进yolo v8n中的特征融合层并针对小目标增加了小目标检测层,在保留各通道重要信息的同时降低了模型参数量,采用改进的dyhead四头版本替换原有目标检测头,进一步提升复杂情景下小目标检测的精度和效率。

    7、根据本发明第一方面的方法,在所述步骤s2中,所述采用hs-fpn结构的特征金字塔模块替换yolo v8神经网络的neck部分:yolo系列模型网络结构搭建主要是基于coco数据集,而该数据集小目标图像所占比例小,模型几乎学习不到小目标特性,并且小目标样本尺寸小,而yolo v8下采样倍率大,导致深层特征图难以学习小目标特征信息。为了提高模型对图像中不同尺度目标的感知力以及更好的学习小目标的特征信息,设计了hs-fpn模块。hs-fpn模块主要由两部分组成:(1)特征选择模块;(2)特征融合模块。它采用了金字塔结构,包括多个级别的特征图。其中,骨干网的g2-g5在特征选择模块通过通道注意力模块ca(coordinate attention,ca)。成为m2-m5再到自顶向下的特征融合与选择特征融合模块成为n2-n5。这些特征图分别来自模型的不同层次,从底层到高层。每个级别的特征图具有不同的尺度和语义信息,能够捕获到不同层次的特征。在hs-fpn模块中,高级特征被用作权重来过滤低级特征。这是通过一个通道注意力模块实现的,该模块能够自适应地学习每个通道的权重,将重要的特征选择出来,从而提高模型对于关键信息的表达能力。随后将经过通道注意力模块筛选后的低级特征与高级特征进行融合,这种特征融合能够将高级语义信息与低级语义信息相结合,便于更好地捕获图像中的关键特征,提高小目标检测的准确性和鲁棒性。通过金字塔结构和特征融合,hs-fpn模块能够有效地解决无人机航拍图像中各类目标尺度不一致的问题。不同级别的特征图能够覆盖不同尺度的检测目标,而特征融合则能够将这些不同尺度的特征整合起来,从而实现对不同尺度检测的准确检测。特征选择模块的核心任务是从输入的原始数据中提炼出最具判别力的特征表现,从而提升模型的性能。该模块由两个核心子模块构成:通道注意力模块与维度匹配模块。通道注意力模块主要负责为每个输入特征图的通道分配相应的权重。特征图通常以三维矩阵的形式呈现fin∈rc×h×w,其中c代表通道数,h代表特征图的高度,w代表特征图的宽度。特征图经过全局平均池化与全局最大池化处理后,ca模块会计算每个通道的平均值与最大值。平均池化的目的在于最小化信息的过度损失;而最大池化则旨在从每个通道中筛选出最相关的数据。结合这两种池化方法,ca模块能够精准地提取每个通道的关键信息,同时最大限度地减少信息的损失。然后,ca模块运用sigmoid激活函数来确定每个通道的权重值,fca∈rc×1×1。这些权重随后与相应尺度的特征图相乘,生成经过筛选的特征图。这个过程使得模型在后续运算中能够重点关注对输出结果至关重要的通道,进而优化模型的性能。然而,仅依赖通道注意力模块并不足以充分利用不同尺度特征图的信息。因此,在特征融合之前,还需要实现跨尺度特征图的维度匹配。由于不同尺度的特征图通常具有不同的通道数,这会给特征融合带来困难。为解决这一问题,维度匹配模块采用1×1的卷积操作,将特征金字塔每层的特征图通道数统一调整为256。这种操作不仅实现了特征图的维度匹配,还降低了模型的复杂度,提高了运算效率。经过主干网络的处理,生成的多尺度特征图展现了丰富的语义信息,这对于图像分类或场景理解等高级任务是非常有益的。然而,对于目标定位这一任务来说,这些高级特征往往显得过于粗略,缺乏精确的空间位置信息。与此相反,低级特征虽然只包含有限的语义信息,却能够提供精确的目标位置。这一矛盾在特征提取中常常出现,如何平衡语义信息和空间位置信息成为了一个关键难题。解决这个问题的一种常见的做法是将高级特征和低级特征进行逐像素求和,并对低级特征进行上采样,以便将语义信息融入到每一层。这种方法简单直观,但存在一个明显的缺陷:它并不执行特征选择,而是简单地将不同特征层上的像素值相加。这样做可能会引入一些不必要的噪声,影响目标定位的精度。为了克服这一缺陷,本文提出了一种选择特征融合(select feature fusion,sff)模块。该模块的核心思想是利用高级特征作为权重,来过滤嵌入在低级特征中的基本语义信息,从而实现特征的选择性融合。给定一个输入的高级特征图fhigh∈rc×h×w和一个输入的低级特征图首先通过一个步长为2,卷积核为3×3转置卷积对高级特征图进行扩展,使其大小与低级特征图相匹配然后,利用ca模块将高级特征转换为相应的注意力权重。这些权重在获得维度一致的特征后,被用来过滤低级特征。最后,将过滤后的低级特征与高级特征进行融合,从而改进模型的特征表示,得到通过这种方式,sff模块能够在保留丰富语义信息的同时,引入精确的空间位置信息。

    8、根据本发明第一方面的方法,在所述步骤s3中,所述构建了dyhead检测头替换yolo v8n的head检测头:为了进一步增强目标检测头的特征学习能力,dai等人将空间感知与自注意力相结合,并将其与尺度感知和任务感知相整合,从而使检测头能够充分整合目标特征。dyhead模块首先将特征图转换为一个三维特征张量f∈rl×s×c,其中l表示特征图层数,s表示特征图的高度h和宽度w,即s=h×w,c表示通道数。标识的模块分别表示尺度感知注意力模块、空间意识注意力模块和任务感知注意力模块,其中πl、πs、πc表示应用于维度l、s和c的三个不同的注意力函数。空间感知使模型能够感知检测目标的位置和形状,同时增强了对小目标的定位能力。尺度感知提高了不同尺寸小目标的检测准确度和鲁棒性。此外,任务感知机制跨通道处理特征数据,使模型能够有效地检测和分类各种类型的小目标对象。dyhead block作为动态头部框架的核心组件,为多维度的自注意机制提供了强大的融合能力。该框架不仅促进了不同注意力模块间的协同工作,还提升了目标检测等任务的精度和效率。该框架主要包含三个关键模块:尺度感知注意力、空间感知注意力和任务感知注意力,它们在分别对应着特征张量f的不同维度(层级l、空间s、通道c)。尺度感知注意力模块旨在整合来自不同尺寸的特征信息,以满足对不同尺寸目标进行检测的需求。在执行目标检测任务时,鉴于目标尺寸的广泛变化,从微小物体至大型建筑,均要求模型具备相应的感知能力。该尺度感知模块通过执行平均池化操作,将特征图缩减至较小的空间维度,再利用1×1卷积进行通道间的信息整合。此外,引入relu激活函数和hard sigmoid函数,旨在提升模型的非线性表征能力,使其能够学习更复杂的尺度相关性。因此,当模型面对不同尺寸的目标时,能够自适应地调整其内部特征表达,从而优化检测精度。空间感知注意力模块则主要关注图像中具有辨识性的空间区域,用以提高目标检测的准确性。在目标检测过程中,目标通常位于图像的特定区域,并且这些区域通常呈现出一定的空间相关性。空间感知模块通过偏移量学习,能够自适应地确定图像中关键区域的位置,进而利用3×3卷积对这些区域进行精细的特征提取。通过自注意机制,模型能够学习到不同空间位置之间的相关性,从而在复杂的背景中准确地定位和识别目标。任务感知注意力模块则负责动态调整特征通道。在不同的检测任务中,模型对特征的表示需求可能会有所不同,例如分类、中心框回归等。这个模块专注于通道c,通过动态地开启或关闭特征通道来支持不同的任务。该模块通过引入注意力机制,在特征通道之间建立有效的关联,通过学习权重来动态分配不同特征通道的重要性,从而更好地捕捉不同物体类别的特征信息。

    9、这三种注意力机制依次应用于模型中,并可以多次堆叠以形成所需的dyhead块。三个注意力模块的计算过程表示如下:

    10、

    11、πc(f)·f=max(α1(f)fc+β1(f),α2(f)·fc+β2(f))   (3)

    12、公式(1)中,f(·)是通过1×1卷积实现特征维度降低的线性函数,而1×1卷积是一种特殊的卷积操作,它只在输入特征的每个通道上应用一个单独的卷积核。这种操作方式不仅减少了参数数量,还有助于模型聚焦于重要的特征信息。通过调整卷积核的权重,f(·)能够实现特征维度的有效降低,从而简化模型的复杂度。σ(·)是hard sigmoid激活函数,与传统的sigmoid函数相比,hard sigmoid函数具有更快的计算速度和更好的性能。它的输出范围在0到1之间,能够将特征值映射到这个范围内,从而增加模型的非线性表达能力。通过结合使用f(·)和σ(·),模型能够在降低特征维度的同时,保持足够的非线性表达能力,以应对复杂的任务需求。在公式(2)中,k表示稀疏采样位置的数量,pj+δpj是由自学习空间位移δpj确定的可移动位置,δmj是在δpj处的自学习标量。这两个参数都可以通过f中间层的输入特征学习得到。而这些参数共同构成了模型对于特定位置的聚焦能力。通过自学习的方式,模型能够动态地调整采样位置,以适应不同的输入数据。这种灵活性使得模型能够更好地应对各种复杂场景,提高泛化能力。在公式(3)中,fc表示第c个特征通道切片,[α1,β1,α2,β2]t=θ(·)是一个超参数,用于控制激活阈值。它的实现方式与动态relu相似,它首先在l×s维度上进行全局平均池化来降低维度,然后使用两个全连接层和一个归一化层,最后用一个偏移的sigmoid函数将输出归一化到[-1,1]。不同的通道根据上述参数会以不同的方式被激活,模型可以针对不同的特征通道进行不同方式的激活,从而实现自注意操作。这种自注意机制有助于模型更好地关注重要特征通道,提高特征表达的准确性和有效性。

    13、本发明第二方面公开了一种无人机航拍图像的小目标识别系统,所述系统包括:

    14、第一处理模块:输入模块,负责从本地文件系统加载图像数据,支持单张图片和多张图片输入,兼容多种图像格式,并通过递归遍历自动筛选图像文件,以适应不同的数据组织和处理需求。

    15、第二处理模块:目标检测模块,使用内嵌的yolo框架,加载dhn-yolo v8模型,对图像进行预处理后执行目标检测,识别图像中目标物体的位置和类别,并提供保存功能,允许自定义保存路径或方式。

    16、第三处理模块:ui界面及输出模块,负责读取指定路径下的图片并展示给用户。并提供用户界面,展示原始图像和检测结果,包含主界面布局、图像显示区域和ui工具类。

    17、输入模块设计:此模块负责从本地加载图像数据,支持单张图片和多张图片文件夹,提供多种图像格式兼容性,采用递归遍历自动筛选图像文件,适应不同数据组织和处理需求。本输入模块实质上就是一个图像数据加载模块,它能够轻松地从本地文件系统中加载图像数据,为后续的目标检测模块提供必要的输入。该模块不仅支持单张图片的加载,还能够处理包含多张图片的文件夹,从而满足不同的数据组织和处理需求。当需要加载单张图片时,用户只需指定图片的完整路径。模块将迅速读取该图片文件,并对其进行必要的预处理,如调整尺寸、归一化等,以便后续的目标检测模块能够直接使用。对于一个包含多张图片的文件夹,该模块同样表现出色。它支持多种图像格式,如jpeg、png等,使得用户无需担心不同格式的图像文件兼容性问题。同时它采用递归遍历的方式,自动查找文件夹中的所有文件,并筛选出符合条件的图像文件。无论文件夹中的图片是以何种方式组织的,该模块都能够准确地找到它们并加载到imagelist列表中。这种灵活性使得模块能够适应各种数据组织和处理场景,无论是学术研究还是实际应用,都能够发挥出有效作用。

    18、目标检测模块设计:该模块使用内嵌的yolo框架,加载dhn-yolo v8模型,对图像进行预处理后执行目标检测,识别图像中目标物体的位置和类别,并提供保存功能,允许自定义保存路径或方式。该模块是小目标识别系统中的最重要的组成部分,它直接了当地运用了内嵌的yolo框架,使得系统能够高效执行目标检测任务。在使用目标检测模块时,首要步骤是加载已经训练好的dhn-yolo v8模型。dhn-yolo v8模型具有强大的特征提取和识别能力。加载模型后,系统会对输入的图像进行预处理,统一调整其分辨率为640×640,以适应模型的检测需求。随后,目标检测模块将利用dhn-yolo v8模型对预处理后的图像进行目标检测。在这一过程中,模型会运用深度学习的算法,对图像中的特征进行精细提取和深入分析。通过对图像中的颜色、形状、空间位置等多种特征的综合考量,模型能够准确识别出图像中的目标物体,并标出其位置和类别。目标检测模块在predict命令中为用户提供了方便的保存功能。模块设置了默认的保存路径,用于存储目标检测的结果。它可以让用户能够轻松地查看和管理检测结果,为后续的数据分析和处理提供了便利。同时,为了满足不同用户的需求,模块还允许用户通过修改源码来自定义保存的路径或方式,增加了系统的灵活性和可定制性。

    19、ui界面及输出模块设计:负责读取指定路径下的图片并展示给用户,通过viewimg和show_image方法在ui界面上清晰显示图像,调整图像大小和比例以适应显示区域。这个模块负责直接从指定的保存路径下读取图片,并将这些图片展示给用户。模块主要通过viewimg和show_image两个方法,实现了在主窗口中直观、清晰地显示图像的功能。首先,viewimg(self,index)方法通过接受一个索引值index,准确地定位到保存有原图片和结果图片的列表中。随后分别读取了列表中索引为index的两幅图像,并将它们分别存储在变量中,这样就获取到了要展示的图像数据。紧接着,通过调用self.show_image方法,将左右两幅图像分别显示到ui界面上。而show_image(img_src,label)方法首先获取了图像的高度、宽度,随后获取了标签的宽度和高度,这是为了根据图像和标签的尺寸比例,对图像进行适当的调整,使其能够适应标签的显示区域,同时保持图像的原始数据比例。最后通过调整图像大小、保持原始数据比例以及转换为rgb格式等手段,保证了图像在显示时的质量和效果,并且将调整后的图像显示在了标签上,从而完成了在应用程序中展示图像的任务。并提供用户界面,展示原始图像和检测结果,包含主界面布局、图像显示区域和ui工具类。ui工具类包括最大化/恢复窗口功能和窗口移动操作,以及自定义调整手柄和按钮操作。ui模块中还包含了ui工具类,主要负责窗口的功能控制。其中maximize_restor方法用于最大化和恢复窗口的功能。在这个方法中,它首先检查一个名为global_state的全局变量的状态,然后根据状态执行相应的操作。如果global_state是false,则将其设置为true,然后最大化窗口,隐藏窗口大小调整按钮,以及四个方向的调整按钮。另外,也更改了提示文本,以反映最大化状态。如果global_state已经是true,则将其设置为false,然后恢复窗口正常大小,稍微调整一下窗口大小,显示窗口大小调整按钮以及四个方向的调整按钮,并且再次更新提示文本以反映恢复状态。而名为uidefinitions的方法,用于设置界面的一些行为和事件处理。首先定义了一个内部函数用于双击标题栏时最大化或恢复窗口。然后将这个函数绑定到窗口的双击鼠标事件上。接着定义了另一个内部函数movewindow,用于处理窗口的移动、最大化和恢复操作。如果窗口已经最大化,那么移动窗口时会先恢复到正常状态。然后,将这个函数绑定到窗口的mousemoveevent事件上,以实现窗口的移动。随后创建了四个自定义的调整手柄,分别用于控制窗口的左、右、上、下边缘的调整。这些手柄将帮助用户改变窗口的大小。最后,将最小化按钮、最大化/恢复按钮以及关闭按钮与相应的操作连接起来,使用户可以通过点击按钮来执行相应的操作。


    技术特征:

    1.一种基于无人机航拍图像的目标检测与识别方法和系统,其特征在于,所述系统包括:

    2.根据权利要求1所述的一种无人机航拍图像的小目标识别系统,其特征在于,在步骤s2中,hs-fpn模块采用金字塔结构,包括多个级别的特征图,每个级别的特征图具有不同的尺度和语义信息,能够捕获到不同层次的特征。hs-fpn模块主要由两部分组成:(1)特征选择模块;(2)特征融合模块。它采用了金字塔结构,包括多个级别的特征图。通过金字塔结构和特征融合,hs-fpn模块能够有效地解决无人机航拍图像中各类目标尺度不一致的问题。

    3.根据权利要求1所述的一种无人机航拍图像的小目标识别系统,其特征在于,在步骤s3中,dyhead模块包括尺度感知注意力、空间感知注意力和任务感知注意力三个子模块,通过多维度自注意机制,提高网络对小目标关键特征的敏感性。dyhead模块首先将特征图转换为一个三维特征张量f∈rl×s×c,其中l表示特征图层数,s表示特征图的高度h和宽度w,即s=h×w,c表示通道数。标识的模块分别表示尺度感知注意力模块、空间意识注意力模块和任务感知注意力模块,其中πl、πs、πc表示应用于维度l、s和c的三个不同的注意力函数。空间感知使模型能够感知检测目标的位置和形状,同时增强了对小目标的定位能力。尺度感知提高了不同尺寸小目标的检测准确度和鲁棒性。

    4.根据权利要求1所述的一种无人机航拍图像的小目标识别系统,其特征在于,系统还包括数据增强技术,通过马赛克、旋转、翻转等操作,增加训练数据的多样性,提高模型对目标位置和姿态的适应能力。

    5.一种用于无人机航拍图像的小目标识别的应用程序系统,其特征在于,所述系统包括:


    技术总结
    本发明针对无人机航拍图像中小目标检测问题,提出了DHN‑YOLO v8神经网络模型方法并设计和实现了目标检测与识别应用系统。本模型中构建了HS‑FPN结构的特征金字塔模块替换YOLO v8神经网络的Neck部分;构建了四个大小分别为20x20、40x40、80x80、160x160大小的特征图代替YOLO v8的三个不同尺度的特征图进行检测;构建了DyHead检测头替换YOLO v8n的head检测头。这种算法可以实现在无人机图像小目标检测与识别方面更轻量化的同时具有更高的准确性和鲁棒性。第二方面公开了一种无人机航拍图像的小目标识别系统,包括输入模块、目标检测模块和UI界面及输出模块。

    技术研发人员:朱敏玲,安子瑞,李媛媛
    受保护的技术使用者:北京信息科技大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-24540.html

    最新回复(0)