目标检测方法、电子设备以及存储介质与流程
未命名
07-23
阅读:82
评论:0
1.本发明涉及图像处理领域,特别是涉及目标检测方法、电子设备以及存储介质。
背景技术:
2.随着社会的不断发展,技术的不断提升,人们对技术的要求已经不满足于检测出图像中的物体的类别和位置,还要针对图片或者视频中的物体的姿态,以及精确定位有了更加高层次的要求。
3.目标检测往往通过进行关键点检测来进行,而关键点检测就是通过计算机从图像中找出这些点的坐标,作为计算机视觉领域的一个基础任务,关键点检测对于高级别任务,例如识别和分类具有非常重要的意义。
4.现有的目标检测中的关键点检测算法大部分都是基于单目标来做的,也就是给定单个目标的关键框从原图中将该目标抠出进行关键点检测,存在效率较低,导致目标检测精度也不高。
技术实现要素:
5.本发明提供了一种目标检测方法、电子设备以及存储介质,以解决目标检测精度不高的问题。
6.为解决上述技术问题,本发明提供一种目标检测方法,包括:获取到包括目标对象的待检测图像;通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点;其中,目标检测模型是基于训练图像的训练检测框的位置将对应的多个训练关键点的位置进行限制后,训练得到的。
7.其中,目标检测模型包括相互级联的特征提取子网络、调整子网络以及检测子网络;通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点,包括:依次通过特征提取子网络、调整子网络以及检测子网络对待检测图像进行目标检测,得到目标对象的多个初始检测框以及各初始检测框对应的初始关键点;对多个初始检测框以及多个初始关键点进行去重处理,得到目标对象的检测框以及检测框对应的多个关键点。
8.其中,检测子网络包括多个检测头,各检测头分别与调整子网络连接;依次通过特征提取子网络、调整子网络以及检测子网络对待检测图像进行目标检测,得到目标对象的多个初始检测框以及各初始检测框对应的初始关键点,包括:通过特征提取子网络对待检测图像进行特征提取,得到待检测图像的特征图;将特征图输入到调整子网络中进行特征调整,得到多个不同尺度的特征;将多个不同尺度的特征分别输入到对应的检测头中进行不同倍数的检测处理,得到多个初始检测框以及各初始检测框对应的初始关键点。
9.其中,获取到包括目标对象的待检测图像,之前包括:获取到训练图像;通过训练中的目标检测模型对训练图像进行目标检测,得到多个训练检测框以及各训练检测框对应的多个训练关键点;基于训练检测框对训练关键点的位置进行限制;利用限制后的训练关
键点对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
10.其中,基于训练检测框的位置对训练关键点的位置进行限制,包括:通过压缩函数将训练关键点的位置限制在训练检测框的预设范围内。
11.其中,通过压缩函数将训练关键点的位置限制在训练检测框的预设范围内,还包括:基于训练检测框的中心点以及第一预设比例的训练检测框的宽高之和确定训练检测框的预设范围。
12.其中,利用限制后的训练关键点对训练中的目标检测模型进行训练,得到训练完成的目标检测模型,包括:获取到多个标准关键点;基于训练检测框的宽高分别与第二预设比例的乘积,确定扩展宽高范围;基于扩展宽高范围,以各限制后的训练关键点为中心,扩展限制后的训练关键点,得到多个训练关键框;基于扩展宽高范围,以各标准关键点为中心,扩展各标准关键点,得到多个标准关键框;利用各训练关键框与对应的标准关键框之间的差距对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
13.其中,利用各训练关键框与对应的标准关键框之间的差距对训练中的目标检测模型进行训练,得到训练完成的目标检测模型,包括:通过损失函数利用训练关键框与标准关键框之间的角度差距、距离差距、形状差距以及交并比对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
14.其中,目标检测方法应用于图像识别;通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点,之后包括:基于目标对象的检测框以及检测框对应的多个关键点对目标对象进行识别,得到目标对象的类型。
15.为解决上述技术问题,本发明还提供了一种电子设备,电子设备包括:相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述任一项的目标检测方法。
16.为解决上述技术问题,本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有程序数据,程序数据能够被执行以实现如上述任一项的目标检测方法。
17.本发明的有益效果是:区别于现有技术的情况,本发明通过基于训练图像的训练检测框的位置对训练检测框对应的多个训练关键点的位置进行限制后,训练得到目标检测模型,能够将关键点位置的预测进行约束,使得关键点学习的位置与检测框相关,在检测框周围,能够加快关键点位置学习效率以及使得关键点的位置学习得更加合理,进而提高目标检测模型的目标检测精度。且通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点,能够提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景,提高目标检测的方法的适用性。
附图说明
18.图1是本发明提供的目标检测方法一实施例的流程示意图;
19.图2是本发明提供的目标检测方法另一实施例的流程示意图;
20.图3是目标检测模型一实施方式的结构示意图;
21.图4是目标检测模型另一实施方式的结构示意图;
22.图5是待检测图像的目标检测结果一实施方式的示意图;
23.图6是待检测图像的目标检测结果另一实施方式的示意图;
24.图7是本发明目标检测模型一实施例的训练流程示意图;
25.图8是训练关键框与对应的标准关键框一实施方式的示意图;
26.图9是本发明提供的电子设备一实施例的结构示意图;
27.图10是本发明提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参阅图1,图1是本发明提供的目标检测方法一实施例的流程示意图。
30.步骤s11:获取到包括目标对象的待检测图像。
31.本实施例的目标对象可以包括车辆、人脸、人体、动物、工具、房屋、旗帜等任意物体,具体在此不做限定。
32.本步骤获取到包括目标对象的待检测图像。其中,待检测图像中目标对象的数量可以为一个或多个。
33.在一个具体的应用场景中,本实施例可应用于对道路上拍摄的车辆进行目标检测,以进行车辆识别。在一个具体的应用场景中,本实施例可应用于对道路上拍摄的行人进行目标检测,以进行身份识别。在一个具体的应用场景中,本实施例可应用于对拍摄的动物进行目标检测,以进行分类等,具体可以基于实际情况进行确定,在此不做限定。
34.步骤s12:通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点。
35.通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点。
36.其中,检测框用于在待检测图像上单独将目标对象整体标注出来。而关键点指的是目标对象上具有关键特征的点。在一个具体的应用场景中,当目标对象为车辆时,关键点可以包括车辆的车灯关键点、车牌关键点、车轮关键点或车顶关键点等。在另一个具体的应用场景中,当目标对象为人脸时,关键点可以包括人脸上的鼻头关键点、左眼关键点、右眼关键点或嘴唇关键点等。
37.本实施例同时预测目标对象的检测框以及检测框对应的多个关键点,能够提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景,提高目标检测的方法的适用性。
38.其中,目标检测模型是基于训练图像的训练检测框的位置对训练检测框对应的多个训练关键点的位置进行限制后,训练得到的。其中,训练检测框及其对应的多个训练关键点是训练中的目标检测模型基于训练图像进行目标检测得到的。其目标检测方法与本实施例的待检测图像的目标检测方法相同。
39.由于检测框用于标注整体目标对象,而关键点为目标对象上具有关键特征的点,若不对关键点位置进行限定,则会导致学出的关键点的坐标会远远超出检测框的范围,产生不合理对应关系,进而降低目标检测的精度,而本实施例基于训练图像的训练检测框的
位置对训练检测框对应的多个训练关键点的位置进行调整,从而将关键点位置的预测进行了约束,使得关键点学习的位置与检测框相关,在检测框周围,能够加快关键点位置学习效率以及使得关键点的位置学习得更加合理。
40.通过上述步骤,本实施例的目标检测的方法通过基于训练图像的训练检测框的位置对训练检测框对应的多个训练关键点的位置进行限制后,训练得到目标检测模型,能够将关键点位置的预测进行约束,使得关键点学习的位置与检测框相关,在检测框周围,能够加快关键点位置学习效率以及使得关键点的位置学习得更加合理,进而提高目标检测模型的目标检测精度。且通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点,能够提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景,提高目标检测的方法的适用性。
41.请参阅图2,图2是本发明提供的目标检测方法另一实施例的流程示意图。
42.步骤s21:获取到包括目标对象的待检测图像。
43.本步骤与前述实施例的步骤s11相同,请参阅前文,在此不再赘述。
44.步骤s22:依次通过特征提取子网络、调整子网络以及检测子网络对待检测图像进行目标检测,得到目标对象的多个初始检测框以及各初始检测框对应的初始关键点。
45.请参阅图3,图3是目标检测模型一实施方式的结构示意图。
46.本实施例的目标检测模型30包括相互级联的特征提取子网络31、调整子网络32以及检测子网络33。
47.特征提取子网络31用于提取待检测图像的特征,生成特征图。特征提取子网络31可以包括残差网络(resnet)、卷积神经网络(visual geometry group)、darknet网络(一种开源深度学习框架)或其他深度学习的特征提取网络,在此不做限定。
48.调整子网络32用于进行特征调整,可以对特征进行降维或调整,以便更好地适应任务要求。调整子网络32可以采用卷积层、池化层或全连接层等,在此不做限定。
49.检测子网络33是目标检测模型30的最后一层,可以是分类器或回归器。检测子网络33通过输入经过调整子网络32处理过的特征,产生最终的输出。即初始检测框以及对应的初始关键点。
50.检测子网络33的结构可以根据任务的不同而不同,例如:当目标检测应用于图像分类任务时,可以检测子网络33可以使用softmax分类器;应用于单纯的目标检测任务时,检测子网络33可以使用边界框回归器和分类器等。
51.在本实施例方式中,将待检测图像输入到目标检测模型30后,待检测图像先通过特征提取子网络31进行特征提取,得到待检测图像的特征图;再将特征图输入到调整子网络32进行特征调整,得到调整后的特征,最后将调整后的特征输入到检测子网络33中进行特征检测,得到目标对象的多个初始检测框以及各初始检测框对应的初始关键点。
52.在其他实施方式中,目标检测模型还可以包括其他特征提取、调整以及检测的结构,在此不做限定。
53.请参阅图4,图4是目标检测模型另一实施方式的结构示意图。
54.本实施例的目标检测模型40包括相互级联的特征提取子网络41、调整子网络42以及检测子网络43。其中,本实施方式的特征提取子网络41、调整子网络42与前述实施方式的特征提取子网络31、调整子网络32类似,可参阅前文。
55.检测子网络43包括多个检测头,各检测头分别与调整子网络42连接,每个检测头均与对应的关键点分支以及检测分支连接,检测头用于对经调整子网络42调整后的特征进行下采样,关键点分支用于基于对应检测头的下采样结果生成初始关键点,检测分支用于基于对应检测头的下采样结果生成初始检测框。检测头以及对应的关键点分支以及检测分支的具体数量可以基于实际需求进行设置,例如:2个、3个、4个、6个或8个等。在此不做限定。
56.本实施方式以4个检测头、4个关键点分支以及4个检测分支为例进行说明。本实施例方式的检测子网络43包括第一检测头44、第二检测头45、第三检测头46以及第四检测头47。其中,第一检测头44、第二检测头45、第三检测头46以及第四检测头47分别与调整子网络42连接。即第一检测头44、第二检测头45、第三检测头46以及第四检测头47之间类似并联关系。
57.第一检测头44还分别与第一关键点分支441以及第一检测分支442连接;第二检测头45还分别与第二关键点分支451以及第二检测分支452连接;第三检测头46还分别与第三关键点分支461以及第三检测分支462连接;第四检测头47还分别与第四关键点分支471以及第四检测分支472连接。
58.本实施方式的调整子网络42可以包括特征金字塔(fpn,(feature pyramid networks)+区域候选网络(rpn,regionproposal network)的结构,用于增强不同层次特征聚合能力。其中,特征金字塔是可以构造一系列不同尺度的图像或特征图。在本实施方式中,特征金字塔在特征图的基础上,基于检测头的数量构造4种不同尺度的特征,以分别对应输入到第一检测头44、第二检测头45、第三检测头46以及第四检测头47之中,进行不同倍数的检测处理,即下采样处理。
59.在一个具体的应用场景中,第一检测头44可以下采样8倍。第二检测头45可以下采样16倍;第三检测头46可以下采样32倍;第四检测头47可以下采样64倍。通过多个检测头进行不同倍数的下采样,来提高对特征的采样精度,进而提高后续关键点分支以及检测分支得到的初始关键点以及初始检测框的精度,提高目标检测的准确性。
60.其中,本实施方式的检测头的检测参数为:conv2d(256,na*(nc+5+3*no_kpt),1,1)。其中,conv2d为二维卷积,256为通道数,na代表检测框anchor的数目,本实施方式中na为4,在其他方式中,可以为其他正整数。no_kpt为每个初始检测框对应的初始关键点的数量,因为关键点横纵标、纵坐标和置信度分别用x,y,conf表示,所以要乘以3,nc代表目标检测的类别(nc》=1),5代表关键框的中心点坐标,宽高和置信度,即对应为x,y,w,h,conf。检测子网络43最终得到的每个初始检测框对应着no_kpt个目标的初始关键点。
61.其中,本技术的各类关键点与检测框之间的对应关系,可以基于关键点与检测框的具体含义进行得到。例如:当目标对象为车辆时,检测框为该车辆的检测框,则该车辆上的各关键点自然与该车辆的检测框建立对应关系。
62.具体地,目标检测过程中,将待检测图像输入到目标检测模型40后,待检测图像先通过特征提取子网络41进行特征提取,得到待检测图像的特征图;再将特征图输入到调整子网络42进行特征调整,得到不同尺度的特征,再将不同尺度的特征分别输入到检测子网络43的各检测头中进行特征检测,得到目标对象的多个初始检测框以及各初始检测框对应的初始关键点。
63.其中,目标检测模型是基于训练图像的训练检测框的位置对训练检测框对应的多个训练关键点的位置进行限制后,训练得到的。
64.本实施例基于训练图像的训练检测框的位置对训练检测框对应的多个训练关键点的位置进行调整,从而将关键点位置的预测进行了约束,使得关键点学习的位置与检测框相关,在检测框周围,能够加快关键点位置学习效率以及使得关键点的位置学习得更加合理。目标检测模型的具体训练方法,请参阅图3实施例。
65.步骤s23:对多个初始检测框以及多个初始关键点进行去重处理,得到目标对象的检测框以及检测框对应的多个关键点。
66.由于多个初始检测框以及多个初始关键点是基于多个检测头针对同样的特征进行不同倍数的下采样得到的,因此,多个初始检测框以及多个初始关键点中会存在重合、重复等现象,不利于目标检测的结果利落体现。
67.对多个初始检测框以及多个初始关键点进行去重处理,过滤掉多余的重合、重复的检测框以及关键点,得到最优解的目标对象的检测框以及检测框对应的多个关键点。其中,当待检测图像上有多个目标对象时,最优解的检测框可以有多个,但一个目标对象仅有一个最优解的检测框。
68.在一个具体的应用场景中,可以对先对多个初始检测框进行非极大值抑制处nms(non maximum suppression),滤掉多余的初始检测框,此时跟初始检测框绑定的关键点也会被滤掉,从而得到最优解的目标对象的检测框以及检测框对应的多个关键点。
69.在一个具体的应用场景中,也可以采取定位框去重算法进行去重处理。即对各初始检测框进行判断,如果某个初始检测框与其他初始检测框的标签一样,且重叠区域超过一定的阈值,便寻找两个初始检测框的最大外接矩形,让最大外接矩形作为新的检测框,代替原本的两个初始检测框,使得两个初始检测框进行融合,依次类推,直至得到最优解的目标对象的检测框,进而基于对应关系得到检测框对应的多个关键点。阈值可以取自身区域的85%、80%、70%等,在此不做限定。
70.本实施例同时预测目标对象的检测框以及检测框对应的多个关键点,能够利用检测框提供目标对象周围的全局信息,并利用关键点得到目标对象特征关键点的精确位置,从而提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景,提高目标检测的方法的适用性。
71.请参阅图5,图5是待检测图像的目标检测结果一实施方式的示意图。本实施方式以目标对象为车辆,检测其车辆贴地关键点的场景为例进行说明。
72.整体车辆被检测框50标注出来,且同时,车辆的车辆贴地关键点51也被标注出来,其中,多个车辆贴地关键点51之间可以按照车辆的结构进行连线,以提高车辆贴地关键点51的显著性。
73.请参阅图6,图6是待检测图像的目标检测结果另一实施方式的示意图。本实施方式以目标对象为车辆,检测其车顶关键点的场景为例进行说明。
74.整体车辆被检测框60标注出来,且同时,车辆的车顶关键点61也被标注出来,其中,多个车顶关键点61之间可以按照车辆的结构进行连线,以提高车顶关键点61的显著性。
75.在其他场景中,关键点还可以选择车辆的其他类型的关键点,例如车灯关键点、车窗关键点等,具体基于实际需求进行设置。
76.上述,目标检测结果包括目标对象的检测框以及检测框对应的多个关键点,能够提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景。
77.通过上述步骤,本实施例的目标检测的方法通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点,能够提高目标检测结果的信息丰富度,进而适用于多种目标检测的场景,提高目标检测的方法的适用性。且目标检测模型包括相互级联的特征提取子网络、调整子网络以及检测子网络,其中,检测子网络包括多个检测头,以对调整后的特征进行不同倍数的下采样,来提高对特征的采样精度,进而提高后续关键点分支以及检测分支得到的初始关键点以及初始检测框的精度,提高目标检测的准确性。最后对多个初始检测框以及多个初始关键点进行去重处理,得到目标对象的检测框以及检测框对应的多个关键点,提高目标检测的结果对最优解的针对性,避免重复或无效结果输出,利于目标检测的结果利落体现。
78.请参阅图7,图7是本发明目标检测模型一实施例的训练流程示意图。
79.步骤s71:获取到训练图像。
80.训练图像的类型基于目标检测模型的目标对象进行确定。例如:当目标对象为车辆时,训练图像则为包含车辆的图像。当目标对象为人脸时,训练图像则为包含人脸的图像。
81.训练过程中,可以采取多张训练图像进行模型训练。
82.步骤s72:通过训练中的目标检测模型对训练图像进行目标检测,得到多个训练检测框以及各训练检测框对应的多个训练关键点。
83.本实施例的目标检测模型的结构可以与图2实施例中任一目标检测模型的结构相同,具体请参阅前文。
84.在一个具体的应用场景中,依次通过训练中的目标检测模型的特征提取子网络、调整子网络以及检测子网络对训练图像进行目标检测,得到训练图像的多个训练检测框以及各训练检测框对应的训练关键点。其中,具体的目标检测过程与图2实施例相同,请参阅前文。
85.步骤s73:基于训练检测框对训练关键点的位置进行限制。
86.得到训练图像的多个训练检测框以及各训练检测框对应的训练关键点后,基于训练检测框对训练关键点的位置进行限制。由于本实施例为训练过程,则获取多个训练检测框后,无需对其进行去重处理,直接基于多个训练检测框以及各训练检测框对应的训练关键点进行训练,以提高模型的训练样本数量,便于模型学习。
87.在一个具体的应用场景中,可以通过压缩函数将训练关键点的位置限制在训练检测框的预设范围内。训练检测框的预设范围可以基于训练检测框的中心点以及第一预设比例的训练检测框的宽高之和进行确定。其中,压缩函数可以为sig函数或其他压缩函数,在此不做限定。
88.在一个具体的应用场景中,采用sig函数限制训练关键点的位置可以利用如下公式进行:
[0089][0090]
kpt
x
=sig(pred
x
)*(thres1-thres2)*anchor_grid
x
+grid
x
*stride_x
ꢀꢀꢀ
(2)
[0091]
kpty=sig(predy)*(thres1-thres2)*anchor_gridy+gridy*stride_y
ꢀꢀꢀ
(3)
[0092]
其中,公式(1)为sig函数的计算方法。其中pred
x
是目标检测模型的输出就是模型预测出来的训练关键点的横坐标,predy则是目标检测模型预测的训练关键点的纵坐标,stride_x和stride_y代表目标检测模型在宽高方面下采样的步长,grid
x
和gridy是训练检测框anchor中心点所在的网格的坐标。kpt
x
和kpty分别为sig函数限制后的训练关键点的横坐标以及纵坐标。anchor_grid
x
和anchor_gridy是训练检测框anchor的宽与高。
[0093]
本应用场景中,首先利用sig函数,将目标检测模型预测的训练关键点的pred
x
和predy的范围值限制在[0,1],利用公式(2)以及公式(3)将训练关键点的位置限制在对应训练检测框anchor中心点的位置+训练检测框的宽高*第一预设比例之间,其中,第一预设比例为[-thres1,thres1-thres2]。
[0094]
在本应用场景中,可以将thres2的值设为2,thres1的值设为4,这样既能够保证关键点确实在边框外的检测出来,也能对一些异常的关键点位置也有更好的约束,防止精度失准的情况发生。在其他应用场景中,thres2和thres1的值也可以采用其他经验比例,在此不做限定。
[0095]
在其他应用场景中,将训练关键点的位置限制在训练检测框的预设范围内的方式还可以采用设置范围阈值进行划分调整或其他的压缩函数等,具体在此不做限定。
[0096]
通过上述方法将训练关键点的位置限制在训练检测框的预设范围内,能够加快目标检测模型对关键点位置学习以及使得关键点的位置学习更加合理,提高模型训练精度。
[0097]
步骤s74:利用限制后的训练关键点对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
[0098]
获取到多个标准关键点;其中,标准关键点可以为人工基于训练图像标注得到的关键点的标准数据。
[0099]
基于训练检测框的宽高分别与第二预设比例的乘积,确定扩展宽高范围。第二预设比例可以基于实际情况进行设置,例如:0.05、0.06、0.08等。
[0100]
基于扩展宽高范围,以各限制后的训练关键点为中心,扩展限制后的训练关键点,得到多个训练关键框;基于扩展宽高范围,以各标准关键点为中心,扩展各标准关键点,得到多个标准关键框。
[0101]
训练关键框以及标准关键框的尺寸均与扩展宽高范围相同。
[0102]
利用各训练关键框与对应的标准关键框之间的差距对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
[0103]
请参阅图8,图8是训练关键框与对应的标准关键框一实施方式的示意图。
[0104]
训练检测框80对应有多个训练关键点84。每个训练关键点84都有对应的人工标注的标准关键点83。
[0105]
在一个具体的应用场景中,当训练检测框的宽高分别为box_w以及box_h时,扩展宽高范围分别为w=box_w*thresh;h=box_h*thresh。其中,thresh为第二预设比例。
[0106]
基于扩展宽高范围,以各训练关键点84为中心,扩展限制后的训练关键点,得到多个训练关键框81;基于扩展宽高范围,以各标准关键点83为中心,扩展各标准关键点83,得到多个标准关键框82。
[0107]
通过损失函数利用训练关键框81与标准关键框82之间的角度(angle cost)差距、
距离(distance cost)差距、形状(shape cost)差距以及交并比(iou)对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。
[0108]
由于本实施例采用框与框之间的差距对模型进行训练,能够将训练参数度从点与点的距离差,扩充到角度差距、距离差距、形状差距以及交并比,从而丰富训练参数,提高训练难度,进而提高模型的训练效果。
[0109]
在一个具体的应用场景中,可以通过siou损失函数帮助训练。其中,
[0110]
siou损失函数能够提高检测框学习能力,由角度(angle cost)损失,距离(distance cost)损失,形状(shape cost)损失和iou损失四个部分构成,siou损失函数中引入角度的损失主要是为了辅助两框之间的距离计算,因为一开始训练大多数的预测框与真实框是不相交的,引入角度损失能够加快收敛。距离损失,通过两框中心的距离和外接矩形的长框来构建,但多了一项γ,这一项则是和上面两框之间角度相关。形状损失是计算两框之间的长宽比,是通过计算两框之间宽之差和二者之间最大宽或高之比来定义的。iou损失就是交并比损失。其中,siou的损失函数如下:
[0111][0112]
其中,iou就是交并比损失,δ代表距离损失,ω代表形状损失。
[0113]
在一个具体的应用场景中,总的损失函数可以如下:
[0114]
l
all
=l1*l
siou
+l2*l
cls
+l3*l
obj
+l4*l
kpts_iou
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0115]
其中,l
kpts_iou
代表关键点损失;l
cls
、l
obj
为常规损失函数。l1,l2,l3,l4则分别是各种损失函数之间的平衡系数,需要根据数据分布以及具体损失来调整。
[0116]
本实施例采用包含角度损失、距离损失、形状损失以及交并比的损失函数对训练中的目标检测模型进行训练,能够丰富训练参数,提高训练难度,进而提高模型的训练效果。
[0117]
在其他应用场景中,当其他损失函数也可以包含角度损失、距离损失、形状损失以及交并比的损失函数甚至更多损失时,也可以采取其他的损失函数进行目标检测模型的训练。
[0118]
其中,训练检测框的损失可以采用常规损失函数进行。在此不做限定。
[0119]
在一个具体的应用场景中,本实施例的目标检测方法应用于图像识别,在通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点之后,可以基于目标对象的检测框以及检测框对应的多个关键点对目标对象进行识别,得到目标对象的类型。
[0120]
在一个具体的应用场景中,本实施例的目标检测方法应用于图像分类,在通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点之后,可以基于目标对象的检测框以及检测框对应的多个关键点对目标对象进行分类,得到目标对象的类别。
[0121]
在其他应用场景中,本实施例的目标检测方法还可以应用于其他图像处理场景,具体在此不做限定。
[0122]
通过上述步骤,本实施例的目标检测模型的训练,先将每个训练关键点的位置相对于对应的训练检测框的中心点限制在一定范围,其次,将每个训练关键点按照一定比例
进行外扩成矩形目标框,最后对标准关键点外扩矩形与预测的训练关键点外扩矩形使用siou作为关键点损失函数,通过对关键点外扩框的重合程度来使得预测的关键点的位置更加精确,得到更好的检测效果和检测精度,从而能够适用于多种复杂场景下。
[0123]
基于同样的发明构思,本发明还提出了一种电子设备,该电子设备能够被执行以实现上述任一实施例的目标检测方法,请参阅图9,图9是本发明提供的电子设备一实施例的结构示意图,电子设备包括处理器91以及存储器92。
[0124]
处理器91用于执行存储器92中存储的程序指令,以实现上述任一目标检测方法的步骤。在一个具体的实施场景中,电子设备可以包括但不限于:微型计算机、服务器,此外,电子设备还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0125]
具体而言,处理器91用于控制其自身以及存储器92以实现上述任一实施例的步骤。处理器91还可以称为处理器(central processing unit,中央处理单元)。处理器91可能是一种集成电路芯片,具有信号的处理能力。处理器91还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器91可以由集成电路芯片共同实现。
[0126]
上述方案,提高目标检测模型的目标检测精度。
[0127]
基于同样的发明构思,本发明还提出了一种计算机可读存储介质,请参阅图10,图10是本发明提供的计算机可读存储介质一实施例的结构示意图。计算机可读存储介质100中存储有至少一个程序数据101,程序数据101用于实现上述任一方法。在一个实施例中,计算机可读存储介质100包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0128]
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0129]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0130]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0131]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以软件产品的形式体现出
来,该计算机软件产品存储在一个存储介质中。
[0132]
以上所述仅为本发明的实施方式,并非因此调整本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种目标检测方法,其特征在于,包括:获取到包括目标对象的待检测图像;通过目标检测模型对所述待检测图像进行目标检测,得到所述目标对象的检测框以及所述检测框对应的多个关键点;其中,所述目标检测模型是基于训练图像的训练检测框的位置将对应的多个训练关键点的位置进行限制后,训练得到的。2.根据权利要求1所述的目标检测方法,其特征在于,所述目标检测模型包括相互级联的特征提取子网络、调整子网络以及检测子网络;所述通过目标检测模型对所述待检测图像进行目标检测,得到所述目标对象的检测框以及所述检测框对应的多个关键点,包括:依次通过所述特征提取子网络、所述调整子网络以及所述检测子网络对所述待检测图像进行目标检测,得到所述目标对象的多个初始检测框以及各所述初始检测框对应的初始关键点;对多个所述初始检测框以及多个所述初始关键点进行去重处理,得到所述目标对象的检测框以及所述检测框对应的多个关键点。3.根据权利要求2所述的目标检测方法,其特征在于,所述检测子网络包括多个检测头,各所述检测头分别与所述调整子网络连接;所述依次通过所述特征提取子网络、所述调整子网络以及所述检测子网络对所述待检测图像进行目标检测,得到所述目标对象的多个初始检测框以及各所述初始检测框对应的初始关键点,包括:通过所述特征提取子网络对所述待检测图像进行特征提取,得到所述待检测图像的特征图;将所述特征图输入到所述调整子网络中进行特征调整,得到多个不同尺度的特征;将多个不同尺度的特征分别输入到对应的检测头中进行不同倍数的检测处理,得到多个初始检测框以及各所述初始检测框对应的初始关键点。4.根据权利要求1所述的目标检测方法,其特征在于,所述获取到包括目标对象的待检测图像,之前包括:获取到所述训练图像;通过训练中的目标检测模型对所述训练图像进行目标检测,得到多个所述训练检测框以及各所述训练检测框对应的多个训练关键点;基于所述训练检测框对所述训练关键点的位置进行限制;利用限制后的训练关键点对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。5.根据权利要求4所述的目标检测方法,其特征在于,所述基于所述训练检测框的位置对所述训练关键点的位置进行限制,包括:通过压缩函数将所述训练关键点的位置限制在所述训练检测框的预设范围内。6.根据权利要求4所述的目标检测方法,其特征在于,所述通过压缩函数将所述训练关键点的位置限制在所述训练检测框的预设范围内,还包括:基于所述训练检测框的中心点以及第一预设比例的所述训练检测框的宽高之和确定
所述训练检测框的预设范围。7.根据权利要求4所述的目标检测方法,其特征在于,所述利用限制后的训练关键点对训练中的目标检测模型进行训练,得到训练完成的目标检测模型,包括:获取到多个标准关键点;基于所述训练检测框的宽高分别与第二预设比例的乘积,确定扩展宽高范围;基于所述扩展宽高范围,以各限制后的训练关键点为中心,扩展所述限制后的训练关键点,得到多个训练关键框;基于所述扩展宽高范围,以各标准关键点为中心,扩展各所述标准关键点,得到多个标准关键框;利用各所述训练关键框与对应的所述标准关键框之间的差距对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。8.根据权利要求7所述的目标检测方法,其特征在于,所述利用各所述训练关键框与对应的所述标准关键框之间的差距对训练中的目标检测模型进行训练,得到训练完成的目标检测模型,包括:通过损失函数利用所述训练关键框与所述标准关键框之间的角度差距、距离差距、形状差距以及交并比对训练中的目标检测模型进行训练,得到训练完成的目标检测模型。9.根据权利要求1所述的目标检测方法,其特征在于,所述目标检测方法应用于图像识别;所述通过目标检测模型对所述待检测图像进行目标检测,得到所述目标对象的检测框以及所述检测框对应的多个关键点,之后包括:基于所述目标对象的检测框以及所述检测框对应的多个关键点对所述目标对象进行识别,得到所述目标对象的类型。10.一种电子设备,其特征在于,所述电子设备包括:相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现如权利要求1至9任一项所述的目标检测方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序数据,所述程序数据能够被执行以实现如权利要求1至9任一项所述的目标检测方法。
技术总结
本发明公开了一种目标检测方法、电子设备以及存储介质,其中,目标检测方法包括:获取到包括目标对象的待检测图像;通过目标检测模型对待检测图像进行目标检测,得到目标对象的检测框以及检测框对应的多个关键点;其中,目标检测模型是基于训练图像的训练检测框的位置将对应的多个训练关键点的位置进行限制后,训练得到的。通过上述方式,本发明能够提高目标检测模型的目标检测精度。检测模型的目标检测精度。检测模型的目标检测精度。
技术研发人员:陆超 王政军 巫立峰 周仁杰 李加琛
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2023.03.09
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
