1.本发明涉及计算机视觉技术领域,尤其涉及一种基于切片筛选的目标检测推理加速方法。
背景技术:2.目标检测是计算机视觉领域的经典任务之一,旨在定位图像中感兴趣的目标物体的位置并识别物体的具体类别。在计算机视觉领域,目标检测的数据样本可以包含现实世界里的任何对象,比如人、动物、汽车、建筑物等。整个任务的训练阶段即输入大量数据样本,训练卷积神经网络提取目标类别相关的高级语义特征并输出物体的位置和类别结果,也就是搜索和求解模型最优参数。当模型参数已经求解出来,使用和部署模型则称为推断阶段。
3.随着人工智能技术的发展以及数据样本不断扩充,研究人员开始致力于使用深度学习技术来解决遥感、无人机、卫星等高空鸟瞰图像的目标检测问题。在鸟瞰图像(遥感、无人机图像)这类目标通常小而稀疏的场景中,目标检测对象大多是具有丰富自然属性和社会属性的地物,比如飞机、车辆、船舶、建筑等有清晰边界,可以明显区别于背景环境的目标。与一般场景相比,鸟瞰图场景在至少有两个方面存在较大的不同:(1)目标的尺度相比通用数据集(如ms coco)的目标尺度小很多,这些小目标在通用检测器下采样过程中可能会丢失大部分信息或消失,因而导致在这些场景下通用检测器准确率较低,很难实现高精度的全图像检测。(2)物体在图像中稀疏分布,通常只在局部区域聚集。例如,车辆通常集中在道路上,油罐经常集中在工厂,图中的其他区域有大面积的背景,如森林、农田、海洋等。由于这些特征,鸟瞰图场景下的目标检测具有很大的挑战性。现有通用检测器无法在小目标的鸟瞰图场景下达到令人满意的检测精度,而从头训练专门为小目标而设计的检测器需要有时间和技术成本。
4.现有分块检测流程如cn113421253a公开的一种基于分块并行的目标检测方法,基于图像分析模型可将尺度较大或比例较极端的图像进行分块为多个子块进行检测,可防止缩放操作影响检测结果,实现了可对尺度较大或比例较极端的图像进行有效目标检测的目的。现有方法虽然可以有效提升该场景下的检测精度,却未考虑到鸟瞰图场景下物体目标尺度小且分布的稀疏性,将大量未包含目标物体的切片送入检测器,导致切片冗余、推理效率低下。
技术实现要素:5.本发明针对现有的划分切片方法对所有切片进行检测推理效率低的问题,提出了一种基于切片筛选的目标检测推理加速方法及系统,在现有划分切片检测方法基础上增加切片筛选机制来过滤掉不包含目标的切片,让鸟瞰图场景下的数据在通用检测器上达到高精度的同时实现了推理过程的加速。
6.为了实现上述目的,本发明提供如下技术方案:
7.一方面,本发明提供了一种基于切片筛选的目标检测推理加速方法,包括以下步骤:
8.s1、对鸟瞰图原图按设定的大小以相邻切片有一定重叠的方式进行划分,得到大小相同的切片;
9.s2、对划分得到的切片,使用由卷积神经网络来预测切片中每个区域包含目标的概率,输出关于切片的概率矩阵,取所有概率中最大值作为每个切片包含目标的概率;
10.s3、利用双阈值筛选方法对每个切片包含目标的概率进行筛选,得到明显和潜在包含目标的切片;
11.s4、对筛选出的明显和潜在包含有目标的切片进行目标检测,同时以原图作为辅助预测,输出相对于切片和原图的检测结果;
12.s5、将相对于切片的检测结果映射到原图上,再对所有检测结果进行后处理去除冗余项,得到融合后的最终检索结果。
13.进一步地,步骤s1中,切片大小设定方法为:基于预训练模型数据集中目标面积与原图面积的比率以及将数据集目标大小的统计结果,保持将数据集和预训练模型数据集目标大小与送入检测器的图像大小比率一致。
14.进一步地,步骤s1中相邻切片的重叠比例为0.25。
15.进一步地,步骤s1中,按照划分的顺序将切出的切片按照行列顺序记为表示该切片来自于第i行第j列,每一块的左上、右上、左下、右下坐标分别为(x
min
,y
min
)、(x
max
,y
min
)、(x
min
,y
max
)、(x
max
,y
max
),其中:
16.x
min
=i*s
width-i*overlap ratio
17.y
min
=j*s
height-j*overlap ratio
18.x
max
=x
min
+s
width
19.y
max
=y
min
+s
height
20.其中,overlap ratio为重叠比例,采用0.25;s
width
为切片宽度,s
height
为切片高度,i
width
为原图宽度,i
height
为原图高度。
21.进一步地,步骤s2中切片为覆盖数据集85%以上目标大小的最小方格。
22.进一步地,步骤s3中,设置阈值为0.5,初步筛选出概率大于等于0.5的切片作为明显包含目标的切片s
obvious
,然后在明显包含目标的切片周围设置概率阈值为0.3,进一步筛选出潜在包含目标的切片s
potential
。
23.进一步地,步骤s5中,将相对于每个切片s
ij
的每个检测结果oi(xo,yo,h,w)通过下式映射到原图上,为oi′
(xo′
,yo′
,h,w);
24.x
′o=xo+x
min
25.y
′o=yo+y
min
26.其中,xo,yo,h,w分别为第i个检测结果框oi的左上角坐标和框的高宽,xo′
,yo′
,h,w分别为第i个检测结果框oi映射到原图后oi′
的左上角坐标和框的高宽,x
min
、y
min
分别为第i个检测结果框oi所在切片的左上角坐标。
27.进一步地,步骤s5中后处理方法使用非极大值抑制或软化的非最大化抑制方法。
28.另一方面,本发明还提供了一种基于切片筛选的目标检测推理加速系统,包括以
下模块,以实现上述任一项的方法:
29.图像切分模块,用于对原图按设定的大小以相邻切片有一定重叠的方式进行划分,得到切片;
30.概率预测模块,用于对划分得到的切片使用由卷积神经网络构成的基于区域的概率预测模型来预测切片中每个区域包含目标的概率,并模型输出关于切片的概率矩阵,取所有概率中最大值作为每个切片包含目标的概率;
31.切片筛选模块,用于对基于概率预测模块得到的每个切片包含目标的概率进行筛选,得到明显和潜在包含目标的切片;
32.目标检测模块,用于对切片筛选模块筛选出的包含目标的切片进行检测,同时以原图作为辅助预测,输出相对于切片和原图的检测结果;
33.结果融合模块,用于将相对于切片的检测结果映射到原图上,再使用非极大值抑制对所有检测结果进行后处理,得到融合后的最终检索结果。
34.与现有技术相比,本发明的有益效果为:
35.本发明提出的基于切片筛选的目标检测推理加速方法,为了对切片进行筛选额外设计了概率预测模块和切片筛选模块,首先将原图像划分成切片,切片通过分类网络得到切片是否包含目标的概率,再经过设置双阈值选择包含目标的切片和原图送入检测器进行目标检测,在鸟瞰图像(如遥感、无人机图像)中目标通常小且稀疏的场景下,保持高精度的同时实现了推理过程的加速。相比对原图直接检测的方法,本发明的方法准确率有大幅度提升;相比划分切片将所有切片都进行检测的方法,本发明的方法准确率有小幅度提升且推理速度有显著提升。本发明提出的基于切片筛选的目标检测推理加速系统,可在通用目标检测数据集上得到的预训练模型基础上,微调到鸟瞰图数据集,不用从头开始训练模型,节省时间成本。此外,本发明提出的系统可更换不同检测器,在目标小而稀疏的场景中具有通用性。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
37.图1为本发明实施例提供的基于切片筛选的目标检测推理加速方法流程图。
38.图2为本发明实施例提供的目标检测推理加速系统的功能模块图。
39.图3为本发明实施例提供的结果融合模块流程图。
具体实施方式
40.本发明针对小而稀疏的检测目标,设计了一种基于切片筛选的目标检测推理加速方法,主要步骤即给定一张鸟瞰图图片并对其进行切分,通过卷积神经网络对这些切片进行区域概率预测得到切片对应的概率矩阵,利用双阈值筛选方法对切片进行筛选,并将筛选出的包含有目标的切片并行馈入目标检测模型,同时以原图作为辅助预测,最终通过后处理方法如非极大值抑制得到融合后的最终检索结果。
41.为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。
42.本发明的基于切片筛选的目标检测推理加速方法,流程如图1所示,包括以下步骤:
43.s1、对鸟瞰图原图按设定的大小以相邻切片有一定重叠的方式进行划分,得到大小相同的切片;
44.s2、对划分得到的切片,使用由卷积神经网络来预测切片中每个区域包含目标的概率,输出关于切片的概率矩阵,取所有概率中最大值作为每个切片包含目标的概率;
45.s3、利用双阈值筛选方法对每个切片包含目标的概率进行筛选,得到明显和潜在包含目标的切片;
46.s4、对筛选出的明显和潜在包含有目标的切片进行目标检测,同时以原图作为辅助预测,输出相对于切片和原图的检测结果;
47.s5、将相对于切片的检测结果映射到原图上,再使用非极大值抑制对所有检测结果进行后处理,得到融合后的最终检索结果。
48.上述的方法通过本发明提供的基于切片筛选的目标检测推理加速系统实现,如图2所示,系统包括以下模块:
49.(1)图像切分模块,用于对原图按设定的大小以相邻切片有一定重叠的方式进行划分,得到切片。
50.具体地,首先,图像切分模块基于预训练模型数据集中目标面积与原图面积的比率以及将数据集目标大小的统计结果,保持将数据集和预训练模型数据集目标大小与送入检测器的图像大小比率一致计算合适出切片大小(s
height
,s
width
)。
51.然后,图像切分模块将高宽为(i
height
,i
width
)的原图按照从左到右、从上到下的顺序,并以有overlap ratio的重叠比例来划分切片。按照划分的顺序将切出的切片按照行列顺序记为表示该切片来自于第i行第j列,每一块的左上、右上、左下、右下坐标分别为(x
min
,y
min
)、(x
max
,y
min
)、(x
min
,y
max
)、(x
max
,y
max
),表示为:
52.x
min
=i*s
width-i*overlap ratio
53.y
min
=j*s
height-j*overlap ratio
54.x
max
=x
min
+s
width
55.y
max
=y
min
+s
height
56.其中,overlap ratio为重叠比例,本实施例采用0.25;s
width
为切片宽度,s
height
为切片高度,i
width
为原图宽度,i
height
为原图高度。
57.(2)概率预测模块,用于对划分得到的切片使用由卷积神经网络构成的基于区域的概率预测模型来预测切片中每个区域包含目标的概率,并模型输出关于切片的概率矩阵,取所有概率中最大值作为每个切片包含目标的概率。
58.具体地,首先,算出能覆盖数据集85%以上目标大小的最小方格大小,然后将切片并行送入由卷积神经网络构成的基于区域的概率预测模型,模块输出关于切片的概率矩阵,矩阵中的每一个概率值对应着切片的每个方格区域是否包含目标的概率,然后取所有概率中最大值作为每个切片包含目标的概率p
ij
。
59.除了对每张切片采用基于区域的概率预测方法得到概率并筛选外,还可以采用聚
类等方法对图中有目标的区域进行预分类。聚类所形成的切片没有大小和位置的限制,相比于人为划分网格所形成的切片拥有更大的可学习空间。
60.(3)切片筛选模块,用于对基于概率预测模块得到的每个切片包含目标的概率进行筛选,得到明显和潜在包含目标的切片。
61.具体地,根据概率预测模块得到的每个切片包含目标的概率p
ij
,本实施例设置阈值为0.5,初步筛选出概率大于等于0.5的切片作为明显包含目标的切片s
obvious
,然后在明显包含目标的切片周围设置概率阈值为0.3,进一步筛选出潜在包含目标的切片s
potential
。公式如下:
62.s
obvious
={s
ij
|i=m,j=n}
63.s
potential
={s
ij
|p
ij
≥0.3,i=m-1或m+1,j=n-1或n+1}。
64.(4)目标检测模块,用于对切片筛选模块筛选出的包含目标的切片进行检测,同时以原图作为辅助预测,输出相对于切片和原图的检测结果。
65.具体地,将切片筛选模块筛选出的明显包含目标切片s
obvious
和潜在包含目标的切片s
potential
并行送入目标检测模型,且将原图也送入目标检测模型,模型的输出是相对于这些切片和原图的检测结果。
66.(5)结果融合模块,用于将相对于切片的检测结果映射到原图上,再使用非极大值抑制对所有检测结果进行后处理,得到融合后的最终检索结果。
67.具体地,如图3所示,结果融合模块将相对于每个切片s
ij
的每个检测结果oi(xo,yo,h,w)通过下式映射到原图上,为oi′
(xo′
,yo′
,h,w),再使用非极大值抑制对所有检测结果进行后处理。
68.x
′o=xo+x
min
69.y
′o=yo+y
min
70.其中,xo,yo,h,w分别为第i个检测结果框oi的左上角坐标和框的高宽,xo′
,yo′
,h,w分别为第i个检测结果框oi映射到原图后oi′
的左上角坐标和框的高宽,x
min
、y
min
分别为第i个检测结果框oi所在切片的左上角坐标。在结果融合模块中,除了使用非最大值抑制来去除所述检测结果的冗余项之外,也可以使用软化的非最大化抑制方法进行去除,并获得最终检测结果。
71.为了验证本发明提出的基于切片筛选的目标检测推理加速方法,在visdrone-det2021和oiltank数据集上使用了一种任务对齐的单阶段目标检测检测头,相比对原图直接检测的方法,本发明的方法准确率最高可达到28%的大幅度提升;相比划分切片将所有切片都进行检测的方法,本发明的方法准确率可提升2.9%的且推理速度可高达5倍的显著提升。
72.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。