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

用于跨域目标检测的方法和装置

文献发布时间:2023-06-19 11:14:36


用于跨域目标检测的方法和装置

技术领域

本申请涉及目标检测技术领域,更具体地涉及一种用于跨域目标检测的方法和装置。

背景技术

目标检测领域已经取得了重大的进步,但是目标检测器都是为特定场景设计的,也就是说一个目标检测器在一个数据集上训练,就只能在这个数据集上测试。然而,现实世界环境中通常会有许多特殊的挑战,比如视角、物体外观、背景、光照以及图片质量的不同,使得测试数据和训练数据存在较大的域偏移(domain shift)问题。在跨域目标检测时,如果将现成的一个域的检测器应用于其他域,会导致性能显著下降。因此,需要一种能够实现高性能跨域目标检测的方案。

发明内容

根据本申请一方面,提供了一种用于跨域目标检测的方法,所述方法包括:获取第一数据集,对所述第一数据集进行实例分割,得到需要检测的目标,形成目标掩膜;获取第二数据集,将所述目标掩膜叠加在所述第二数据集的背景图片中,得到第三数据集;对所述第三数据集进行标注,基于经标注的第三数据集训练目标检测模型,以用于实现跨域目标检测。

在本申请的一个实施例中,在将所述目标掩膜叠加在所述第二数据集的背景图片中时,对所述目标掩膜进行数据增强,以得到所述第三数据集。

在本申请的一个实施例中,对所述目标掩膜进行数据增强,包括对所述目标掩膜进行以下中的至少一项:旋转、高斯模糊、翻转、亮暗变化。

在本申请的一个实施例中,对所述目标掩膜进行的旋转的角度小于预设阈值。

在本申请的一个实施例中,所述方法还包括:在将所述目标掩膜叠加在所述第二数据集的背景图片中之前,对所述目标掩膜进行预处理,所述预处理包括:删除所述目标掩膜中不完整的目标掩膜。

在本申请的一个实施例中,对所述第三数据集进行标注,包括:对所述第三数据集进行自动标注;对经自动标注后的第三数据集进行标注修正,以避免出现误标注信息和/或漏标注信息。

在本申请的一个实施例中,所述对所述第三数据集进行自动标注,包括:利用目标检测算法检测所述第三数据集,并将检测框和类别信息自动转换为标注信息。

在本申请的一个实施例中,对所述第一数据集进行实例分割得到的目标包括一种类型或多种类型的目标。

在本申请的一个实施例中,所述方法还包括:基于训练好的所述目标检测模型进行目标检测。

根据本申请另一方面,提供了一种用于跨域目标检测的装置,所述装置包括存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行如上述用于跨域目标检测的方法。

根据本申请实施例的用于跨域目标检测的方法和装置将来自一个数据集上的目标分割出来叠加在另一个数据集的背景图片上形成跨域数据集,并基于跨域数据集训练目标检测模型,能够实现高性能的跨域目标检测。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1A到图1D示出用于同一目标检测的不同数据集的示例性示意图。

图2示出用于实现根据本发明实施例的用于跨域目标检测的方法和装置的示例电子设备的示意性框图。

图3示出根据本申请实施例的用于跨域目标检测的方法的示意性流程图。

图4示出根据本申请实施例的用于跨域目标检测的装置的示意性框图。

具体实施方式

为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。

如前所述的,一般来说,一个目标检测器在一个数据集上训练,就只能在这个数据集上测试。然而,现实世界环境中通常会有许多特殊的挑战,比如视角、物体外观、背景、光照以及图片质量的不同,使得测试数据和训练数据存在较大的域偏移问题。可以结合图1A到图1D来理解域偏移问题。

图1A到图1D示出用于同一目标检测的不同数据集的示例性示意图。如图所示的,从图1A到图1D,分别示出了来自四个不同数据集的示例图片。虽然这些数据集均包括汽车场景,但这些数据集中的图片在分辨率、光照情况、对象尺寸等等方面都有差异。这些数据集之间的视觉差异使得将从一个域(即数据集)学习得到的目标检测模型难以有效地应用于另一个域。

基于此,本申请提出了用于跨域目标检测的方法,下面结合图2到图4来描述。

