一种用于目标检测的自适应Anchor生成方法技术

技术编号:34382647 阅读:15 留言:0更新日期:2022-08-03 21:01
本发明专利技术提供一种用于目标检测的自适应Anchor生成方法,包括以下步骤:根据聚类算法,得到最佳Anchor;计算最佳Anchor和矩阵WH2的相近度,作为最佳相近度;最佳Anchor乘以迭代偏移量,得到偏移Anchor;计算偏移Anchor与矩阵WH2的相近度,进而得到最佳Anchor。本发明专利技术根据数据集场景自适应调节Anchor,从而使Anchor设置的尺寸和实际数据集场景匹配,进而使目标检测算法在做位置回归时能够回归到准确位置,提高算法模型检测效果。提高算法模型检测效果。提高算法模型检测效果。

【技术实现步骤摘要】
一种用于目标检测的自适应Anchor生成方法


[0001]本专利技术属于人工智能
,具体涉及一种用于目标检测的自适应Anchor生成方法。

技术介绍

[0002]目标检测算法按照Anchor(参考框集合)可以划分为Anchor

based和Anchor

free两大类,顾名思义,Anchor

free无需设置Anchor就可以完成目标检测任务,而Anchor

based则需要设置Anchor完成目标检测任务。
[0003]对于Anchor

based目标检测算法,Anchor的设置十分重要,设置的Anchor是否合适很大程度影响了目标检测算法模型的检测效果。
[0004]现有Anchor

based目标检测算法大多采用人工设定的Anchor,主要存在以下问题:现有设置方式经常出现Anchor设置的尺寸和实际图片中的目标尺寸匹配不佳的情况,从而加大了目标检测算法在做位置回归时的难度,可能导致其无法回归到准确位置,最终导致目标检测算法模型检测效果不佳。
[0005]因此,如何针对不同数据集场景设置合适的Anchor,是Anchor

based目标检测算法是否能够检测准确的关键。

技术实现思路

[0006]针对现有技术存在的缺陷,本专利技术提供一种用于目标检测的自适应Anchor生成方法,可有效解决上述问题。
[0007]本专利技术采用的技术方案如下:
[0008]本专利技术提供一种用于目标检测的自适应Anchor生成方法,包括以下步骤:
[0009]步骤S1:对数据集进行分析,得到数据集所有标注目标的目标框的矩阵,记为矩阵WH1;其中,矩阵WH1维度为(n,2),n代表数据集的目标框的数量;2代表每个目标框的维度为两维,分别为:宽w和高h;
[0010]步骤S2:对矩阵WH1进行过滤处理,将目标框的宽或高的像素数小于像素阈值的目标框滤除,得到矩阵WH2;矩阵WH2维度为(m,2),m表示过滤后得到的目标框的数量;矩阵WH2表示为:
[0011]步骤S3:根据聚类算法,得到最佳Anchor:
[0012]步骤S3.1:获得矩阵WH2中所有目标框的宽的标准差w_std和所有目标框的高的标准差h_std;
[0013]步骤S3.2:采用下式,矩阵WH2中每个目标框的宽除以宽的标准差w_std,矩阵WH2
中每个目标框的高除以高的标准差h_std,得到归一化目标框组成的矩阵WH3;
[0014][0015]步骤S3.3:矩阵WH3共包括m个宽高数据对;每一个宽高数据对作为一个点,随机选择a个点作为初始质心,组成初始Anchor,表示为:
[0016][0017]其中:a为初始Anchor包括的初始质心数量;初始Anchor维度为(a,2),w_a1代表第1个初始质心的宽,h_a1代表第1个初始质心的高;w_a2代表第2个初始质心的宽,h_a2代表第2个初始质心的高;依此类推,w_a
a
代表第a个初始质心的宽,h_a
a
代表第a个初始质心的高;
[0018]步骤S3.4:令K

means当前迭代次数=0;
[0019]步骤S3.5:计算矩阵WH3中每一个归一化目标框与每一个初始质心的欧式距离,对于每一个归一化目标框,将其划分到距离其最近的初始质心所属的集合,由此得到a个集合;
[0020]步骤S3.6:对于a个集合中的每个集合,计算该集合所有宽的均值和所有高的均值作为新质心;由此形成a个新质心;
[0021]步骤S3.7:K

means当前迭代次数+1;
[0022]步骤S3.8:判断步骤S3.6得到的每个新质心,是否与上一轮迭代得到的初始质心相同,如果均相同,则执行步骤S3.9;否则,判断K

means当前迭代次数是否等于预设k

