杂志信息网-创作、查重、发刊有保障。

目标检测中注意力机制相关论文

发布时间:2024-07-05 02:41:49

目标检测中注意力机制相关论文

论文: Coordinate Attention for Efficient Mobile Network Design

目前,轻量级网络的注意力机制大都采用SE模块,仅考虑了通道间的信息,忽略了位置信息。尽管后来的BAM和CBAM尝试在降低通道数后通过卷积来提取位置注意力信息,但卷积只能提取局部关系,缺乏长距离关系提取的能力。为此,论文提出了新的高效注意力机制coordinate attention,能够将横向和纵向的位置信息编码到channel attention中,使得移动网络能够关注大范围的位置信息又不会带来过多的计算量。  coordinate attention的优势主要有以下几点:

Coordinate Attention可看作增强移动网络特征表达能力的计算单元,接受中间特征 作为输入,输出与 大小相同的增强特征 。

Coordinate Attention基于coordinate information embedding和coordinate attention generation两个步骤来编码通道关系和长距离关系。

channel attention常用全局池化编码全局空间信息,将全局信息压缩成一个标量,难以保留重要的空间信息。为此,论文将全局池化改造成两个1维向量的编码操作。对于输入 ,使用池化核 和 来编码水平方向和垂直方向特征,即第 维特征的输出为:

上面的公式从不同的方向集成特征,输出一对方向可知的特征图。对比全局池化的压缩方式,这样能够允许attention block捕捉单方向上的长距离关系同时保留另一个方向上的空间信息,帮助网络更准确地定位目标。

为了更好地利用上述的coordinate infomation,论文提出了配套的coordinate attention generation操作,主要基于以下三点准则进行设计:

首先将公式4和公式5的输出concatenate起来,使用 卷积、BN和非线性激活进行特征转化:

为包含横向和纵向空间信息的中间特征, 为缩减因子。这里两个方向的特征没有做激烈的融合,concatenate的主要目的我觉得是进行统一的BN操作。随后将 分为两个独立的特征 和 ,使用另外两个 卷积和sigmoid函数进行特征转化,使其维度与输入 一致:

将输出 和 合并成权重矩阵,用于计算coordinate attention block输出:

coordinate attention block与se block的最大区别是,coordinate attention block的每个权重都包含了通道间信息、横向空间信息和纵向空间信息,能够帮助网络更准确地定位目标信息,增强识别能力。

将coordinate attention block应用于MobileNetV2和MobileNeXt上,block结构如图3所示。

基于MobileNetV2进行模块设置的对比实验。

不同注意力结构在不同主干网络上的性能对比。

对目标检测网络的性能对比。

对语义分割任务的性能对比。

论文提出新颖的轻量级通道注意力机制coordinate attention,能够同时考虑通道间关系以及长距离的位置信息。通过实验发现,coordinate attention可有效地提升模型的准确率,而且仅带来少量的计算消耗,十分不错。

论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :

注意力机制研究进展论文

自注意力机制是注意力机制的一种,有关注意力机制的介绍可以参考我的前一篇博客: Seq2Seq中的Attention机制 。

Attention机制最早是在视觉图像领域提出来的,应该是在九几年思想就提出来了,但是真正火起来应该算是2014年google mind团队的这篇论文《Recurrent Models of Visual Attention》,他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是第一个将attention机制应用到NLP领域中。接着attention机制被广泛应用在基于RNN/CNN等神经网络模型的各种NLP任务中。2017年,google机器翻译团队发表的《Attention is all you need》中大量使用了自注意力(self-attention)机制来学习文本表示。自注意力机制也成为了大家近期的研究热点,并在各种NLP任务上进行探索 [1] 。

Seq2Seq中的Attention是在Decoder阶段,如果用在机器翻译中的话就是着重考虑输出与输入的对应关系 ,比如将英文 walk by river bank. 翻译成中文的时候,翻译 走 这个字就只需将attention放在 walk 即可,其它三个单词对翻译 走 这个词是没有帮助的,所以我们不需要关注它们。 而self-attention就不同,它是关注 walk 与 by , river , bank 的内在联系 。在翻译的时候,self-attention会去联系上下文语境,然后决定 bank 到底该翻译为 银行 还是 河岸 。

