CN111860683B - 一种基于特征融合的目标检测方法 - Google Patents

一种基于特征融合的目标检测方法 Download PDF

Info

Publication number
CN111860683B
CN111860683B CN202010751441.0A CN202010751441A CN111860683B CN 111860683 B CN111860683 B CN 111860683B CN 202010751441 A CN202010751441 A CN 202010751441A CN 111860683 B CN111860683 B CN 111860683B
Authority
CN
China
Prior art keywords
module
feature
size
target
feature fusion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010751441.0A
Other languages
English (en)
Other versions
CN111860683A (zh
Inventor
崔玉宁
史殿习
刘哲
杨思宁
李林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010751441.0A priority Critical patent/CN111860683B/zh
Publication of CN111860683A publication Critical patent/CN111860683A/zh
Application granted granted Critical
Publication of CN111860683B publication Critical patent/CN111860683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于特征融合的目标检测方法,目的是解决目前检测方法小尺寸目标检测精度低的缺点。技术方案是构建由特征提取模块、间接特征融合模块、直接特征融合模块、2个变形模块、检测模块构成的目标检测***;采用训练后的目标检测***对图像进行特征提取、间接特征融合、直接特征融合,检测识别目标的位置和类别。其中间接特征融合模块将高层和低层特征图拼接成一个特征图,然后对拼接好的特征图计算不同像素间的依赖关系,将依赖关系在不同特征图间共享,实现了高层特征和低层特征之间的信息传递;直接特征融合模块将高层特征图信息逐层向低层特征图传递,使小尺寸目标的低层特征中的语义和位置信息增强,提升了小目标检测精度。

Description

一种基于特征融合的目标检测方法
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种基于特征融合的目标检测方法。
背景技术
目标检测是计算机视觉领域重要的研究方向之一,传统的目标检测方法是通过对一定区域内的图像构建特征描述子(如方向梯度直方图等)提取特征,然后利用分类器对特征进行分类实现目标检测,如支持向量机SVM(Support Vector Machine)等。近来随着卷积神经网络的发展,工程特征大部分已经被卷积神经网络特征所取代,目标检测***在精度和速度上都取得了很大的进步。
当前,基于深度学习的目标检测方法分为双阶段检测方法和单阶段检测方法。
双阶段检测方法采用FastR-CNN、FasterR-CNN、R-FCN双阶段网络,首先对输入图片提取候选区域,然后对提取的候选区域进行分类和定位。目前,该类方法达到了检测精度非常好的效果,但是存在速度较慢的缺点,达不到实时性的要求,因此在对检测实时性要求较高的领域不能用双阶段检测方法。
单阶段检测方法采用SSD(Single Shot MultiBox Detector,单阶段多参考窗口检测器)等单阶段网络直接对设置的默认框进行定位和分类,省略了双阶段方法中提取候选区域的操作,检测速度得到了提升,但是检测精度较双阶段方法略有下降,尤其是对小尺寸目标的检测。出现这种情况主要是因为面向小尺寸目标检测的低层特征(指经过卷积神经网路层数较少的特征图,低层和高层是相对的叫法,一般将特征提取阶段得到的六个特征图中的尺寸小的三个特征图定为高层特征图,尺寸大的三个特征图定为低层特征图)的卷积层数少,语义信息不够丰富,导致小目标的检测效果仍然不尽如人意,导致常有未识别出小目标或识别错误的现象发生。
因此,如何将单阶段检测方法中高层特征(指经过卷积神经网络层数较多的特征图)和低层特征进行融合,是本领域技术人员正在探讨的热点问题。
发明内容
本发明要解决的技术问题是解决目前单阶段检测方法小尺寸目标检测精度低的缺点。
本发明提供一种基于特征融合的目标检测方法,在单阶段SSD网络中加入特征融合机制,达到提升目标检测尤其是小目标检测精度的目的。
为解决上述技术问题,本发明的技术方案是:首先构建由特征提取模块、间接特征融合模块、直接特征融合模块、2个变形模块、检测模块构成的目标检测***。然后选择PASCAL VOC 2007、PASCAL 2012的训练集和验证集的组合数据集作为对目标检测网络进行训练的训练数据集,拟合后得到目标检测***的网络参数。最后采用训练后的目标检测***对单帧图像进行特征提取、间接特征融合、直接特征融合,检测识别目标的位置和类别。
本发明主要包括以下具体步骤:
第一步:构建目标检测***。该***由特征提取模块、间接特征融合模块、直接特征融合模块、2个变形模块(即第一变形模块和第二变形模块)、检测模块组成。
特征提取模块为一个卷积神经网络,与第一变形模块相连。特征提取模块共包括23个卷积层,5个池化层,共28层。池化层分别为第3、6、10、14、18层,其他层均为卷积层。特征提取模块接收图像I,对图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块。多尺度特征图集合包含六个尺度的特征图,六个尺度的特征图的尺寸分别为512×38×38,1024×19×19,512×10×10,256×5×5,256×3×3,256×1×1,分别由第13层、第21层、第23层、第25层、第27层、第28层输出给语义提升模块。其中,第13层、第21层、第23层、第25层、第27层特征既输出给第一变形模块,也输出给它们各自的下一层。(即,第13层将尺寸为512×38×38的特征图输出给第一变形模块和第14层;第21层将尺寸为1024×19×19的特征图输出给第一变形模块和第22层;第23层将尺寸为512×10×10的特征图输出给第一变形模块和第24层;第25层将尺寸为256×5×5的特征图输出给第一变形模块和第26层;第27层将尺寸为256×3×3的特征图输出给第一变形模块和第28层;第28层将尺寸为256×1×1的特征图输出给第一变形模块。)特征图的尺寸的含义是:第一个维度为通道数,后两个维度是特征图中每个通道中的像素点的坐标,即像素点的横坐标和纵坐标。以尺寸为256×10×10的特征图为例,256为通道数,后两个维度是特征图中每个通道中的像素点的横坐标和纵坐标。
第一变形模块是对F(I)进行插值和下采样操作的模块,与特征提取模块、间接特征融合模块相连;对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块,A1(I)包含的6个特征图尺寸为512×10×10,1024×10×10,512×10×10,256×10×10,256×10×10,256×10×10。其中,尺寸为512×10×10,1024×10×10,512×10×10的特征图为低层特征图,尺寸为256×10×10,256×10×10,256×10×10的特征图为高层特征图。
间接特征融合模块与第一变形模块、直接特征融合模块相连,间接特征融合模块由第一通道变换模块、特征拼接模块、6个注意力模块组成;间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图的特征图像素间的依赖关系和低层特征图的特征图像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。
第一通道变换模块包含6个1×1卷积神经网络,与第一变形模块、特征拼接模块、直接特征融合模块相连,从第一变形模块接收A1(I),分别对A1(I)中的每个特征图进行1×1卷积神经操作,将A1(I)中6个特征图的通道数统一为256,以减小后续计算量,得到A2(I)={a21,a22,a23,a24,a25,a26}(序号越大代表特征图经过的神经网络层数越多),将A2(I)输出给特征拼接模块、直接特征融合模块。A2(I)中的特征图尺寸都为256×10×10。由于缩小特征图会损失信息,在没引入较大计算量的前提下,为了减少特征图的信息损失,统一将特征图尺寸调整至256×10×10。
特征拼接模块与第一通道变换模块、6个注意力模块相连,从第一通道变换模块接收A2(I),对A2(I)中的6个特征图进行特征拼接操作,将A2(I)中的6个特征图拼接成第一特征图I1,将I1发送给6个注意力模块,I1的尺寸为1536×10×10。
第i(1≤i≤6,i表示注意力模块的序号)个注意力模块与特征拼接模块、直接特征融合模块相连,对I1提取像素间的依赖关系,根据此依赖关系,加权计算得到经过间接特征融合的特征图hi,将hi发送给直接特征融合模块。第i个注意力模块由查询模块、键模块、值模块、依赖关系模块、归一化模块、像素赋权模块、特征相加模块组成。
查询模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,以减少通道数,从而减少计算量,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第二合并后特征图I2’,I2’的尺寸为192×100;对I2’进行转置操作,得到第二转置后特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块。
键模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,以减少通道数,从而减少计算量,得到第三特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第三合并后特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块。
依赖关系模块与查询模块、键模块、归一化模块相连,从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到I2、I3不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块。
归一化模块与依赖关系模块和像素赋权模块相连,从依赖关系模块接收I4,对I4的每一行进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块。
值模块与特征拼接模块、像素赋权模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,得到第六特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第六合并后特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第六转置后特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块。
像素赋权模块与值模块、归一化模块、特征相加模块相连,从值模块接收I6、从归一化模块接收I5,对I5、I6执行矩阵乘法操作以对像素赋权,得到像素赋权后特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到I7’,I7’的尺寸为1536×100;对I7’的第二维度进行维度拆分操作,得到维度拆分后的特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块。
特征相加模块与特征拼接模块、像素赋权模块、直接特征融合模块相连,从特征拼接模块接收I1、从像素赋权模块接收I7,对I1、I7进行像素级别加法操作以利于梯度回传和优化,得到经过特征相加后的特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块。
直接特征融合模块与间接特征融合模块、第二变形模块相连,从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,对h1,h2,h3,h4,h5,h6变换通道数后,进行直接特征融合,得到经过直接特征融合后的特征图集合J(I),将J(I)发送给第二变形模块。直接特征融合模块由第二通道变换模块、侧向连接模块组成。
第二通道变换模块包含6个1×1卷积神经网络,与间接特征融合模块、侧向连接模块相连,从间接特征融合模块的6个注意力模块中的特征相加模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,以减小后续计算量,得到特征图集合A8(I),将A8(I)发送给侧向连接模块。A8(I)中的6个特征图尺寸都为256×10×10。
侧向连接模块是进行像素级别加法操作的模块,与第二通道变换模块、第二变形模块、间接特征融合模块的第一通道变换模块相连,从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作(从A8(I)最高层特征图h6开始,对h6特征图与h5特征图进行相加并除2,得到h65,再将h65与h4进行相加并除2,得到h54,以此类推,直到获得h21,将h6,h65,h54,h43,h32,h21放入到集合J(I)’中,此步为不同特征图间像素值的加法操作(称为直接运算),因此命名为“直接特征融合”),将J(I)’与A2(I)执行像素加法操作,以利于梯度回传和优化,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10。将J(I)发送给第二变形模块。
第二变形模块与直接特征融合模块、检测模块相连。从直接特征融合模块接收J(I),对J(I)中的特征图进行插值或下采样操作,得到D(I),D(I)中包含d1,d2,d3,d4,d5,d6,这6个特征图。d1,d2,d3尺寸分别为256×1×1,256×3×3,256×5×5;d5,d6尺寸分别为256×19×19,256×38×38,将D(I)发送给检测模块。
检测模块与第二变形模块相连,由分类网络、定位网络和非极大值抑制(NMS)模块组成。分类网络与第二变形模块、非极大值抑制模块相连,是一个卷积核大小为3×3、卷积核个数为k×E的卷积网络(其中k为图片上每个位置预定义框的数量,E为训练数据集中包含的目标类别数量);分类网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向NMS模块输出预测目标的类别(即目标属于某类的概率值)。定位网络与第二变形模块、非极大值抑制模块相连,是一个卷积核大小为3×3、卷积核数量为k×4的卷积网络(其中4表示需要用4个坐标值表示一个预测目标的位置);定位网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向非极大值抑制模块输出预测目标的坐标值(即预测框坐标值,包括左上和右下2个坐标,共4个值);非极大值抑制模块与分类网络和定位网络相连,采用非极大值抑制方法(NMS,Non-Maximum Suppression方法,见文献“Efficient Non-Maximum Suppression.”18th International Conference on PatternRecognition(ICPR’06)3(2006):850-855,Neubeck,Alexander和Luc Van Gool的论文:有效的非极大值抑制方法)将重复预测的目标的坐标值和类别去除,获得目标最佳的预测框坐标值和预测类别。
第二步:准备目标检测***的训练数据集。方法为:
选择PASCAL VOC 2007、PASCAL VOC 2012(见文献“M.Everingham,L.Van Gool,C.K.I.Williams,J.Winn,and A.Zisserman.The pascal visual object classes VOCchallenge[J]//International Journal of Computer Vision.2010:303-338”,MarkEveringham的论文:视觉目标类别挑战,2010年出版的《国际计算机视觉杂志》第303页)的训练集、验证集中的所有图片作为训练数据集,训练数据集图片中共包含E种目标类别,E为正整数。对于训练数据集中的第d(1≤d≤16551)张图片,PASCAL VOC 2007、PASCALVOC 2012中给出了第d张图片所包含的目标的类别以及位置向量gd={gd1,gd2,...,gdz,...,gdZ},dZ表示第d张图片中包含的目标数量,其中
Figure GDA0002981307630000041
为包含四个值的一维向量,
Figure GDA0002981307630000042
为第d张图片的第z个目标区域矩形框的左上角的坐标值,
Figure GDA0002981307630000051
为第d张图片的第z个目标区域矩形框的右下角的坐标值,四个坐标值均为标量,
Figure GDA0002981307630000052
中的四个值表示出第d张图片的第z个目标区域矩形的目标区域。
第三步,采用第二步构建的训练数据集训练目标检测***中的各个模块,方法是:
3.1采用SSD(见文献“SSD:Single Shot MultiBox Detector.”EuropeanConference on Computer Vision,2016.”Liu Wei等人的论文:单阶段多参考窗口检测器)中的初始化方法对特征提取模块的网络参数Φ1进行初始化;采用Kaiming初始化方法(见文献“Delving deep into rectifiers:Surpassing human-level performance onimagenet classification.”Proceedings of the IEEE international conference oncomputer vision.2015.He Kaiming等人的论文:深入研究整流器:在ImageNet数据集上超越人类水平的性能)对其余模块(即间接特征融合模块的网络参数Φ2、直接特征融合模块的网络参数Φ3、检测模块的网络参数Φ4)进行初始化。
3.2将训练数据集中的图片依次输入到目标检测***中,对目标检测***进行训练,拟合得到目标检测***的网络参数,具体步骤是:
3.2.1初始化迭代次数epoch=1;初始化批处理大小batchsize=32;初始化学习率
lr=4*10-3
3.2.2采用训练数据集中的图片对目标检测***进行训练,具体步骤为:
3.2.2.1.初始化变量d=1;
3.2.2.2.将训练数据集中的第d张至第(d+batchsize)张图片输入到目标检测***中,使用随机梯度下降算法(SGD)(见文献“Backpropagation applied to handwrittenzip code recognition[J]//Neural Computation,1989”,YannLecun等人的论文:反向传播应用于手写邮政编码识别)使损失函数最小化,以更新目标检测***中各模块的网络参数。所述损失函数采用SSD中的损失函数作为训练的损失函数,形式为:
Figure GDA0002981307630000053
其中L为总损失函数,Lloc为位置预测损失函数,通过计算预测框和真实框(即真实图像的左上坐标和右下坐标围起来的框)之间的Smooth L1损失函数获得,Lconf为类别预测损失函数,通过计算预测类别和真实类别之间的Softmax损失函数获得,N为训练数据集中图片的预测目标的坐标框与真实框匹配的样本数量,即训练数据集中所有IOU大于0.5的样本数量,也即:
Figure GDA0002981307630000054
的样本数量。
其中,IOU表示交并比,A表示定位网络输出的一个目标框的坐标所包围的面积,B表示目标真实坐标值所包围的面积。
3.2.2.3.若d+2*batchsize<16551,令d=d+batchsize,转3.2.2.2;若d+2*batchsize≥16551,转3.2.3。
3.2.3若epoch<160,令epoch=epoch+1,转3.2.2;若epoch=160,令lr=lr*0.1,令epoch=epoch+1,转3.2.2;若160<epoch≤250,令epoch=epoch+1,转3.2.2;若epoch>250,转3.2.4。
3.2.4将各个模块更新所得的参数作为最终的目标检测***的网络参数。
第四步:利用目标检测***进行目标检测,方法是:
4.1从相机或文件获得需要检测的图像I;
4.2将训练得到的目标检测***的网络参数载入到目标检测***中;
4.3特征提取模块对被检测图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块。F(I)中包含6张图,尺寸分别为512×38×38,1024×19×19,512×10×10,256×5×5,256×3×3,256×1×1。F(I)的6个特征图中,低层特征图(512×38×38,1024×19×19,512×10×10),位置信息比较准确,但是语义信息不足,无法辨别目标属于的类别;高层特征图(256×5×5,256×3×3,256×1×1),位置信息不准确,但是语义信息丰富。
4.4第一变形模块从特征提取模块接收F(I),对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块。A1(I)包含的特征图尺寸为512×10×10,1024×10×10,512×10×10,256×10×10,256×10×10,256×10×10。方法是:采用下采样方法分别将F(I)中的512×38×38,1024×19×19特征图的后两个维度缩小至10×10;采用插值方法分别将F(I)中的256×5×5,256×3×3,256×1×1特征图的后两个维度放大至10×10,对F(I)中原有的512×10×10特征图不作处理;将后两个维度统一后的6个特征图(均为10×10)放到集合A1(I)中,将A1(I)发送给间接特征融合模块。
4.5间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图(256×10×10,256×10×10,256×10×10)像素间的依赖关系和低层特征图(512×10×10,1024×10×10,512×10×10)像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。具体方法为:
4.5.1第一通道变换模块从第一变形模块接收A1(I),对A1(I)中的特征图分别采用1×1卷积神经网络进行通道变换操作(通过调用pytorch(见文献“Automaticdifferentiation in pytorch.”in NIPS Workshop,2017.Adam Paszke等的论文:pytorch中的自动微分)内置的函数nn.Conv2d(in_channels,out_channels,kernel_size)实现,其中in_channels表示输入特征图的通道数;out_channels表示输出特征图的通道数,设置为256;kernel_size表示卷积网络卷积核的大小,设置为1),得到A2(I)={a21,a22,a23,a24,a25,a26},a21,a22,a23,a24,a25,a26均为尺寸为256×10×10的特征图,将A2(I)发送给特征拼接模块、直接特征融合模块。
4.5.2特征拼接模块从第一通道变换模块接收A2(I),对A2(I)进行特征拼接操作,将6个特征图拼接成第一特征图I1,I1的尺寸为1536×10×10。将I1发送给6个注意力模块。
4.5.36个注意力模块同时从特征拼接模块接收I1,并行地运用矩阵乘法操作对I1提取不同像素间的依赖关系。将所有特征图(高层特征图和低层特征图)的信息都考虑在内,实现不同特征图间的间接信息融合。运用融合后的像素间的依赖关系,通过像素赋权模块和特征相加模块得到特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。6个注意力模块的操作完全相同,第i个注意力模块生成第i个经过间接特征融合的特征图hi的方法为:
4.5.3.1查询模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,以减少通道数,从而减少计算量,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第三特征图I2’,I2’的尺寸为192×100;对I2’将进行转置操作,得到第四特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块;同时,键模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,以减少通道数,从而减少计算量,得到第五特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第六特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块。
4.5.3.2依赖关系模块从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块。
4.5.3.3归一化模块从依赖关系模块接收I4,采用Softmax函数对I4的每一列进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块。同时,值模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,得到第七特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第八特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第九特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块。
4.5.3.4像素赋权模块从值模块接收I6、从归一化模块接收I5,对I5、I6进行矩阵乘法操作,得到经过像素赋权后的特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到第十特征图I7’,I7’的尺寸为1536×100;通过调用pytorch内置的函数I7’.view(1536,10,10)对I7’的第二维度进行维度拆分操作,得到第十一特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块。
4.5.3.5特征相加模块从像素赋权模块接收I7、从特征拼接模块接收I1,对I1、I7进行像素级别加法操作以利于梯度回传和网络优化,得到特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块。
4.6直接特征融合模块从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6统一通道数后,进行直接特征融合,得到经过直接特征融合后的特征集合J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6的尺寸为256×10×10,将J(I)发送给第二变形模块。具体方法为:
4.6.1第二通道变换模块从间接特征融合模块的6个注意力模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,以减小后续计算量,得到特征图集合A8(I),将A8(I)发送给侧向连接模块。A8(I)中的特征图尺寸都为256×10×10。
4.6.2侧向连接模块从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作,即从A8(I)最高层特征图h6开始,对h6特征图与h5特征图进行相加并除2,得到h65,再将h65与h4进行相加并除2,得到h54,以此类推,直到获得h21,将h6,h65,h54,h43,h32,h21放入到集合J(I)’中,将J(I)’与A2(I)执行像素加法操作,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10,将J(I)发送给第二变形模块;具体计算方法为:
4.6.2.1初始化i=6;
4.6.2.2ji’=hi;ji=ji’+a2i
4.6.2.3i=i-1;若i=0,转4.7;若i>0,转4.6.2.4;
4.6.2.4ji’=(hi+ji+1’)/2;ji=ji’+a2i,转4.6.2.3;
4.7第二变形模块从直接特征融合模块接收J(I),对J(I)中的特征图进行插值或下采样操作,得到D(I)。具体方法为:对j1,j2,j3分别进行下采样操作,得到d1,d2,d3,尺寸分别为256×1×1,256×3×3,256×5×5;对j5,j6分别进行插值操作,得到d5,d6,尺寸分别为256×19×19,256×38×38;对j4不做处理;将d1,d2,d3,j4,d5,d6放到集合D(I)中,将D(I)发送给检测模块。
4.8检测模块从直接特征融合模块接收D(I),利用分类网络获得预测目标的概率集合C(I)={c1,c2,c3,…,ce,…,cE},E为训练数据集图片中共包含的目标类别数;ce={ce1,ce2,ce3,…,cep,…,ceP},表示预测目标属于第e类的概率集合,cep表示属于第e类的预测目标中第ep个目标属于第e类的概率;利用定位网络获得预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE},le={le1,le2,le3,…,lep,…,leP},表示预测目标属于第e个类别的坐标向量集合,
Figure GDA0002981307630000081
Figure GDA0002981307630000082
是坐标系中预测目标框左上角横坐标,
Figure GDA0002981307630000083
是预测目标框左上角纵坐标,
Figure GDA0002981307630000084
是预测目标框右下角横坐标,
Figure GDA0002981307630000085
是预测目标框右下角纵坐标。le和ce中相同序号的元素对应相同的预测目标,然后利用非极大值抑制模块对L(I)和C(I)进行筛选,获得最终的目标检测结果。具体方法为:
4.8.1分类网络接收D(I),生成预测目标的类别概率C(I)={c1,c2,c3,…,ce,…,cE};
4.8.2定位网络接收D(I),生成预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE};
4.8.3利用非极大值抑制模块对L(I)和C(I)进行筛选:
4.8.3.1初始化e=1;
4.8.3.2将ce中的概率值按照降序排列;
4.8.3.3将le中坐标值按照ce的排序结果重新排列,保证属于同一个预测目标的类别概率和坐标值的元素序号相同;
4.8.3.4初始化p=1;
4.8.3.5计算le(p+1)预测目标框与lep预测目标框的交并比。若交并比小于阈值t(0.7<t<0.9),则删除le(p+1)目标框对应的预测目标,转4.8.3.6;若交并比大于t,则保留le(p+1)对应的预测目标,转4.8.3.6;
4.8.3.6若p<P,则令p=p+1,转4.8.3.5;若p=P,转4.8.3.7;
4.8.3.7若e<E,则令e=e+1,转4.8.3.2;若e=E,转4.8.3.8;
4.8.3.8收集C(I)中被保留的类别概率,收集L(I)中被保留的坐标值,作为目标检测***最终的预测结果。
采用本发明可以达到以下技术效果:
1、本发明特征提取模块对输入的图像数据进行多尺度特征图的提取,间接特征融合模块采用注意力模块中的特征拼接模块首先将高层和低层的特征图拼接成一个特征图,然后通过依赖关系模块对此拼接特征图计算不同像素之间的依赖关系,因此此依赖关系中同时包含了高层特征图和低层特征图的信息,最后像素赋权模块通过矩阵运算将此依赖关系在不同特征图间共享,不仅实现了同一特征图不同像素之间的信息传递,而且实现了高层特征和低层特征之间的信息传递增强了不同特征图中的有用像素信息,更有利于当前目标的检测;
2、本发明直接特征融合模块通过侧向连接模块将高层特征图信息逐层向低层特征图传递,通过对相邻特征图相加结果取均值的方式减小特征图像素值相加操作带来的像素值的数量级变化,使得负责小尺寸目标检测任务的低层特征中的语义信息得到了增强,更有利于小尺寸目标的检测。
附图说明
图1为本发明的整体流程图;
图2为本发明第一步构建的目标检测***逻辑结构图。
具体实施方式
图1为本发明的整体流程图;如图1所示,本发明包括以下步骤:
第一步:构建目标检测***。该***如图1所示,由特征提取模块、间接特征融合模块、直接特征融合模块、2个变形模块(即第一变形模块和第二变形模块)、检测模块组成。
特征提取模块为一个卷积神经网络,与第一变形模块相连。特征提取模块共包括23个卷积层,5个池化层,共28层。池化层分别为第3、6、10、14、18层,其他层均为卷积层。特征提取模块接收图像I,对图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块。多尺度特征图集合包含六个尺度的特征图,六个尺度的特征图的尺寸分别为512×38×38,1024×19×19,512×10×10,256×5×5,256×3×3,256×1×1,分别由第13层、第21层、第23层、第25层、第27层、第28层输出给语义提升模块。其中,第13层、第21层、第23层、第25层、第27层特征既输出给第一变形模块,也输出给它们各自的下一层。
第一变形模块是对F(I)进行插值和下采样操作的模块,与特征提取模块、间接特征融合模块相连;对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块,A1(I)包含的6个特征图尺寸为512×10×10,1024×10×10,512×10×10,256×10×10,256×10×10,256×10×10。其中,尺寸为512×10×10,1024×10×10,512×10×10的特征图为低层特征图,尺寸为256×10×10,256×10×10,256×10×10的特征图为高层特征图。
间接特征融合模块与第一变形模块、直接特征融合模块相连,间接特征融合模块由第一通道变换模块、特征拼接模块、6个注意力模块组成;间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图像素间的依赖关系和低层特征图像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。
第一通道变换模块包含6个1×1卷积神经网络,与第一变形模块、特征拼接模块、直接特征融合模块相连,从第一变形模块接收A1(I),分别对A1(I)中的每个特征图进行1×1卷积神经操作,将A1(I)中6个特征图的通道数统一为256,以减小后续计算量,得到A2(I)={a21,a22,a23,a24,a25,a26}(序号越大代表特征图经过的神经网络层数越多),将A2(I)输出给特征拼接模块、直接特征融合模块。A2(I)中的特征图尺寸都为256×10×10。
特征拼接模块与第一通道变换模块、6个注意力模块相连,从第一通道变换模块接收A2(I),对A2(I)中的6个特征图进行特征拼接操作,将A2(I)中的6个特征图拼接成第一特征图I1,将I1发送给6个注意力模块,I1的尺寸为1536×10×10。
第i(1≤i≤6,i表示注意力模块的序号)个注意力模块与特征拼接模块、直接特征融合模块相连,对I1提取像素间的依赖关系,根据此依赖关系,加权计算得到经过间接特征融合的特征图hi,将hi发送给直接特征融合模块。第i个注意力模块由查询模块、键模块、值模块、依赖关系模块、归一化模块、像素赋权模块、特征相加模块组成。
查询模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,以减少通道数,从而减少计算量,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第二合并后特征图I2’,I2’的尺寸为192×100;对I2’进行转置操作,得到第二转置后特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块。
键模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,以减少通道数,从而减少计算量,得到第三特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第三合并后特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块。
依赖关系模块与查询模块、键模块、归一化模块相连,从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到I2、I3不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块。
归一化模块与依赖关系模块和像素赋权模块相连,从依赖关系模块接收I4,对I4的每一行进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块。
值模块与特征拼接模块、像素赋权模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,得到第六特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第六合并后特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第六转置后特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块。
像素赋权模块与值模块、归一化模块、特征相加模块相连,从值模块接收I6、从归一化模块接收I5,对I5、I6执行矩阵乘法操作以对像素赋权,得到像素赋权后特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到I7’,I7’的尺寸为1536×100;对I7’的第二维度进行维度拆分操作,得到维度拆分后的特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块。
特征相加模块与特征拼接模块、像素赋权模块、直接特征融合模块相连,从特征拼接模块接收I1、从像素赋权模块接收I7,对I1、I7进行像素级别加法操作以利于梯度回传和优化,得到经过特征相加后的特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块。
直接特征融合模块与间接特征融合模块、第二变形模块相连,从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,对h1,h2,h3,h4,h5,h6变换通道数后,进行直接特征融合,得到经过直接特征融合后的特征图集合J(I),将J(I)发送给第二变形模块。直接特征融合模块由第二通道变换模块、侧向连接模块组成。
第二通道变换模块包含6个1×1卷积神经网络,与间接特征融合模块、侧向连接模块相连,从间接特征融合模块的6个注意力模块中的特征相加模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,以减小后续计算量,得到特征图集合A8(I),将A8(I)发送给侧向连接模块。A8(I)中的6个特征图尺寸都为256×10×10。
侧向连接模块是进行像素级别加法操作的模块,与第二通道变换模块、第二变形模块、间接特征融合模块的第一通道变换模块相连,从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作(即“直接特征融合”),将J(I)’与A2(I)执行像素加法操作,以利于梯度回传和优化,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10。将J(I)发送给第二变形模块。
第二变形模块与直接特征融合模块、检测模块相连。从直接特征融合模块接收J(I),对J(I)中的特征图进行插值或下采样操作,得到D(I),D(I)中包含d1,d2,d3,j4,d5,d6,这6个特征图。d1,d2,d3尺寸分别为256×1×1,256×3×3,256×5×5;d5,d6尺寸分别为256×19×19,256×38×38,将D(I)发送给检测模块。
检测模块与第二变形模块相连,由分类网络、定位网络和非极大值抑制(NMS)模块组成。分类网络与第二变形模块、非极大值抑制模块相连,是一个卷积核大小为3×3、卷积核个数为k×E的卷积网络(其中k为图片上每个位置预定义框的数量,E为训练数据集中包含的目标类别数量);分类网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向NMS模块输出预测目标的类别(即目标属于某类的概率值)。定位网络与第二变形模块、非极大值抑制模块相连,是一个卷积核大小为3×3、卷积核数量为k×4的卷积网络(其中4表示需要用4个坐标值表示一个预测目标的位置);定位网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向非极大值抑制模块输出预测目标的坐标值(即预测框坐标值,包括左上和右下2个坐标,共4个值);非极大值抑制模块与分类网络和定位网络相连,采用非极大值抑制方法将重复预测的目标的坐标值和类别去除,获得目标最佳的预测框坐标值和预测类别。
第二步:准备目标检测***的训练数据集。方法为:
选择PASCAL VOC 2007、PASCAL VOC 2012的训练集、验证集中的所有图片作为训练数据集,训练数据集图片中共包含E种目标类别,E为正整数。对于训练数据集中的第d(1≤d≤16551)张图片,PASCAL VOC 2007、PASCAL VOC 2012中给出了第d张图片所包含的目标的类别以及位置向量gd={gd1,gd2,...,gdz,...,gdZ},dZ表示第d张图片中包含的目标数量,其中
Figure GDA0002981307630000111
为包含四个值的一维向量,
Figure GDA0002981307630000112
为第d张图片的第z个目标区域矩形框的左上角的坐标值,
Figure GDA0002981307630000113
为第d张图片的第z个目标区域矩形框的右下角的坐标值,四个坐标值均为标量,
Figure GDA0002981307630000121
中的四个值表示出第d张图片的第z个目标区域矩形的目标区域。
第三步,采用第二步构建的训练数据集训练目标检测***中的各个模块,方法是:
3.1采用SSD中的初始化方法对特征提取模块的网络参数Φ1进行初始化;采用Kaiming初始化方法对其余模块(即间接特征融合模块的网络参数Φ2、直接特征融合模块的网络参数Φ3、检测模块的网络参数Φ4)进行初始化。
3.2将训练数据集中的图片依次输入到目标检测***中,对目标检测***进行训练,拟合得到目标检测***的网络参数,具体步骤是:
3.2.1初始化迭代次数epoch=1;初始化批处理大小batchsize=32;初始化学习率lr=4*10-3
3.2.2采用训练数据集中的图片对目标检测***进行训练,具体步骤为:
3.2.2.1.初始化变量d=1;
3.2.2.2.将训练数据集中的第d张至第(d+batchsize)张图片输入到目标检测***中,使用随机梯度下降算法(SGD)使损失函数最小化,以更新目标检测***中各模块的网络参数。所述损失函数采用SSD中的损失函数作为训练的损失函数,形式为:
Figure GDA0002981307630000122
其中L为总损失函数,Lloc为位置预测损失函数,通过计算预测框和真实框(即真实图像的左上坐标和右下坐标围起来的框)之间的Smooth L1损失函数获得,Lconf为类别预测损失函数,通过计算预测类别和真实类别之间的Softmax损失函数获得,N为训练数据集中图片的预测目标的坐标框与真实框匹配的样本数量,即训练数据集中所有IOU大于0.5的样本数量,也即:
Figure GDA0002981307630000123
的样本数量。
其中,IOU表示交并比,A表示定位网络输出的一个目标框的坐标所包围的面积,B表示目标真实坐标值所包围的面积。
3.2.2.3.若d+2*batchsize<16551,令d=d+batchsize,转3.2.2.2;若d+2*batchsize≥16551,转3.2.3。
3.2.3若epoch<160,令epoch=epoch+1,转3.2.2;若epoch=160,令lr=lr*0.1,令epoch=epoch+1,转3.2.2;若160<epoch≤250,令epoch=epoch+1,转3.2.2;若epoch>250,转3.2.4。
3.2.4将各个模块更新所得的参数作为最终的目标检测***的网络参数。
第四步:利用目标检测***进行目标检测,方法是:
4.1从相机或文件获得需要检测的图像I;
4.2将训练得到的目标检测***的网络参数载入到目标检测***中;
4.3特征提取模块对被检测图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块。F(I)中包含6张图,尺寸分别为512×38×38,1024×19×19,512×10×10,256×5×5,256×3×3,256×1×1。F(I)的6个特征图中,低层特征图(512×38×38,1024×19×19,512×10×10),位置信息比较准确,但是语义信息不足;高层特征图(256×5×5,256×3×3,256×1×1),位置信息不准确,但是语义信息丰富。
4.4第一变形模块从特征提取模块接收F(I),对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块。A1(I)包含的特征图尺寸为512×10×10,1024×10×10,512×10×10,256×10×10,256×10×10,256×10×10。方法是:采用下采样方法分别将F(I)中的512×38×38,1024×19×19特征图的后两个维度缩小至10×10;采用插值方法分别将F(I)中的256×5×5,256×3×3,256×1×1特征图的后两个维度放大至10×10,对F(I)中原有的512×10×10特征图不作处理;将后两个维度统一后的6个特征图(均为10×10)放到集合A1(I)中,将A1(I)发送给间接特征融合模块。
4.5间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图(256×10×10,256×10×10,256×10×10)像素间的依赖关系和低层特征图(512×10×10,1024×10×10,512×10×10)像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。具体方法为:
4.5.1第一通道变换模块从第一变形模块接收A1(I),对A1(I)中的特征图分别采用1×1卷积神经网络进行通道变换操作(通过调用pytorch(见文献“Automaticdifferentiation in pytorch.”in NIPS Workshop,2017.Adam Paszke等的论文:pytorch中的自动微分)内置的函数nn.Conv2d(in_channels,out_channels,kernel_size)实现,其中in_channels表示输入特征图的通道数;out_channels表示输出特征图的通道数,设置为256;kernel_size表示卷积网络卷积核的大小,设置为1),得到A2(I)={a21,a22,a23,a24,a25,a26},a21,a22,a23,a24,a25,a26均为尺寸为256×10×10的特征图,将A2(I)发送给特征拼接模块、直接特征融合模块。
4.5.2特征拼接模块从第一通道变换模块接收A2(I),对A2(I)进行特征拼接操作,将6个特征图拼接成第一特征图I1,I1的尺寸为1536×10×10。将I1发送给6个注意力模块。
4.5.36个注意力模块同时从特征拼接模块接收I1,并行地运用矩阵乘法操作对I1提取不同像素间的依赖关系。将所有特征图(高层特征图和低层特征图)的信息都考虑在内,实现不同特征图间的间接信息融合。运用融合后的像素间的依赖关系,通过像素赋权模块和特征相加模块得到特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块。6个注意力模块的操作完全相同,第i个注意力模块生成第i个经过间接特征融合的特征图hi的方法为:
4.5.3.1查询模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,以减少通道数,从而减少计算量,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第三特征图I2’,I2’的尺寸为192×100;对I2’将进行转置操作,得到第四特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块;同时,键模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,以减少通道数,从而减少计算量,得到第五特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第六特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块。
4.5.3.2依赖关系模块从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块。
4.5.3.3归一化模块从依赖关系模块接收I4,采用Softmax函数对I4的每一列进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块。同时,值模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,得到第七特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第八特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第九特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块。
4.5.3.4像素赋权模块从值模块接收I6、从归一化模块接收I5,对I5、I6进行矩阵乘法操作,得到经过像素赋权后的特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到第十特征图I7’,I7’的尺寸为1536×100;通过调用pytorch内置的函数I7’.view(1536,10,10)对I7’的第二维度进行维度拆分操作,得到第十一特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块。
4.5.3.5特征相加模块从像素赋权模块接收I7、从特征拼接模块接收I1,对I1、I7进行像素级别加法操作以利于梯度回传和网络优化,得到特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块。
4.6直接特征融合模块从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6统一通道数后,进行直接特征融合,得到经过直接特征融合后的特征集合J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6的尺寸为256×10×10,将J(I)发送给第二变形模块。具体方法为:
4.6.1第二通道变换模块从间接特征融合模块的6个注意力模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,以减小后续计算量,得到特征图集合A8(I),将A8(I)发送给侧向连接模块。A8(I)中的特征图尺寸都为256×10×10。
4.6.2侧向连接模块从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作,即从A8(I)最高层特征图h6开始,对h6特征图与h5特征图进行相加并除2,得到h65,再将h65与h4进行相加并除2,得到h54,以此类推,直到获得h21,将h6,h65,h54,h43,h32,h21放入到集合J(I)’中,将J(I)’与A2(I)执行像素加法操作,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10,将J(I)发送给第二变形模块;具体计算方法为:
4.6.2.1.初始化i=6;
4.6.2.2.ji’=hi;ji=ji’+a2i
4.6.2.3.i=i-1;若i=0,转4.7;若i>0,转4.6.2.4;
4.6.2.4.ji’=(hi+ji+1’)/2;ji=ji’+a2i,转4.6.2.3;
4.7第二变形模块从直接特征融合模块接收J(I),对J(I)中的特征图进行插值或下采样操作,得到D(I)。具体方法为:对j1,j2,j3分别进行下采样操作,得到d1,d2,d3,尺寸分别为256×1×1,256×3×3,256×5×5;对j5,j6分别进行插值操作,得到d5,d6,尺寸分别为256×19×19,256×38×38;对j4不做处理;将d1,d2,d3,j4,d5,d6放到集合D(I)中,将D(I)发送给检测模块。
4.8检测模块从直接特征融合模块接收D(I),利用分类网络获得预测目标的概率集合C(I)={c1,c2,c3,…,ce,…,cE},E为训练数据集图片中共包含的目标类别数;ce={ce1,ce2,ce3,…,cep,…,ceP},表示预测目标属于第e类的概率集合,cep表示属于第e类的预测目标中第ep个目标属于第e类的概率;利用定位网络获得预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE},le={le1,le2,le3,…,lep,…,leP},表示预测目标属于第e个类别的坐标向量集合,
Figure GDA0002981307630000151
Figure GDA0002981307630000152
是坐标系中预测目标框左上角横坐标,
Figure GDA0002981307630000153
是预测目标框左上角纵坐标,
Figure GDA0002981307630000154
是预测目标框右下角横坐标,
Figure GDA0002981307630000155
是预测目标框右下角纵坐标。le和ce中相同序号的元素对应相同的预测目标,然后利用非极大值抑制模块对L(I)和C(I)进行筛选,获得最终的目标检测结果。具体方法为:
4.8.1分类网络接收D(I),生成预测目标的类别概率C(I)={c1,c2,c3,…,ce,…,cE};
4.8.2定位网络接收D(I),生成预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE};
4.8.3利用非极大值抑制模块对L(I)和C(I)进行筛选:
4.8.3.1初始化e=1;
4.8.3.2将ce中的概率值按照降序排列;
4.8.3.3将le中坐标值按照ce的排序结果重新排列,保证属于同一个预测目标的类别概率和坐标值的元素序号相同;
4.8.3.4初始化p=1;
4.8.3.5计算le(p+1)预测目标框与lep预测目标框的交并比。若交并比小于阈值t(0.7<t<0.9),则删除le(p+1)目标框对应的预测目标,转4.8.3.6;若交并比大于t,则保留le(p+1)对应的预测目标,转4.8.3.6;
4.8.3.6若p<P,则令p=p+1,转4.8.3.5;若p=P,转4.8.3.7;
4.8.3.7若e<E,则令e=e+1,转4.8.3.2;若e=E,转4.8.3.8;
4.8.3.8收集C(I)中被保留的类别概率,收集L(I)中被保留的坐标值,作为目标检测***最终的预测结果。
表1给出了本发明与经典单阶段目标检测方法SSD方法在目标检测数据集PASCALVOC2007测试集上的对比结果。
表1本发明与经典SSD方法在VOC数据集的测试集上的检测精度对比
Figure GDA0002981307630000156
表1中第一行是VOC 2007数据集的测试数据集图片中包含的类别,第二行是SSD方法对于每种类别的检测精度,第三行是本发明的检测精度,加粗字体标识每种类别的最高精度。从表1中可以看出,在20种类别中的18种类别上,本发明的检测精度高于SSD方法的检测精度,尤其在“瓶子”类别上提升了7.9%的检测精度,在“飞机”类别上提升了6.7%的检测精度,在“绿植”类别上提升了5.6%的精测精度,在“牛”类别上提升了5.1%的检测精度,说明本发明明显提升了对于较小目标的检测精度。
表2给出了本发明中不同特征融合方法与经典SSD算法相比带来的增益效果
表2本发明中不同特征融合方法与经典SSD算法相比带来的增益效果
方法 mAP(%)
SSD 77.5
SSD+间接特征模块 79.4
SSD+直接特征模块 79.3
SSD+间接特征模块+直接特征模块 80.3
从表2中可以看出,本发明中第4.5步的间接特征融合模块对高层特征图和低层特征图像素间的依赖关系进行融合和第4.6步的直接特征融合模块将高层特征图向低层特征图的逐层直接融合获得的检测结果分别比经典SSD方法提升了1.9%、1.8%的检测精度;当两种特征融合方法都使用时,比经典SSD方法提升了2.8%的检测精度。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。