首先,参照图2来描述用于实现本发明实施例的用于跨域目标检测的方法和装置的示例电子设备200。

如图2所示,电子设备200包括一个或多个处理器202、一个或多个存储装置204、输入装置206以及输出装置208,这些组件通过总线系统210和/或其它形式的连接机构(未示出)互连。应当注意,图2所示的电子设备200的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器202可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备200中的其它组件以执行期望的功能。

所述存储装置204可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器202可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置206可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。此外,所述输入装置206也可以是任何接收信息的接口。

所述输出装置208可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。此外,所述输出装置208也可以是任何其他具备输出功能的设备。

示例性地,用于实现根据本发明实施例的用于跨域目标检测的方法和装置的示例电子设备可以被实现诸如智能手机、平板电脑、摄像头等终端。

下面参考图3描述根据本申请实施例的用于跨域目标检测的方法300。如图3所示,用于跨域目标检测的方法300可以包括如下步骤:

在步骤S310,获取第一数据集,对所述第一数据集进行实例分割,得到需要检测的目标,形成目标掩膜。

在步骤S220,获取第二数据集,将所述目标掩膜叠加在所述第二数据集的背景图片中,得到第三数据集。

在步骤S230,对所述第三数据集进行标注,基于经标注的第三数据集训练目标检测模型,以用于实现跨域目标检测。

在本申请的实施例中,第一数据集和第二数据集是两个不同域的数据集(诸如前文结合图1A到图1D所述的四个数据集中任意两个数据集),为了彼此区分,将其称为第一数据集和第二数据集。此外,为了突出跨域问题,也可将第一数据集称为A域数据集,将第二数据集称为B域数据集。在本申请的实施例中,以实现跨域目标检测为目的,所谓的跨域在该实施例中即为从A域跨到B域,即希望从A域数据集训练得到的目标检测模型能够在B域数据集上进行高性能的目标检测。然而,如前文所述的,直接在A域数据集上训练模型用在B域数据集上性能较差。为此,在本申请的实施例中,利用实例分割算法从A域数据集上分割出需要检测的目标(可以是一种类型的目标,也可以是多种类型的目标,诸如人、人脸、猫、狗、汽车等等),分割出的目标形成目标掩膜;接着,将目标掩膜叠加在B域数据集的背景图片(也称为目标域图片)中,形成一个新的数据集,可将其称为第三数据集或者跨域数据集,该跨域数据集具有A域数据集的前景和B域数据集的背景,也即具有A域的目标和B域的场景;最后,对跨域数据集进行标注,标注后的跨域数据集可用于训练一个目标检测模型,该目标检测模型采用跨域数据集训练得到,可以认为也是针对特定场景(跨域场景)训练的,因而可以实现高性能的跨域目标检测。

在本申请的进一步的实施例中,步骤S320中将目标掩膜叠加在第二数据集的背景图片中时,还可以对目标掩膜进行数据增强,以得到所述第三数据集。在该实施例中,叠加过程中增加了数据增强操作,这使得得到的跨域数据集具有更强的训练能力,有利于提高基于跨域数据集训练得到的目标检测模型的泛化能力,从而提升基于跨域数据集训练得到的目标检测模型在跨域目标检测上的精度。示例性地,对目标掩膜进行的数据增强可以包括以下中的至少一项:旋转、高斯模糊、翻转、亮暗变化。其中,对目标掩膜进行的旋转可以是小角度旋转,例如使其旋转的角度小于预设阈值,以避免增加训练难度。

在本申请的进一步的实施例中,用于跨域目标检测的方法300还可以包括(未示出):在将所述目标掩膜叠加在所述第二数据集的背景图片中之前,对所述目标掩膜进行预处理,所述预处理包括:删除所述目标掩膜中不完整的目标掩膜。由于实例分割可能分割到一些物体的部分信息,从而得到不完整的目标掩膜,因此,该实施例中在将目标掩膜叠加在第二数据集的背景图片中之前,首先删除这些不完整的目标掩膜,使得叠加在第二数据集的背景图片中的背景掩膜均是完整的目标掩膜,即具有完整的图像信息,这有利于提高跨域数据集的数据质量,从而提高基于跨域数据集训练得到的目标检测模型的精度。