对于两个词向量而言,对它们做点积,如果结果越大表明它们越相似,结果越小表明它们差别越大(两向量不相关,点积为0)。比如"river"和"bank"两个词向量可能比较相似,因为它们都表示自然界中的两个环境,因此它们的点积相较于其它词向量的点积可能更大。

我们将输入与输入的转置作点积,会得到一个新的矩阵,该矩阵为各个词向量之间的相关性,如所示:

为了避免点积之后获得太大的值,需要对点积之后的矩阵进行放缩,这里通常采用的是softmax激活函数,对每一列进行放缩,放缩之后每一列中的数相加和等于1,如所示。

Scalar product

最后我们会得到如所示的词向量之间的相关性矩阵。从图中可以看到,"river"和"bank"的相关性比较高,所以它的颜色较深。Softmax为非线性激活函数,我们可以对self-attention进行叠加,让它成为一个深度self-attention网络模型。

将输入词向量与相关性矩阵相乘,会得到Contextualized embeddings向量,如所示。

回顾一下 的计算过程可以发现, self-attention的输出就是所有输入的权重和 ,而权重 不是参数,而是输入 本身。因此,self-attention的输入与输出的维度是一样的。

在搜索栏中输入一个问题,这个叫 query ,然后搜索算法会根据你输入的问题的关键字 keys 来匹配你可能想要的结果,而匹配到的结果就叫做 values 。把这一关系放在Attention中,输入为 query ,通过计算 query 与各个 key 的相似性,得到每个 key 对应 value 的权重系数,然后对 value 进行加权求和,即得到最终attention的数值 [4] 。其整个过程如所示。

2018CVPR的一篇论文,主要解决的问题是通过Non-local的方法扩大传统CNN,RNN方法的感知域(即传统的CNN一个像素点对应的输出只受其neighbor的影响,Non-local方法使每一点的输出受所有像素点的影响)。模型结构简单,效果提升显著,且可以方便的嵌入到现有网络中。对于一个视频信息在时间域,空间域都有提升:输入数据X中每个点i对应的输出Y,通过下式求得:上述过程可以理解为一个加权平均过程,其中函数 看作对输入数据的预处理过程,函数f理解为数据各位置间的相关程度。文中给出了几个 函数的实例,同时指出了最终效果对函数的选择的敏感度不高。 为简化函数g选择 做一个线性的embedding,函数f采用以下实例: Gaussian:              Embedded Gaussian: Dot product: Concatenation: 模型的功能可以通过一个残差块实现,残差块定义为 ,结构如下文中还提到了一个subsample trick,在 后加上一个最大池化层,可以有效地提升计算效率。 文章最后针对视频分类,图像识别,语义分割多个领域进行实验,加入残差块的网络都取得了很大性能提升,同时对加入的位置进行实验,得出加入残差块的位置在网络的浅层效果更加明显(自己理解是浅层的future map维度比较大,全局获得的信息更多)。

小样本目标检测相关论文

GitHub CSDN

目前。计算机视觉中的性能最好的目标检测方法主要分为两种: one-stage 和two-stage 方法。two-stage方法分为两步,第一步为候选区域生成阶段(Proposal stage),通过如Selective Search、EdgeBoxes等方法可以生成数量相对较小候选目标检测框;第二步为分类与回归阶段,对第一阶段生成的 Candiate Proposal 进行分类和位置回归。one-stage 代表性的方法是R-CNN系列,如 R-CNN, Fast R-CNN, Faster R-CNN。 而one-stage 方法直接对图像的大量 Candiate Proposals 进行分类与回归。

这两类方法中均存在类别不平衡问题,two-stage 方法通过第一步已经将当量的候选区域降低到一个数量较小的范围,同时又在第二步通过一些启发式原则,将正负样本的比例降低到一定程度。而 one-stage 优于没有这降低候选框的步骤,因此,候选区域的数量大大超过 two-stage 方法,因此,在精度上,two-stage 仍然优于 one-stage 方法,但是在速度和模型复杂度上, one-stage 占优势。

类别不平衡会使检测器评估 的候选位置,但是通常只有少量的位置存在目标,这回导致两个问题:

因此,解决样本不平衡问题是提高目标检测精度的一个关键技术之一。

论文题目: Training Region-based Object Detectors with Online Hard Example Mining

OHEM 是通过改进 Hard Example Mining 方法,使其适应online learning算法特别是基于SGD的神经网络方法。Hard Example Mining 通过交替地用当前样本集训练模型,然后将模型固定,选择 False Positive 样本来重新组建用于下一次模型训练的样本集。但是因为训练神经网络本事就是一个耗时的操作,这样在训练中固定模型,这样会急剧降低模型的训练进程。

Hard Examples Mining通常有两种方法:

OHEM算法的大致流程是: 首先计算出每个ROI的loss, 然后按loss从高到低来排列每个 ROI, 然后为每张图片选择 个损失最高的 ROI 作为Hard Examples,其中 B 表示总的 ROI 数量, 表示batch-size 的大小,在 Fast R-CNN 中, N=2, B=128时,效果很好。

但是如果直接按照 loss 对所有的 ROI 进行选择,会有一个缺点,由于 ROI 很多,这样 很多 ROI 的位置就会相关并重叠,如果和某个高 Loss 的 ROI 重合度很高的其它 ROI很多, 这样, 这些 ROI 的 Loss 通常也会很多,这样这些样本都会被选择,但是它们可以近似认为时同一个,这样就会给其它较低 Loss 的 ROI 更少的选择余地,这样就会存在冗余。为了消除这种冗余,作者提出先使用 NMS (non-maximum suppression) 删除部分重合度很高的 ROI, 在使用上述方法进行 选择 Hard Example。

实现技巧:

论文,作者将该方法是现在 Fsat R-CNN 目标检测方法中。最简单做法是更改损失函数层,损失函数层首先计算所有 ROI 的 loss, 然后根据 loss 对 ROI 进行排序,并选择 hard RoIs, 让 那些 non-RoIs的损失变为0. 这种方法虽然很简单,但是非常不高效,因为还需要为所有的 RoIs 分配进行反向传播时需要的内存空间。

为了克服这个缺点,作者对下面的 Figure 1 进行改进, 如下面的 Figure 2.该改进时使用两份同样的 RoI network。 其中一个是只读的(readonly), 即只进行前向计算,不进行反向传播优化,所以只需要为前向传播分配内存,它的参数实时保持和另一个 RoI network(regular RoI network)保持一样。在每次迭代时,首先使用 readonly RoI network 对每个 ROI 计算起 loss,然后用上面描述的选择 hard RoIs 的方法选择 hard RoIs. 然后利用 regular RoI network来对选择的 hard RoIs 进行前向和后向计算来优化网络。

论文题目 Focal Loss for Dense Object Detection

在改论文中,作者认为样本类别的不平衡可以归结为难易样本的不平衡,从而更改交叉熵损失函数,重新对样本赋予不同的权值,之前的模型这些样本都是同等重要的,从而使模型训练更加关注 hard examples。

首先引入交叉熵的公式:

其中, ,表示真实类别, 表示我们预测的概率,为了方便,我们定义:

因此, ,该方法在 较大时,该loss是一个较小的量级, 如下图的连线所示所示,因为存在大量的易分类样本,相加后会淹没正样本的loss。

一个常见的解决类别不平衡的方式是引入一个加权因子 来表示正样本的权重, 表示负样本的权重。我们按照定义 的方法重新定义 为 , 定义如下:

虽然可以平衡 positive和negative的重要性,但是对 easy/hard 样本还是无法区分, Focal loss 通过更 Cross loss来达到区分easy/hard的目的:

上图展示了不同 取值对应的 loss,通过分析上述公式,我们发现,当 非常小时,即样本被分类错误,此时 接近1, loss几乎不受影响,当 接近于1时,即样本被分类正确,此时 接近0,此时降低了该样本的权重,比如,取 , 当时 时,该样本的 loss 会降低100倍,

在实际应用中,作者使用了该 Focal loss的变体,即加入了 平衡因子:

