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

目标检测方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 12:13:22


目标检测方法、装置、电子设备及计算机可读存储介质

技术领域

本申请属于图像处理领域,具体涉及一种目标检测方法、装置、电子设备及计算机可读存储介质。

背景技术

目标检测方案一般都依赖于目标检测网络模型(例如DETR、Deformable等)来实现。

传统的目标检测网络模型多基于transformer(翻译网络)结构来设计,一般包括backbone(主干)网络、6层encoder(编码器)网络、6层decoder(解码器)网络以及detectionhead(检测头)网络。

其中,待检测图片输入到backbone网络进行特征提取,得到图像特征,图像特征经过6层encode网络进行进一步的特征提取,并将输出的encode特征传递给decoder网络。decoder网络根据获取到的encode特征,对随机初始化的初始目标信息进行6次迭代增强,并将输出的增强目标信息传递给detection head网络,由detection head网络为增强目标信息预测出对应的边框坐标以及分类分数,并选取分类分数高于一定阈值(例如0.5)的边框作为最终输出的检测结果。

在上述过程中,由于初始目标信息是随机初始化的,存在各种不确定性,且可能存在较大的误差,因此,极有可能影响检测结果的准确性。

发明内容

有鉴于此,本申请的目的在于提供一种目标检测方法、装置、电子设备及计算机可读存储介质,可以提高检测准确性。

本申请的实施例是这样实现的:

第一方面,本申请实施例提供一种目标检测方法,所述方法包括:对获取到的待检测图像进行特征提取得到特征图;其中,所述特征图所包括的每个特征点对应一位置标记;对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息;根据所述特征图对所述初始目标信息进行增强,得到增强目标信息;对所述增强目标信息进行分类预测,得到目标检测结果。

在本申请实施例中,当执行目标检测任务需要K个初始目标信息时,这K个初始目标信息并不是随机初始化,而是从特征图的位置标记中筛选出最大分类分数较高的K个目标位置标记,并根据这K个目标位置标记预测结果来初始化K个初始目标信息。可以理解,位置标记的最大分类分数越高,说明位置标记的分类预测越准确。基于此,在本申请实施例中,相较于现有技术,能够保证后续输入到解码器(decoder)网络的K个初始目标信息是较好、较优、较准确的目标信息,而好的起点更有利于后续进行目标检测,从而有助于提高后续目标检测的准确性。

结合第一方面实施例,在一种可能的实施方式中,所述对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息,包括:通过第一检测头detection head网络,对每个所述位置标记进行分类预测,得到各个所述位置标记的坐标偏移信息以及各个所述位置标记的最大分类分数,所述预测结果包括所述坐标偏移信息以及所述最大分类分数;按照所述最大分类分数从高到低的顺序,从所有所述位置标记中确定出预设数量的目标位置标记;根据所述目标位置标记的坐标偏移信息,得到用于表征目标在所述待检测图像中的位置的初始目标位置信息;提取所述目标位置标记在所述特征图中对应位置的特征,得到用于表征目标在所述待检测图像上的目标特征的初始目标查询向量;其中,所述初始目标信息包括所述初始目标位置信息和所述初始目标查询向量。

结合第一方面实施例,在一种可能的实施方式中,所述对获取到的待检测图像进行特征提取,包括:通过主干backbone网络对所述待检测图像进行下采样,得到图像特征;通过编码器encoder网络对所述图像特征进行特征提取,得到所述特征图。

结合第一方面实施例,在一种可能的实施方式中,所述图像特征包括经过不同次数的下采样后所得到的不同层的特征。在本实施例中,可以通过对不同层的特征进行后续特征提取,以便提升小目标的检测性能。

结合第一方面实施例,在一种可能的实施方式中,所述encoder网络的层数小于六层。其中encoder网络的层数小于现有的六层,有利于减少计算时的计算量,使得执行该目标检测方法的目标检测模型能够被主流显卡所容纳。

