当前位置: 首页> 交通专利数据库 >详情
原文传递 基于改进DETR的水面上船舶检测方法
专利名称: 基于改进DETR的水面上船舶检测方法
摘要: 本发明公开了一种基于改进DETR的水面上船舶检测方法。准备经过标注的船舶图像数据集;构建改进的DETR模型,所述改进的DETR模型的主干网络采用ResNet,所述改进的DETR模型的中间部件采用Transformer,该Transformer中采用3个Encoder层和3个Decoder层;采用所述船舶图像数据集对改进的DETR模型进行训练;采用经过训练的改进的DETR模型来对目标检测图像中的水面上船舶进行检测;所述Transformer设置有RPN层,该RPN层设置在Encoder层最后的生成特征图上。本发明的船舶检测方法能有效提升水面上船舶检测的速度和精度。
专利类型: 发明专利
国家地区组织代码: 上海;31
申请人: 上海海事大学
发明人: 林海;刘晋
专利状态: 有效
申请日期: 2023-08-28T00:00:00+0800
发布日期: 2023-11-24T00:00:00+0800
申请号: CN202311086398.0
公开号: CN117115537A
代理机构: 上海伯瑞杰知识产权代理有限公司
代理人: 孟旭彤
分类号: G06V10/764;G06V10/774;G06V10/82;G06V10/44;G06V10/25;G06N3/0464;G06N3/0455;G06N3/08;G;G06;G06V;G06N;G06V10;G06N3;G06V10/764;G06V10/774;G06V10/82;G06V10/44;G06V10/25;G06N3/0464;G06N3/0455;G06N3/08
申请人地址: 201306 上海市浦东新区临港新城海港大道1550号
主权项: 1.一种基于改进DETR的水面上船舶检测方法,其特征在于:包括: 准备经过标注的船舶图像数据集; 构建改进的DETR模型,所述改进的DETR模型的主干网络采用ResNet,所述改进的DETR模型的中间部件采用Transformer,该Transformer中采用3个Encoder层和3个Decoder层; 采用所述船舶图像数据集对改进的DETR模型进行训练; 采用经过训练的改进的DETR模型来对目标检测图像中的水面上船舶进行检测。 2.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:所述Transformer设置有RPN层,该RPN层设置在Encoder层最后的生成特征图上。 3.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:所述改进的DETR模型中采用多尺度关键点聚合的注意力机制来关注特征图上关键的采样点,跨越多个特征图进行注意力操作。 4.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:所述构建改进的DETR模型,其具体实现方法包括: 所构建的改进的DETR模型,其主干网络采用预训练好的50层的ResNet网络,一共生成4个不同尺度的256通道特征图,前3个特征图通过步长为1的1×1卷积从ResNet网络的C3、C4、C5特征图中提取,最后一个特征图则通过步长为2的3×3卷积从C5特征图中提取; 所构建的改进的DETR模型,其中间部件采用Transformer,该Transformer中采用3个Encoder层和3个Decoder层,并且,Transformer中设置的注意力头数为8,Transformer中设置的隐藏层结点数为2048,Transformer中设置的dropout参数为0.1,Transformer中的激活函数选择ReLU,Transformer中的位置编码采用可学习的位置编码,位置编码随机初始化后直接与特征矩阵相加一起传入Transformer中; 所构建的改进的DETR模型中,预测头采用FFN来输出预测结果,由分类分支以及bbox分支两个分支组成,所述分类分支用于输出类别标签,所述bbox分支用于输出边界框坐标,所述分类分支以及bbox分支均为三层的全连接网络。 5.根据权利要求4所述基于改进DETR的水面上船舶检测方法,其特征在于:所述中间部件的构建过程包括: 传入Encoder层的参数有:①backbone输出的特征src,维度为(hw,b,h_dim),②位置编码pos,维度为(hw,b,h_dim),③图片掩码mask,维度为(b,hw);其中,w为特征图的宽度,h为特征图的高度,b为batch size,h_dim为隐藏层结点数; 每个Encoder层包含多头注意力模块、Add&Norm模块和FFN模块; 在多头注意力模块中,将特征图复制三份,与位置编码向量相加后,分别作为value,key和query,然后使用所述value、key和query来进行多头注意力操作; 使用多尺度关键点聚合的注意力机制来关注特征图上关键的采样点,跨越多个特征图进行注意力操作; 在单个特征图上的注意力公式为 其中, q∈Ωq,表示一个query查询向量,其特征为zq∈RC; pz为一个二维参考点; k∈Ωk表示一个key键向量,K为所有采样key的个数; x∈RC×H×W为给定的输入特征图; W和W′分别为可学习的权重; Aqk和Δpqk分别表示第k个采样点的注意力权重和偏移值,均由对query特征的线性映射得到; x(pq+Δpqk)表示采用双线性插值的方式从特征图上索引特征; 多头注意力公式为 其中, Wm和W′m分别为可学习的权重; M表示注意力头的数量; Amqk和Δpmqk分别表示第m个注意力头中第k个采样点的注意力权重和偏移值; 在多层特征图上的多头注意力公式为 其中,表示n层特征图的输入特征,p′q表示对pq进行归一化后的坐标,/>表示重新缩放到特征图操作,/>和/>分别表示第m个注意力头上的第i层特征图的第k个采样点的注意力权重和偏移值; 特征图经过多头注意力模块后,进入第一个Add&Norm模块,使用残差连接将生成的特征图与原特征图src直接相加短接,用来防止网络退化,以及,进行LN操作,在Channel维度进行归一化处理;紧接着进入FFN模块,先线性变换,然后ReLU非线性,再线性变换,最后进入第二个Add&Norm模块,完成了一层Encoder层搭建,将上一层Encoder层的输出结果输入下一层Encoder层,一共经过三个Encoder层; 在Encoder层最后的生成特征图上添加一个RPN层,RPN为区域候选网络,该RPN层具有两个分支分别用来进行边界框预测和前后景分类,用RPN的回归分支,选取得分最高的边界框作为区域建议,然后使用区域建议的中心坐标生成reference points,作为objectqueries的初始化; 所述object queries为可学习的带位置信息的锚框,该object queries用于在Decoder层中作为查询向量进行注意力操作; 传入Decoder层的参数有:①query_embedding,维度为(num_queries,b,h_dim),②位置编码pos,维度为(num_queries,b,h_dim),③Encoder的输出特征,维度为(hw,b,h_dim);其中,w为特征图的宽度,h为特征图的高度,b为batch size,h_dim为隐藏层结点数,query_embedding为object queries的具体表现形式,num_queries为object queries的数量; Decoder在结构上比Encoder每层多一个多头注意力机制和Add&Norm,对queryembedding和位置编码进行学习,通过Encoder得到的特征加强图进行解码,使用objectqueries对加强后的有效特征层进行查询,获得预测结果; 首先使用nn.Embedding创建一个Embedding类别,然后利用.weight来获取所述Embedding类别的权重作为query embedding,并且,设置num_queries值为100,一共生成100个预测框,每个预测框会自动与目标物体进行匹配,多余的框全都作为背景处理; 然后将query embedding自己作为value,并与位置编码pos相加生成query和key,进入多头注意力模块进行自注意力操作,接着进入第一个Add&Norm模块,进行残差连接和归一化操作;将其输出与位置编码相加作为query,Encoder的输出与位置编码相加作为key,Encoder的输出作为value,进入第二个多头注意力模块进行交叉注意力操作,接着进入第二个Add&Norm模块和FFN层,对特征进行进一步处理,得到一个维度为(num_queries,b,h_dim)的向量,最后堆叠三个Decoder层的输出得到一个维度为(3,num_queries,b,h_dim)的向量作为最终输出。 6.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:对改进的DETR模型进行训练的具体过程包括: 当Transformer生成预测框之后,采用匈牙利算法来与真值框进行二分图匹配; 所述改进的DETR模型将去噪训练模块作为shortcut跳过匹配过程,通过重构加入噪声后的真值框来帮助模型更快的收敛,具体噪声设置包括: 以p(0.5)概率将标签随机翻转成其他类别,并以embedding的形式与object queries一起送入Decoder中; 定义λ1和λ2(λ1&λ2∈(0,1))两种噪声尺度,噪声大小为(Δx,Δy),在给定真值框(x,y,w,h)范围内,对边界框的中心点进行平移,保证|Δx|<λ1w/2以及|Δy|<λ1h/2,即保证平移后的中心点仍在真值框内;按一定比例缩放边界框的长和宽,分别对于长度在[(1-λ2)h,(1+λ2)h]范围内,对于宽度在[(1-λ2)w,(1+λ2)w]范围内进行随机采样; 重构模块的损失函数具体包括针对分类标签的损失Lcls,以及针对边界框回归的损失Lbox: 其中,y表示M个真实值的集合,表示N个预测值的集合,ci表示类别标签,bi表示边界框坐标,/>表示类别预测概率,/>为边界框预测值;Lcls采用Focal loss来处理样本分类不均衡: 其中,γ为超参数,用于调整分类置信度;Lbox具体采用smoothL1 loss和DIOU loss: 其中,λ3和λ4为超参数;最后的总损失函数为Loss=Lmatch+βLrec,其中β为权重系数。 7.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:所述船舶图像数据集采用SeaShips数据集,将船舶图像数据集划分为训练集、验证集和测试集。 8.根据权利要求7所述基于改进DETR的水面上船舶检测方法,其特征在于:在采用船舶图像数据集对改进的DETR模型进行训练之前,先对船舶图像数据集进行预处理。 9.根据权利要求8所述基于改进DETR的水面上船舶检测方法,其特征在于:所述预处理过程具体包括: 对于训练集中的图片,进行随机翻转处理,并将原图片随机裁剪和随机缩放成预先设定的大小; 对于验证集中的图片,缩放成800像素大小,之后将图片转换为tensor类型,并根据图片的均值方差进行归一化处理; 基于掩码机制,在船舶图像数据集中,取最高图片的高h和最宽图片的宽w来填充所有图片。 10.根据权利要求1所述基于改进DETR的水面上船舶检测方法,其特征在于:所述ResNet为50层。
检索历史
应用推荐