作者提出,对于二分类,一般模型的模型初始化会同概率的对待正负样本,由于类别不平衡,负样本的 loss 会占主导,作者提出在训练初始阶段对正样本的概率估计“prior”的概念,用 表示, 通过设置它来达到正样本的输出概率低的效果,比如为,从而使模型更加关注正样本。实际操作中,出了最后一个用于分类的卷积层,其余卷积层的参数初始化为bias ,而最后一层 , 实验中设置为 .

两个实现细节

论文题目: Gradient Harmonized Single-stage Detector

改论文提出 Focal Loss 存在两个缺点:

该论文有一句概括该篇论文的核心思想的一句话: 类别的不平衡可以归结为难易样本的不平衡,难易样本的不平衡可以归结为梯度的不平衡原话如下:

如下图所示:

左边是样本数量关于梯度的分布,中间表示各个修正后的函数的梯度(使用了log scale)对原始梯度的,右边表示所有样本集的梯度贡献的分布。

定义 是模型未经过 sigmoid 之前的输出, 则 ,得出该损失函数对 的梯度为:

定义梯度的模长(norm) 为:

训练样本的梯度密度(Gradient Density)定义如下:

其中, 是第 k 个样本的gradient norm,

这个公式可以理解为,以梯度 为中心,宽度为 的区域内的样本密度。

梯度密度协调参数:

分母是对梯度位于 范围的部分样本进行归一化,如果所有样本的梯度时均分分布,那么对于任意 都有 .(这里不是很理解为什么N,可以理解它们相等)

通过将梯度密度协调参数将 GHM 嵌入到损失函数中,则 GHM-C Loss 为:

计算公式11时,求和有一个N,再求 时会遍历所有的样本,因此该公式的时间复杂度为 .如果并行的化,每个计算单元也有N的计算量。对gradient norm进行排序的最好的算法复杂度为 ,然后用一个队列去扫描样本得到梯度密度的时间复杂度为 n 。基于排序的方法即使并行也不能较快的计算,因为N往往是 甚至 ,仍然是非常耗时的.

作者提出的近似求解的方法如下:

根据上述定义,得出近似梯度密度函数为:

利用上面的公式,由于我们可以事先求好 , 在求和时只需查找 即可,因此时间复杂度为 .

因为loss的计算是基于梯度密度函数,而梯度密度函数根据一个batch中的数据得到,一个batch的统计结果是有噪声的。与batch normalization相同,作者用Exponential moving average来解决这个问题,也就是

将模型鱼的的偏移量定义为 , 将真实的偏移量定义为 ,回归loss采用 Smooth L1 loss:

其中

则 关于 的梯度为:

从公式可以看出,当样本操作 时, 所有样本都有相同的梯度 1, 这就使依赖梯度范数来区分不同样本是不可能的, 一种简单的替代方法时直接使用 作为衡量标准,但是该值理论上无限大,导致 无法实现,

为了将 GHM 应用到回归损失上,作者修改了原始的 损失函数:

该函数和 具有类似的属性,当d的绝对值很小时,近似 L2 loss, 当d的绝对值比较大时, 近似 L1 loss, 关于d的梯度为:

这样就将梯度值限制在

定义 , 则 GHM-R Loss 为:

论文题目: Prime Sample Attention in Object Detection

PISA 方法和 Focal loss 和 GHM 有着不同, Focal loss 和 GHM 是利用 loss 来度量样本的难以程度,而本篇论文作者从 mAP 出法来度量样本的难易程度。

作者提出提出改论文的方法考虑了两个方面:

Prime Samples 是指那些对检测性能有着巨大影响的样本。作者研究表明样本的重要程度依赖于它和ground truth 的 IoU值,因此作者提出了一种 IOU-HLR 排序。

在目标检测中时如何定义正样本(True Positive)的呢?

剩余的标注为负样本。

mAP 的原理揭露了对目标检测器更重要的 两个准则 :

基于上述分析,作者提出了一种称为 IoU-HLR 的排序方法,它既反映了局部的IoU关系(每个ground truth目标周围),也反映了全局的IoU关系(覆盖整个图像或小批图像)。值得注意的是,不同于回归前的边界框坐标,IoU-HLR是根据样本的最终定位位置来计算的,因为mAP是根据回归后的样本位置来计算的。

