1.一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,具体步骤如下:
首先,利用目标检测技术,对特征提取网络进行训练,得到符合不同限制条件的m个检测子模型;m≥2;
然后,无人机在不同的高度下分别进行日间作业与夜间作业的拍摄,并对所有的拍摄图像样本都进行标注,总共得到2*n组图像集;
2*n组图像集为a={a1,a1',a2,a2',...,an,an'};an为第n个高度下日间作业拍摄的所有帧图像的集合;an'为第n个高度下夜间作业拍摄的所有帧图像的集合;
针对每个高度,将该高度对应日间与夜间作业的2组图像集中所有目标标注的边框面积,取平均值作为该高度下对应的高度指标,共得到n个高度指标;
同时,将2*n组带有标注信息的图像集,分别输入每个子模型进行coco测评指标的测试,得到测评表;
接着,无人机在实际的固定作业条件下飞行拍摄,得到作业区域的照片流,将每张图片分别送入m个子模型中得到该图片的m个检测结果;每个检测结果中都包含不同个数的目标以及对应的目标边框;
针对当前图片q,利用m个检测结果,计算该图片q的目标边框面积平均值,并与n个高度指标一一进行相似度比较,得到图片q的相似度集合sim;
同时,将照片流的每张图片分别转换为灰度图,逐张遍历各灰度图上的所有像素点,判断当前图片q上的像素点ii,j的灰度值pi,j是否小于预先设定的明暗阈值ds,如果是,将像素点ii,j判定为暗点d,否则,将像素点ii,j判定为明点d',得到图片q的明暗标志df;
从相似度集合sim中选择最大值,即为与当前作业条件最匹配的高度;根据明暗标志df匹配当前作业条件的日间或夜间;两个匹配都符合的编号组成集合matched_index;针对每个图片,根据数据集编号matched_index带入m个子模型中,通过查找测评表,得到测评分数s_matched集合,并进行归一化,计算各个子模型的加权融合权重w;
最后,利用各子模型的加权融合权重w,分别计算图片q中各目标的置信度c及各目标边框修正后的检测框,实现对航拍图像的目标检测。
2.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的限制条件包括:天气条件,模型差异性,以及对大中小目标不同的敏感度。
3.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的标注是指:每帧图像中都包括若干目标,每个目标都分别利用边框进行标注。
4.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的测评表中每个模型下,每个高度分别对应日间作业或夜间作业,日间或夜间作业分别对应各自的测评分数;测评分数为0到1之间的数。
5.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的图片q的目标边框面积平均值,计算公式如下:
其中,rai,j表示第i个子模型的检测结果中第j个目标边框的面积;
m个检测结果的目标边框集合为:r={r1,k1、r2,k2...,ri,ki,...,rm,km};ri,ki表示第i个子模型的检测结果中包含ki个目标边框,ri,ki={ri,1,ri,2,..ri,j,...ri,ki},ri,kj表示第i个子模型的检测结果中的第j个目标边框。
6.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的图片q的相似度simn,计算公式如下:
ra为当前图片q的目标边框面积平均值;ε为取值0.001的极小数;rn为第n个高度对应的高度指标;
各高度指标分别与当前图片q的ra进行相似度计算后,得到相似度集合:
sim={sim1,sim2,...,simn}。
7.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的明暗标志df设定为:当前灰度图中的暗点数量的占比大于等于整张图像中60%的像素区域时,将该图像的明暗标志df设为1,否则设为0。
8.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的测试数据集编号matched_index计算公式如下:
matched_index=index(max(simdf))
simdf为各图片的相似度集合sim中所有的值按照明暗标志df匹配得到的集合;
具体为:simdf={sim1df,sim1df',sim2df,sim2df',...,simndf,simndf'}。
9.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的各个子模型的加权融合权重w具体公式为:
w={w1、w2...,wi,...,wm}。
10.如权利要求1所述的一种基于自适应模型集成的无人机航拍图像目标检测方法,其特征在于,所述的计算图片q中各目标的置信度c及各目标边框修正后的检测框,具体步骤如下:
步骤1301、将当前图片q输入m个子模型中进行检测,将各子模型的检测结果r中所有检测的目标边框都添加到列表listb中;
检测结果中各目标边框都包括目标的左上角坐标(x1,y1),右下角坐标(x2,y2)以及置信度得分c;
步骤1302、将各目标边框按照检测结果的置信度得分c降序排列在列表listb中;
步骤1303、建立空列表listl和空列表f,并将listb中的第一个目标边框q0分别存入两个表中作为初始值;
列表f为n行1列的表格,l为n行m列的表格;
步骤1304、循环遍历列表listb,逐个选择各目标边框,并判断当前目标边框q1是否以交并比0.55为阈值在列表f中找到匹配,如果没有,将当前遍历的边框q1添加到listl和列表f中,并且将当前边框q1从列表listb中删除,继续选择下一个边框q2重复判断;如果有匹配的边框,选出列表f中与当前边框q1匹配的边框的行索引号index_match,并将当前边框q1添加到listl中对应的第index_match行,将当前遍历边框q1从列表listb中删除,继续选择下一个边框q2重复判断;直到listb为空集;
列表f中每一行分别为一个目标边框;
列表listl中每一行对应的是不同模型对同一个目标边框的不同描述;
步骤1305、按顺序从列表f中逐个选择目标边框,按照该框在f中的行索引index_f,将listl中对应index_f行的m个结果取出,进行目标的置信度与边框位置的修正,并且将修正结果放置于listf中index_f行,对列表中该目标值进行更新,直至当前图片q中所有目标边框选择完毕;
针对每个目标边框,融合模型的置信度计算公式为:
c=c1*w1+c2*w2+…cm*wm
cm为该目标边框在第m个子模型的置信度;
当前目标边框的位置坐标计算公式为:
(x1,y1)为当前目标边框的左上角位置坐标,根据该目标检测框在m个模型中的不同坐标计算得到;x1m为该目标检测框在第m个模型中的坐标;
(x2,y2)为当前目标边框的右下角位置坐标;
最终,得到存放于listf中的当前图片q中所有目标的边框检测。