一种锚框参与训练的目标检测方法及装置

文档序号:31833964发布日期:2022-10-18 20:19阅读:110来源:国知局
一种锚框参与训练的目标检测方法及装置

1.本发明涉及目标检测技术领域,具体涉及一种锚框参与训练的目标检测方法及装置。


背景技术:

2.目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一。在目标检测任务中,算法的效果常常会受到多种因素的影响,而多尺度问题,即识别图像中不同区域、不同大小的目标,则是我们在目标检测中通常遇到的一个难题。目前流行的目标检测系统中,往往使用锚框尺寸作为预设尺寸并进行修正的方法,来提高对目标边界框的检测精度。
3.锚框尺寸的设定于检测精度的提升至关重要,主流的方法为将实际边界框尺寸进行聚类而得,或者人工设置若干尺寸,将这些锚框设置在图像中的各个锚点上,所以每个锚点上设置的锚框都相同。但实际上这造成锚框设定的冗余,如将一个用于检测极大、极宽目标的锚框设置在图像最左侧边缘,那么这个锚框实际上永远也不可能被利用,因为不会有极大、极宽的目标中心点出现在图像的最左侧,大量冗余锚框的存在会导致负样本数量过多,致使检测精度降低。


技术实现要素:

4.针对上述背景技术中提出的问题,本发明提供一种避免在图像各个区域出现大量冗余锚框的锚框参与训练的目标检测方法。
5.为达到上述目的,本发明所采用的技术方案是:
6.一种锚框参与训练的目标检测方法,包括以下步骤:
7.s1,对目标检测模型进行迭代训练的起始,对输入的图像进行区域判定,确定图像中产生锚点的位置,并为各个锚点分配尺寸相同的锚框;
8.s2,在每次对目标检测模型进行迭代训练的过程中,计算各个锚框与待检测目标标注框之间的交并比,交并比大于设定阈值的锚框被指定用于检测目标;
9.s3,一轮迭代训练完成后,统计每个锚框的利用率,将利用率低于设定阈值的锚框定义为冗余锚框,并对冗余锚框的尺寸进行重新设定;对利用率不低于设定阈值的锚框,计算锚框尺寸对整体损失的梯度,并基于所述梯度对锚框尺寸进行更新;
10.s4,使用更新后的锚框重复步骤s2-s4对目标检测模型进行迭代训练,直至所述整体损失收敛,得到训练好的目标检测模型;
11.s5,利用训练好的目标检测模型对待检测图片进行目标检测。
12.进一步地,所述的整体损失包括置信度损失、类别损失和边界框损失,步骤s3中使用梯度下降法计算锚框尺寸对整体损失的梯度。
13.进一步地,步骤s3中基于所述梯度对锚框尺寸进行更新方法为:人为设定更新步长,根据梯度下降法所计算的偏导数,使锚框的尺寸减去所述更新步长与所述偏导数的乘
积,得到更新后的锚框尺寸。
14.进一步地,所述锚框的利用率为该锚框在一轮迭代训练中参与训练的次数。
15.进一步地,对冗余锚框的尺寸进行重新设定的方法为:统计每次迭代训练中,与该锚框交并比最大的待检测目标的实际边界框尺寸,将统计好的实际边界框尺寸放到一个集合中进行k-means聚类,聚类所得结果即为该锚框在下一轮训练中的尺寸。
16.进一步地,在步骤s5的目标检测过程中,目标检测模型为每个锚框预测一个偏移量,包括尺寸偏移量和位置偏移量,各锚框的坐标及尺寸加上偏移量得到一个预测的边界框;得到预测边界框的同时,还为每个边预测界框预测出一类别向量和一存在目标的概率,类别向量用于负责预测该预测边界框中存在哪个类别的目标,存在目标的概率用于预测每个预测边界框中存在待检测目标的概率;将存在目标的概率大于某阈值的锚框筛选出来,用nms算法合并属于同一目标的预测边界框。
17.本发明还提供一种锚框参与训练的目标检测装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的锚框参与训练的目标检测方法。
18.本发明进一步提供一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机该程序被处理器执行时,实现所述的锚框参与训练的目标检测方法。
19.由于采用上述技术方案,本发明具有以下有益效果:
20.上述锚框参与训练的目标检测方法及装置,在训练起始,为各个锚点分配相同的锚框,在训练过程中,每次迭代训练都计算锚框尺寸对损失的梯度,并对锚框尺寸进行更新,实现在各个锚点位置设置不同的锚框组,让各个锚点的锚框更能反映所对应区域范围内目标的边界框特征,避免在图像各个区域出现大量冗余锚框,降低目标检测过程中负样本的数量,提高检测精度。
附图说明
21.图1为本发明一较佳实施方式的锚框参与训练的目标检测方法的流程图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
23.需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
24.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相
关的所列项目的任意的和所有的组合。
25.请参见图1,本发明一较佳实施方式提供一种锚框参与训练的目标检测方法,包括以下步骤:
26.s1,在对目标检测模型进行迭代训练的起始,对输入的图像进行区域判定,确定图像中产生锚点的位置,并为各个锚点分配尺寸相同的锚框。
27.在本实施方式中,步骤s1所使用的目标检测模型为现有技术中基于卷积神经网络的目标检测模型,其可以被分为两类:单步检测器和两步检测器,单步检测器例如yolo(you only look once,实施对象检测系统)、ssd(singleshot multibox detector,单发多箱探测器)等目标检测模型,其具有较高的速度但是精度较低;两步检测器例如faster r-cnn(faster regions with convolutionneural network,更加快速的基于区域的卷积神经网络)等目标检测模型,其具有更高的精度但是速度较慢。
28.锚框为用于检测的二维空间中的先验矩形框,其尺寸包括锚框的高和宽,且锚框高和宽分别和y轴和x轴平行。锚框的生成属于现有技术,为省略篇幅,这里不再赘述。
29.s2,在每次对目标检测模型进行迭代训练的过程中,计算各个锚框与待检测目标标注框之间的交并比,交并比大于设定阈值的锚框被指定用于检测目标。
30.步骤s2中,标注框,即gt框,其为包含目标物体的最小外接矩形框,这些框通常由人为事先标注好,属于监督信息。
31.交并比(iou)用于衡量二维空间中两个矩形框的重合度,假设a和b为两个矩形框,则他们之间的交并比(iou)定义为:
32.其中,a∩b为a和b的交集,|a∩b|为该交集区域的面积;a∪b为a和b的并集,|a∪b|为该并集区域的面积。
33.步骤s2中交并比的设定阈值可根据实际需要进行设置,本发明不再赘述。若锚框与待检测目标标注框之间的交并比大于设定阈值,将该锚框标记为正样本并负责检测相应目标,否则将该锚框标记为负样本。
34.s3,一轮迭代训练完成后,统计每个锚框的利用率,将利用率低于设定阈值的锚框定义为冗余锚框,并对冗余锚框的尺寸进行重新设定;对利用率不低于设定阈值的锚框,计算锚框尺寸对整体损失的梯度,并基于所述梯度对锚框尺寸进行更新。
35.步骤s3中,所述锚框的利用率为该锚框在一轮迭代训练中参与训练的次数,利用率的设定阈值可根据实际需要进行设置,本发明不再赘述。
36.对冗余锚框的尺寸进行重新设定的方法为:统计每次迭代训练中,与该锚框交并比最大的待检测目标的实际边界框尺寸,将统计好的实际边界框尺寸放到一个集合中进行k-means聚类,聚类所得结果即为该锚框在下一轮训练中的尺寸。
37.步骤s3中,所述的整体损失包括置信度损失、类别损失和边界框损失,其中:
38.置信度损失loss
obj
的计算请参见下式(1):
[0039][0040]
式(1)中,s
×
n代表将图像划分成s
×
n个单元格,每个单元格内设置n个锚框,s
×n×
n则为锚框总数量;γ
ij
代表第i个单元格中第j个锚框内是否含有目标,若含有,则其值为
1,否则为0;obj
ij
代表第i个单元格中第j个锚框内存在目标的概率预测值。
[0041]
边界框损失loss
bbox
的计算请参见下式(2):
[0042][0043]
式(2)中,s
×
n代表将图像划分成s
×
n个单元格,每个单元格内设置n个锚框,s
×n×
n则为锚框总数量;γ
ij
代表第i个单元格中第j个锚框内是否含有目标,若含有,则其值为1,否则为0;(x',y',w',h')表征目标检测模型基于锚框预测得到的一个预测边界框,其中(x',y')代表该预测边界框的中心点坐标,(w',h')代表该预测边界框的宽度和高度;(x,y,w,h)表征一个实际边界框或者说标签,其中(x,y)代表该实际边界框的中心点坐标,(w,h)代表该实际边界框的宽度和高度。
[0044]
类别损失loss
class
的计算请参见下式(3):
[0045][0046]
式(3)中,s
×
n代表将图像划分成s
×
n个单元格,每个单元格内设置n个锚框,s
×n×
n则为锚框总数量;γ
ij
代表第i个单元格中第j个锚框内是否含有目标,若含有,则其值为1,否则为0;k为目标检测模型预测的预测边界框内存在待检测目标的类别总量,p1、p2、