该排序方法的大致流程如下图所示,其原理如下:

IoU-HLR遵循上述两个准则。首先,它通过局部排序(即上面的步骤2)将每个单独的 GT 的 对应的样本中 IoU 较高的样本放在前面,其次通过重采样和排序(步骤3, 4)将不同 GT 的 对应的样本中, 将 IoU 较高的放在了前面。

作者提出Prime Sample Attention,一种简单且有效的采样策略,该采样策略将更多的注意力集中到 Prime examples 上, PISA 由两部分组成: Importance- based Sample Reweighting(ISR)和Classification Aware Regression Loss(为CARL).

PISA 的训练过程是基于 prime samples 而不是同等对待所有样本。

作者提出一种基于 soft sampling 的方法: Importance-based Sample Reweighting (ISR), 他给不同样本根据重要性赋予不同的权重。首先它将Iou-HLR排序转化为线性映射的真实值。 IoU-HLR在每个类中分别进行计算。对于类 , 假设总共有 个样本, 通过 IoU-HLR 表示为 . 其中 ,使用一个线性转换函数将 转换为 , 表示第 类中的第 个样本的重要程度:

采用指数函数的形式来京一部将样本重要性 转换为 loss 的权值 , 表示对重要样本给予多大的优先权的程度因子, 决定最小样本权值的偏差(感觉就是一个决定最小的权值大小的一个变量)。

根据上面得到的权重值,重写交叉熵:

其中 n 和 m 分别表示真样本和负样本的数量, 和 分别表示预测分数和分类目标,需要注意的是,如果只是简单的添加 loss 权值将会改变 loss 的值,并改变正负样本的比例,因此为了保持正样本的总的 loss 值不变, 作者将 归一化为 (这里不是很理解,欢迎大家解惑)

已经介绍如何染个分类器知道 prime samples, 那么如何让回归其也知道 prime sample,作者提出了 Classification-Aware Regression Loss(CARL) 来联合优化分类器和回归其两个分支。CARL可以提升主要样本的分数,同时抑制其他样本的分数。回归质量决定了样本的重要性,我们期望分类器对重要样本输出更高的分数。两个分支的优化应该是相互关联的,而不是相互独立的。

作者的方法是让回归器知道分类器的分数,这样梯度就可以从回归器传播到分期其分支。公式如下:

表示相应类别的预测分数, 表示输出的回归偏移量。利用一个指数函数将 转化为 ,随后根据所有样本的平均值对它进行缩放。为了保持损失规模不变,对具有分类感知的 进行归一化。 是常用的smooth L1 loss。

关于 的梯度与原回归损失 成正比。 p_i \mathcal{L}(d_i, \hat d_i) \mathcal{L}(d_i, \hat d_i)$ 反映了样本i的定位质量,因此可以认为是一个IoU的估计,进一步可以看作是一个IoU-HLR的估计。可以近似认为,排序靠前的样本有较低的回归损失,于是分类得分的梯度较小。对于CARL来说,分类分支受到回归损失的监督。 不重要样本的得分被极大的抑制掉,而对重要样本的关注得到加强。

待续。。。

上面的方法大致可以分为两种:

Focal Loss认为正负样本的不平衡,本质上是因为难易样本的不平衡,于是通过修改交叉熵,使得训练过程更加关注那些困难样本,而GHM在Focal Loss的基础上继续研究,发现难易样本的不平衡本质上是因为梯度范数分布的不平衡,和Focal Loss的最大区别是GHM认为最困难的那些样本应当认为是异常样本,让检测器强行去拟合异常样本对训练过程是没有帮助的。PISA则是跳出了Focal Loss的思路,认为采样策略应当从mAP这个指标出发,通过IoU Hierarchical Local Rank (IoU-HLR),对样本进行排序并权值重标定,从而使得recall和precision都能够提升。

小目标问题在物体检测和语义分割等视觉任务中一直是存在的一个难点,小目标的检测精度通常只有大目标的一半。

CVPR2019论文: Augmentation for small object detection 提到了一些应对小目标检测的方法,笔者结合这篇论文以及查阅其它资料,对小目标检测相关技巧在本文进行了部分总结。

小目标的定义: 在MS COCO数据集中,面积小于 32*32 的物体被认为是小物体。

小目标难以检测的原因: 分辨率低,图像模糊,携带的信息少。由此所导致特征表达能力弱,也就是在提取特征的过程中,能提取到的特征非常少,这不利于我们对小目标的检测。

1、由于小目标面积太小,可以放大图片后再做检测,也就是在尺度上做文章,如FPN(Feature Pyramid Networks for Object Detection),SNIP(An Analysis of Scale Invariance in Object Detection – SNIP)。

Feature-Fused SSD: Fast Detection for Small Objects, Detecting Small Objects Using a Channel-Aware Deconvolutional Network 也是在多尺度上做文章的论文。

2、在Anchor上做文章(Faster Rcnn,SSD, FPN都有各自的anchor设计),anchor在设置方面需要考虑三个因素:

anchor的密度: 由检测所用feature map的stride决定,这个值与前景阈值密切相关。

anchor的范围: RetinaNet中是anchor范围是32~512,这里应根据任务检测目标的范围确定,按需调整anchor范围,或目标变化范围太大如MS COCO,这时候应采用多尺度测试。

anchor的形状数量: RetinaNet每个位置预测三尺度三比例共9个形状的anchor,这样可以增加anchor的密度,但stride决定这些形状都是同样的滑窗步进,需考虑步进会不会太大,如RetinaNet框架前景阈值是时,一般anchor大小是stride的4倍左右。

该部分anchor内容参考于:

3、在ROI Pooling上做文章,文章SINet: A Scale-Insensitive Convolutional Neural Network for Fast Vehicle Detection 认为小目标在pooling之后会导致物体结构失真,于是提出了新的Context-Aware RoI Pooling方法。

4、用生成对抗网络(GAN)来做小目标检测:Perceptual Generative Adversarial Networks for Small Object Detection。

1、从COCO上的统计图可以发现,小目标的个数多,占到了,但是含有小目标的图片只有,大目标所占比例为,但是含有大目标的图像却有。这说明有一半的图像是不含小目标的,大部分的小目标都集中在一些少量的图片中。这就导致在训练的过程中,模型有一半的时间是学习不到小目标的特性的。

此外,对于小目标,平均能够匹配的anchor数量为1个,平均最大的IoU为,这说明很多情况下,有些小目标是没有对应的anchor或者对应的anchor非常少的,即使有对应的anchor,他们的IoU也比较小,平均最大的IoU也才。

如上图,左上角是一个anchor示意图,右上角是一个小目标所对应的anchor,一共有只有三个anchor能够与小目标配对,且配对的IoU也不高。左下角是一个大目标对应的anchor,可以发现有非常多的anchor能够与其匹配。匹配的anchor数量越多,则此目标被检出的概率也就越大。

实现方法: 1、Oversampling :我们通过在训练期间对这些图像进行过采样来解决包含小对象的相对较少图像的问题(多用这类图片)。在实验中,我们改变了过采样率和研究不仅对小物体检测而且对检测中大物体的过采样效果

2、Copy-Pasting Strategies:将小物体在图片中复制多分,在保证不影响其他物体的基础上,增加小物体在图片中出现的次数(把小目标扣下来贴到原图中去),提升被anchor包含的概率。

如上图右下角,本来只有一个小目标,对应的anchor数量为3个,现在将其复制三份,则在图中就出现了四个小目标,对应的anchor数量也就变成了12个,大大增加了这个小目标被检出的概率。从而让模型在训练的过程中,也能够有机会得到更多的小目标训练样本。

具体的实现方式如下图:图中网球和飞碟都是小物体,本来图中只有一个网球,一个飞碟,通过人工复制的方式,在图像中复制多份。同时要保证复制后的小物体不能够覆盖该原来存在的目标。

网上有人说可以试一下lucid data dreaming Lucid Data Dreaming for Multiple Object Tracking ,这是一种在视频跟踪/分割里面比较有效的数据增强手段,据说对于小目标物体检测也很有效。