结合第一方面实施例,在一种可能的实施方式中,所述根据所述特征图对所述初始目标信息进行增强,包括:通过将所述特征图及所述初始目标信息输入到解码器decoder网络来对所述初始目标信息进行增强。

结合第一方面实施例,在一种可能的实施方式中,所述decoder网络的层数为M层,所述对所述初始目标信息进行增强,包括:对所述初始目标信息进行M次增强;其中,M为小于6的正整数。其中,decoder网络的层数小于现有的6层,从而对初始目标信息的迭代增强次数减少,有利于减少计算产生的数据量以及参数量,使得执行该目标检测方法的目标检测模型能够被主流显卡所容纳。

在一种可能的实施方式中,所述M的数值为1。

在一种可能的实施方式中,所述对所述增强目标信息进行分类预测,包括:通过所述第一检测头detection head网络或第二检测头detection head网络对所述增强目标信息进行分类预测,以便进一步减少目标检测模型的模型复杂度,有助于当前的主流显卡的显存可以容纳该目标检测模型。

在一种可能的实施方式中,所述位置标记为锚点或者锚框。

第二方面,本申请实施例提供一种目标检测装置,所述装置包括:特征提取模块、预测模块以及增强模块。

特征提取模块,用于对获取到的待检测图像进行特征提取得到特征图;其中,所述特征图所包括的每个特征点被标记位置标记;

预测模块,用于对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息;

增强模块,用于根据所述特征图对所述初始目标信息进行增强,得到增强目标信息;

所述预测模块,还用于对所述增强目标信息进行分类预测,得到目标检测结果。

结合第二方面实施例,在一种可能的实施方式中,所述预测模块,用于通过第一检测头detection head网络,对每个所述位置标记进行分类预测,得到各个所述位置标记的坐标偏移信息以及各个所述位置标记的最大分类分数,所述预测结果包括所述坐标偏移信息以及所述最大分类分数;按照所述最大分类分数从高到低的顺序,从所有所述位置标记中确定出预设数量的目标位置标记;根据所述目标位置标记的坐标偏移信息,得到用于表征目标在所述待检测图像中的位置的初始目标位置信息;提取所述目标位置标记在所述特征图中对应位置的特征,得到用于表征目标在所述待检测图像上的目标特征的初始目标查询向量;其中,所述初始目标信息包括所述初始目标位置信息和所述初始目标查询向量。

结合第二方面实施例,在一种可能的实施方式中,所述特征提取模块,用于通过主干backbone网络对所述待检测图像进行下采样,得到图像特征;通过编码器encoder网络对所述图像特征进行特征提取,得到所述特征图。

结合第二方面实施例,在一种可能的实施方式中,所述图像特征包括经过不同次数的下采样后所得到的不同层的特征。

结合第二方面实施例,在一种可能的实施方式中,所述encoder网络的层数小于六层。

结合第二方面实施例,在一种可能的实施方式中,所述增强模块,用于通过将所述特征图及所述初始目标信息输入到解码器decoder网络来对所述初始目标信息进行增强。

结合第二方面实施例,在一种可能的实施方式中,所述decoder网络的层数为M层,所述增强模块,用于对所述初始目标信息进行M次增强;其中,M为小于6的正整数。

结合第二方面实施例,在一种可能的实施方式中,所述M的数值为1。

结合第二方面实施例,在一种可能的实施方式中,所述预测模块,用于通过所述第一检测头detection head网络或第二检测头detection head网络对所述增强目标信息进行分类预测。

结合第二方面实施例,在一种可能的实施方式中,所述位置标记为锚点或者锚框。

第三方面,本申请实施例还提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。

图1示出本申请实施例提供的一种目标检测方法的流程图。

图2A示出本申请实施例提供的一种目标检测模型的结构示意图之一。

图2B示出本申请实施例提供的一种目标检测模型的结构示意图之二。

图3示出本申请实施例提供的一种目标检测装置的结构框图。