、pk代表目标检测模型预测的预测边界框内存在的各个类别的概率;c1、c2、

、ck为该预测边界框内的类别标签向量。
[0047]
整体损失loss
all
的计算方法请参见下式(4):
[0048]
loss
all
=loss
class
+loss
obj
+loss
bbox
ꢀꢀꢀ
(4)
[0049]
可以理解,置信度损失、类别损失和边界框损失还可以采用其他算法,例如交叉熵算法计算。
[0050]
步骤s3中使用梯度下降法计算锚框尺寸对整体损失的梯度,即计算整体损失对锚框尺寸的偏导数。步骤s3中基于所述梯度对锚框尺寸进行更新方法为:人为设定更新步长,根据梯度下降法所计算的偏导数,使锚框的尺寸减去所述更新步长与所述偏导数的乘积,得到更新后的锚框尺寸。
[0051]
s4,使用更新后的锚框重复步骤s2-s4对目标检测模型进行迭代训练,直至所述整体损失收敛,得到训练好的目标检测模型。可以理解,目标检测模型的迭代训练还可包括其他步骤,其属于现有技术,为省略篇幅,这里不再赘述。
[0052]
s5,利用训练好的目标检测模型对待检测图片进行目标检测。
[0053]
在步骤s5的目标检测过程中,目标检测模型为每个锚框预测一个偏移量,包括尺寸偏移量和位置偏移量,各锚框的坐标及尺寸加上偏移量得到一个预测的边界框;得到预测边界框的同时,还为每个边预测界框预测出一类别向量和一存在目标的概率,类别向量用于负责预测该预测边界框中存在哪个类别的目标,存在目标的概率用于预测每个预测边界框中存在待检测目标的概率;将存在目标的概率大于某阈值的锚框筛选出来,用nms算法选出存在目标的概率最大的锚框,并将其余的锚框作为冗余锚框删除,达到简化输出的目的,最终实现对每一个对象预测一个预测边界框。步骤s5属于现有技术,为省略篇幅,这里不再赘述。
[0054]
上述锚框参与训练的目标检测方法及装置,在训练起始,为各个锚点分配相同的锚框,在训练过程中,每次迭代训练都计算锚框尺寸对损失的梯度,并对锚框尺寸进行更
新,实现在各个锚点位置设置不同的锚框组,让各个锚点的锚框更能反映所对应区域范围内目标的边界框特征,避免在图像各个区域出现大量冗余锚框,降低目标检测过程中负样本的数量,提高检测精度。
[0055]
上述锚框参与训练的目标检测方法及装置,在迭代训练时,统计各个锚框参与训练的利用率,利用率高的锚框在每次迭代训练过程中其尺寸使用梯度下降法得到更新;对利用率低的锚框,说明锚框设置的不合理,且由于梯度信息不够多,其无法通过梯度下降法对其尺寸得到有效更新,本实施方式将该类锚框定义为冗余锚框,并通过步骤s3中的方法对冗余锚框更改锚框尺寸,使其在下一轮训练中利用率得以提高,进而降低冗余锚框的数量。
[0056]
本发明实施方式还提供一种锚框参与训练的目标检测装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的锚框参与训练的目标检测方法。
[0057]
本发明实施方式还一种计算机存储介质,其上存储有计算机程序,所述计算机该程序被处理器执行时,实现所述的锚框参与训练的目标检测方法。
[0058]
存储器可以包括高速ram存储器,也可包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器也可以是存储器阵列。存储器还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器可以是一个中央处理器cpu,或者gpu,或者可以是专用集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0059]
本领域技术人员应明白,本发明实施例可提供为方法、装置或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施例的计算机程序产品的形式。
[0060]
本发明是参照根据本发明实施例的方法、装置和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图中一个方框或多个方框中指定功能的装置。
[0061]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。
[0062]
上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1