基于无人机拍摄图片的检测目前也是个热门研究点(难点是目标小,密度大)。 相关论文: The Unmanned Aerial Vehicle Benchmark: Object Detection and Tracking(数据集) Drone-based Object Counting by Spatially Regularized Regional Proposal Network Simultaneously Detecting and Counting Dense Vehicles from Drone Images Vision Meets Drones: A Challenge(数据集)

1: 2: 3: 4: 5: 6: 7:

论文相似度检测注意事项

当学生将论文上传到论文查重系统时,他们将获得检测报告。会有各种各样的结果,如重复率结果。首先,论文查重规则是这样的。它将设置一个重复阈值。一般来说,它大约是5%。当然,不同的大学可能会有一些偏差,也就是说,在1万字的论文段落中,允许少于5%的论文与其他论文相同,不会给出重复提醒。因此,学生可以修改论文的查重检测规则,例如,他们可以在不改变原意的情况下修改论文中与其他论文重复的句子语序和修辞方法。

此外,检测系统还将连续13个字符与其他论文字符相同的句子标记为红色,并确定为剽窃段落。因此,这也需要尽可能避免。处理方法与上述方法相似。您可以根据自己的理解不复制整个段落或写出含义相同的句子。一般来说,论文的查重检测规则是基于这些原则对文章进行重复检查的。虽然论文的查重检测规则似乎很苛刻,但只要学生在引用文献不严重的情况下法表达其他内容,检测到的重复率仍然很低,检测结果也很容易修改。

想要节约查重成本最好的办法就是所有的论文是自己写出来的,尽可能的少引用一些网络和别人的知识原创出来加上适量的文献,这些才可以有效的做到通过查重。

论文重复率的高低直接影响到学校的论文通过情况,尽管每个学校论文重复率的要求不同,但有一点是肯定的,即论文重复率越低越好,论文的重复性也就是检测论文的相似度,如果论文内容和收录的论文相似度较高,就会有抄袭的嫌疑。近些年来,各学校对论文抄袭问题的重视程度越来越高,论文检测不通过就可能拿不到毕业证。那么怎么检测论文相似度?

1、选择论文检测系统

网上查找论文检测系统,选口碑好的,专业的论文检测系统,或者还可以咨询前学长学姐,他们用哪种论文检测系统,去参考他们给到的建议去选择系统。

2、注册账号

登录官网网站,注册帐号,登录账号进入论文检测中心,有的论文检测系统需要提前下载,按着系统说明首先下载系统,然后注册账号登录。

3、提交论文

登录账号后,找到提交论文的位置,将自己的论文复制或直接以文档形式提交论文。如果是收费论文检测系统,则需要在充值中心先进行充值。

4、查看论文检测报告

你提交论文10分钟后,论文检测系统一般会出一份论文检测报告。找到论文检测中心,找到论文检测报告,点击访问,查看检测报告。首先看检测相似度是否达到学校要求,如对学校的要求较高,再看标红字体修改建议,对标红字体内容进行关键字替换,改变句式等方式修改调整。

5、修改论文再次检测

修正后的论文经调整后,重新提交论文,再次进行检测,直至论文检测的相似性达到学校要求。

一、本科毕业论文1、查重率≦30%,毕业论文合格,可以申请毕业论文答辩;2、查重率<10%,可以申请评定校级优秀论文;3、查重率<15%,可以申请评定院级优秀论文;4、30%<查重率<50%,查重检测不合格,给予修改时间至少为一周,修改后查重率<30%为通过,可申请答辩,若仍未通过,则取消答辩资格;5、查重率≧50%,查重检测不合格,由学校组织专家对论文进行学术不端行为的评定,若认定存在严重抄袭行为,则取消答辩资格。二、硕士学位论文1、查重率<10%~15%,学位论文合格,直接送审或答辩;2、15%≦查重率≦30%,去导师处填写硕士研究生学位论文重新检测申请表,申请进行论文修改,时间不超过两天,再检测合格后可参与答辩;3、查重率>30%,学位评定小组将结合核心章节的重复率等因素来确定论文学术不端行为的类型和性质,必须认真修改论文并延期半年才能填写重新检测申请表,查重通过后申请答辩,严重的直接取消答辩资格。三、博士学位论文1、查重率<5%~10%,直接送审或答辩;2、查重率>20%,由学位评定小组结合核心章节的重复率等处理意见,确定论文学术不端的类型和性质,延期半年至一年申请修改通过后才能答辩,情节严重者取消答辩资格。四、职称期刊论文1、初级职称论文查重率<30%为合格;2、中级/省级职称论文查重率<25%为合格;3、高级/国家级职称论文查重率<20%为合格;4、高级/核心期刊职称论文查重率<8%-15%为合格。

