具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种训练目标检测模型和构建样本集的方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现训练目标检测模型和构建样本集的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的训练目标检测模型和构建样本集的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的训练目标检测模型和构建样本集的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种对目标检测模型进行训练的方法,该方法由图1中所示的计算设备实现。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;
S204:利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及
S206:将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息对待训练的目标检测模型进行训练。
具体地,根据本实施例的技术方案,在利用计算设备对待训练的目标检测模型进行训练的过程中,计算设备首先使用已有的带人工标签的目标检测训练集DataA(简称DA,即第一训练样本集)训练基础检测模型ModelBase(简称MB,即第一目标检测模型)(S202)。
其中,目标检测训练集DA包括两个部分:一个是图像集(即第一图像集合),一个是标注集(即第一标注集合)。其中图像集包括多个图像(即,第一图像),并且标注集包括分别与图像集中的每个图像对应的标注信息(即,第一标注信息),其中每个标注信息包含两个部分:图像中所包含的目标对象的类别i(即类别信息)以及相应的边界框的边界框坐标(x,y,w,h)(即第一边界框位置信息)。其中,x表示边界框左上角顶点的横坐标,y表示边界框左上角顶点的纵坐标,w表示边界框的宽度,h表示边界框的高度。
并且,具体地,目标检测训练集DA可以是公开的数据集,比如MS COCO,也可以是私有的数据集,并且数据集所包含的图像类别越丰富越好。
具体地,图3示出了目标检测训练集DA的图像集中的一个图像100的示意图,参考图3所示,图像100中包含有3个目标对象111~113。因此,与该图像100对应的标注信息包含分别与3个目标对象111~113对应的类别,以及分别与3个目标对象111~113相应的边界框121~123的边界框坐标。以此类推,目标检测训练集DA的图像集的图像对应的标注信息包括图像所包含的各个目标对象的类别以及相应的边界框的边界框坐标。
此外,基础检测模型MB可以是Faster RCNN,也可以是其他从已有的目标检测模型中选择的目标检测模型,例如YOLO或者FCOS等一阶段的目标检测网络。
进一步地,在对基础检测模型MB训练完毕后,计算设备利用训练后的基础检测模型MB对无人标记的原始图像集DataB(简称DB,即第二图像集合)进行目标检测和识别,从而确定与原始图像集DB对应的伪标注集Pseudo(简称P,即第二标注集合)。其中原始图像集DB包括多个图像(即,第二图像),并且伪标注集P包括与原始图像集DB中的每个图像对应的标注信息(即,第二标注信息)。
这里采用“伪标注”的术语,是为了与人工标注区分(S204)。并且,伪标注集P的标注信息也包括从原始图像集DB的图像中所确定的边界框的边界框位置信息(即,第二边界框位置信息)以及相应的类别信息。其中,确定与原始图像集DB对应的伪标注集P的方法将在下文中详细描述。
然后计算设备将目标检测训练集DA的图像集中的各个图像与相应的标注信息进行配对,将原始图像集DB中的各个图像与相应的伪标注集P中的标注信息进行配对。之后计算设备利用配对后的图像和标注信息对待训练的目标检测模型进行训练(S206)。
具体地,计算设备获取目标检测训练集DA的图像集中的各个图像,并获取与各个图像对应的标注信息,之后计算设备将图像以及与该图像对应的标注信息进行关联,从而通过这种方式将目标检测训练集DA的图像集中的各个图像与相应的标注信息进行配对。并且,计算设备获取原始图像集DB中的各个图像,并获取与各个图像对应的标注信息,之后计算设备将图像以及与该图像对应的标注信息进行关联,从而通过这种方式将原始图像集DB中的各个图像与相应的伪标注集P中的标注信息进行配对。
进一步地,计算设备例如可以将目标检测训练集DA的图像集和原始图像集DB中的图像输入至待训练的目标检测模型,得到该目标检测模型的输出结果,该输出结果例如可以是待训练的目标检测模型在输入的图像中所检测的目标对象的边界框的边界框位置信息和/或所识别的目标对象的类别信息。然后,计算设备根据配对结果从目标检测训练集DA的标注集和伪标注集P中选择与输入的图像所对应的标注信息作为监督信息,根据该目标检测模型的输出结果对目标检测模型进行训练。
其中待训练的目标检测模型例如可以是采用Faster CNN网络结构的目标检测模型,但是可以采用其他网络结构的目标检测模型。具体的训练方法将在下文进行详细描述。
正如背景技术中所述的,检测训练集数据需要同时标注图像中的多个边界框(bbox)和类别(class)。例如,当样本图像中包含多个目标对象时,则需要分别标注与每个目标对象对应的类别以及相应的边界框的位置信息。研究表明,边界框标注的时间约为10sec/ins,是类别标注耗时的10倍(1sec/class),因此获得大规模的高质量检测数据集代价十分高,这使得完全依赖监督方法的目标检测模型的训练受到限制。
有鉴于此,本实施例首先利用人工标注的目标检测训练集DA对基础检测模型MB进行训练。然后计算设备利用训练好的基础检测模型MB针对原始图像集DB进行添加标注的操作,生成与原始图像集DB对应的伪标注集P。从而计算设备可以利用非人工标注的伪标注集P中的标注信息作为监督信息,对待训练的目标检测模型进行训练。从而通过这种方式,减少了通过人工对原始图像集进行标注所花费的时间,从而解决了现有技术中存在的目标检测模型的检测训练集数据的标注成本高昂,导致目标检测模型的训练受到限制的技术问题。
可选地,将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息对待训练的目标检测模型进行训练的操作,包括:对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
具体地,在对基础检测模型MB训练完毕后,之后计算设备利用训练后的基础检测模型MB对无人标记的原始图像集DataB(简称DB,即第二图像集合)进行目标检测和识别,从而确定与原始图像集DB对应的一个伪标注集Pseudo1(简称P1,即第二标注集合的第一标注子集)。
之后计算设备利用基础检测模型MB对原始图像集合的图像进行目标检测,确定伪标注集Pseudo2(简称P2,即第二标注集合的第二标注子集)。
进一步地,在得到伪标注集P1(即第二标注集合的第一标注子集)和P2(即第二标注集合的第二标注子集)后,计算设备可以将目标检测训练集DA的图像集(即第一图像集合)以及原始图像集DB(即第二图像集合)的图像进行组合,得到对待训练的目标检测模型进行训练的mini-batch(即图像批次)。其中,例如每一个mini-batch可以包含16张图像,并且每张图像的分辨率为256*256,通道数为3个(RGB)。从而每个mini-batch包括16*3个256*256的矩阵。
然后,计算设备从目标检测训练集DA的标注集(即第一标注集合)、伪标注集P1和伪标注集P2中选择与该mini-batch对应的标注信息,并且利用mini-batch以及对应的标注信息,对待训练的目标检测模型进行训练。例如,当mini-batch的一幅图像为来自目标检测训练集DA的图像时,则相应的标注信息为从目标检测训练集DA的标注集中选择的相应标注信息,从而将来自目标检测训练集DA的mini-batch的图像与从目标检测训练集DA的标注集中选择的相应标注信息(即,第一标注信息)进行配对;当mini-batch的一幅图像为来自原始图像集DB的图像时,则相应的标注信息为从伪标注集P1和P2中选择的相应的标注信息,从而将来自原始图像集DB的mini-batch的图像与从伪标注集P1和P2中选择的相应的标注信息(即,第二标注信息)进行配对。
具体地,计算设备将mini-batch的图像与该图像相应的标注信息进行配对后,计算设备例如可以将mini-batch的图像输入至待训练的目标检测模型,得到该目标检测模型的输出结果,该输出结果例如可以是待训练的目标检测模型在输入的图像中所检测的目标对象的边界框的边界框位置信息和/或所识别的目标对象的类别信息。然后,计算设备利用与输入的图像配对的标注信息作为监督信息,根据该目标检测模型的输出结果对目标检测模型进行训练。
从而,根据本实施例的技术方案,通过将图像集合组合成mini-batch的方式,可以提高目标检测模型的训练速度以及训练效率。并且本实施例通过将人工标注的目标检测训练集DA的图像与伪标注的原始图像集DB的图像组合成mini-batch,有利于进一步提高对目标检测模型进行训练的准确性。
可选地,对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次的操作,包括:对第一图像集合和第二图像集合中的图像进行图像增强处理;以及将图像增强处理后的图像进行组合,得到图像批次。
具体地,计算设备在对目标检测训练集DA的图像集以及原始图像集DB的图像进行组合前,首先要对图像集中的图像进行图像增强处理。其中,在本实施例的技术方案中使用了多种不同的数据增强操作,包括(但不限于)以下至少一种:随机翻转(Horizontal/Vertical flip);颜色抖动(Color jittering(RGB or HSV));随机噪声/模糊(Noise/Blur);对比度调整(Contrast);随机裁剪(Random crop);平移、尺度(Shift、Scale)变换;以及Mixup/Mosaic。其中Mixup是混合标签策略,Mosaic是将多张图片混合成一张图片的数据增强策略。
此外,计算设备可以针对不同的图像集进行不同的数据增强操作。具体地,计算设备对于来源于目标检测训练集DA的图像可以采用随机翻转、颜色抖动、随机噪声和/或对比度变换;对于来源于原始图像集DB的图像则进一步额外加上随机裁剪和平移、尺度变换的操作;并且在来源于目标检测训练集DA和来源于原始图像集DB的图像上联合使用Mixup/Mosaic策略。
从而,本实施例的技术方案通过对图像集的图像进行增强处理,从而有利于进一步提高对目标检测模型进行训练的准确性和效率。
可选地,利用第一目标检测模型确定与第二图像集合对应的第二标注集合的操作,包括:利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
具体地,在对基础检测模型MB训练完毕后,计算设备在基础检测模型MB设置有锚框,之后计算设备利用训练后的基础检测模型MB对无人标记的原始图像集DataB(简称DB,即第二图像集合)进行目标检测和识别,从而确定与原始图像集DB对应的一个伪标注集Pseudo1(简称P1,即第二标注集合的第一标注子集)。并且,伪标注集P1的标注信息也包括与原始图像集DB的图像所包含的各个目标对象的类别以及相应的边界框的边界框坐标(即,第三标注信息)。也就是说伪标注集P1的标注信息中的边界框坐标,是根据设置于基础检测模型MB中的锚框确定的。这个过程中并没有对基础检测模型MB进行调整,就是单纯利用基础检测模型MB确定伪标注集P1。
其中,例如图4示出了原始图像集DB中的一个图像200。参考图4所示,该图像200包含有4个目标对象211~214。因此,计算设备可以利用基础检测模型MB在图像200上确定包含目标对象211~214的边界框221~224的边界框坐标,并确定与目标对象211~214对应的类别,从而确定与图像200对应的标注信息。以此类推,计算设备可以利用基础检测模型MB确定原始图像集DB的图像所对应的标注信息,进而确定与原始图像集DB对应的伪标注集P1。
然后,计算设备对原始图像集DB中的图像进行随机图像块采样处理,从原始图像集DB中的图像中采样图像块的边界框位置信息。图5示出了计算设备对原始图像集DB中的图像200进行随机图像块采样处理后确定的边界框231~241。从而通过随机图像块采样处理,计算设备能够确定边界框231~241的边界框位置信息。依次类推,计算设备对原始图像集DB的各个图像进行随机图像块采样处理,从而针对各个图像采样图像块确定相应的边界框位置信息。
然后计算设备利用基础检测模型MB根据图像块的边界框位置信息,对原始图像集合的图像进行目标检测,确定伪标注集Pseudo2(简称P2,即第二标注集合的第二标注子集)。
具体地,参考图6A和图6B所示,计算设备在对图5所示的原始图像集DB中的图像200进行随机图像块采样处理从而确定边界框231~241,并进一步确定边界框231~241的边界框位置信息之后,可以通过两种不同的方式确定伪标注集P2(即第二标注子集)。
第一种方式参考图6A所示,基础检测模型MB可以包括骨架网络部分和检测部分,并且检测部分包括区域提议网络以及网络检测头。其中骨架网络部分包含卷积层以及池化层等结构,用于提取被检测图像的特征图。区域提议网络用于利用预先设定的锚框(anchor)根据特征图确定被检测图像中的目标感兴趣区域(即确定包含目标对象的边界框的边界框位置信息)。网络检测头用于确定目标感兴趣区域中的目标对象的类别。
参考图6A所示,计算设备对图像200进行随机图像块采样处理从而确定所得到的各个图像块的边界框位置信息。此外,计算设备将图像200输入基础检测模型MB,并利用基础检测模型MB的骨架网络部分确定与图像200对应的特征图。然后,计算设备将随机图像块采样处理所得到的图像块的边界框位置信息输入至区域提议网络。并将图像块的边界框位置信息作为锚框以便对区域提议网络中预先设定的锚框进行补充,从而区域提议网络利用得到补充后的锚框对输入的特征图进行检测并确定目标感兴趣区域。然后计算设备将所确定的目标感兴趣区域输入至网络检测头,由网络检测头确定目标感兴趣区域中的目标的类别。从而将各个目标感兴趣区域的边界框位置信息以及类别信息作为与图像200对应的标注信息。从而通过这种方式可以利用随机图像块采样得到的图像块对基础检测模型MB的区域提议网络的锚框进行优化,从而使得输出的目标感兴趣区域更加精确,并得到更加精确的标注信息。
第二种方式参见图6B,与第一种方式的区别在于,计算设备在通过对图像200进行随机采样处理得到相应的图像块的边框位置信息后,并不是将其作为锚框输入至区域提议网络,而是作为目标感兴趣区域的补充,与区域提议网络输出的目标感兴趣区域一起输入至网络检测头,并由网络检测头识别目标感兴趣区域以及图像块所包含的目标的类别。从而网络探测头输出的目标感兴趣区域以及图像块的边框位置信息以及相应的类别信息作为图像200的标注信息。
通过这种方式,计算设备针对原始图像集DB的各个图像确定相应的标注信息,从而得到伪标注集P2。
从而,通过以上方式计算设备得到与原始图像集DB对应的伪标注集P(伪标注集P包含伪标注集P1和P2),从而能够更准确地对待训练目标检测模型进行训练。
可选地,将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练的操作,包括:使用不同的初始化参数,分别对待训练的第二目标检测模型和第三目标检测模型进行初始化;将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第三标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第三标注信息,对第二目标检测模型进行训练;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第四标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第四标注信息,对第三目标检测模型进行训练。
具体地,参见图7所示,计算设备首先使用不同的参数,对待训练的目标检测模型M1(即第二目标检测模型)和M2(即第三目标监测模型)进行初始化。例如,目标检测模型M1和M2可以采用相同的Faster RCNN网络结构,也可以采用不同的网络结构。
其中,在对模型M1和模型M2进行训练时,计算设备将通过图像组合得到的mini-batch同时输入到模型M1和M2,从而并行地对模型M1和M2进行训练。
其中,针对模型M1的输出结果,计算设备可以利用DA的标注集(即第一标注信息)以及伪标注集P1(即,第三标注信息)的标注信息作为监督信息,计算输出结果的回归损失。
具体地,计算设备将来自目标检测训练集DA的mini-batch的图像与从目标检测训练集DA的标注集中选择的相应标注信息进行配对,并且将来自原始图像集DB的mini-batch的图像与从伪标注集P1中选择的相应的标注信息进行配对。例如,当输入的图像为来自目标检测训练集DA的图像时,则使用从目标检测训练集DA的标注集中选择的相应标注信息作为监督信息计算回归损失;当输入的图像为来自原始图像集DB的图像时,则使用从伪标注集P1中选择的相应的标注信息作为监督信息计算回归损失。
针对模型M2的输出结果,计算设备可以利用目标检测训练集DA的标注集(即第一标注信息)以及伪标注集P2(即,第四标注信息)的标注信息作为监督信息,计算输出结果的回归损失和分类损失。
具体地,具体地,计算设备将来自目标检测训练集DA的mini-batch的图像与从目标检测训练集DA的标注集中选择的相应标注信息进行配对,并且将来自原始图像集DB的mini-batch的图像与从伪标注集P2中选择的相应的标注信息进行配对。
例如,当输入的图像为来自目标检测训练集DA的图像时,则使用从目标检测训练集DA的标注集中选择的相应标注信息作为监督信息计算回归损失;当输入的图像为来自原始图像集DB的图像时,则使用从伪标注集P2中选择的相应的标注信息作为监督信息计算回归损失。
也就是说,在训练过程中,对于模型M1和M2尽管输入相同的图像,但是采用不同的标注信息作为监督信息对模型M1和模型M2进行训练。从而根据本公开的实施例,可以利用相同图像的不同标注信息,同时对不同的模型进行训练,从而提高了训练的效率。
进一步可选地,方法还包括:还包括:将第二目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第三目标检测模型的网络检测头,对第三目标检测模型进行训练;和/或将第三目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第二目标检测模型的网络检测头,对第二目标检测模型进行训练。
具体地参见图7所示,为了进一步提高训练的效果,当计算设备将图像输入目标检测模型M1(即第二目标检测模型)和目标检测模型M2(即第三目标检测模型)时,计算设备还将利用目标检测模型M1的区域提议网络在该输入图像中所检测的边界框(即目标感兴趣区域)的边界框位置信息传输至目标检测模型M2的网络检测头,并且计算设备还可以将利用目标检测模型M2的区域提议网络在该输入图像中所检测的边界框(即目标感兴趣区域)的边界框位置信息传输至目标检测模型M1的网络检测头。
从而计算设备在目标检测模型M1和目标检测模型M2之间共享区域提议网络所检测的边界框(即目标感兴趣区域),从而使得目标检测模型M1和目标检测模型M2能够彼此促进学习。从而目标检测模型M1可以在目标检测模型M2输出的目标感兴趣区域上完成回归损失的计算,目标检测模型M2可以在目标检测模型M1输出的目标感兴趣区域上完成回归损失和分类损失的计算。从而可以充分利用不同标注集的监督信息,通过训练增加目标检测模型的鲁棒性。
此外,根据本实施例的第二个方面,还提供一种构建训练样本集的方法,该方法也由图1所示的计算设备执行。其中图8示出了该方法的流程示意图。参考图8所示,该方法包括:
S802:利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;
S804:利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及
S806:将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息构建对待训练的目标检测模型进行训练的训练样本集。
关于该方法的进一步细节,参考本实施例第一个方面的内容,此处不再赘述。
可选地,将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息构建对待训练的目标检测模型进行训练的训练样本集的操作,包括:对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
可选地,对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次的操作,包括:对第一图像集合和第二图像集合中的图像进行图像增强处理;以及将图像增强处理后的图像进行组合,得到图像批次。
可选地,利用第一目标检测模型确定与第二图像集合对应的第二标注集合的操作,包括:利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
此外,参考图1所示,根据本实施例的第三个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
从而本实施例首先利用人工标注的目标检测训练集对基础检测模型进行训练。然后利用训练好的基础检测模型针对原始图像集进行添加标注的操作,生成与原始图像集对应的伪标注集,然后利用随机图像块采样处理生成与原始图像集对应的伪标注集。从而计算设备可以利用非人工标注的伪标注集中的标注信息作为监督信息,对待训练的目标检测模型进行训练。从而通过这种方式,减少了通过人工对原始图像集进行标注所花费的时间,从而解决了现有技术中存在的目标检测模型的检测训练集数据的标注成本高昂,导致目标检测模型的训练受到限制的的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图9示出了根据本实施例的第一个方面所述的对目标检测模型进行训练的装置900,该装置900与根据实施例1的第一个方面所述的方法相对应。参考图9所示,该装置900包括:第一模型训练模块910,利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;标注确定模块920,用于利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及第二模型训练模块930,用于将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息对待训练的目标检测模型进行训练。
可选地,第二模型训练模块930,包括:图像组合子模块,用于对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及模型训练子模块,用于将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
可选地,图像组合子模块,包括:图像增强单元,用于对第一图像集合和第二图像集合中的图像进行图像增强处理;以及图像组合单元,用于将图像增强处理后的图像进行组合,得到图像批次。
可选地,标注确定模块920,包括:第一确定子模块,用于利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;第二确定子模块,用于对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及第三确定子模块,用于利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
可选地,模型训练子模块,包括:初始化单元,用于使用不同的初始化参数,分别对待训练的第二目标检测模型和第三目标检测模型进行初始化;第一训练单元,用于将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第三标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第三标注信息,对第二目标检测模型进行训练;以及第二训练单元,用于将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第四标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第四标注信息,对第三目标检测模型进行训练。
可选地,装置900还包括:第一训练模块,用于将第二目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第三目标检测模型的网络检测头,对第三目标检测模型进行训练;和/或第二训练模块,用于将第三目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第二目标检测模型的网络检测头,对第二目标检测模型进行训练。
此外,图10示出了根据本实施例的第二个方面所述的构建训练样本集的装置1000,该装置1000与根据实施例1的第二个方面所述的方法相对应。参考图10所示,该装置1000包括:模型训练模块1010,用于利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;标注确定模块1020,用于利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及样本集构建模块1030,用于将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息构建对待训练的目标检测模型进行训练的训练样本集。
可选地,样本集构建模块1030,包括:第一图像组合子模块,用于对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及第一模型训练子模块,用于将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
可选地,第一图像组合子模块,包括:增强单元,用于对第一图像集合和第二图像集合中的图像进行图像增强处理;以及组合单元,用于将图像增强处理后的图像进行组合,得到图像批次。
可选地,标注确定模块1020,包括:第四确定子模块,用于利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;第五确定子模块,用于对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及第六确定子模块,用于利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
从而本实施例首先利用人工标注的目标检测训练集对基础检测模型进行训练。然后利用训练好的基础检测模型针对原始图像集进行添加标注的操作,生成与原始图像集对应的伪标注集,然后利用随机图像块采样处理生成与原始图像集对应的伪标注集。从而计算设备可以利用非人工标注的伪标注集中的标注信息作为监督信息,对待训练的目标检测模型进行训练。从而通过这种方式,减少了通过人工对原始图像集进行标注所花费的时间,从而解决了现有技术中存在的目标检测模型的检测训练集数据的标注成本高昂,导致目标检测模型的训练受到限制的的技术问题。
实施例3
图11示出了根据本实施例的第一个方面所述的对目标检测模型进行训练的装置1100,该装置1100与根据实施例1的第一个方面所述的方法相对应。参考图11所示,该装置1100包括:第一处理器1110;以及第一存储器1120,与第一处理器1110连接,用于为第一处理器1110提供处理以下处理步骤的指令:利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息对待训练的目标检测模型进行训练。
可选地,将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练的操作,包括:对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
可选地,对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次的操作,包括:对第一图像集合和第二图像集合中的图像进行图像增强处理;以及将图像增强处理后的图像进行组合,得到图像批次。
可选地,利用第一目标检测模型确定与第二图像集合对应的第二标注集合的操作,包括:利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
可选地,将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练的操作,包括:使用不同的初始化参数,分别对待训练的第二目标检测模型和第三目标检测模型进行初始化;将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第三标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第三标注信息,对第二目标检测模型进行训练;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第四标注信息配对,并且利用配对后的第一图像和第一标注信息以及配对后的第二图像和第四标注信息,对第三目标检测模型进行训练。
可选地,装置1100还包括:将第二目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第三目标检测模型的网络检测头,对第三目标检测模型进行训练;和/或将第三目标检测模型在所输入的图像中检测到的边界框的边界框位置信息传输至第二目标检测模型的网络检测头,对第二目标检测模型进行训练。
此外,图12示出了根据本实施例的第二个方面所述的构建训练样本集的装置1200,该装置1200与根据实施例1的第二个方面所述的方法相对应。参考图12所示,该装置1200包括:第二处理器1210;以及第二存储器1220,与第二处理器1210连接,用于为第二处理器1210提供处理以下处理步骤的指令:利用第一训练样本集对第一目标检测模型进行训练,其中训练样本集包括第一图像集合和第一标注集合,第一图像集合包括多个第一图像,第一标注集合包括分别与多个第一图像对应的第一标注信息,并且每个第一标注信息包括第一边界框位置信息以及与第一边界框位置信息对应的类别信息;利用第一目标检测模型确定与第二图像集合对应的第二标注集合,第二图像集合包括多个第二图像,第二标注集合包括分别与多个第二图像对应的第二标注信息,并且每个第二标注信息包括第二边界框位置信息以及与第二边界框位置信息对应的类别信息;以及将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息构建对待训练的目标检测模型进行训练的训练样本集。
可选地,将第一图像与相应的第一标注信息进行配对,将第二图像与相应的第二标注信息进行配对,并且利用配对后的图像和标注信息构建对待训练的目标检测模型进行训练的训练样本集的操作,包括:对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次;以及将图像批次中的第一图像与相应的第一标注信息配对,将图像批次中的第二图像与相应的第二标注信息配对,并且利用配对后的图像和标注信息,对待训练的目标检测模型进行训练。
可选地,对第一图像集合和第二图像集合中的图像进行组合,得到对待训练的目标检测模型进行训练的图像批次的操作,包括:对第一图像集合和第二图像集合中的图像进行图像增强处理;以及将图像增强处理后的图像进行组合,得到图像批次。
可选地,利用第一目标检测模型确定与第二图像集合对应的第二标注集合的操作,包括:利用设置于第一目标检测模型的锚框,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第一标注子集,其中第一标注子集包括多个第三标注信息,第三标注信息分别与多个第二图像对应,并且每个第三标注信息包括根据锚框确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息;对多个第二图像进行随机图像块采样处理,确定与多个第二图像对应的图像块的图像块边界框信息;以及利用设置于第一目标检测模型的锚框以及图像块边界框信息,通过第一目标检测模型对多个第二图像进行目标检测,确定第二标注集合的第二标注子集,其中第二标注子集包括多个第四标注信息,第四标注信息分别与多个第二图像对应,并且每个第四标注信息包括根据锚框以及图像块边界框信息确定的第三边界框位置信息以及与第三边界框位置信息对应的类别信息。
从而本实施例首先利用人工标注的目标检测训练集对基础检测模型进行训练。然后利用训练好的基础检测模型针对原始图像集进行添加标注的操作,生成与原始图像集对应的伪标注集,然后利用随机图像块采样处理生成与原始图像集对应的伪标注集。从而计算设备可以利用非人工标注的伪标注集中的标注信息作为监督信息,对待训练的目标检测模型进行训练。从而通过这种方式,减少了通过人工对原始图像集进行标注所花费的时间,从而解决了现有技术中存在的目标检测模型的检测训练集数据的标注成本高昂,导致目标检测模型的训练受到限制的的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。