在本申请的进一步的实施例中,步骤S330中对第三数据集的标注可以是自动标注、手动标注或者半自动标注。其中,半自动标注是指:对所述第三数据集进行自动标注;对经自动标注后的第三数据集进行标注修正,以避免出现误标注信息和/或漏标注信息。其中,自动标注可以包括:利用目标检测算法检测所述第三数据集,并将检测框和类别信息自动转换为标注信息。在该实施例中,采用半自动标注方法对第三数据集进行标注,不仅可以减少人工标注成本,还可以对自动标注结果中的误标注信息和/或漏标注信息进行修正,以提高标注质量,得到具有正确标注信息的跨域数据集,这有利于提高跨域数据集的数据质量,从而提高基于跨域数据集训练得到的目标检测模型的精度。

基于根据跨域数据集训练得到的目标检测模型,可以进行跨域目标检测(例如在B域数据集上进行测试和应用),如前所述的,由于该目标检测模型采用跨域数据集训练得到,可以认为也是针对特定场景(跨域场景)训练的,因而可以实现高性能的跨域目标检测。

基于上面的描述,根据本申请实施例的用于跨域目标检测的方法将来自一个数据集上的目标分割出来叠加在另一个数据集的背景图片上形成跨域数据集,并基于跨域数据集训练目标检测模型,能够实现高性能的跨域目标检测。

以上示例性地示出了根据本申请实施例的用于跨域目标检测的方法。下面结合图4描述本申请另一方面提供的用于跨域目标检测的装置。

图4示出了根据本申请实施例的用于跨域目标检测的装置400的示意性框图。如图4所示,根据本申请实施例的用于跨域目标检测的装置400可以包括存储器410和处理器420,存储器410存储有由处理器420运行的计算机程序,所述计算机程序在被处理器420运行时,使得处理器420执行前文所述的根据本申请实施例的用于跨域目标检测的方法。本领域技术人员可以结合前文所述的内容理解根据本申请实施例的用于跨域目标检测的装置的具体操作,为了简洁,此处不再赘述具体的细节,仅描述处理器420的一些主要操作。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行如下步骤:获取第一数据集,对所述第一数据集进行实例分割,得到需要检测的目标,形成目标掩膜;获取第二数据集,将所述目标掩膜叠加在所述第二数据集的背景图片中,得到第三数据集;对所述第三数据集进行标注,基于经标注的第三数据集训练目标检测模型,以用于实现跨域目标检测。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的在将所述目标掩膜叠加在所述第二数据集的背景图片中时,还对所述目标掩膜进行数据增强,以得到所述第三数据集。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的对所述目标掩膜进行数据增强,包括对所述目标掩膜进行以下中的至少一项:旋转、高斯模糊、翻转、亮暗变化。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的对所述目标掩膜进行的旋转的角度小于预设阈值。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,还使得处理器420执行如下步骤:在将所述目标掩膜叠加在所述第二数据集的背景图片中之前,对所述目标掩膜进行预处理,所述预处理包括:删除所述目标掩膜中不完整的目标掩膜。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的对所述第三数据集进行标注,包括:对所述第三数据集进行自动标注;对经自动标注后的第三数据集进行标注修正,以避免出现误标注信息和/或漏标注信息。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的所述对第三数据集进行自动标注,包括:利用目标检测算法检测所述第三数据集,并将检测框和类别信息自动转换为标注信息。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,使得处理器420执行的对所述第一数据集进行实例分割得到的目标包括一种类型或多种类型的目标。

在本申请的一个实施例中,所述计算机程序在被处理器420运行时,还使得处理器420执行如下步骤:基于训练好的所述目标检测模型进行目标检测。

此外,根据本申请实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本申请实施例的用于跨域目标检测的方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。

基于上面的描述,根据本申请实施例的用于跨域目标检测的方法和装置将来自一个数据集上的目标分割出来叠加在另一个数据集的背景图片上形成跨域数据集,并基于跨域数据集训练目标检测模型,能够实现高性能的跨域目标检测。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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

相关技术
  • 用于跨域目标检测的方法和装置
  • 用于训练目标检测模型的方法、目标检测方法及装置
技术分类

06120112858606