训练多任务目标检测模型、多任务目标检测的方法及系统与流程

文档序号:20953676发布日期:2020-06-02 20:17阅读:582来源:国知局
训练多任务目标检测模型、多任务目标检测的方法及系统与流程

本发明涉及目标检测领域,具体涉及一种训练多任务目标检测模型、多任务目标检测的方法及系统。



背景技术:

目标检测作为计算机视觉领域的基本任务之一,拥有广大的应用前景。其中,最经典的网络模型当属r-cnn。r-cnn将目标检测任务分为两个阶段,预先提取一系列较可能是物体的候选区域,之后仅在这些候选区域上提取特征,进行分类判断。随后的fastr-cnn和fasterr-cnn在其基础上进行了多方面优化,检测速度显著提升。然而这种两阶段检测算法在速度上仍然不能满足实时性的要求,由此以yolo和ssd为代表的单阶段检测算法诞生。yolo首次将物体检测当作回归问题求解,基于一个端到端的网络,经过一次推理便能得到所有物体的位置和类别信息。ssd结合了yolo中的回归思想和fasterr-cnn的区域生成网络中锚定框机制,使用多尺度特征进行回归,解决了yolo中小物体检测效果不好的问题,保证了窗口预测的准确性,同时维持了yolo速度快的特性。

现有的多任务深度学习方法,多为对每个任务单独设计一个深度卷积网络结构,输入图片,输出对应标签或关键点位置信息。然而现有的方法具有以下问题:每个任务独立一个深度卷积网络,网络间没有共享的参数,总参数量和计算量大,模型推理耗时长。



技术实现要素:

因此,本发明提供的一种训练多任务目标检测模型、多任务目标检测的方法及系统,克服了现有技术中的目标检测模型总参数量和计算量大,模型推理耗时长缺陷。

第一方面,本发明实施例提供训练多任务目标检测模型的方法,包括如下步骤:利用标注好边框和对应目标类型标签的训练数据集及对主干网络进行训练,得到训练好的主干网络;利用训练好的主干网络作为检测模型的基础网络,利用图片的多尺度特征图、标注边界框以及对应目标类型标签对检测模型进行训练,得到训练好的检测枝干,同时微调主干网络;利用微调后的主干网络提取训练数据集的全图特征,使用目标对象特征提取模块结合标注的真实边界框在全图特征上提取目标对象特征图;针对不同检测任务,分别设置轻量化的深度卷积网络作为任务模块,利用所述目标对象特征图以及标注好的对应不同任务不同目标的分类标签,依次训练不同任务模块,得到训练好的任务模块;将所述训练好的主干网络、检测枝干及任务模块组成所述多任务目标检测模型。

在一实施例中,若图片中出现多个不同目标对象,则对图片进行拷贝,拷贝次数等于图片中出现的目标类型个数,拷贝后的每张图片分别标注不同目标类型标签,全部用于主干网络的训练。

在一实施例中,根据训练数据集标注的边界框与图片大小的关系设置不同尺度特征图使用的锚框,将标注好边界框和对应目标类型标签的训练数据集输入到训练好的主干网络中得到图片的多尺度特征图。

在一实施例中,所述利用标注好边框和对应目标类型标签的训练数据集及对主干网络进行训练,得到训练好的主干网络的步骤之前,还包括:获取多任务目标检测任务中需要进行检测的目标对象,针对不同的检测对象标注不同的目标类别标签,并定义标注规则;在图片集上使用边界框标注所有任务关注的目标对象,标记对应的目标类型标签。

在一实施例中,检测的目标对象包括:人物头部和手部,检测任务包括:人物的表情、头部朝向以及手势姿态。

在一实施例中,表情识别任务的分类标签包括平静、开心、生气、伤心;头部朝向识别任务的分类标签包含正对、抬头、低头、左转、右转;手势姿态的分类标签包含五指张开、握拳及其他。

第二方面,本发明实施例提供一种多任务目标检测的方法,包括:获取待进行目标检测的图片;将所述待进行目标检测的图片输入根据本发明实施例第一方面所述的训练多任务目标检测模型的方法得到的多任务目标检测模型中,检测并识别图片中的目标对象。

在一实施例中,检测的目标对象包括人物头部和手部,检测任务包括人物的表情、头部朝向以及手势姿态。

在一实施例中,将待进行多任务目标检测的图片输入主干网络提取图片的多尺度特征图,并选择对分类结果贡献最高的特征图作为全图特征;利用检测干支对所述多尺度特征图进行回归,预测目标对象的位置;根据预测目标对象的位置信息,在全图特征上将目标对象的特征图截取出来,并缩放到预设尺寸;利用任务模块对目标对象特征图进行分类,识别人物的表情、头部朝向以及手势姿态。