论文相似性检测要注意什么

论文查重时要留意选择安全的查重系统,尽量文件内容和格式与学校要求保持一致,重复率要低于学校标准,并且合理引用,避免抄袭。

1.选择安全的论文查重系统 为什么要选择安全的论文查重系统,这个不用多说大家都明白。目前市面...2.了解学校的相关通知 许多同学只知道一味地埋头苦干,有的同学连学校要求的重复率标准以及一些...3.重复率要低于学校标准 如果学校规定本科论文的重复率不高于30%,如果自己自查后重复率刚好...4.合理引用,避免抄袭 论文写作中有引用内容是允许的,但是在写作的时候必须要对引用的来源进行...

论文查重系统建议您使用学校规定的查重系统,可以保证论文查重率,因为价格便宜,也是大多数人的选择在一些非指定的系统进行初稿检测,比前两个众所周知的互联网数据库,查重是严格的,也是最终的选择。值得注意的是,我们投稿期刊要选择跟杂志社一致的的论文查重系统才行。1.我们必须选择一个标准化和有效的查重网站平台来检测论文。大量经验表明,非标准平台的查重不仅会导致检测结果不准确,还会影响论文的安全性。非标准网站二次出售客户提交的论文,影响论文的安全性。2.论文查重必须有针对性。在选择论文查重系统时,我们要按要求去选择,这样才能保证查重结果的准确性和实用性。3.我们可以利用免费或者便宜的查重系统进行初稿检测,然后修改论文查重报告,选择要求一致的查重系统进行定稿检测。4. 了解论文查重的规则。查重系统连续超过13个字被判定为重复。只要读者在写作或修改过程中巧妙地利用查重率计算规则,最好用自己的话来表达,就能有效地避免或降低重复率。此外,目录、参考相关文献、脚注不会计算在重复率检测工作范围内,但有一个非常重要的前提,即格式要求必须进行正确。

毕业季每位即将毕业的学生都会为毕业论文而感到忙碌,论文完成后都需要进行论文查重。这个环节很关键因为只有顺利通过才能参加论文答辩,答辩通过后才可以顺利毕业拿到毕业证书。因此为了能顺利毕业我们必须认真的去完成论文。查重得出的重复率比学校要求高,那就要及时进行修改。下面就一起来了解下论文查重时需要考虑到哪些事项。1.查重系统必须选择正规的,可以确保论文安全。在对论文进行查重时,查重系统的选择是非常关键的,建议使用与学校一样的论文查重系统对终稿进行检测,当没有固定的论文查重系统时那就要选择正规可靠的。避免论文泄露,论文查重结果的准确性也得到了保障,比如paperfree、papertime等可以免费进行论文查重系统,即便超出了免费字数收费也不贵,查重报告跟详细,适合于初稿查重。2、要看论文中的引用内容会不会计入重复率中?一般检验查重系统不会对所引用部分进行重复率检测,还需要注意以下两点:参照格式要规范,不能引用过度,控制在检验系统的限度之内。还有就是我们能引用相关内容方面也是有引用率的,查重报告中就能体现出来,如果是用知网进行的查重,学校主要是看论文的总体结构相似度也就是总重复率加引用率的和。参考率超过学校,肯定过不了关。3、还要考虑论文查重报告要不要下载及时?当对论文进行查重的时候最关键的是论文查重报告,通常检测时间10-30分钟就能出结果下载查重报告,查重报告会显示论文的重复率以及详细的重复部分。还需要注意的是论文查重系统一般保存7-10天查重报告,过期会被删除。因此要及时的进行下载。4、论文查重结果是否会有一定的起伏?如今网络技术发展的很快,信息时时刻刻都在更新,论文查重系统也通过网络信息不断地进行数据支持,因此查重结果出现浮动也属正常。

相关百科