M2Det

之前方法局限性

学习目标

1、理解M2Det算法核心
2、了解目标检测中,多尺度问题所在
3、对以提升目标检测精度有自己的理解

研究背景

1、存在问题

在这里插入图片描述
1、红绿灯与人尺度相同,但是特征不同(有复杂、有简单)
相同大小的物体的外观复杂度可能完全不同,比如近处的红绿灯相比于远处的人体,在现有的结构中这两者应该是在同一层级被检测到,但是这两者需要的特征语义深度是不一样的,人体需要更深的语义而红绿灯则只需要浅层的语义特征,所以有损现有的检测器的性能。

2、车同一个物体,特征相同、尺寸不同

2、研究背景(解决多尺度特征的网络)

在没有特征金字塔之前之前,无论大小,所有的识别都在最后一张特征图上
1、SSD:特征金字塔结构

SSD:采用了金字塔结构,在不同特征图识别不同大小的物体。
SSD先提取一个主干特征,接过来进行卷积操作卷积出特有金字塔结构,在骨干网络中的两层和额外的四层特征图上进行预测。在不同特征图上识别大小不同的物体。特征图逐渐变小,像素变小,语义信息逐步强烈。在大图上识别小物体,小图识别大物体(原因)。
FPN:在
在这里插入图片描述
FPN对SSD的特征金字塔进行了改进:因为SSD中的特征金字塔语意信息和位置信息不够丰富。为了解决这个问题,进行了特征融合。
主干特征提取出来,进行上采样(双线性差值,将特征图变大),再通过横向侧链接,将主干特征的语意信息、位置信息接过来。这样的特征体的信息比较丰富,特征图也比较大,检测起来很方便。可以看出,FPN也是对特征图进行不断融合的过程。

STDN:采用了尺度转换操作。主干特征用的是densenet169,将最后一个block提取出来作为主干特征对他进行尺度变换。将特征图变大,–》会导致参数变多,为了解决这个问题呢,他在增大特征图尺度的同时,压缩了通道数,通过不同增大比率造就了特征金字塔,在特征金字塔进行识别。

总结:上面三个xfz

M2det:也是为了构造特征金字塔,是信息更加丰富。

m2Det:抽取主干特征,对特征进行各种融合、操作,提取出金字塔,尺度有大有小在金字塔上进行检测。

现有方法缺陷

在这里插入图片描述
1、
三个图都使用了预训练的分类网络,将粉类网络直接拿来做主干特征的信息提取,再把后面几层作为检测层。为什么可能不太适用:分类网络是对整张图像信息的描述,只关注对整张图像信息的描述的是什么,不需要考虑图像上各种物体的位置。那之前如何描述整张图呢?就行要分类网络特征进行抽取,各种卷积,让信息更浓缩,所以分类网络最后用来分类的特征图一般都非常小,只需要语意信息就OK,但我们的目标检测网络不只需要语意信息,也需要位置信息。位置信息在特征图大的时候很明显,但随着卷积池化,像素就变小了-》位置信息缺失。所以说分类网络可能不适合目标检测任务。因为分类网络只在乎语意信息,疯狂抽取特征就可以,但是目标检测网络还需要位置信息。所以特征图尺寸有要求,不能太小,太小位置信息就没了。
2、SSD为例,都是从单层抽取来的。信息只是从某个制定大小的特征图抽取,没有进行不同尺度的特征融合,所以可能会造成一定影响。个人理解的意思是金字塔的每一层的feature map几乎均是来自于同一层,信息单一(但是FPN也有顶层的啊,作者也没说明,不过大致应该是这个意思)

它是构建了一个更适合于目标检测的特征金字塔。也就是说这个网络经过借鉴之前的一些操作,以及各种卷积神经网络的原理呢,他做出了一个更加适合于特征检测的金字塔网络,也就是这块。

卷积神经网络原理

在这里插入图片描述
图中是卷积核的可视化。展示了在不同特征层抽取出来的语意信息,浅层特征的特点是抽取了语意信息是边缘、线等等。中层特征的抽取的信息比较浓缩了,又圆,高级特征抽取的信息更加浓素片可以看到轮胎了,特征都被抽出来了。浅层网络的感受也比较小,感受也就是所能看到输入图像像素的多少,因为他感受也小,总结得少,所以语意信息少,但他特征图比较大,所以位置信息强
高层卷积神经网络相反,他的语意信息很多,因为他感受野大,看到的语意信息多,但是随着卷积池化,特征图缩小了,他的位置信息丢失了,导致空间几何特征细节的缺失。所以位置信息不好。

根据卷积神经网络工作原理总结:浅层网络特征图大,像素大,位置信息强,进行位置回归
深层网络语意信息强,进行分类。
通过这些我们就可以联想到多尺度问题,能否通过该原理进行一些操作呢。

M2Det

(一)简介