第三方面,本发明实施例提供训练多任务目标检测模型的系统,包括:主干网络训练模块,用于利用标注好边框和对应目标类型标签的训练数据集及对主干网络进行训练,得到训练好的主干网络;检测枝干训练模块,用于利用训练好的主干网络作为检测模型的基础网络,利用图片的多尺度特征图、标注边界框以及对应目标类型标签对检测模型进行训练,得到训练好的检测枝干,同时微调主干网络;目标对象特征图提取模块,用于利用微调后的主干网络提取训练数据集的全图特征,使用目标对象特征提取模块结合标注的真实边界框在全图特征上提取目标对象特征图;任务模块训练模块,用于针对不同检测任务,分别设置轻量化的深度卷积网络作为任务模块,利用所述目标对象特征图以及标注好的对应不同任务不同目标的分类标签,依次训练不同任务模块,得到训练好的任务模块;多任务目标检测模型生成模块,用于将所述训练好的主干网络、检测枝干及任务模块组成所述多任务目标检测模型。

第四方面,本发明实施例多任务目标检测模型的系统,包括:目标检测的图片获取模块,用于获取待进行目标检测的图片;目标识别模块,用于将所述待进行目标检测的图片输入根据本发明实施例第一方面所述的训练多任务目标检测模型的方法得到的多任务目标检测模型中,检测并识别图片中的目标对象。

第五方面,本发明实施例提供一种计算机设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例第一方面所述的训练多任务目标检测模型的方法,以及本发明实施例第二方面所述的多任务目标检测的方法。

第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,以使所述至少一个处理器执行本发明实施例第一方面所述的训练多任务目标检测模型的方法,以及本发明实施例第二方面所述的多任务目标检测的方法。

本发明技术方案,具有如下优点:

1、本发明实施例提供提供的训练多任务目标检测模型的方法及系统,利用同任务的深度卷积网络复用主干网络提取出的全图特征,避免重复特征抽取过程,大幅度降低网络复杂度,提高运算效率;有效利用不同子任务的数据训练主干网络,提高特征的表达能力,在不损失精度的同时,能够极大减少总参数量和计算量,加快整个框架的推理速度,有效减少计算资源的消耗,同时有助于子任务准确率的提升。

2、本发明实施例提供的多任务目标检测的方法及系统,基于不同任务的深度卷积网络复用主干网络提取出的全图特征,不需要重复抽取图片的低层特征,不损失精度的同时,能够极大减少总参数量和计算量。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的训练多任务目标检测模型的方法的一个具体示例的流程图;

图2为本发明实施例提供的轻量化网络mobilenetv1作为主干网络提起特征图输出至检测枝干的示意图;

图3为本发明实施例提供的不同尺度的特征图数据列表;

图4为本发明实施例提供的任务模块的结构示意图;

图5为本发明实施例提供的多任务目标检测的方法的一个具体示例的流程图;

图6为本发明实施例提供的根据主干网络提取图片的多尺度特征图进行多任务提取的流程图;

图7为本发明实施例提供的根据预测目标对象的位置信息,在全图特征上将目标对象的特征图截取出来,并缩放到预设尺寸的流程示意图;

图8为本发明实施例提供的训练多任务目标检测模型的系统的一个具体示例的模块组成图;

图9为本发明实施例提供的多任务目标检测模型的系统的一个具体示例的模块组成图;

图10为本发明实施例提供的计算机设备一个具体示例的组成图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本发明实施例提供的一种训练多任务目标检测模型的方法,可应用于训练课识别多个任务的目标检测模型,本发明实施例以同时识别出图片中人物的表情、头部朝向以及手势姿态为例进行说明,但是不以此为限,如图1所示,该模型的训练方法,包括如下步骤:

步骤s1:利用标注好边框和对应目标类型标签的训练数据集及对主干网络进行训练,得到训练好的主干网络。

在实际应用中,依照检测任务的实际需求,统计所有任务关注的目标对象,不同任务可关注相同的目标对象,处理器获取多任务目标检测任务中需要进行检测的目标对象,针对不同的检测对象标注不同的目标类别标签,并定义标注规则,在图片集上使用边界框标注所有任务关注的目标对象,标记对应的目标类型标签。

本发明实施例中,首先定义好需要检测的目标对象为人物头部和手部,并依次定义不同任务关注对象不同姿态的分类标签。其中,表情识别任务的分类标签包含平静、开心、生气、伤心;头部朝向识别任务的分类标签包含正对、抬头、低头、左转、右转;手势姿态的分类标签包含五指张开、握拳、其他;在数据定义结束后开始对已有数据集进行标注。若图片中出现多个不同目标对象,则对图片进行拷贝,拷贝次数等于图片中出现的目标类型个数,拷贝后的每张图片分别标注不同目标类型标签,全部用于主干网络的训练。

