遥感图像的目标识别方法、装置和计算机设备与流程

文档序号:17589744发布日期:2019-05-03 21:40阅读:164来源:国知局
遥感图像的目标识别方法、装置和计算机设备与流程

本发明涉及计算机技术领域,特别是涉及一种遥感图像的目标识别方法、装置和计算机设备。



背景技术:

目标检测是计算机视觉领域一个重要且有挑战性的问题。虽然过去的十几年中目标检测在自然场景已经有了较重要的成就,但在遥感图像上却进展缓慢。

现有的遥感图像目标检测方法采用一步式的目标检测算法或旋转变换的数据增强方式的检测方法,成本较高,并且不能在保证目标检测高精度的前提下,满足对遥感图像实时检测的要求。



技术实现要素:

本发明的目的在于提供一种遥感图像的目标识别方法、装置、计算机设备和可读存储介质,能够有效降低成本,并且能够对遥感图像实时检测,且精度较高。

本发明的目的通过如下技术方案实现:

一种遥感图像的目标识别方法,所述方法包括:

获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;

对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;

根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;

将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

在其中一个实施例中,所述预设神经网络为yolov3网络。

在其中一个实施例中,所述对预设神经网络进行优化,获取优化神经网络,包括:

在所述yolov3网络结构的特征映射和输出检测结果之间,增加至少两个不同尺度的用于检测图像的感知域,得到所述优化神经网络。

在其中一个实施例中,所述根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络,包括:

将所述训练遥感图像输入所述优化神经网络,得到训练输出识别结果;

对预设损失函数进行优化,得到优化损失函数;

根据所述优化损失函数、所述标准识别结果和所述训练输出识别结果,计算损失值;

不断根据所述损失值调节所述优化神经网络的参数,知道根据调节参数后的优化神经网络得到的损失值符合预设条件,将调节参数后的优化神经网络作为训练神经网络。

在其中一个实施例中,所述预设损失函数包括预设置信度损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:

调节预设置信度损失函数时的正负样本比例,得到优化置信度损失函数。

在其中一个实施例中,所述调节置信度损失函数时的正负样本比例,包括:

随机抽取训练遥感图像的多个负样本中预设比率的负样本,根据训练遥感图像的正样本数量和抽取后的负样本的数量计算正负样本比例。

在其中一个实施例中,所述预设损失函数包括预设检测框损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:

将预设检测框损失函数乘以校正系数,得到优化检测框损失函数;其中,所述校正系数根据所述训练遥感图像和所述训练输出识别结果确定。

一种遥感图像的目标识别装置,所述装置包括:

图像获取模块,用于获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;

网络结构优化模块,用于对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;

训练模块,用于根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;

识别模块,用于将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如下步骤:

获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;

对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;

根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;

将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;

对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;

根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;

将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

本发明提供的遥感图像的目标识别方法,其获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果;能够有效降低成本,并且能够对遥感图像实时检测,且精度较高。

附图说明

图1为一个实施例中遥感图像的目标识别方法的应用环境图;

图2为一个实施例中遥感图像的目标识别方法的流程示意图;

图3为一个实施例中预设神经网络结构示意图;

图4为一个实施例中优化神经网络结构示意图;

图5为一个实施例中计算正负样本的图片;

图6为一个实施例中遥感图像的目标识别装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

本申请提供的遥感图像的目标识别方法可以应用于如图1所示的应用环境中。具体的,服务器获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;服务器对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;服务器根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;服务器将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。其中;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种遥感图像的目标识别方法,包括以下步骤:

步骤s201,获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果。

其中,遥感图像是指记录各种地物电磁波大小的胶片或照片,主要分为航空像片和卫星相片;用计算机处理的遥感图像必须是数字图像。

其中,标准识别结果包括待识别图像中的目标位置及目标所属的类别。

步骤s202,对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域。

其中,预设神经网络yolov3网络。

其中,yolov3是yolo算法的一个版本,yolo算法是一种目标检测算法,将物体检测任务当做回归问题来处理,直接通过整张图片的所有像素得到边界框的坐标、包含物体的置信度和类别。通过yolo,每张图像只需要看一眼就能得出图像中都有哪些物体和这些物体的位置。

步骤s203,根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络。

在具体实施过程中,调整训练神经网络的参数,使训练遥感图像输入训练后的神经网络得到的训练输出识别结果,和标准识别结果之间的损失值符合预设条件。

步骤s204,将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

在具体实施过程中,将待识别的遥感图像输入训练神经网络,直接输出待识别遥感图像中的目标位置和目标类别。

上述遥感图像的目标识别方法中,通过获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果;能够有效降低成本,并且能够对遥感图像实时检测,且精度较高。

在其中一个实施例中,所述对预设神经网络进行优化,获取优化神经网络,包括:

在所述yolov3网络结构的特征映射和输出检测结果之间,增加至少两个不同尺度的用于检测图像的感知域,得到所述优化神经网络。

在具体实施过程中,对于不同尺度的目标,如机场与油罐,检测目标尺度相差巨大,用同样的感知域检测目标并不合适;假设标注目标大小为300*400,对于3*3的感知域,在下采样为32倍的情况下,感知域的范围对应初始像素为96*96,通过较小的感知域去对较大目标进行检测回归,显然不合理。因此,针对大小不同的目标,应该使用合适的感知域。

如图3所示,虽然采用了多尺度的特征映射改善对不同尺度目标的检测,但只改善了密集目标检测和小目标在高层特征映射中特征丢失。因此,需要在特征映射最后添加两个分支,改进后的网络结构如图4所示,也就是图中的featuremap后添加两个分支,用不同尺度的感知域去检测目标。为了让不同的感知域结构学习不同大小目标的检测,需要计算感知域在对应下采用比例下的实际大小;然后计算感知域大小与地面实况的重叠度;采用与地面实况的重叠度最大的感知域分支计算检测框损失。

在其中一个实施例中,所述根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络,包括:

将所述训练遥感图像输入所述优化神经网络,得到训练输出识别结果。

在具体实施过程中,将训练遥感图像输入优化神经网络,得到训练遥感图像中的目标位置和目标类别。

对预设损失函数进行优化,得到优化损失函数。

其中,预设损失函数包括预设置信度损失函数和预设检测框损失函数。

根据所述优化损失函数、所述标准识别结果和所述训练输出识别结果,计算损失值。

具体的,将标准识别结果和训练输出识别结果输入优化损失函数,得到损失值。

不断根据所述损失值调节所述优化神经网络的参数,知道根据调节参数后的优化神经网络得到的损失值符合预设条件,将调节参数后的优化神经网络作为训练神经网络。

在其中一个实施例中,所述预设损失函数包括预设置信度损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:

调节预设置信度损失函数时的正负样本比例,得到优化置信度损失函数。

在具体实施过程中,随机抽取训练遥感图像的多个负样本中预设比率的负样本,根据训练遥感图像的正样本数量和抽取后的负样本的数量计算正负样本比例。

在yolov3的置信度损失函数损失函数,即objectness损失函数中,对featuremap中每个cells每个anchors都需要进行计算。当anchors中包含目标时,该anchors计算正样本损失值;当anchors中不包含目标时,该anchors计算负样本损失值,以图5中的图片为例,正样本计算次数为m,负样本计算次数为h*w*k-m。其中h,w为featuremap的大小,k为anchors的种类,m为一张训练图片中包含的目标个数。正负样本损失计算次数比例:正负样本比例高达359,这使得在训练过程中极度不平衡,网络很难学习到正样本的目标。

通过对负样本随机抽样,控制负样本的计算次数,从而控制正负样本比例,改进后的损失函数公式为:

在其中一个实施例中,所述预设损失函数包括预设检测框损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:

将预设检测框损失函数乘以校正系数,得到优化检测框损失函数;其中,所述校正系数根据所述训练遥感图像和所述训练输出识别结果确定。

在具体实施过程中,当目标类别的置信度较高,应该降低其损失值,从而集中训练难学习的样本。因此,对检测框损失函数进行改进:

iou=iou(detection_bbox,gt_bbox)

式中iou为重叠度,scale为校正系数;对于检测框收敛较好的目标,即检测框与标注框重叠度大于0.7的情况,映射为[0.5,1]的范围,作为调整的校正系数来降低原本的损失值。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在其中一个实施例中,如图6所示,提供了一种遥感图像的目标识别装置,所述装置包括:

图像获取模块601,用于获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;

网络结构优化模块602,用于对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;

训练模块603,用于根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;

识别模块604,用于将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

在其中一个实施例中,在其中一个实施例中,所述预设神经网络为yolov3网络。

在其中一个实施例中,所述网络结构优化模块602包括:

感知域增加单元,用于在所述yolov3网络结构的特征映射和输出检测结果之间,增加至少两个不同尺度的用于检测图像的感知域,得到所述优化神经网络。

在其中一个实施例中,所述训练模块603包括:

输入单元,用于将所述训练遥感图像输入所述优化神经网络,得到训练输出识别结果;

函数优化单元,用于对预设损失函数进行优化,得到优化损失函数;

损失值获取单元,用于根据所述优化损失函数、所述标准识别结果和所述训练输出识别结果,计算损失值;