Claims (13)

1.一种基于特征融合的目标检测方法,其特征在于包括以下步骤:
第一步:构建目标检测***,目标检测***由特征提取模块、间接特征融合模块、直接特征融合模块、第一变形模块、第二变形模块、检测模块组成;
特征提取模块为一个卷积神经网络,与第一变形模块相连;特征提取模块接收图像I,对图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块;
第一变形模块是对F(I)进行插值和下采样操作的模块,与特征提取模块、间接特征融合模块相连;对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块;
间接特征融合模块与第一变形模块、直接特征融合模块相连,间接特征融合模块由第一通道变换模块、特征拼接模块、6个注意力模块组成;间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图的像素间的依赖关系和低层特征图像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块;
第一通道变换模块包含6个1×1卷积神经网络,与第一变形模块、特征拼接模块、直接特征融合模块相连,从第一变形模块接收A1(I),分别对A1(I)中的每个特征图进行1×1卷积神经操作,将A1(I)中6个特征图的通道数统一为256,得到A2(I)={a21,a22,a23,a24,a25,a26},将A2(I)输出给特征拼接模块、直接特征融合模块;A2(I)中的特征图尺寸都为256×10×10;
特征拼接模块与第一通道变换模块、6个注意力模块相连,从第一通道变换模块接收A2(I),对A2(I)中的6个特征图进行特征拼接操作,将A2(I)中的6个特征图拼接成第一特征图I1,将I1发送给6个注意力模块,I1的尺寸为1536×10×10;
第i个注意力模块与特征拼接模块、直接特征融合模块相连,对I1提取像素间的依赖关系,根据依赖关系加权计算得到经过间接特征融合的特征图hi,将hi发送给直接特征融合模块;第i个注意力模块由查询模块、键模块、值模块、依赖关系模块、归一化模块、像素赋权模块、特征相加模块组成;1≤i≤6;
查询模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第二合并后特征图I2’,I2’的尺寸为192×100;对I2’进行转置操作,得到第二转置后特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块;
键模块与特征拼接模块、依赖关系模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,得到第三特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第三合并后特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块;
依赖关系模块与查询模块、键模块、归一化模块相连,从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到I2、I3不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块;
归一化模块与依赖关系模块和像素赋权模块相连,从依赖关系模块接收I4,对I4的每一行进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块;
值模块与特征拼接模块、像素赋权模块相连,从特征拼接模块接收I1,对I1进行1×1卷积操作,得到第六特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第六合并后特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第六转置后特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块;
像素赋权模块与值模块、归一化模块、特征相加模块相连,从值模块接收I6、从归一化模块接收I5,对I5、I6执行矩阵乘法操作以对像素赋权,得到像素赋权后特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到I7’,I7’的尺寸为1536×100;对I7’的第二维度进行维度拆分操作,得到维度拆分后的特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块;
特征相加模块与特征拼接模块、像素赋权模块、直接特征融合模块相连,从特征拼接模块接收I1、从像素赋权模块接收I7,对I1、I7进行像素级别加法操作以利于梯度回传和优化,得到经过特征相加后的特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块;
直接特征融合模块与间接特征融合模块、第二变形模块相连,从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,对h1,h2,h3,h4,h5,h6变换通道数后,进行直接特征融合,得到经过直接特征融合后的特征图集合J(I),将J(I)发送给第二变形模块;直接特征融合模块由第二通道变换模块、侧向连接模块组成;
第二通道变换模块包含6个1×1卷积神经网络,与间接特征融合模块、侧向连接模块相连,从间接特征融合模块的6个注意力模块中的特征相加模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,得到特征图集合A8(I),将A8(I)发送给侧向连接模块;
侧向连接模块是进行像素级别加法操作的模块,与第二通道变换模块、第二变形模块、间接特征融合模块的第一通道变换模块相连,从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作即直接特征融合,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10,将J(I)发送给第二变形模块;
第二变形模块与直接特征融合模块、检测模块相连;从直接特征融合模块接收J(I),对J(I)中的特征图进行插值或下采样操作,得到D(I),D(I)中包含d1,d2,d3,d4,d5,d6这6个特征图;将D(I)发送给检测模块;
检测模块与第二变形模块相连,由分类网络、定位网络和非极大值抑制模块组成;定位网络与第二变形模块、非极大值抑制模块相连,定位网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向非极大值抑制模块输出预测目标的坐标值即预测框坐标值;分类网络与第二变形模块、非极大值抑制模块相连,分类网络从第二变形模块接收D(I),对D(I)中的每一个特征图进行卷积操作,向非极大值抑制模块输出预测目标的类别即目标属于某类的概率值;非极大值抑制模块与分类网络和定位网络相连,采用非极大值抑制方法将重复预测的目标的坐标值和类别去除,获得目标最佳的预测框坐标值和预测类别;
第二步:准备目标检测***的训练数据集,方法为:
选择PASCAL VOC 2007、PASCAL VOC 2012的训练集、验证集中的所有图片作为训练数据集,训练数据集图片中共包含E种目标类别,E为正整数;对于训练数据集中的第d张图片,1≤d≤16551,PASCAL VOC 2007、PASCAL VOC 2012中给出了第d张图片所包含的目标的类别以及位置向量gd={gd1,gd2,...,gdz,...,gdZ},dZ表示第d张图片中包含的目标数量,其中
Figure FDA0002981307620000031
为包含四个值的一维向量,
Figure FDA0002981307620000032
为第d张图片的第z个目标区域矩形框的左上角的坐标值,
Figure FDA0002981307620000033
为第d张图片的第z个目标区域矩形框的右下角的坐标值,四个坐标值均为标量,
Figure FDA0002981307620000034
中的四个值表示出第d张图片的第z个目标区域矩形的目标区域;
第三步,采用第二步构建的训练数据集训练目标检测***中的各个模块,方法是:
3.1对特征提取模块的网络参数Φ1、间接特征融合模块的网络参数Φ2、直接特征融合模块的网络参数Φ3、检测模块的网络参数Φ4进行初始化;
3.2将训练数据集中的图片依次输入到目标检测***中,对目标检测***进行训练,拟合得到目标检测***的网络参数;
第四步:利用目标检测***进行目标检测,方法是:
4.1从相机或文件获得需要检测的图像I;
4.2将训练得到的目标检测***的网络参数载入到目标检测***中;
4.3特征提取模块对被检测图像I进行特征提取,得到多尺度特征图集合F(I),将F(I)发送给第一变形模块;F(I)中包含6张图,尺寸分别为512×38×38,1024×19×19,512×10×10,256×5×5,256×3×3,256×1×1;尺寸为512×38×38,1024×19×19,512×10×10的为低层特征图;尺寸为256×5×5,256×3×3,256×1×1的为高层特征图;
4.4第一变形模块从特征提取模块接收F(I),对F(I)中的特征图进行下采样或插值操作,统一特征图的尺寸,得到A1(I),将A1(I)发送给间接特征融合模块;A1(I)包含的特征图尺寸为512×10×10,1024×10×10,512×10×10,256×10×10,256×10×10,256×10×10;
4.5间接特征融合模块从第一变形模块接收A1(I),将A1(I)中高层特征图即尺寸为256×10×10,256×10×10,256×10×10的特征图像素间的依赖关系和低层特征图即尺寸为512×10×10,1024×10×10,512×10×10的特征图像素间的依赖关系进行融合,运用融合的像素间的依赖关系,通过加权计算得到经过间接特征融合的特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块;具体方法为:
4.5.1第一通道变换模块从第一变形模块接收A1(I),对A1(I)中的特征图分别采用1×1卷积神经网络进行通道变换操作,得到A2(I)={a21,a22,a23,a24,a25,a26},a21,a22,a23,a24,a25,a26均为尺寸为256×10×10的特征图,将A2(I)发送给特征拼接模块、直接特征融合模块;
4.5.2特征拼接模块从第一通道变换模块接收A2(I),对A2(I)进行特征拼接操作,将6个特征图拼接成第一特征图I1,I1的尺寸为1536×10×10;将I1发送给6个注意力模块;
4.5.36个注意力模块同时从特征拼接模块接收I1,并行地运用矩阵乘法操作对I1提取不同像素间的依赖关系;将所有特征图的信息都考虑在内,实现不同特征图间的间接信息融合;运用融合后的像素间的依赖关系,通过像素赋权模块和特征相加模块得到特征图h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6发送给直接特征融合模块;
4.6直接特征融合模块从间接特征融合模块中的第一通道变换模块接收A2(I)、从间接特征融合模块中的6个注意力模块接收h1,h2,h3,h4,h5,h6,将h1,h2,h3,h4,h5,h6统一通道数后,进行直接特征融合,得到经过直接特征融合后的特征集合J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6的尺寸为256×10×10,将J(I)发送给第二变形模块,具体方法为:
4.6.1第二通道变换模块从间接特征融合模块的6个注意力模块接收h1,h2,h3,h4,h5,h6,分别对h1,h2,h3,h4,h5,h6进行1×1卷积神经操作,将h1,h2,h3,h4,h5,h6的通道数变换为256,以减小后续计算量,得到特征图集合A8(I),将A8(I)发送给侧向连接模块;A8(I)中的特征图尺寸都为256×10×10;
4.6.2侧向连接模块从第二通道变换模块接收A8(I)、从第一通道变换模块接收A2(I),对A8(I)和A2(I)进行侧向连接操作,即从A8(I)最高层特征图h6开始,对h6特征图与h5特征图进行相加并除2,得到h65,再将h65与h4进行相加并除2,得到h54,以此类推,直到获得h21,将h6,h65,h54,h43,h32,h21放入到集合J(I)’中,将J(I)’与A2(I)执行像素加法操作,得到J(I)={j1,j2,j3,j4,j5,j6},j1,j2,j3,j4,j5,j6尺寸均为256×10×10,将J(I)发送给第二变形模块;
4.7第二变形模块从直接特征融合模块接收J(I),对j1,j2,j3分别进行下采样操作,得到d1,d2,d3,尺寸分别为256×1×1,256×3×3,256×5×5;对j5,j6分别进行插值操作,得到d5,d6,尺寸分别为256×19×19,256×38×38;将d1,d2,d3,j4,d5,d6放到集合D(I)中,将D(I)发送给检测模块;
4.8检测模块从直接特征融合模块接收D(I),利用分类网络获得预测目标的概率集合C(I)={c1,c2,c3,…,ce,…,cE},E为训练数据集图片中共包含的目标类别数;ce={ce1,ce2,ce3,…,cep,…,ceP},表示预测目标属于第e类的概率集合,cep表示属于第e类的预测目标中第ep个目标属于第e类的概率;利用定位网络获得预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE},le={le1,le2,le3,…,lep,…,leP},表示预测目标属于第e个类别的坐标向量集合,
Figure FDA0002981307620000041
Figure FDA0002981307620000042
是坐标系中预测目标框左上角横坐标,
Figure FDA0002981307620000043
是预测目标框左上角纵坐标,
Figure FDA0002981307620000044
是预测目标框右下角横坐标,
Figure FDA0002981307620000045
是预测目标框右下角纵坐标;le和ce中相同序号的元素对应相同的预测目标,然后利用非极大值抑制模块对L(I)和C(I)进行筛选,获得最终的目标检测结果,具体方法为:
4.8.1分类网络接收D(I),生成预测目标的类别概率C(I)={c1,c2,c3,…,ce,…,cE};
4.8.2定位网络接收D(I),生成预测目标的坐标值集合L(I)={l1,l2,l3,…,le,…,lE};
4.8.3利用非极大值抑制模块对L(I)和C(I)进行筛选:
4.8.3.1初始化e=1;
4.8.3.2将ce中的概率值按照降序排列;
4.8.3.3将le中坐标值按照ce的排序结果重新排列,保证属于同一个预测目标的类别概率和坐标值的元素序号相同;
4.8.3.4初始化p=1;
4.8.3.5计算le(p+1)预测目标框与lep预测目标框的交并比;若交并比小于阈值t,则删除le(p+1)目标框对应的预测目标,转4.8.3.6;若交并比大于t,则保留le(p+1)对应的预测目标,转4.8.3.6;
4.8.3.6若p<P,则令p=p+1,转4.8.3.5;若p=P,转4.8.3.7;
4.8.3.7若e<E,则令e=e+1,转4.8.3.2;若e=E,转4.8.3.8;
4.8.3.8收集C(I)中被保留的类别概率,收集L(I)中被保留的坐标值,作为目标检测***最终的预测结果。
2.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于所述特征提取模块共包括23个卷积层,5个池化层,共28层;池化层分别为第3、6、10、14、18层,其他层均为卷积层;第13层将尺寸为512×38×38的特征图输出给第一变形模块和第14层;第21层将尺寸为1024×19×19的特征图输出给第一变形模块和第22层;第23层将尺寸为512×10×10的特征图输出给第一变形模块和第24层;第25层将尺寸为256×5×5的特征图输出给第一变形模块和第26层;第27层将尺寸为256×3×3的特征图输出给第一变形模块和第28层;第28层将尺寸为256×1×1的特征图输出给第一变形模块。
3.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于所述分类网络是一个卷积核大小为3×3、卷积核个数为k×E的卷积网络,k为图片上每个位置预定义框的数量,E为训练数据集中包含的目标类别数量。
4.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于所述定位网络是一个卷积核大小为3×3、卷积核个数为k×4的卷积网络,k为图片上每个位置预定义框的数量。
5.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于所述3.1步对特征提取模块的网络参数Φ1进行初始化的方法是SSD即单阶段多参考窗口检测器中的初始化方法;对间接特征融合模块的网络参数Φ2、直接特征融合模块的网络参数Φ3、检测模块的网络参数Φ4进行初始化的方法是Kaiming初始化方法。
6.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于3.2步所述对目标检测***进行训练,拟合得到目标检测***参数的具体方法是:
3.2.1初始化迭代次数epoch=1;初始化批处理大小batchsize=32;初始化学习率lr=4*10-3
3.2.2采用训练数据集中的图片对目标检测***进行训练,具体步骤为:
3.2.2.1初始化变量d=1;
3.2.2.2将训练数据集中的第d张至第d+batchsize张图片输入到目标检测***中,使用随机梯度下降算法SGD使损失函数最小化,以更新目标检测***中各模块的网络参数;
3.2.2.3若d+2*batchsize<16551,令d=d+batchsize,转3.2.2.2;若d+2*batchsize≥16551,转3.2.3;
3.2.3若epoch<160,令epoch=epoch+1,转3.2.2;若epoch=160,令lr=lr*0.1,令epoch=epoch+1,转3.2.2;若160<epoch≤250,令epoch=epoch+1,转3.2.2;若epoch>250,转3.2.4;
3.2.4将各个模块更新所得的参数作为最终的目标检测***的网络参数。
7.如权利要求6所述的一种基于特征融合的目标检测方法,其特征在于所述训练的损失函数采用SSD中的损失函数,形式为:
Figure FDA0002981307620000061
其中L为总损失函数,Lloc为位置预测损失函数,通过计算预测框和真实框之间的Smooth L1损失函数获得,Lconf为类别预测损失函数,通过计算预测类别和真实类别之间的Softmax损失函数获得,N为训练数据集中图片的预测目标的坐标框与真实框匹配的样本数量,即训练数据集中所有IOU大于0.5的样本数量,也即:
Figure FDA0002981307620000062
其中,IOU表示交并比,A表示定位网络输出的一个目标框的坐标所包围的面积,B表示目标真实坐标值所包围的面积。
8.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于4.4步所述第一变形模块对F(I)中的特征图统一尺寸的方法是:采用下采样方法分别将F(I)中的512×38×38,1024×19×19特征图的后两个维度缩小至10×10;采用插值方法分别将F(I)中的256×5×5,256×3×3,256×1×1特征图的后两个维度放大至10×10,对F(I)中原有的512×10×10特征图不作处理;将维度统一后的6个特征图放到集合A1(I)中。
9.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于4.5.1步所述第一通道变换模块对A1(I)中的特征图进行通道变换操作是通过调用pytorch内置的函数nn.Conv2d(in_channels,out_channels,kernel_size)实现,其中in_channels表示输入特征图的通道数;out_channels表示输出特征图的通道数,设置为256;kernel_size表示卷积网络卷积核的大小,设置为1。
10.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于4.5.3步所述第i个注意力模块生成第i个经过间接特征融合的特征图hi的方法为:
4.5.3.1查询模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,得到第二特征图I2”,I2”的尺寸为192×10×10;对I2”进行维度合并操作,将第二维度和第三维度合并,得到第三特征图I2’,I2’的尺寸为192×100;对I2’将进行转置操作,得到第四特征图I2,I2的尺寸为100×192,将I2发送给依赖关系模块;同时,键模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,得到第五特征图I3’,I3’的尺寸为192×10×10;对I3’进行维度合并操作,将第二维度和第三维度合并,得到第六特征图I3,I3的尺寸为192×100,将I3发送给依赖关系模块;
4.5.3.2依赖关系模块从查询模块接收I2、从键模块接收I3,对I2、I3进行向量乘法操作,得到不同像素间的依赖关系图I4,I4的尺寸为100×100,将I4发送给归一化模块;
4.5.3.3归一化模块从依赖关系模块接收I4,采用Softmax函数对I4的每一列进行归一化操作,得到归一化后的像素间依赖关系图I5,I5的尺寸为100×100,将I5发送给像素赋权模块;同时,值模块从特征拼接模块接收I1,采用1×1卷积对I1进行卷积操作,得到第七特征图I6”,I6”的尺寸为1536×10×10,对I6”进行维度合并操作,将第二维度和第三维度合并,得到第八特征图I6’,I6’的尺寸为1536×100;对I6’进行转置操作,得到第九特征图I6,I6的尺寸为100×1536,将I6发送给像素赋权模块;
4.5.3.4像素赋权模块从值模块接收I6、从归一化模块接收I5,对I5、I6进行矩阵乘法操作,得到经过像素赋权后的特征图I7”,I7”的尺寸为100×1536;对I7”进行转置操作,得到第十特征图I7’,I7’的尺寸为1536×100;对I7’的第二维度进行维度拆分操作,得到第十一特征图I7,I7的尺寸为1536×10×10,将I7发送给特征相加模块;
4.5.3.5特征相加模块从像素赋权模块接收I7、从特征拼接模块接收I1,对I1、I7进行像素级别加法操作得到特征图hi,hi的尺寸为1536×10×10,将hi发送给直接特征融合模块。
11.如权利要求10所述的一种基于特征融合的目标检测方法,其特征在于4.5.3.4步所述像素赋权模块通过调用pytorch内置的函数I7.view(1536,10,10)对I7’的第二维度进行维度拆分操作,得到第十一特征图I7
12.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于4.6.2步所述侧向连接模块得到J(I)的方法为:
4.6.2.1初始化i=6;
4.6.2.2ji’=hi;ji=ji’+a2i
4.6.2.3i=i-1;若i=0,表示得到了J(I),结束;若i>0,转4.6.2.4;
4.6.2.4ji’=(hi+ji+1’)/2,ji=ji’+a2i,转4.6.2.3。
13.如权利要求1所述的一种基于特征融合的目标检测方法,其特征在于所述阈值t满足0.7<t<0.9。
CN202010751441.0A 2020-07-30 2020-07-30 一种基于特征融合的目标检测方法 Active CN111860683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010751441.0A CN111860683B (zh) 2020-07-30 2020-07-30 一种基于特征融合的目标检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010751441.0A CN111860683B (zh) 2020-07-30 2020-07-30 一种基于特征融合的目标检测方法