步骤s2:利用训练好的主干网络作为检测模型的基础网络,利用图片的多尺度特征图、标注边界框以及对应目标类型标签对检测模型进行训练,得到训练好的检测枝干,同时微调主干网络。

本发明实施例训练好的主干网络替换检测模型的基础网络,根据训练数据集标注的边界框与图片大小的关系,设置不同尺度特征图使用的锚框(anchor),将标注好边界框和对应目标类型标签的训练数据集输入到主干网络中得到图片的多尺度特征图,利用图片的多尺度特征图、标注边界框以及对应目标类型标签对检测模型进行微调,同时进一步微调主干网络。

步骤s3:利用微调后的主干网络提取训练数据集的全图特征,使用目标对象特征提取模块结合标注的真实边界框在全图特征上提取目标对象特征图。

本实施例中,微调后的主干网络提取训练数据集的全图特征,使用目标对象特征提取模块结合标注的真实边界框在全图特征上提取目标对象特征图并保存,若图片中有多个目标对象,则依次分别提取所有目标对象的特征图,并分别保存。

步骤s4:针对不同检测任务,分别设置轻量化的深度卷积网络作为任务模块,利用所述目标对象特征图以及标注好的对应不同任务不同目标的分类标签,依次训练不同任务模块,得到训练好的任务模块。

本发明实施例分别设计轻量化的深度卷积网络,利用上述保存的目标对象特征图以及标注好的对应不同任务不同目标的分类标签,依次训练不同任务模块,可选地,在训练前对目标对象特征图做进一步的预处理操作,例如是数据清洗、数据增强、数据重采样、数据归一化等,可以提高模型的泛化性能和加速模型的收敛。

步骤s5:将训练好的主干网络、检测枝干及任务模块组成多任务目标检测模型。

本发明实施例提供的训练多任务目标检测模型的方法,利用同任务的深度卷积网络复用主干网络提取出的全图特征,避免重复特征抽取过程,大幅度降低网络复杂度,提高运算效率;有效利用不同子任务的数据训练主干网络,提高特征的表达能力,在不损失精度的同时,能够极大减少总参数量和计算量,加快整个框架的推理速度,有效减少计算资源的消耗,同时有助于子任务准确率的提升。

在一具体实施例中,如图2所示,基于目标检测算法ssd(singleshotmultiboxdetector),使用轻量化网络mobilenetv1作为主干网络替代ssd的基础网络,检测枝干包括检测模块及非极大值抑制模块,用于在主干网络提取出的多尺度特征图上进行回归,预测目标对象的位置,其检测输入图片大小统一为300×300。如图3所示,本实施例对mobilenetv1进行了部分修改,移除了最后的1×1卷积层、平均池化层、全连接层和softmax层,并在剩余卷积层的最后面额外添加4组卷积层用于提取额外4个不同尺度的特征图,总共选取了6个不同尺度的特征图,分别对应于图4中编号6、9、12、15、18、21的卷积层输出,并选择编号6对应的卷积层输出作为全图特征。

对标注好的训练数据集进行处理,每张图片赋值一个目标对象的类型标签,作为图片的分类标签。若图片中出现多个不同目标对象,则对图片进行拷贝,拷贝次数等于图片中出现的目标类型个数,拷贝后的每张图片分别打上不同目标类型标签。

本发明实施例,加载在coco数据集上预训练的ssd_mobilenetv1模型,将检测头部分移除,仅保留基础网络部分(即主干网络)。在主干网络后添加全连接层,用图片与对应的分类标签对其进行微调。然后移除全连接层,在主干网络后拼接回在coco数据集上预训练的检测头部分,使用已标注好的训练数据集进行主干网络与检测枝干的微调。

将训练数据集输入到微调好的主干网络中,提取出图片的全图特征,利用roialign作为目标对象特征提取模块,结合标注好的目标对象真实边界框,从全图特征中将目标对象特征图截取出来并保存,同时保存的还有对应任务的分类标签。其中,roialign的输出大小统一设为12×12。

如图4所示,每个任务模块均采用相同的简单网络结构,堆叠两个3×3卷积层,紧跟着一个全连接层和softmax层。利用已截取出的目标对象特征图和对应任务的分类标签,依次对表情、头部朝向以及手势姿态识别网络进行训练。

实施例2

本发明实施例提供一种多任务目标检测的方法,如图5所示,包括如下步骤:

步骤s21:获取待进行目标检测的图片。

在实际应用中,待进行目标检测的图片可以为通过图像采集设备直接获取的图像,也可以为在图像数据库中获取的人脸图像,根据实际需求进行合理选取,在此不做限制。本发明实施例中检测的目标对象包括人物头部和手部,检测任务包括人物的表情、头部朝向以及手势姿态。

步骤s22:将待进行目标检测的图片输入根据实施例1中训练多任务目标检测模型的方法得到的多任务目标检测模型中,检测并识别图片中的目标对象。

本发明实施例,如图6所示,将待进行多任务目标检测的图片输入主干网络提取图片的多尺度特征图,并选择对分类结果贡献最高的特征图作为全图特征;利用检测干支对多尺度特征图进行回归,预测目标对象的位置;和图7所示,根据预测目标对象的位置信息,在全图特征上将目标对象的特征图截取出来,并缩放到预设尺寸;利用任务模块对目标对象特征图进行分类,识别人物的表情、头部朝向以及手势姿态。

本发明实施例提供的多任务目标检测的方法,基于不同任务的深度卷积网络复用主干网络提取出的全图特征,不需要重复抽取图片的低层特征,不损失精度的同时,能够极大减少总参数量和计算量。

实施例3

本发明实施例提供一种训练多任务目标检测模型的系统,如图8所示,包括:

主干网络训练模块1,用于利用标注好边框和对应目标类型标签的训练数据集及对主干网络进行训练,得到训练好的主干网络;此模块执行实施例1中的步骤s1所描述的方法,在此不再赘述。

检测枝干训练模块2,用于利用训练好的主干网络作为检测模型的基础网络,利用图片的多尺度特征图、标注边界框以及对应目标类型标签对检测模型进行训练,得到训练好的检测枝干,同时微调主干网络;此模块执行实施例1中的步骤s2所描述的方法,在此不再赘述。

目标对象特征图提取模块3,用于利用微调后的主干网络提取训练数据集的全图特征,使用目标对象特征提取模块结合标注的真实边界框在全图特征上提取目标对象特征图;此模块执行实施例1中的步骤s3所描述的方法,在此不再赘述。

任务模块训练模块4,用于针对不同检测任务,分别设置轻量化的深度卷积网络作为任务模块,利用所述目标对象特征图以及标注好的对应不同任务不同目标的分类标签,依次训练不同任务模块,得到训练好的任务模块。此模块执行实施例1中的步骤s4所描述的方法,在此不再赘述。

多任务目标检测模型生成模块5,用于将所述训练好的主干网络、检测枝干及任务模块组成所述多任务目标检测模型。此模块执行实施例1中的步骤s5所描述的方法,在此不再赘述。

本发明实施例提供的训练多任务目标检测模型的系统,利用同任务的深度卷积网络复用主干网络提取出的全图特征,避免重复特征抽取过程,大幅度降低网络复杂度,提高运算效率;有效利用不同子任务的数据训练主干网络,提高特征的表达能力,在不损失精度的同时,能够极大减少总参数量和计算量,加快整个框架的推理速度,有效减少计算资源的消耗,同时有助于子任务准确率的提升。

实施例4

本发明实施例提供一种多任务目标检测模型的系统,如图9所示,包括:

目标检测的图片获取模块21,用于获取待进行目标检测的图片;此模块执行实施例2中的步骤s21所描述的方法,在此不再赘述。

目标识别模块22,用于将待进行目标检测的图片输入根据是实施例1中的训练多任务目标检测模型的方法得到的多任务目标检测模型中,检测并识别图片中的目标对象。此模块执行实施例2中的步骤s22所描述的方法,在此不再赘述。

本发明实施例提供的本发明实施例提供的多任务目标检测的系统,基于不同任务的深度卷积网络复用主干网络提取出的全图特征,不需要重复抽取图片的低层特征,不损失精度的同时,能够极大减少总参数量和计算量。

实施例5

本发明实施例提供一种计算机设备,如图10所示,包括:至少一个处理器401,例如cpu(centralprocessingunit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(display)、键盘(keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速ram存储器(ramdomaccessmemory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行实施例1中的训练多任务目标检测模型的方法或实施例2中所述的多任务目标检测的方法。存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1中的训练多任务目标检测模型的方法或实施例2中所述的多任务目标检测的方法。其中,通信总线402可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器404可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器404还可以包括上述种类的存储器的组合。

其中,处理器401可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。

其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。

可选地,存储器404还用于存储程序指令。处理器401可以调用程序指令,实现如本申请执行实施例1中的训练多任务目标检测模型的方法或实施例2中所述的多任务目标检测的方法。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行实施例1中的训练多任务目标检测模型的方法或实施例2中所述的多任务目标检测的方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

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