参数调节单元,用于不断根据所述损失值调节所述优化神经网络的参数,知道根据调节参数后的优化神经网络得到的损失值符合预设条件,将调节参数后的优化神经网络作为训练神经网络。

在其中一个实施例中,所述函数优化单元包括:

置信度函数优化单元,用于调节预设置信度损失函数时的正负样本比例,得到优化置信度损失函数。

在其中一个实施例中,所述置信度函数优化单元具体用于随机抽取训练遥感图像的多个负样本中预设比率的负样本,根据训练遥感图像的正样本数量和抽取后的负样本的数量计算正负样本比例。

在其中一个实施例中,所述函数优化单元包括:

检测框函数优化单元,用于将预设检测框损失函数乘以校正系数,得到优化检测框损失函数;其中,所述校正系数根据所述训练遥感图像和所述训练输出识别结果确定。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过装置总线连接的数据处理器、存储器、网络接口和数据库。其中,该计算机设备设置有多个数据处理器,数据处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的数据库用于存储遥感图像的目标识别涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种遥感图像的目标识别方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

在其中一个实施例中,处理器执行计算机程序时所述预设神经网络为yolov3网络。

在其中一个实施例中,处理器执行计算机程序时所述对预设神经网络进行优化,获取优化神经网络,包括:在所述yolov3网络结构的特征映射和输出检测结果之间,增加至少两个不同尺度的用于检测图像的感知域,得到所述优化神经网络。

在其中一个实施例中,处理器执行计算机程序时所述根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络,包括:将所述训练遥感图像输入所述优化神经网络,得到训练输出识别结果;对预设损失函数进行优化,得到优化损失函数;根据所述优化损失函数、所述标准识别结果和所述训练输出识别结果,计算损失值;不断根据所述损失值调节所述优化神经网络的参数,知道根据调节参数后的优化神经网络得到的损失值符合预设条件,将调节参数后的优化神经网络作为训练神经网络。

在其中一个实施例中,处理器执行计算机程序时所述预设损失函数包括预设置信度损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:调节预设置信度损失函数时的正负样本比例,得到优化置信度损失函数。

在其中一个实施例中,处理器执行计算机程序时所述调节置信度损失函数时的正负样本比例,包括:随机抽取训练遥感图像的多个负样本中预设比率的负样本,根据训练遥感图像的正样本数量和抽取后的负样本的数量计算正负样本比例。

在其中一个实施例中,处理器执行计算机程序时所述预设损失函数包括预设检测框损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:将预设检测框损失函数乘以校正系数,得到优化检测框损失函数;其中,所述校正系数根据所述训练遥感图像和所述训练输出识别结果确定。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取训练遥感图像,以及,获取与所述训练遥感图像对应的标准识别结果;对预设神经网络进行优化,获取优化神经网络;其中,所述优化神经网络具有至少两个不同尺度的用于检测图像的感知域;根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络;将待识别的遥感图像输入所述训练神经网络,得到所述遥感图像的目标识别结果。

在其中一个实施例中,计算机程序被处理器执行时所述预设神经网络为yolov3网络。

在其中一个实施例中,处理器执行计算机程序时所述对预设神经网络进行优化,获取优化神经网络,包括:在所述yolov3网络结构的特征映射和输出检测结果之间,增加至少两个不同尺度的用于检测图像的感知域,得到所述优化神经网络。

在其中一个实施例中,计算机程序被处理器执行时所述根据所述训练遥感图像和所述标准识别结果,训练所述优化神经网络,得到训练神经网络,包括:将所述训练遥感图像输入所述优化神经网络,得到训练输出识别结果;对预设损失函数进行优化,得到优化损失函数;根据所述优化损失函数、所述标准识别结果和所述训练输出识别结果,计算损失值;不断根据所述损失值调节所述优化神经网络的参数,知道根据调节参数后的优化神经网络得到的损失值符合预设条件,将调节参数后的优化神经网络作为训练神经网络。

在其中一个实施例中,计算机程序被处理器执行时所述预设损失函数包括预设置信度损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:调节预设置信度损失函数时的正负样本比例,得到优化置信度损失函数。

在其中一个实施例中,计算机程序被处理器执行时所述调节置信度损失函数时的正负样本比例,包括:随机抽取训练遥感图像的多个负样本中预设比率的负样本,根据训练遥感图像的正样本数量和抽取后的负样本的数量计算正负样本比例。

在其中一个实施例中,计算机程序被处理器执行时所述预设损失函数包括预设检测框损失函数;所述对预设损失函数进行优化,得到优化损失函数,包括:将预设检测框损失函数乘以校正系数,得到优化检测框损失函数;其中,所述校正系数根据所述训练遥感图像和所述训练输出识别结果确定。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1