means总迭代次数,如果等于,则执行步骤S3.9;如果不等于,则将步骤S3.6得到的每个新质心,作为初始质心,返回步骤S3.5;
[0023]步骤S3.9:将每一个新质心的宽乘以宽的标准差w_std,将每一个新质心的高乘以高的标准差h_std,形成的矩阵作为最佳Anchor,表示为:
[0024][0025]其中:w_a
1s
代表第1个最佳质心的宽,h_a
1s
代表第1个最佳质心的高;w_a
2s
代表第2个最佳质心的宽,h_a
2s
代表第2个最佳质心的高;w_a
as
代表第a个最佳质心的宽,h_a
as
代表第a个最佳质心的高;
[0026]步骤S4:计算最佳Anchor和矩阵WH2的相近度,作为最佳相近度:
[0027]步骤S4.1:最佳Anchor包括a个最佳质心,将a个最佳质心作为一组,复制扩充到m组,由此得到维度为(m,a,2)的矩阵,记为扩充Anchor,表示为:
[0028][0029]矩阵WH2包括m个目标框,将每个目标框复制扩充到a个目标框,由此得到维度为(m,a,2)的矩阵,记为扩充WH2,表示为:
[0030][0031]步骤S4.2:扩充Anchor包括m*a行,每行包括宽和高两维数据;扩充WH2包括m*a行,每行包括宽和高两维数据;比较扩充Anchor和扩充WH2每行宽的值,取较小者作为最小值矩阵相同行的宽;比较扩充Anchor和扩充WH2每行高的值,取较小者作为最小值矩阵相同行的
高,由此得到维度为(m,a,2)的最小值矩阵,表示为:
[0032][0033]其中:w_min和h_min分别表示最小值矩阵中每行元素的宽和高;
[0034]步骤S4.3:将最小值矩阵中每行的宽和高相乘,得到维度为(m,a)的最小值面积矩阵A:
[0035][0036]其中:wh_min表示最小值面积矩阵中的每行面积值;
[0037]步骤S4.4:比较扩充Anchor和扩充WH2每行宽的值,取较大者作为最大值矩阵相同行的宽;比较扩充Anchor和扩充WH2每行高的值,取较大者作为最大值矩阵相同行的高,由此得到维度为(m,a,2)的最大值矩阵,表示为:
[0038][0039]其中:w_max和h_max分别表示最大值矩阵中每行元素的宽和高;
[0040]步骤S4.5:将最大值矩阵中每行的宽和高相乘,得到维度为(m,a)的最大值面积矩阵B:
[0041][0042]其中:wh_max表示最大值面积矩阵中的每行面积值;
[0043]步骤S4.6:将扩充Anchor中每一行的宽高相乘,得到维度为(m,a)的矩阵C1:
[0044][0045]其中:wh_a表示矩阵C1中的每行面积值;
[0046]将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于目标检测的自适应Anchor生成方法,其特征在于,包括以下步骤:步骤S1:对数据集进行分析,得到数据集所有标注目标的目标框的矩阵,记为矩阵WH1;其中,矩阵WH1维度为(n,2),n代表数据集的目标框的数量;2代表每个目标框的维度为两维,分别为:宽w和高h;步骤S2:对矩阵WH1进行过滤处理,将目标框的宽或高的像素数小于像素阈值的目标框滤除,得到矩阵WH2;矩阵WH2维度为(m,2),m表示过滤后得到的目标框的数量;矩阵WH2表示为:步骤S3:根据聚类算法,得到最佳Anchor:步骤S3.1:获得矩阵WH2中所有目标框的宽的标准差w_std和所有目标框的高的标准差h_std;步骤S3.2:采用下式,矩阵WH2中每个目标框的宽除以宽的标准差w_std,矩阵WH2中每个目标框的高除以高的标准差h_std,得到归一化目标框组成的矩阵WH3;步骤S3.3:矩阵WH3共包括m个宽高数据对;每一个宽高数据对作为一个点,随机选择a个点作为初始质心,组成初始Anchor,表示为:其中:a为初始Anchor包括的初始质心数量;初始Anchor维度为(a,2),w_a1代表第1个初始质心的宽,h_a1代表第1个初始质心的高;w_a2代表第2个初始质心的宽,h_a2代表第2个初始质心的高;依此类推,w_a
a
代表第a个初始质心的宽,h_a
a
代表第a个初始质心的高;步骤S3.4:令K

means当前迭代次数=0;步骤S3.5:计算矩阵WH3中每一个归一化目标框与每一个初始质心的欧式距离,对于每一个归一化目标框,将其划分到距离其最近的初始质心所属的集合,由此得到a个集合;步骤S3.6:对于a个集合中的每个集合,计算该集合所有宽的均值和所有高的均值作为新质心;由此形成a个新质心;步骤S3.7:K

means当前迭代次数+1;
步骤S3.8:判断步骤S3.6得到的每个新质心,是否与上一轮迭代得到的初始质心相同,如果均相同,则执行步骤S3.9;否则,判断K

means当前迭代次数是否等于预设k

means总迭代次数,如果等于,则执行步骤S3.9;如果不等于,则将步骤S3.6得到的每个新质心,作为初始质心,返回步骤S3.5;步骤S3.9:将每一个新质心的宽乘以宽的标准差w_std,将每一个新质心的高乘以高的标准差h_std,形成的矩阵作为最佳Anchor,表示为:其中:w_a
1s
代表第1个最佳质心的宽,h_a
1s
代表第1个最佳质心的高;w_a
2s
代表第2个最佳质心的宽,h_a
2s
代表第2个最佳质心的高;w_a
as
代表第a个最佳质心的宽,h_a
as
代表第a个最佳质心的高;步骤S4:计算最佳Anchor和矩阵WH2的相近度,作为最佳相近度:步骤S4.1:最佳Anchor包括a个最佳质心,将a个最佳质心作为一组,复制扩充到m组,由此得到维度为(m,a,2)的矩阵,记为扩充Anchor,表示为:矩阵WH2包括m个目标框,将每个目标框复制扩充到a个目标框,由此得到维度为(m,a,2)的矩阵,记为扩充WH2,表示为:
步骤S4.2:扩充Anchor包括m*a行,每行包括宽和高两维数据;扩充WH2包括m*a行,每行包括宽和高两维数据;比较扩充Anchor和扩充WH2每行宽的值...

【专利技术属性】
技术研发人员:朱海明瞿洪桂高珊珊
申请(专利权)人:北京中电兴发科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1