图4示出本申请实施例提供的一种电子设备的结构示意图。

图标:10-目标检测模型;11-Dense部分;111-encoder网络;112-第一detectionhead网络;113-backbone网络;12-Sparse部分;121-decoder网络;122-第二detectionhead网络;100-电子设备;110-处理器;120-存储器;400-目标检测装置;410-特征提取模块;420-预测模块;430-增强模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

此外,针对现有技术中的目标检测方案所存在的缺陷(检测准确性较低)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认定为申请人对本申请做出的贡献。

为了解决上述问题,本申请实施例提供一种目标检测方法、装置、电子设备及计算机可读存储介质,可以提高检测准确性。

该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。

首先,本申请实施例提供一种目标检测方法。下面将结合图1对其所包含的步骤进行说明。

步骤S110:对获取到的待检测图像进行特征提取得到特征图。

在一些实施方式中,针对待检测图像,即输入图像,可以先通过具备特征提取功能的backbone网络进行特征提取,得到与待检测图像对应的图像特征,然后再将得到的图像特征输入到encoder网络进行进一步的特征提取,得到特征图feature map。

可选的,backbone网络可以是VGGNet网络、ResNet50网络等常规网络。

具体的,backbone网络针对待检测图像进行特征提取,即是对待检测图像进行下采样,得到图像特征。

在一些实施方式中,backbone网络可以将针对待检测图像进行特征提取后所得到的一个尺度的图像特征输入到encoder网络进行后续处理。

在一些实施方式中,backbone网络可以针对待检测图像进行不同次数(不同尺度)的下采样,从而得到不同尺度的图像特征,然后再将不同尺度的图像特征输入到encoder网络进行后续处理,以便可以提升对小目标的检测性能。

例如,backbone网络针对待检测图像分别进行三次下采样、四次下采样、五次下采样,从而得到C3层特征、C4层特征以及C5层特征。针对C5层特征,再经过一个卷积核大小为3×3,步长为2的卷积处理,得到C6层特征。后续,再将C3-C6层的特征确定为图像特征输入到encoder网络进行后续处理。

encoder网络针对图像特征进行进一步的特征提取,主要是将获取到的初始图像特征(即由backbone网络输出的图像特征)映射到一个维度小于原始特征空间的特征空间,从而得到特征图feature map。

值得指出的是,当backbone网络输入到encoder网络的图像特征为包括不同尺度的图像特征(例如C3-C6层的特征)时,encoder网络将分别针对不同尺度的图像特征进行特征提取,并最终输出对应的特征图,然后将这些特征图拼接成一个特征向量,最终输出一个特征图,即拼接特征图。因此encoder比CNN具有更大的感受范围,具备捕捉远距离物体之间关系的能力。

其中,encoder网络有几层,即需要对获取到的图像特征进行几次特征提取。

此外,值得指出的是,encoder网络在上述特征提取过程中,还为得到的特征图中所包括的每个特征点设置对应的位置标记,用来标记每个特征点所在的位置。可理解的是,位置标记并不需要做出物理标记,为每个特征点分配使其区别于其他特征点的标识即可。

在一些实施方式中,位置标记可以是与特征点一一对应的锚点(anchor),也可以是与特征点一一对应的锚框(anchor box)。其中,锚点可对应现有技术中anchor-free方法。

当位置标记是锚点时,位置标记所呈现出的内容为二维坐标向量,用于表征锚点的坐标;当位置标记是锚框时,位置标记所呈现出的内容为四维坐标向量,用于表征锚框的顶点坐标以及锚框的长度、和高度。

此外,值得指出的是,encoder网络内一般都设置有注意力(attention)模块,用于辅助encoder网络进行特征提取。

在一些实施方式中,为了提升encoder网络的计算效率,encoder网络中的attention模块可以采用Deformable DETR(一种已有的目标检测网络)中的deformableattention module(可变形注意力模块)。

步骤S120:对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息。

区别于现有技术,在本申请实施例中,初始目标信息并不是随机初始化的,而是根据特征图的位置标记的预测结果来进行初始化。

下面将针对初始化初始目标信息的过程进行介绍。

当encoder网络输出特征图后,在一些实施方式中,可以通过第一detection head网络来对特征图中的每个位置标记进行分类预测。

可选的,在本申请实施例中,detection head网络可以包括分类部分和回归部分,分类部分和回归部分例如分别为一层全连接层和三层多层感知机。一实施例中,一层多层感知机为一层全连接层+Relu。

第一detection head网络在针对每个位置标记进行分类预测后,可以得到与位置标记一一对应的预测结果,也就是说,特征图中有A个位置标记,就会预测出A个预测结果。

一个具体实施方式中,每个预测结果包括位置标记对应的坐标偏移信息(offsets)以及最大分类分数。其中,最大分类分数可以是根据位置标记对应于N个类别的N维类别分数(category scores)向量确定的,其中N个类别可以是预先设置的,N大于等于1。

可选的,每个预测结果还可以包括位置标记的最大分类分数所对应的类别。

坐标偏移信息用于表征位置标记所对应的物体所在的位置相对于位置标记的坐标偏移量。对于坐标偏移信息而言,需要与位置标记所呈现出的维度相对应。前文提及,当位置标记是锚点时,位置标记所呈现出的内容为二维坐标向量;当位置标记是锚框时,位置标记所呈现出的内容为四维坐标向量。相应的,当位置标记是锚点时,坐标偏移信息所呈现出的内容为二维坐标偏移;当位置标记是锚框时,坐标偏移信息所呈现出的内容为四维坐标偏移。

至于N维类别分数向量,则用于表征位置标记分别属于N个类别的概率。例如预先设置了人脸、车辆、背景三个分类类别,那么与位置标记对应的N维类别分数向量为3维,由三个类别分数组成,分别用于代表位置标记属于“人脸”类别的类别分数、属于“车辆”类别的类别分数以及属于“背景”类别的类别分数。

至于某个位置标记的最大分类分数(也称之为objectness score,前景置信度),即为与该位置标记对应的N个类别分数(即N维类别分数向量中的N个元素)中数值最大的类别分数。

在得到各个位置标记对应的预测结果后,可以基于此,从所有位置标记中确定出目标位置标记。

可选的,可以针对各个位置标记的最大分类分数进行排序,然后按照最大分类分数从高到低的顺序,从所有位置标记中选取出最大分类分数最高的前K个位置标记,并将这K个位置标记确定为目标位置标记。

一般而言,K=100,当然,在一些实施方式中,K的值也可以根据实际情况进行更改。可选的,可以将各个位置标记中最大分类分数大于预设阈值分数的位置标记确定为目标位置标记。或者,可以将各个位置标记中最大分类分数大于预设阈值分数的前K个位置标记确定为目标位置标记。

一个具体实施方式中,初始目标信息包括初始目标位置信息和初始目标查询向量。

在得到目标位置标记后,可以根据目标位置标记的坐标偏移信息,得到用于表征目标在待检测图像中的位置的初始目标位置信息(reference point)。

可选的,通过将每个目标位置标记的坐标偏移信息offsets与该目标位置标记的坐标求和,得到与该目标位置标记对应的初始reference point。

值得指出的是,若位置标记是锚点,则此处的求和相应的为二维坐标的对应求和,得到的每个初始reference point也为二维坐标向量;若位置标记为锚框,则此处的求和相应的为四维坐标的对应求和,得到的每个初始reference point也为四维坐标向量。

此外,还可以通过提取目标位置标记在特征图中对应的特征,得到用于表征目标在待检测图像上的目标特征的初始目标查询向量(object query)。

其中,值得指出的是,特征图中的特征为256维,相应的,得到的每个object query也为256维特征向量。在本申请实施例中,初始目标信息并不是随机初始化,而是从特征图的位置标记中筛选出最大分类分数较高的位置标记作为目标位置标记或最大分类分数大于预设阈值分数的位置标记作为目标位置标记,并根据目标位置标记对应的预测结果来生成初始目标信息。

可以理解,位置标记的最大分类分数越高,说明位置标记的分类预测越准确。基于此,在本申请实施例中,相较于现有技术,能够保证后续输入到解码器(decoder)网络的初始目标信息是较好、较优、较准确的目标信息,而好的起点更有利于在保证同等目标检测准确性的基础上降低后续对初始目标信息增强的需求,在进行同等初始目标信息增强的条件下提高目标检测的准确性,从而能够减小模型大小、减小算力消耗、提高目标检测效率。

步骤S130:根据所述特征图对所述初始目标信息进行增强,得到增强目标信息。

在本申请的一些实施方式中,可以通过将初始目标信息以及由encoder网络输出的特征图输入到decoder网络,从而利用encoder网络输出的特征图实现对初始目标信息进行增强,以获取更好的分类和定位能力。

其中,decoder网络可以包括自注意力(self-attention)模块以及交叉注意力(cross-attention)模块。

一例中,decoder网络为M层,每层都包括自注意力(self-attention)模块以及交叉注意力(cross-attention)模块。将初始目标信息输入M层的decoder网络,则进行M次增强。

针对初始目标信息中所包括的object query,decoder网络可以基于self-attetention模块对object query进行处理,并输出尺度不变的object query。例如,初始目标信息中所包括的object query为K个,输出的object query也为K个。值得指出的是,输出的object query已经包含彼此的区别信息。后续,decoder网络可以基于cross-attention模块将object query分别与由encoder网络输出的特征图进行特征增强,从而输出经过特征增强后的object query。可以理解的是,输入cross-attention模块的objectquery为K个,输出的经过特征增强后的object query也为K个。

可选的,针对初始目标信息中所包括的reference point,则无需进行更新。

步骤S140:对所述增强目标信息进行分类预测,得到目标检测结果。

在本申请的一些实施方式中,可以通过detection head网络来对增强目标信息进行分类预测,从而得到最终的目标检测结果。

至于detection head网络如何对增强目标信息进行分类预测,则是属于比较成熟的现有技术,此处不再赘述。

本申请实施例所提供的一种目标检测方法,执行目标检测任务需要的初始目标信息并不是随机初始化,而是根据特征图的位置标记对应的分类预测的预测结果,从特征图的位置标记中筛选出满足条件的位置标记作为目标位置标记,并根据目标位置标记的预测结果来初始化初始目标信息。基于此,在本申请实施例中,相较于现有技术,能够保证后续输入到解码器(decoder)网络的初始目标信息是较好、较优、较准确的目标信息,而好的起点更有利于后续进行目标检测,从而有助于提高后续目标检测的准确性。

此外,在一些实施方式中,上述用于进行目标检测的流程可以基于目标检测模型来实现。

如图2A所示,该目标检测模型10的架构主要包括密集检测Dense部分11以及稀疏检测Sparse部分12。

可选的,在一些实施方式中,Dense部分11主要包括encoder网络111以及第一detection head网络112。Sparse部分12主要包括decoder网络121以及第二detectionhead网络122。

一个具体实施方式中,第二detection head网络122的个数与decoder网络121所包括的层数相同,使得decoder网络121所包括的每层子网络与第二detection head网络122一一对应连接。

前文提及,encoder网络111需要获取由backbone网络输出的图像特征,因此,在图2A所示的架构中,目标检测模型10需要借助于其他网络模型的backbone网络来进行特征提取,并将获取到的图像特征输入到自身所包括的encoder网络111中进行处理。

在另一些实施方式中,针对目标检测模型10的Dense部分11,也可以包括backbone网络113,如图2B所示。

上述目标检测模型10是一个有监督的网络模型,从而可以保证目标检测模型10所初始化的初始目标信息具有较好的目标信息。

在训练目标检测模型10的最初级阶段,由于输入目标检测模型10的数据量较少,监督作用还未起到明显作用,那么可以在训练过程的最初阶段,且第一detection head网络112选取目标位置标记时,选取的目标位置标记的个数可以大于用训练好的网络进行目标检测时使用的预设数量K,例如在最初阶段选取3K个目标位置标记,以便通过扩大数据量(搜索范围)的方法来增加具有较好的目标信息的位置标记被选中为目标位置标记的概率。

其中,随着训练的推进,监督机制逐渐完善,3K个目标位置标记中的不良样本被剔除,直至3K降低到K,训练完成。

此外,在一些实施方式中,上述Dense部分11以及Sparse部分12在训练阶段,可以均采用匈牙利匹配损失,以缩短训练周期。

值得指出的是,由于现有技术中的目标检测模型包括6层encoder网络以及6层decoder网络,将会导致由主干网络输入到encoder网络的图像特征需要再经过6次特征提取,且随机初始化的初始目标信息需要由decoder网络进行6次迭代更新增强,使得整个目标检测模型的运行会产生大量的参数量以及计算量,导致当前的主流显卡(例如2080Ti)的显存无法容纳该目标检测模型,进而导致目标检测模型在投入到实际使用过程中存在障碍。若强行将现有技术中的目标检测模型的encoder网络层数或者encoder网络的层数减少,又会导致模型的检测性能下降,失去目标检测意义。

前文提及,通过本申请实施例所涉及到的目标检测方法可以提高目标检测的准确性,即可以提高目标检测的性能,相应的,在与现有技术中的目标检测模型的网络层数结构相应的前提下,相对于现有技术中的目标检测模型,本申请实施例所涉及到的目标检测模型10的性能也得到提高。

由于目标检测模型10的检测性能得到提升,因此,本申请实施例中的目标检测模型10对于encoder网络111层数和/或decoder网络121的依赖性相对降低,即在本申请实施例中,可以通过较少层数的encoder网络111和/或较少层数的decoder网络121来实现较好的目标检测性能。

在这种前提下,在本申请的另一种可选的实施方式中,可以通过降低目标检测模型10的encoder网络111的层数和/或decoder网络121的层数,来降低目标检测模型10运行时所产生的参数量以及计算量,以便当前的主流显卡的显存可以容纳该目标检测模型10。

可选的,在一些实施方式中,目标检测模型10的encoder网络111的层数小于6层,且decoder网络121的层数也小于6层。例如,encoder网络111的层数为3层,decoder网络121的层数为1层,相应的,与decoder网络121连接的第二detection head网络122的数量也为1个。

在这种实施方式中,encoder网络111对backbone网络输出的图像特征进行3次特征提取,且decoder网络121只对初始目标信息增强1次,从而可以极大地减少目标检测模型10运行过程中的参数量以及计算量。

此外,在decoder网络121的层数为1层的前提下,用于对增强目标信息进行分类预测的第二detection head网络可以与第一detection head网络112共享,即两者可以为同一个detection head网络,以便进一步减少目标检测模型10的模型复杂度,有助于当前的主流显卡的显存可以容纳该目标检测模型10。

值得指出的是,经过试验数据可知,在本申请实施例所提供的目标检测模型10的encoder网络111的层数为3层,decoder网络121的层数为1层的前提下,其所能够达到的目标检测性能依旧优于现有技术中的目标检测模型。

如图3所示,本申请实施例还提供一种目标检测装置400,目标检测装置400可以包括:特征提取模块410、预测模块420以及增强模块430。

特征提取模块410,用于对获取到的待检测图像进行特征提取得到特征图;其中,所述特征图所包括的每个特征点被标记位置标记;

预测模块420,用于对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息;

增强模块430,用于根据所述特征图对所述初始目标信息进行增强,得到增强目标信息;

所述预测模块420,还用于对所述增强目标信息进行分类预测,得到目标检测结果。

在一种可能的实施方式中,所述预测模块420,用于通过第一检测头detectionhead网络,对每个所述位置标记进行分类预测,得到各个所述位置标记的坐标偏移信息以及各个所述位置标记的最大分类分数,所述预测结果包括所述坐标偏移信息以及所述最大分类分数;按照所述最大分类分数从高到低的顺序,从所有所述位置标记中确定出预设数量的目标位置标记;根据所述目标位置标记的坐标偏移信息,得到用于表征目标在所述待检测图像中的位置的初始目标位置信息;提取所述目标位置标记在所述特征图中对应位置的特征,得到用于表征目标在所述待检测图像上的目标特征的初始目标查询向量;其中,所述初始目标信息包括所述初始目标位置信息和所述初始目标查询向量。

在一种可能的实施方式中,所述特征提取模块410,用于通过主干backbone网络对所述待检测图像进行下采样,得到图像特征;通过编码器encoder网络对所述图像特征进行特征提取,得到所述特征图。

在一种可能的实施方式中,所述图像特征包括经过不同次数的下采样后所得到的不同层的特征。

在一种可能的实施方式中,所述encoder网络的层数小于六层。

在一种可能的实施方式中,所述增强模块430,用于通过将所述特征图及所述初始目标信息输入到解码器decoder网络来对所述初始目标信息进行增强。

在一种可能的实施方式中,所述decoder网络的层数为M层,所述增强模块430,用于对所述初始目标信息进行M次增强;其中,M为小于6的正整数。

在一种可能的实施方式中,所述M的数值为1。

在一种可能的实施方式中,所述预测模块420,用于通过所述第一检测头detection head网络或第二检测头detection head网络对所述增强目标信息进行分类预测。

在一种可能的实施方式中,所述位置标记为锚点或者锚框。

本申请实施例所提供的目标检测装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的目标检测方法所包含的步骤。

此外,请参照图4,本申请实施例还提供一种用于实现本申请实施例的目标检测方法、装置的电子设备100。在电子设备内可以存储有上述目标检测模型。

可选的,电子设备100,可以是,但不限于个人电脑(Personal computer,PC)、智能手机、平板电脑、移动上网设备(Mobile Internet Device,MID)、个人数字助理、服务器等设备。其中,服务器可以是,但不限于网络服务器、云端服务器等。

其中,电子设备100可以包括:处理器110、存储器120。

应当注意,图4所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。

处理器110、存储器120以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

存储器120用于存储程序,例如存储有前文出现的目标检测方法对应的程序或者前文出现的目标检测装置。可选的,当存储器120内存储有目标检测装置时,目标检测装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。

可选的,目标检测装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。

处理器110用于执行存储器120中存储的可执行模块,例如目标检测装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:对获取到的待检测图像进行特征提取得到特征图;其中,所述特征图所包括的每个特征点对应一位置标记;对每个所述位置标记进行分类预测,并根据预测结果生成初始目标信息;根据所述特征图对所述初始目标信息进行增强,得到增强目标信息;对所述增强目标信息进行分类预测,得到目标检测结果。

当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。

综上所述,本发明实施例提出的目标检测方法、装置、电子设备及计算机可读存储介质,当执行目标检测任务需要K个初始目标信息时,在本申请实施例中,这K个初始目标信息并不是随机初始化,而是从特征图的位置标记中筛选出最大分类分数较高的K个目标位置标记,并根据这K个目标位置标记预测结果来初始化K个初始目标信息。可以理解,位置标记的最大分类分数越高,说明位置标记的分类预测越准确。基于此,在本申请实施例中,相较于现有技术,能够保证后续输入到解码器(decoder)网络的K个初始目标信息是较好、较优、较准确的目标信息,而好的起点更有利于后续进行目标检测,从而有助于提高后续目标检测的准确性。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

技术分类

06120113211410