1.一种基于半监督学习的有向目标检测方法,其特征在于,步骤如下:
步骤1、下载DOTA数据集里有带角度标签的有向框数据集,从有向框数据集中选择10%的图像,通过五参数表示方法进行有标签标记,构成有标签数据集;剩余的90%图像组成无标签数据集;转入步骤2;
步骤1中,将有向框数据集中带有角度标签的图像通过五参数表示方法进行标签标记,即对每幅带有角度标签的图像采用五参数表示方法转化为有向框的五参数表示的真值;
编码阶段:有向框数据集中带有角度标签的图像作为原始图像,原始图像中真值框的四个顶点坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4)通过五参数表示方法转化为有向框的五参数表示的真值 对有向框数据集中所有原始图像逐一进行标签标记后,构* * * *
成有标签数据集,其中x ,y表示水平包络真值框的中心点坐标,w ,h分别表示水平包络真值框的宽和高, 表示有向框长边与x轴的夹角也称有向框长边表示法的角度,其取值范围为[‑90°,90°];具体如下:首先找到有向框数据集中第一个真值框的四个顶点坐标值,找到坐标值中数值最小的坐标值记为xmin,ymin,以及数值最大的坐标值记为xmax,ymax接着根据xmin,ymin,xmax,ymax计算* * * *得到有向框的五参数表示的真值中的x、y、w、h;
有向框的五参数表示的真值中的角度 计算方式如下:
记 为有向框长边表示法的真值的宽, 为有向框长边表示法的真值的高;
设xmin所在点为A1,并按顺时针方向将剩余三个点依次表示为A2,A3,A4;
其中d()为距离,dy为A1,A3两点垂直高度
差,dx为A1,A3两点水平宽度差;将有向框数据集中原始图像的四个顶点坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4)转换为有向框的五参数表示的真值 并将角度 统一到‑π/2与π/2之间,如果 则
步骤2、构建基于教师‑学生网络的半监督有向目标检测模型:
所述基于教师‑学生网络的半监督有向目标检测模型包括教师网络和学生网络,两个网络的结构相同,均为改进的两阶段目标检测网络;学生网络参数通过无监督训练得到,教师网络参数则由学生网络参数通过指数滑动平均的方式进行迭代更新;转入步骤3;
步骤3、将有标签数据集和无标签数据集同时作为教师网络和学生网络的输入;采用联合训练的方式,对基于教师‑学生网络的半监督有向目标检测模型进行训练,分别得到训练好的学生网络与训练好的教师网络;转入步骤4;
步骤4、下载DOTA数据集中的测试集;将测试集作为训练好的教师网络的输入,获取测试集中目标的预测类别和预测有向框坐标。
2.根据权利要求1所述的一种基于半监督学习的有向目标检测方法,其特征在于,步骤
2中,改进的两阶段目标检测网络为基于Faster RCNN的渐进式有向目标检测网络;为了提高网络的召回率,设计了渐进式的两个预测阶段,其中第一阶段为水平包络预测框预测阶段,第二阶段为角度参数预测阶段;
水平包络预测框预测阶段采用改进后的Faster RCNN网络进行预测,设水平包络预测框的参数(x,y,w,h),角度参数预测阶段的预测角度参数为θ,第一阶段预测得到(x,y,w,h),第二阶段预测得到θ,在第二阶段后,有向框解码器根据x,y,w,h,θ解码得到有向框的长边表示法的预测值(xr,yr,wr,hr,θr),以此来确定最终的有向预测框。
3.根据权利要求2所述的一种基于半监督学习的有向目标检测方法,其特征在于,基于Faster RCNN的渐进式有向目标检测网络采用ResNet50作为特征提取网络提取图片特征,采用FPN生成融合多尺度信息的特征图,RPN阶段生成水平建议框,将原Faster RCNN网络中的ROI Align后分类预测头3*3卷积的输出通道改为1,分类损失函数改为二元交叉熵损失:第一阶段中,利用第一ROI Align提取水平建议框特征图,第一ROI Head的边界框检测头根据水平建议框特征图来预测水平包络预测框的参数x,y,w,h;在训练过程中利用五参* * * *数表示的真值中的(x ,y ,w ,h)与水平包络预测框的参数x,y,w,h计算第一阶段的损失函数,从而训练第一阶段;再利用水平包络预测框的参数x,y,w,h映射到融合多尺度信息的特征图,提取水平包络预测框感兴趣区域特征图;
采用旋转角度增强训练方法训练第二阶段,将水平包络预测框感兴趣区域特征图映射为多个不同角度的旋转特征图并计算每个旋转特征图对应的角度标签,将代表不同角度的特征图分别通过第二ROI Align得到固定尺寸的特征图;第二ROI Align后同样接入第二ROI Head,第二ROI Head由分类头与输出通道为1的全连接层构成,其中输出通道为1的全连接层为角度参数预测头,用于预测每块特征图的角度参数θ,在其后接入有向框解码器,有向框解码器用来将水平包络框与对应的一个角度参数解码出最终对应的有向预测框;
有向框解码器方法:根据水平包络预测框的参数x,y,w,h与第二阶段的预测值θ解码出有向框的长边表示法的预测值(xr,yr,wr,hr,θr);有向框的长边表示法的预测值的xr,yr对应等于水平包络预测框预测值的中心点坐标x,y,θr=θ,wr,hr由以下式得到:L(h)=L(w)*tan(|θ|)
其中,L(w)表示宽边偏移距离;L(h)表示长边偏移距离。
4.根据权利要求3所述的一种基于半监督学习的有向目标检测方法,其特征在于,旋转角度增强训练方法具体如下:将水平包络预测框感兴趣区域特征图乘以预先设置好的s种单应性矩阵得到s种不同俯视视角的旋转特征图,利用单应性矩阵分别得到s种俯视视角旋转特征图的旋转角度,将s种旋转角度加上原水平包络预测框解码时对应的角度标签 的值作为s种不同俯视视角旋转特征图的角度标签;再利用s种不同俯视视角的旋转特征图与对应的s种不同俯视视角旋转特征图的角度标签一起训练角度回归分支;
单应性矩阵根据需求自行设置,设置方法如下:拍摄s+1张同一物体不同俯视视角的图片,选取一张图片作为主模板与剩下s张图片逐一匹配计算对应的s个单应性矩阵,利用OpenCV库中的方法提取每张图片的shift关键点并生成描述子,将s张图片中每一张图片的特征点与描述子采用OpenCV库中knnMatch函数与模板图片的特征点与描述子进行shift特征匹配配对,并采用findHomography函数计算视角变换矩阵,以此得到s种不同的单应性矩阵;
不同单应性矩阵与水平包络预测框感兴趣区域特征图各个通道做单应性变换并拼接得到不同俯视视角的旋转特征图,并将其大小缩小至原水平包络预测框内,空白点补零;不同俯视视角的旋转特征图的角度标签计算方法如下:将单应性矩阵乘以(1,0,0)向量得到变化后的旋转向量(X,Y,Z),不同俯视视角的旋转特征图乘以其对应的单应性矩阵后在XY平面旋转的角度为 与角度标签 求和,最终得到不同俯视视角的旋转特征图的角度标签;
使不同俯视视角的旋转特征图经过角度参数预测头得到的角度预测值,利用不同俯视视角的旋转特征图的角度标签与角度预测值计算第二阶段的损失函数,从而反向梯度更新第二阶段网络参数。
5.根据权利要求1所述的一种基于半监督学习的有向目标检测方法,其特征在于,步骤
3中,将有标签数据集和无标签数据集同时作为教师网络和学生网络的输入;采用联合训练的方式,对基于教师‑学生网络的半监督有向目标检测模型进行训练,分别得到训练好的学生网络与训练好的教师网络;具体如下:首先利用有标签数据集训练学生网络,其次采用学生网络与教师网络联合训练的方式,利用有标签数据集与无标签数据集同时作为网络输入,计算联合训练损失函数,训练半监督有向目标检测模型;有标签数据集作为学生网络的输入,利用学生网络得到预测结果并选取正负样本与有标签数据集计算得到有监督损失Ls;无标签数据集经过强增强和弱增强两个不同的数据处理分支,强增强后的数据输入学生网络得到预测概率,弱增强后的数据输入教师网络得到水平包络预测框与角度的伪标签,选取正负样本并将两者计算一致性损失作为无监督损失Lu;计算有监督损失和无监督损失的加权和,得到总损失,用于反向梯度更新学生网络的模型参数;经过每一轮训练得到训练好的学生网络,再通过指数滑动平均方式对教师网络参数进行更新,得到训练好的教师网络。
6.根据权利要求5所述的一种基于半监督学习的有向目标检测方法,其特征在于,有标签数据集作为学生网络的输入,利用学生网络得到预测结果并选取正负样本与有标签数据集计算得到有监督损失时,正负样本选取方法如下:训练第一阶段时,在RPN生成的建议框中进行第一次正负样本筛选,选择与水平包络真值框IoU值大于0.5的水平建议框作为正样本,与水平包络真值框IoU值小于0.4的水平建议框作为负样本,利用第一次正负样本筛选结果训练第一ROI Head;在水平包络预测框回归后再进行第二次正负样本筛选,选取与水平包络预测框真值IoU值大于0.8的回归框作为正样本,与水平包络预测框真值IoU值小于0.7的回归框作为负样本,利用第二次正负样本筛选结果训练第二ROI Head;训练第二阶段时,直接选取第一阶段中非极大值抑制后筛选得到的水平包络预测框送入第二阶段;
利用伪标签训练第一阶段与第二阶段时,将伪标签作为真值,正负样本筛选方式与上述筛选方式相同;
弱增强后的数据输入教师网络得到的水平包络预测框与角度参数的伪标签选取方法如下:
在训练第一阶段时:选取在RPN Head的分类头中前景得分大于0.7的水平建议框,其经过第一ROI Head的边界框检测头精确回归后的值作为教师网络的水平包络预测框伪标签;
在训练第二阶段时:得到精确的水平包络预测框后,选取第二ROI Head的分类头中分类前景得分大于0.9的水平包络预测框,并经过第二ROI Head的边界框检测头进行角度参数预测后,经有向框解码器解码的值作为有向框的伪标签;教师网络生成的伪标签经过坐标变换映射到学生网络的标签尺度上,坐标变换的变换矩阵为弱增强时记录的变换矩阵。
7.根据权利要求4所述的一种基于半监督学习的有向目标检测方法,其特征在于,第二阶段的损失函数 如下:其中,Lreg(*)为回归损失;Lcls(*)为分类损失;n为每张图片中水平包络预测框的个数;
*
p为真实的类别标签;p为预测的类概率分布;θ为第二阶段的预测角度参数, 为有向框的五参数表示的真值中的角度;γ为平衡权重值,i表示每张图片中第i个水平包络预测框,m为总类别数。
8.根据权利要求5所述的一种基于半监督学习的有向目标检测方法,其特征在于,联合训练损失函数L包括有监督损失Ls和无监督损失Lu如下所示:L=Ls+aLu
a为权重值;
其中,有监督损失Ls包括第一阶段回归损失函数 与第
二阶段回归损失函数 如下所示:
* * *
其中,x,y,w,h为水平包络预测框的参数,x ,y表示水平包络真值框的中心点坐标,w ,* *h分别表示水平包络真值框的宽和高;p为真实的类别标签;p为预测的类概率分布;θ为第二阶段的预测角度参数, 为有向框的五参数表示的真值中的角度;
第一阶段的损失函数 如下所示:
其中Ncls为正负样本的总数,k表示第k个样本;Nreg为特征图的大小*3,f表示特征图中的第f个特征点;Lcls1(*)为二元交叉熵损失;vk表示第k个样本预测的前景类别概率; 代表第k个样本的前景类别标签;为平衡权重;
计算无监督损失Lu时,将选取的伪标签作为无监督的真值标签,无监督的水平包络真值框与有向框的五参数表示的角度真值为教师网络预测得到的水平包络预测框与有向框的角度预测值,如式(14)所示;
选取水平包络预测框伪标签与有向框伪标签后需热编码伪标签的分类分布如式(15)所示:
T是输入图像;fc(T;e)代表由e参数化的教师网络的分类头预测的类别分布;fb(T;e)代表由e参数化的教师网络边的边界框检测头与角度参数预测头预测的参数;e是教师网络训练所得到的参数;ONE_HOE为热编码。