1、

在这里插入图片描述

2、在这里插入图片描述

*(MLFPN) *

3、如何融合呢?

在这里插入图片描述

(三)结构

1、总说

在这里插入图片描述
首先第一步,使用主干网络和多级特征金字塔 从输入图像中提取特征。我们来看一下啊,输入一个原始图片,对主干网络提取特征。然后经过我们这个m l f p n 进行特征的各种融合,各种操作,提取出我们想要的特征金字塔,也就是不同尺度的特征图。然后用来预测这个地方,他是跟s s d 是一样的。。就是在每个特征图上铺上了一大堆密集的框。然后对这些框进行检测,进行分类,进行位置回归。就是。最后在我们检测出来所有的框之后呢,进行一个非极大值抑制,也就是nms 排除那些重复的框,或者是那些没有用的框。然后把检测结果作为我们的最终的一个检测结果。这个就是我们m2det 的整体。
在这里插入图片描述
1、ffm模块有两个功能:首先是对第一个功能是对主干特征的一个融合。就是将基础特征融合一下,让他的信息更加丰富。其次,就是对tum 模块,以及我们的基础特征进行一个融合。
2、第二个部分就是t u m 模块。t u m 模块是干啥的呢?tum 模块是生成一大堆尺度的特征,就是生成各种各样的金字塔结构。我们看一下tum 模块在这里。也就是说tum 模块将基础特征进行卷积操作,把它变成金字塔结构,这里模仿了fpn ,做了一个向下卷积,然后再用一个上采样的模式,提取出不同各种不同大小的一个特征图。tum 这里边他可以接多少个。因为他的结构是完全完全一样的,具体接多少个呢?之后有实验说明,
3、最后一个地方就是SFAM模块。这个模块是干啥的呢?这个模块因为我们tum 模块出来之后,会生成各种尺度的金字塔。这个金字塔就是这个样子的,有小的小的中的大的。但是因为你有多个tum 模块,你会产生多个金字塔。也就说出来好多套金字塔。那sam 模块是干啥的呢?就是把这些金字塔合并成一个怎么合并呢?

下面逐一介绍:

2、FFM1

在这里插入图片描述
1、左边这个是我们的主干网络,在主干网络中选取两个特征图。将这两个特征图的信息进行一个融合。然后作为基础特征,这个基础特征是啥呢?基础特征就是对这个原始图像的一个一个效稍微比较抽象化的描述吧。就是这个特征图他大概包含了这个原始信息,包含大概包含了所有的原始信息。但是他比较浓缩,比较精华。然后这个特征图用来干啥呢?叫做基础特征。这个基础特征就是用来后续的各种操作,用来进行特征图的融合呀,各种各样的操作。
FFM1位置在基础特征之后,融合了一个浅层特征图和一个深层特征图。这样融合呢,可以使浅层位置信息和深层语意信息都能体现出来。

2、FFM2

在这里插入图片描述
通过卷积层进行抽象与降维

3、TUM模块

TUM模仿FPN,各种变成金字塔结构,模仿的是我们的f p n 。首先还有一个自上而下的一个下彩样,也就是这一串一系列的卷积操作,输入一个40乘40的256通道的各种卷积各种抽象。因为它的护长是2乘2,所以它的特征图越来越小越来越小。经过这一系列卷积之后呢,就出了一个这样的逐渐缩小的金字塔。然后再接这个上采样。之后呢,它的特征图越来越大越来越大。在进行上采样的同时呢,还有一个操作叫什么呢?叫做横向侧链接。我们可以看到就是这个这一个个小箭头。他这个操作是和f p n 是一样的。经过横向测连接,我们看一下经过横向侧连接,自上而下的连接之后呢,我们出来了这样一个特征金字塔。我们看一下这个特征金字塔它的大小是多少,1乘13乘35乘50乘10,最大的是40乘40。他出来了这样一个特征金字塔,这个金字塔有什么好处呢?因为他进行了一个横向侧连接的一个融合,他将深层的信息和简称的信息结合起来了。以1*1这地方为例,他不单单只有深层语音信息,他有浅层的,因为他进行了融合。TUM模块他的输出都有什么呢?首先每个TUM模块都输出了一个一个特征金字塔,这一个一个特征金字塔用来我们之后的特征融合模块。第二,TUM的输出用来给我们刚才的f f m v 2模块进行后续的融合操作

3、SFAM模块

在这里插入图片描述

我们介绍最后一个结构叫s f a m 结构。多个TUMm它会产生好多组特征金字塔。但是这个特征金字塔的这么多组,你不能都用来进行检测。所以你需要融合成一个特征金字塔,这就采用了SFAM.

融合起来也非常非常简单非常简单。我们还是看原图吧。因为他有很多组金字塔,每一组的金字塔它的尺度都是一样的。所以我们就在尺度上进行融合,相同尺度的特征金字塔进行一个融合每一个特征图通道数128,有8个TUM模块,通道维数融合变成1024。这样融合后,在每一个特征图呢在它的通道处都有深层的信息,中层的信息,浅层的信息。因为我们之前也说过卷积神经网络,你卷积的越深,你的语音信息越强。所以说这个浅层的TUM生成的这个特征金字塔呢,他的语音信息就比较少比较浅。深层的语音信息非常丰富。这个融合有啥好处呢?浅层的位置信息好,深层的语义信息好,我用来检测这个特征金字塔,因为他给融合过来了,语音信息都非常丰富。所以说如果用它来进行一个检测,非常非常的好。在融合特征金字塔之后呢,又接了一个se 模块。s e 模块是啥呢?这是一个attention 模块,我们来看一下啊,通过一个全局池化,把每一个通道的全局信息抽出来,得到111024的特征层,具有了全局信息。全局信息抽出来之后呢,两次全连接操作,现将通道数变小,再变大,再两次全连接后,我们依然得到了得到111024的特征层,这样的特征层每个通道的内容就可以代表我们原始特征层每个通道应有的权重。将原始特征层与每个权重进行相乘,就为原始特征层增加了注意力机制了。也就是说我们的神经网络帮我们识别出来这个特征图在这一个层不重要不重要。如果它的值特别特别大的话呢,那乘出来数值就特别特别的大,但是体重也是特别特别的高。那就说明他的重要性比较重要。所以说这个模块增加了全局信息,还给各个通道之间的重要性做了一个筛选。

在这里插入图片描述
这个图就是一个跟其他网络的一个对比。横坐标是他的推理时间,纵坐标是他的在coco 数据集上的一个验证精度。我们可以看到星星是我们的m2det, 这些其他的就是其他之前的一些网络。我们可以看到我们所有的我们这个星星全在左上角。左上角意味着它的时间短,精度高。也就是说我们的m 2dt在输入图片尺度分别320、512、800。但是不管是什么尺度,在2019年他画这张图的时候呢,他的速度都是最快的,他的精度都是最高的了。这个就是他他的研究成果就是在业界整了一个最先进的模板检测器,精度最高,速度最快。

在这里插入图片描述

再来分析一下这个实验结果。这个对两阶段的还有一阶段目标检测器,都分别做了一个对比。这里我们可以看到,我们这个m 2第一题呢在单阶段的时候呢,跟单阶段的目标检测器进行对比呢,它的经度是这一排,我们可以看到都是最高的。所以说他是超过当时他提出来超过什么s s d 呀,你翻盖他什么都都比他小。然后跟半阶段的还有这些u 63呐,d s d ,窗帘net ,这个m r d t 它的性能也都比他们强。从这张图还还能看出来啥呢?看出来一个比较浅一点的事情,就是我们看这四个这四个他的麦克风也是骨干特征,提取网络是不一样的。有v g 16,还有restart 101总结出来一点就是啥呢?骨干特征网络越复杂越深,他的精度越高。因为这边34101是比这个危机十六要好的多的。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

研究成果

在这里插入图片描述
这个图就是一个跟其他网络的一个对比。横坐标是他的推理时间,纵坐标是他的在coco 数据集上的一个验证精度。我们可以看到星星是我们的m2det, 这些其他的就是其他之前的一些网络。我们可以看到我们所有的我们这个星星全在左上角。左上角意味着它的时间短,精度高。也就是说我们的m 2dt在输入图片尺度分别320、512、800。但是不管是什么尺度,在2019年他画这张图的时候呢,他的速度都是最快的,他的精度都是最高的了。这个就是他他的研究成果就是在业界整了一个最先进的模板检测器,精度最高,速度最快。

(二)研究意义在这里插入图片描述

图上它可以检测不同尺度,而且是而不同尺度。也就是说目标的尺度不一样的物体,也就是不同的实例,他可以来检测。还有还有一种是什么呢?就是说同种实例之间尺度的差异。而大车和小车他同时可以检测大车,也可以同时检测小车,大车小车他都能检测,这个是怎么看呢?我们看这个图,这就是它的展示上边儿是原始图,下边儿是卷机神经网络过程的特征图,高亮的地方高亮的地方就是他检测出来的地方,就是他他对于这个信息非常敏感,可以用来分类了,就是把这个信息给抽出来了。我们可以看到,无论是小车还是大车,都能在不同的尺度上,不同特征图上找到他的亮点。他这个小车在中间这个图上激活大车,在小图上激活关于什么样的尺度,在什么样的特征图上激活。刚才我们也介绍了大尺度的物体在小图上激活小的小的物体在大的图上激活。我们也可以看到小车在大图上,在小图上我们可以看到行人也是他都能在各自对应的对应尺度特征图上进行一个激活。高亮,这个就是他的他达到的一个意义吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值