Publications (2)

Publication Number Publication Date
CN111860683A CN111860683A (zh) 2020-10-30
CN111860683B true CN111860683B (zh) 2021-04-27

Family

ID=72946768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010751441.0A Active CN111860683B (zh) 2020-07-30 2020-07-30 一种基于特征融合的目标检测方法

Country Status (1)

Country Link
CN (1) CN111860683B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112381057A (zh) * 2020-12-03 2021-02-19 上海芯翌智能科技有限公司 手写文字识别方法及装置、存储介质、终端
CN112989992B (zh) * 2021-03-09 2023-12-15 阿波罗智联(北京)科技有限公司 目标检测方法、装置、路侧设备和云控平台
CN113222904B (zh) * 2021-04-21 2023-04-07 重庆邮电大学 改进PoolNet网络结构的混凝土路面裂缝检测方法
CN113011443B (zh) * 2021-04-23 2022-06-03 电子科技大学 一种基于关键点的目标检测的特征融合方法
CN113283475A (zh) * 2021-04-27 2021-08-20 南方电网数字电网研究院有限公司 目标检测方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110084299A (zh) * 2019-04-24 2019-08-02 中国人民解放军国防科技大学 基于多头融合注意力的目标检测方法和装置
CN110298387A (zh) * 2019-06-10 2019-10-01 天津大学 融入像素级attention机制的深度神经网络目标检测方法
CN111369543A (zh) * 2020-03-07 2020-07-03 北京工业大学 一种基于双重自注意力模块的快速花粉颗粒检测算法
CN111401201A (zh) * 2020-03-10 2020-07-10 南京信息工程大学 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110084299A (zh) * 2019-04-24 2019-08-02 中国人民解放军国防科技大学 基于多头融合注意力的目标检测方法和装置
CN110298387A (zh) * 2019-06-10 2019-10-01 天津大学 融入像素级attention机制的深度神经网络目标检测方法
CN111369543A (zh) * 2020-03-07 2020-07-03 北京工业大学 一种基于双重自注意力模块的快速花粉颗粒检测算法
CN111401201A (zh) * 2020-03-10 2020-07-10 南京信息工程大学 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ASSD: Attentive Single Shot Multibox Detector;Jingru Yi等;《https://arxiv.org/abs/1909.12456》;20190927;第1-9页 *
Feature Pyramid Reconfiguration With Consistent Loss for Object Detection;Fuchun Sun等;《IEEE Transactions on Image Processing》;20191031;第28卷(第10期);第5041-5051页 *
基于多特征融合的显著性目标检测算法;张守东 等;《计算机科学与探索》;20180903;第834-845页 *

