全国科技企业知识转化平台
专利申请类型:实用新型专利;专利名称:基于前景子空间的开放集目标检测方法和装置
专利类型:实用新型专利
专利申请号:CN202310109841.5
专利申请(专利权)人:中国科学院自动化研究所
权利人地址:北京市海淀区中关村东路95号
专利发明(设计)人:杨沛沛,刘成林,朱彦霖
专利摘要:本申请公开了一种基于前景子空间的开放集目标检测方法和装置,涉及计算机技术领域,其中方法包括:获取待检测图像;将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别;所述目标检测模型用于基于所述待检测图像中候选目标的图像特征与前景子空间之间的距离确定所述前景目标,并基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别;所述前景子空间是基于所述已知类别对应的原型特征构建的。本申请提供的方法和装置,提高了前景目标检测的准确性。
主权利要求:
1.一种基于前景子空间的开放集目标检测方法,其特征在于,包括:
获取待检测图像;
将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别;
其中,所述目标检测模型用于基于所述待检测图像中候选目标的图像特征与前景子空间之间的距离确定所述前景目标,并基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别;所述前景子空间是基于所述已知类别对应的原型特征构建的;
所述将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别,包括:将所述待检测图像输入至所述目标检测模型的多尺度特征提取层,由所述多尺度特征提取层基于不同的特征提取尺度确定所述待检测图像对应的多个不同尺度的特征图;
将所述多个不同尺度的特征图输入至所述目标检测模型的候选目标识别层,得到所述候选目标识别层输出的所述待检测图像对应的候选目标的图像特征和位置特征;
将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与前景子空间之间的距离,确定所述待检测图像对应的前景目标;
将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别,并基于所述前景目标的位置特征确定所述前景目标的预测位置;
所述前景子空间是基于如下步骤构建的:
获取多个已知类别对应的原型特征;
对已知类别对应的原型特征进行主成分分析,确定多个主成分特征向量;
基于所述多个主成分特征向量,构建所述前景子空间。
2.根据权利要求1所述的基于前景子空间的开放集目标检测方法,其特征在于,所述将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与前景子空间之间的距离,确定所述待检测图像对应的前景目标,包括:将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与所述前景子空间中任意向量之间的最小距离,确定所述候选目标的图像特征与所述前景子空间之间的距离;
在所述候选目标的图像特征与所述前景子空间之间的距离小于或者等于前景判定阈值的情况下,将所述候选目标确定为所述待检测图像对应的前景目标。
3.根据权利要求1所述的基于前景子空间的开放集目标检测方法,其特征在于,所述将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别,包括:将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标的图像特征确定所述前景目标在所述前景子空间中的投影坐标,以及基于各个已知类别对应的原型特征确定各个已知类别对应的原型在所述前景子空间中的投影坐标;
基于所述前景目标的投影坐标,以及各个原型的投影坐标,确定所述前景目标与各个原型之间的距离;
在所述前景目标与任一原型之间的距离小于或者等于类别判定阈值的情况下,将所述任一原型对应的已知类别确定为所述前景目标的预测类别;
在所述前景目标与各个原型之间的距离均大于类别判定阈值的情况下,将所述前景目标的预测类别确定为未知类别。
4.根据权利要求1所述的基于前景子空间的开放集目标检测方法,其特征在于,所述多尺度特征提取层是基于特征金字塔网络构建的。
5.根据权利要求1至4任一项所述的基于前景子空间的开放集目标检测方法,其特征在于,所述目标检测模型的目标分类训练损失函数是基于如下步骤确定的:基于样本前景目标属于真实类别的条件概率,以及所述样本前景目标不属于非真实类别的条件概率,确定所述目标检测模型的类别损失函数;
基于样本前景目标与所述真实类别中对应的原型在所述前景子空间中的投影坐标之间的最小距离,确定所述目标检测模型的原型损失函数;
基于所述类别损失函数和所述原型损失函数,确定所述目标检测模型的目标分类训练损失函数。
6.一种基于前景子空间的开放集目标检测装置,其特征在于,包括:
获取单元,用于获取待检测图像;
检测单元,用于将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别;
其中,所述目标检测模型用于基于所述待检测图像中候选目标的图像特征与前景子空间之间的距离确定所述前景目标,并基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别;所述前景子空间是基于所述已知类别对应的原型特征构建的;
所述检测单元具体用于:
将所述待检测图像输入至所述目标检测模型的多尺度特征提取层,由所述多尺度特征提取层基于不同的特征提取尺度确定所述待检测图像对应的多个不同尺度的特征图;
将所述多个不同尺度的特征图输入至所述目标检测模型的候选目标识别层,得到所述候选目标识别层输出的所述待检测图像对应的候选目标的图像特征和位置特征;
将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与前景子空间之间的距离,确定所述待检测图像对应的前景目标;
将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别,并基于所述前景目标的位置特征确定所述前景目标的预测位置;
所述装置还包括:
构建单元,用于获取多个已知类别对应的原型特征;
对已知类别对应的原型特征进行主成分分析,确定多个主成分特征向量;
基于所述多个主成分特征向量,构建所述前景子空间。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于前景子空间的开放集目标检测方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于前景子空间的开放集目标检测方法。 说明书 : 基于前景子空间的开放集目标检测方法和装置技术领域[0001] 本申请涉及计算机技术领域,具体而言,涉及一种基于前景子空间的开放集目标检测方法和装置。背景技术[0002] 目标检测是模式识别和计算机视觉领域的重要任务之一,它旨在通过图像分析得到图像中目标的具体位置及所属类别,是理解图像高层语义信息的重要基础,长期以来受到学术界和工业界的广泛关注,在视频监控、自动驾驶、智能交通、机器人导航、多媒体检索、影视创作等众多应用领域中发挥着重要的作用。近年来,随着深度学习技术的不断发展,从大量数据中进行自动特征学习逐渐成为主流,以卷积神经网络为代表的深度神经网络在目标检测中的广泛应用极大地推动了领域的发展,目前已成为主流的目标检测技术。[0003] 当前的目标检测算法几乎都是基于封闭类别集假设进行设计的,即检测器只能检测出训练数据中已标记类别的物体。然而,在实际应用中,目标检测算法的使用场景常常是在开放环境下的,被检测物体的类别集是开放集,即算法需要检测的感兴趣目标包括未曾在训练过程中学习过的未知类别目标。然而现有算法对于类别未知的目标,将直接作为背景忽略掉,无法将其检测出,因而不能满足实际使用场景的需求。发明内容[0004] 第一方面,本申请提供一种基于前景子空间的开放集目标检测方法,包括:[0005] 获取待检测图像;[0006] 将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别;[0007] 其中,所述目标检测模型用于基于所述待检测图像中候选目标的图像特征与前景子空间之间的距离确定所述前景目标,并基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别;所述前景子空间是基于所述已知类别对应的原型特征构建的。[0008] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别,包括:[0009] 将所述待检测图像输入至所述目标检测模型的多尺度特征提取层,由所述多尺度特征提取层基于不同的特征提取尺度确定所述待检测图像对应的多个不同尺度的特征图;[0010] 将所述多个不同尺度的特征图输入至所述目标检测模型的候选目标识别层,得到所述候选目标识别层输出的所述待检测图像对应的候选目标的图像特征和位置特征;[0011] 将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与前景子空间之间的距离,确定所述待检测图像对应的前景目标;[0012] 将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别,并基于所述前景目标的位置特征确定所述前景目标的预测位置。[0013] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与前景子空间之间的距离,确定所述待检测图像对应的前景目标,包括:[0014] 将所述候选目标的图像特征输入至所述目标检测模型的前景目标识别层,由所述前景目标识别层基于所述候选目标的图像特征与所述前景子空间中任意向量之间的最小距离,确定所述候选目标的图像特征与所述前景子空间之间的距离;[0015] 在所述候选目标的图像特征与所述前景子空间之间的距离小于或者等于前景判定阈值的情况下,将所述候选目标确定为所述待检测图像对应的前景目标。[0016] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别,包括:[0017] 将所述前景目标的图像特征输入至所述目标检测模型的类别识别层,由所述类别识别层基于所述前景目标的图像特征确定所述前景目标在所述前景子空间中的投影坐标,以及基于各个已知类别对应的原型特征确定各个已知类别对应的原型在所述前景子空间中的投影坐标;[0018] 基于所述前景目标的投影坐标,以及各个原型的投影坐标,确定所述前景目标与各个原型之间的距离;[0019] 在所述前景目标与任一原型之间的距离小于或者等于类别判定阈值的情况下,将所述任一原型对应的已知类别确定为所述前景目标的预测类别;[0020] 在所述前景目标与各个原型之间的距离均大于类别判定阈值的情况下,将所述前景目标的预测类别确定为未知类别。[0021] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述多尺度特征提取层是基于特征金字塔网络构建的。[0022] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述前景子空间是基于如下步骤构建的:[0023] 获取多个已知类别对应的原型特征;[0024] 对已知类别对应的原型特征进行主成分分析,确定多个主成分特征向量;[0025] 基于所述多个主成分特征向量,构建所述前景子空间。[0026] 根据本申请提供的基于前景子空间的开放集目标检测方法,所述目标检测模型的目标分类训练损失函数是基于如下步骤确定的:[0027] 基于样本前景目标属于真实类别的条件概率,以及所述样本前景目标不属于非真实类别的条件概率,确定所述目标检测模型的类别损失函数;[0028] 基于样本前景目标与所述真实类别中对应的原型在所述前景子空间中的投影坐标之间的最小距离,确定所述目标检测模型的原型损失函数;[0029] 基于所述类别损失函数和所述原型损失函数,确定所述目标检测模型的目标分类训练损失函数。[0030] 第二方面,本申请提供一种基于前景子空间的开放集目标检测装置,包括:[0031] 获取单元,用于获取待检测图像;[0032] 检测单元,用于将所述待检测图像输入至目标检测模型,得到所述目标检测模型输出的所述待检测图像对应的前景目标的预测位置和预测类别;[0033] 其中,所述目标检测模型用于基于所述待检测图像中候选目标的图像特征与前景子空间之间的距离确定所述前景目标,并基于所述前景目标与已知类别对应的原型在所述前景子空间中的投影坐标之间的距离确定所述前景目标的预测类别;所述前景子空间是基于所述已知类别对应的原型特征构建的。[0034] 第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于前景子空间的开放集目标检测方法。[0035] 第四方面,本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于前景子空间的开放集目标检测方法。附图说明[0036] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。[0037] 为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0038] 图1为本申请提供的基于前景子空间的开放集目标检测方法的流程示意图之一;[0039] 图2是本申请提供的目标检测模型的结构示意图;[0040] 图3为本申请提供的基于前景子空间的开放集目标检测方法的流程示意图之二;[0041] 图4是本申请提供的基于前景子空间的开放集目标检测装置的结构示意图;[0042] 图5是本申请提供的电子设备的结构示意图。具体实施方式[0043] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。[0044] 需要说明的是,本申请中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。[0045] 图1为本申请提供的基于前景子空间的开放集目标检测方法的流程示意图之一,如图1所示,该方法包括:[0046] 步骤110、获取待检测图像。[0047] 具体地,本申请实施例提供的基于前景子空间的开放集目标检测方法的执行主体为开放集目标检测装置。该装置可以为终端中独立设置的硬件设备,也可以为运行在终端中的软件程序。终端可以包括移动终端、服务器、平板电脑和计算机等。[0048] 待检测图像为包含前景目标的图像。例如,可以对前景目标进行监控,将采集得到的视频中的每一帧图像作为待检测图像。[0049] 前景目标为待检测图像中需要被检测的目标。例如待检测图像可以为对道路进行监控的图像,图像中的行人或者车辆为需要被检测得到的前景目标,而该图像中的其他物体则应该被视为该图像中的背景。[0050] 步骤120、将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别;其中,目标检测模型用于基于待检测图像中候选目标的图像特征与前景子空间之间的距离确定前景目标,并基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别;前景子空间是基于已知类别对应的原型特征构建的。[0051] 具体地,可以采用神经网络模型作为初始模型,训练后得到目标检测模型。将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别。预测位置为前景目标在待检测图像中对应的像素位置预测结果,预测类别为前景目标对应的类别预测结果。[0052] 例如,以道路监控图像中的不同类别的车辆作为需要被检测的前景目标。可以将道路监控图像作为待检测图像输入目标检测模型,由目标检测模型输出道路监控图像中的车辆,各个车辆在该道路监控图像中的位置,以及各个车辆对应的车辆类别。比如检测到两个车辆,其中一辆位于该道路监控图像中的左上方,该车辆对应的类别为轿车,另一辆位于该道路监控图像中的右下方,该车辆对应的类别为卡车。[0053] 已知类别为已知的目标类别,例如轿车类别、卡车类别和客车类别等。原型为已知类别的前景目标对应的特征表示的代表,例如,轿车类别下可以有多个具体的轿车,可以采用一个或者多个原型来代表这些属于轿车类别的具体对象。具体可以为:获取多个包含具体的轿车目标的图像,使用目标检测模型对这些图像进行特征提取后,在类别识别层得到这些轿车的特征表示,在特征空间中,用一个或多个可学习的特征向量代表轿车样本在特征空间中的分布,即为该类别的原型,可以抽象地代表轿车样本的共有特征。[0054] 相应地,未知类别为未知的前景目标类别。例如,在道路监控图像中出现的特种车辆,该车辆属于前景目标,但不属于轿车类别、卡车类别或者客车类别,则可以将其划分为未知类别。[0055] 根据“前景目标的特征应当具有一定相关性”这一假设,可以利用当前已知类别对应的原型特征生成前景子空间,再根据前景子空间来对待检测图像中的各个候选目标进行判断,判断其是否属于前景目标。[0056] 前景子空间的构建方法可以为:先确定待检测图像中前景目标可能属于的多个已知类别,再收集包含这些已知类别目标的图像;这些图像输入目标检测模型后,在类别识别层得到各类别的原型特征,根据这些原型特征,构建前景子空间。[0057] 将待检测图像输入至目标检测模型后,目标检测模型可以对待检测图像进行特征提取,确定多个候选目标,以及各个候选目标的图像特征。候选目标可能是需要被检测的前景目标,也可能不是前景目标。[0058] 目标检测模型可以根据各个候选目标的图像特征与前景子空间之间的距离,确定各个候选目标是否属于前景目标。例如,距离越小,候选目标成为前景目标的可能性就越大;距离越大,候选目标成为前景目标的可能性就越小。[0059] 在确定前景目标后,目标检测模型再将前景目标与已知类别对应的原型进行相似度比较,可以采用比较前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离来实现,距离越小,相似度越高,前景目标和已知类别对应的原型就越可能属于同一类别;距离越大,相似度越低,前景目标和已知类别对应的原型就越可能属于不同类别。根据上述原理,可以确定前景目标的预测类别。[0060] 本申请实施例提供的基于前景子空间的开放集目标检测方法,通过将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别;目标检测模型通过根据待检测图像中各个候选目标的图像特征与前景子空间之间的距离确定前景目标,并根据前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别,由于前景子空间是根据已知类别对应的原型特征构建的,不仅能够实现检测属于已知类别的前景目标,还能够实现检测不属于已知类别的前景目标,提高了前景目标检测的准确性。[0061] 需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。[0062] 在一些实施例中,步骤120包括:[0063] 将待检测图像输入至目标检测模型的多尺度特征提取层,由多尺度特征提取层基于不同的特征提取尺度确定待检测图像对应的多个不同尺度的特征图;[0064] 将多个不同尺度的特征图输入至目标检测模型的候选目标识别层,得到候选目标识别层输出的待检测图像对应的候选目标的图像特征和位置特征;[0065] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于候选目标的图像特征与前景子空间之间的距离,确定待检测图像对应的前景目标;[0066] 将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别,并基于前景目标的位置特征确定前景目标的预测位置。[0067] 具体地,图2是本申请提供的目标检测模型的结构示意图,如图2所示,目标检测模型包括依次连接的多尺度特征提取层210、候选目标识别层220、前景目标识别层230和类别识别层240。[0068] 将待检测图像输入至目标检测模型的多尺度特征提取层,由多尺度特征提取层从不同的特征提取尺度,对待检测图像进行特征提取,得到待检测图像对应的多个不同尺度的特征图。[0069] 将多个不同尺度的特征图输入至目标检测模型的候选目标识别层,由候选目标识别层对多个不同尺度的特征图进行识别,得到候选目标,以及候选目标的图像特征和位置特征。[0070] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层确定候选目标的图像特征与前景子空间之间的距离,并根据距离确定候选目标是否属于前景目标,即待检测图像对应的前景目标。[0071] 将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层确定前景目标在前景子空间中的投影坐标,以及已知类别对应的原型在前景子空间中的投影坐标,并根据这些投影坐标之间的距离确定前景目标的预测类别,并根据前景目标的位置特征确定前景目标的预测位置。[0072] 本申请实施例提供的基于前景子空间的开放集目标检测方法,通过多尺度特征提取,以及基于前景子空间进行目标分类,从而利用统一构建的类别识别层实现了特征的跨尺度语义信息关联,使得目标检测能够更好地适应目标尺度变化。[0073] 在一些实施例中,将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于各个候选目标的图像特征与前景子空间之间的距离,确定待检测图像对应的前景目标,包括:[0074] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于该候选目标的图像特征与前景子空间中任意向量之间的最小距离,确定该候选目标的图像特征与前景子空间之间的距离;[0075] 在该候选目标的图像特征与前景子空间之间的距离小于或者等于前景判定阈值的情况下,将该候选目标确定为待检测图像对应的前景目标。[0076] 具体地,候选目标识别层输出各个候选目标的图像特征和位置特征。候选目标X的图像特征可以表示为f(X), 其中 为实数集,l为特征维度。位置特征可以用候选目标对应的边界框的偏移量(tx,ty,tw,th)表示。其中,tx用于表示候选目标对应的边界框的中心相对该预测框所在的网络单元左上角沿着待检测图像在X方向上的偏移量,ty用于表示候选目标对应的边界框的中心相对该预测框所在的网络单元左上角沿着待检测图像在Y方向上的偏移量,tw用于表示候选目标对应的边界框的宽度,th用于表示候选目标对应的边界框的高度。[0077] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于候选目标的图像特征与前景子空间中任意向量之间的最小距离,确定该候选目标的图像特征与前景子空间之间的距离。例如,候选目标X的图像特征f(X)与前景子空间 之间的距离,定义为前景子空间 中任意向量z与f(X)在特征空间中的最小欧氏距离的平方,用公式表示为:[0078][0079] 其中, 为候选目标X的图像特征f(X)与前景子空间 之间的距离。[0080] 在选取合适的前景判定阈值TF以后,可以根据该距离进行判断候选目标是否为前景。当 时,将候选目标X确定为待检测图像对应的前景目标,否则判定其为背景直接丢弃。[0081] 上述前景目标的判断原理为:前景目标具有一定相似性,当任一候选目标X的图像特征f(X)到前景子空间 距离较近时,该任一候选目标X的图像特征f(X)可以由已知类别的原型特征进行线性重构,因而认为它与已知类别的原型具有较高的相似性,视其为前景目标;否则认为它与已知类别的原型不相似,视其为背景。[0082] 在一些实施例中,将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别,包括:[0083] 将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层基于前景目标的图像特征确定前景目标在前景子空间中的投影坐标,以及基于各个已知类别对应的原型特征确定各个已知类别对应的原型在前景子空间中的投影坐标;[0084] 基于前景目标的投影坐标,以及各个原型的投影坐标,确定前景目标与各个原型之间的距离;[0085] 在前景目标与任一原型之间的距离小于或者等于类别判定阈值的情况下,将任一原型对应的已知类别确定为前景目标的预测类别;[0086] 在前景目标与各个原型之间的距离均大于类别判定阈值的情况下,将前景目标的预测类别确定为未知类别。[0087] 具体地,考虑到与前景目标类别判别相关的信息主要存在于前景子空间中,类别识别层根据前景目标的图像特征确定前景目标在前景子空间中的投影坐标,可以用公式表示为:[0088][0089] 其中,X为从候选目标中确定的前景目标,f(X)为前景目标X的图像特征,T为转置运算符,k为前景子空间的特征维度, 为前景目标X在前景子空间中的投影坐标,U为前景子空间的单位正交基集合,即 其中ui为前景子空间中的第i个基向量,i∈[1,k],且[0090] 采用类似的方法,类别识别层可以确定各个已知类别对应的原型在前景子空间中的投影坐标,例如,将第i个已知类别对应的第j个原型投影到前景子空间中,得到该原型的投影坐标[0091] 在前景子空间中,前景目标X属于某个已知类别的概率由该前景目标X与该已知类别中的原型之间的相似度决定,而相似度取决于它们投影坐标之间的距离,可以用公式表示为:[0092][0093] 其中, 为前景目标X与第i个已知类别对应的第j个原型在前景子空间中的欧氏距离。[0094] 在前景目标与任一原型之间的距离小于或者等于类别判定阈值的情况下,将该原型对应的已知类别确定为前景目标的预测类别;在前景目标与各个原型之间的距离均大于类别判定阈值的情况下,将前景目标的预测类别确定为未知类别。[0095] 例如,为了判定前景目标的预测类别,首先在前景子空间中找到与该前景目标之间投影距离最小的原型(最近原型),用公式表示为:[0096][0097] 其中,投影距离最小的原型(最近原型)为第i*个已知类别下的第j*个原型。[0098] 再根据该距离判断该前景目标属于某个已知类别或未知类别,当其与最近原型的距离不大于类别判定阈值Tdis时,判定它属于最近原型所对应的已知类别,否则为未知类别。用公式表示为:[0099][0100] 式中,y*为前景目标的预测类别。[0101] 在一些实施例中,多尺度特征提取层是基于特征金字塔网络构建的。[0102] 具体地,多尺度特征提取层可以采用特征金字塔网络进行构建。[0103] 可以以YOLO系列检测算法中的特征提取和特征融合部分为基础,构建多尺度特征提取层。例如,选取YOLOx‑DarkNet53算法时,则使用DarkNet53网络作为主干网络对待检测图像进行特征提取,然后使用空间金字塔池化结构(SPP)将任意大小的特征图转换成固定大小的特征向量,以适应不同大小的图像,再使用特征金字塔网络(FPN)对不同尺度的特征进行融合,分别得到融合后的三个不同尺度的特征图。[0104] 相应地,候选目标识别层也可以根据YOLO系列检测算法构建。[0105] YOLO系列检测算法的检测头一般都是通过多层神经网络生成关于候选目标的预测量,包括类别条件概率、前景目标性分数、目标边界框偏移量,其中前项在最后一层使用sigmoid输出。本申请可以在原检测头的基础上,删除前景目标分数预测,保留原目标边界框偏移量预测,而将用于类别条件概率预测的sigmoid层以及前面一层删除,替换为前景子空间中的l维特征表示,得到候选目标识别层。候选目标识别层输出候选目标的图像特征和位置特征。图像特征可以采用l维的特征表示,位置特征可以采用4维边界框的偏移量。[0106] 本申请实施例提供的基于前景子空间的开放集目标检测方法,能够统一多个尺度的图像特征,使得目标检测能够更好地适应目标尺度的变化。[0107] 在一些实施例中,前景子空间是基于如下步骤构建的:[0108] 获取多个已知类别对应的原型特征;[0109] 对各个已知类别对应的原型特征进行主成分分析,确定多个主成分特征向量;[0110] 基于多个主成分特征向量,构建前景子空间。[0111] 具体地,已知类别的数量为C,每个已知类别包含n个原型,则所有原型可记为其中i∈1,2,…,C表示已知类别索引,j∈1,2,…,n表示每个已知类别的原型索引。此处,可以假设所有类别都使用同样的原型数目,实际中每个已知类别都可以使用不同数目的原型。[0112] 可以确定各个原型特征,对所有已知类别对应的原型特征进行主成分分析(PrincipalComponentAnalysis,PCA)。取对应前k个最大特征值的主成分特征向量[0113] 以各个主成分特征向量为基向量,构建前景子空间,用公式表示为:[0114][0115] 其中,αi为线性系数。[0116] 在一些实施例中,目标检测模型的目标分类训练损失函数是基于如下步骤确定的:[0117] 基于样本前景目标属于真实类别的条件概率,以及样本前景目标不属于非真实类别的条件概率,确定目标检测模型的类别损失函数;[0118] 基于样本前景目标与真实类别中对应的原型在前景子空间中的投影坐标之间的最小距离,确定目标检测模型的原型损失函数;[0119] 基于类别损失函数和原型损失函数,确定目标检测模型的目标分类训练损失函数。[0120] 具体地,可以对目标检测模型使用一对多的训练方式,以提高对未知类别目标的判别能力。通过定义合理的损失函数来度量当前输出与期望输出之间的差异,进而计算梯度并不断向上传播,对网络参数进行修正和调整。[0121] 为了提高目标检测模型对未知类别的前景目标的检测能力,目标检测模型的目标分类训练损失函数可以包括类别损失函数和原型损失函数两部分:根据训练样本的类别信息构造的一对多类别损失(OVALoss)、根据原型与训练样本的分布关系构造的原型损失(PrototypeLoss)。该损失函数是基于预测框训练样本构建的,这些预测框训练样本由训练集中的图片输入到所述目标检测模型中预测生成得到,每个预测框对应图中的一个候选目标图像,同时将它与图中的真实目标框进行匹配,其对应的真实目标框的类别即为该预测框中候选目标的真实类别。[0122] 通过在包含已知类别前景目标的图片样本集上最小化目标分类训练损失函数,就可以得到目标检测模型中的模型参数。[0123] 目标检测模型的目标分类训练损失函数可以用公式表示为:[0124][0125] 式中, 为目标分类训练损失函数, 为一对多的类别损失函数, 为原型损失函数,λ为权重调节参数。(X,y)是一个预测框训练样本,它由训练集中的图片输入到所述目标检测模型中预测生成,其中X代表该预测框对应的候选目标,y代表与该预测框匹配的真实目标框类别,所有训练图像生成的预测框训练样本构成的集合记为 而 为该预测框对应的候选目标图像特征在前景子空间中的投影坐标,θ为待学习的网络参数, 表示所有已知类别的原型的集合,c为与除真实类别y以外的任意其他类别。[0126] 对于一对多的类别损失函数Lova,它使原型的分布与训练数据的类别相匹配,该损失中的p(y=i|X)为样本前景目标属于对应类别i的条件概率,它是由样本前景目标的特征与原型之间的距离计算得到的。[0127] 在使用一对多的类别损失中,定义了C个二类分类器hi(X):[0128][0129] 式中,r为比较阈值。[0130] 对于某个属于第y类的样本前景目标X,它应当被第y个类别的分类器判定为正类,同时被其他类别的分类器判定为负类:[0131][0132] 因此,可以使用该分类器的输出来计算该样本前景目标属于类别i的条件概率:[0133][0134] 式中,ξ为超参数,σ表示函数变换。[0135] 则p(y|X)为样本前景目标属于真实类别的条件概率,1‑p(c|X)为样本前景目标不属于非真实类别的条件概率,则根据交叉熵损失函数的定义,可以得到关于预测框训练样本(X,y)的类别损失函数:[0136][0137] 对于原型损失函数Lpl,尽管使用基于距离的交叉熵损失可以使得模型收敛,并能够正确地进行分类,但只使用基于距离的交叉熵损失对模型进行优化,很难使得相同类别的样本特征在空间中紧凑。因此本申请在训练过程中同时引入了原型损失,它促使每个样*本特征与其相同类别的原型靠近,如下式所示,式中y为样本X的真实已知类别,而j 则为该类别中距离样本最近的原型标号:[0138][0139][0140] 式中, 表示与样本X对应的真实已知类别y距离最小的原型。[0141] 本申请实施例提供的基于前景子空间的开放集目标检测方法,使用一对多的训练方式,目标分类训练损失函数既包括了类别损失,又包括了原型损失,使得目标检测模型的训练既能够正确地进行分类,又能够更好地关注目标与每个类别中原型之间的差异,提高了对未知类别目标的判断能力。[0142] 图3为本申请提供的基于前景子空间的开放集目标检测方法的流程示意图之二,如图3所示,该方法包括:[0143] 步骤S1、基于YOLO目标检测算法构建算法基本架构[0144] 该算法的基本架构可以使用任意版本的YOLO目标检测算法进行构建,保留特征提取和特征融合部分。以Yolox‑DarkNet53为例,保留原框架中的DarkNet53网络作为主干网络,用于特征提取,使用空间金字塔池化结构(SPP)将任意大小的特征图转换成固定大小的特征向量,再使用特征金字塔网络(FPN)对不同尺度的特征进行融合,得到融合后的特征图。[0145] 步骤S2、构建前景子空间[0146] 获取多个已知类别,以及各个已知类别对应的原型。对检测头中原型分类器的各个原型做主成分分析(PCA),取对应的多个最大特征值的主成分方向,由它们张成的多维子空间即前景子空间。[0147] 步骤S3、目标检测与未知类目标发现[0148] 将融合后的三个不同尺度的特征图送入同一个检测头中,对每个尺度上的特征进行解码,得到图中目标位置和种类的预测结果。[0149] 该步骤具体分为:[0150] 步骤S3.1、使用共享的Conv(卷积层)+BN(归一化层)+ReLu(激活函数层)模块对输入特征图进行调整。[0151] 步骤S3.2、将调整后的特征图输入至解耦的两个预测分支,其中分类预测分支通过两个Conv+BN+ReLu模块预测该候选目标图像在原型空间中的l维特征表示,位置预测分支通过两个Conv+BN+ReLu模块和1个1×1卷积预测目标边界框的偏移量。[0152] 步骤S3.3、对候选目标的预测量依次进行解码(每个预测框对应的预测量维度为l+4)。[0153] 步骤S3.3.1、根据每个候选目标的边框偏移量(tx,ty)计算预测框的中心坐标(bx,by):[0154] bx=cx+tx[0155] by=cy+ty[0156] 其中(cx,cy)为该预测框所在的网络单元左上角坐标。[0157] 步骤S3.3.2、根据每个候选目标的边框偏移量(tw,th)计算边预测框的宽和高(bw,bh):[0158][0159][0160] 步骤S3.3.3、计算候选目标特征到前景子空间的距离。根据前景判定阈值判断候选目标是否为前景:当距离小于等于前景判定阈值时,判定该预测框所包含候选目标图像为前景并进行类别的识别,否则判定其为背景直接丢弃。[0161] 步骤S3.3.4、将判定为前景的候选目标特征投影到前景子空间中,确定该候选目标的投影坐标。[0162] 步骤S3.3.5、将所有原型投影到前景子空间中,并记它们的投影坐标。[0163] 步骤S3.3.6、在前景子空间内,计算候选目标的投影坐标与所有类别原型的投影坐标之间的欧氏距离。先找到距离最小的原型,再根据该距离判断该框中目标属于某个已知类别或未知类别,当其与最近原型的距离不大于类别判定阈值时,判定它属于最近原型所对应的已知类别,否则为未知类别。[0164] (1)本申请基于YOLO系列目标检测算法提出一种开放集目标检测算法,它不仅能够从输入图像中检测出预定类别的前景目标,还可以主动识别随环境变化而新出现的未知类别的前景目标。[0165] (2)本申请在检测头中嵌入原型分类器,并利用它将前景判别机制与开放集目标分类机制融合在同一个框架内,实现开放集目标检测的能力。[0166] (3)本申请利用已知目标类别的原型向量构建前景子空间,并基于候选目标的图像特征到前景子空间的距离实现前景目标判别机制。[0167] (4)本申请将目标候选目标图像特征投影到前景子空间内,根据其特征到各类别原型之间的距离判定目标类别,实现开放集目标识别。[0168] (5)本申请将特征金字塔结构与原型分类器相结合,实现多尺度特征在目标分类器中的融合,利用统一的原型空间实现特征的跨尺度语义信息关联,使检测能够更好地适应目标尺度变化。[0169] (6)本申请使用“一对多”的方式对检测模型进行训练,使其在学习过程中更好地关注每个类别的特征,提高对未知类别目标的判别能力。[0170] 基于上述一些实施例中的方法,本申请还提供了一种装置。[0171] 图4是本申请提供的基于前景子空间的开放集目标检测装置的结构示意图,如图4所示,该装置包括:[0172] 获取单元410,用于获取待检测图像;[0173] 检测单元420,用于将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别;[0174] 其中,目标检测模型用于基于待检测图像中候选目标的图像特征与前景子空间之间的距离确定前景目标,并基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别;前景子空间是基于已知类别对应的原型特征构建的。[0175] 本申请实施例提供的基于前景子空间的开放集目标检测装置,通过将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别;目标检测模型通过根据待检测图像中各个候选目标的图像特征与前景子空间之间的距离确定前景目标,并根据前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别,由于前景子空间是根据已知类别对应的原型特征构建的,不仅能够实现检测属于已知类别的前景目标,还能够实现检测不属于已知类别的前景目标,提高了前景目标检测的准确性。[0176] 在一些实施例中,检测单元具体用于:[0177] 将待检测图像输入至目标检测模型的多尺度特征提取层,由多尺度特征提取层基于不同的特征提取尺度确定待检测图像对应的多个不同尺度的特征图;[0178] 将多个不同尺度的特征图输入至目标检测模型的候选目标识别层,得到候选目标识别层输出的待检测图像对应的候选目标的图像特征和位置特征;[0179] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于候选目标的图像特征与前景子空间之间的距离,确定待检测图像对应的前景目标;[0180] 将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别,并基于前景目标的位置特征确定前景目标的预测位置。[0181] 在一些实施例中,检测单元具体用于:[0182] 将候选目标的图像特征输入至目标检测模型的前景目标识别层,由前景目标识别层基于候选目标的图像特征与前景子空间中任意向量之间的最小距离,确定该候选目标的图像特征与前景子空间之间的距离;[0183] 在该候选目标的图像特征与前景子空间之间的距离小于或者等于前景判定阈值的情况下,将该候选目标确定为待检测图像对应的前景目标。[0184] 在一些实施例中,检测单元具体用于:[0185] 将前景目标的图像特征输入至目标检测模型的类别识别层,由类别识别层基于前景目标的图像特征确定前景目标在前景子空间中的投影坐标,以及基于各个已知类别对应的原型特征确定各个已知类别对应的原型在前景子空间中的投影坐标;[0186] 基于前景目标的投影坐标,以及各个原型的投影坐标,确定前景目标与各个原型之间的距离;[0187] 在前景目标与任一原型之间的距离小于或者等于类别判定阈值的情况下,将任一原型对应的已知类别确定为前景目标的预测类别;[0188] 在前景目标与各个原型之间的距离均大于类别判定阈值的情况下,将前景目标的预测类别确定为未知类别。[0189] 在一些实施例中,多尺度特征提取层是基于特征金字塔网络构建的。[0190] 在一些实施例中,该装置还包括:[0191] 构建单元,用于获取多个已知类别对应的原型特征;[0192] 对各个已知类别对应的原型特征进行主成分分析,确定多个主成分特征向量;[0193] 基于多个主成分特征向量,构建前景子空间。[0194] 在一些实施例中,该装置还包括:[0195] 确定单元,用于基于样本前景目标属于真实类别的条件概率,以及样本前景目标不属于非真实类别的条件概率,确定目标检测模型的类别损失函数;[0196] 基于样本前景目标与真实类别中对应的原型在前景子空间中的投影坐标之间的最小距离,确定目标检测模型的原型损失函数;[0197] 基于类别损失函数和原型损失函数,确定目标检测模型的目标分类训练损失函数。[0198] 在一些实施例中,图5为本申请提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(CommunicationsInterface)520、存储器(Memory)530和通信总线(CommunicationsBus)540,其中,处理器510,通信接口520和存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑命令,以执行如下方法:[0199] 获取待检测图像;将待检测图像输入至目标检测模型,得到目标检测模型输出的待检测图像对应的前景目标的预测位置和预测类别;其中,目标检测模型用于基于待检测图像中候选目标的图像特征与前景子空间之间的距离确定前景目标,并基于前景目标与已知类别对应的原型在前景子空间中的投影坐标之间的距离确定前景目标的预测类别;前景子空间是基于已知类别对应的原型特征构建的。[0200] 此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0201] 本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。[0202] 本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。[0203] 其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。[0204] 本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。[0205] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0206] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。[0207] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
专利地区:北京
专利申请日期:2023-02-02
专利公开日期:2024-09-03
专利公告号:CN116229159B