Also Published As

Publication number Publication date
CN111860683A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111860683B (zh) 一种基于特征融合的目标检测方法
CN112541503B (zh) 基于上下文注意力机制和信息融合的实时语义分割方法
CN111612017B (zh) 一种基于信息增强的目标检测方法
CN111950453A (zh) 一种基于选择性注意力机制的任意形状文本识别方法
CN111291826B (zh) 基于相关性融合网络的多源遥感图像的逐像素分类方法
CN114359851A (zh) 无人驾驶目标检测方法、装置、设备及介质
CN114969405A (zh) 一种跨模态图文互检方法
CN111899203B (zh) 基于标注图在无监督训练下的真实图像生成方法及存储介质
CN115035295B (zh) 一种基于共享卷积核和边界损失函数的遥感图像语义分割方法
CN111768415A (zh) 一种无量化池化的图像实例分割方法
CN113642445B (zh) 一种基于全卷积神经网络的高光谱影像分类方法
CN111353544A (zh) 一种基于改进的Mixed Pooling-YOLOV3目标检测方法
CN114048822A (zh) 一种图像的注意力机制特征融合分割方法
CN110852327A (zh) 图像处理方法、装置、电子设备及存储介质
CN110837808A (zh) 一种基于改进的胶囊网络模型的高光谱图像分类方法
CN115222946A (zh) 一种单阶段实例图像分割方法、装置以及计算机设备
CN113052170A (zh) 一种无约束场景下的小目标车牌识别方法
CN112580480A (zh) 一种高光谱遥感影像分类方法及装置
CN114627290A (zh) 一种基于改进DeepLabV3+网络的机械零部件图像分割算法
CN113850324A (zh) 一种基于Yolov4的多光谱目标检测方法
CN116740119A (zh) 一种基于深度学习的烟叶图像活动轮廓分割方法
CN116596966A (zh) 一种基于注意力和特征融合的分割与跟踪方法
CN111612145A (zh) 一种基于异构分离卷积核的模型压缩与加速方法
CN115272691A (zh) 一种钢筋绑扎状态检测模型的训练方法、识别方法及设备
CN111898608B (zh) 一种基于边界预测的自然场景多语言文字检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant