精华内容
下载资源
问答
  • 二阶段算法
    万次阅读 多人点赞
    2020-09-19 20:39:21

    双阶段精度高但速度慢,单精度速度快但精度稍逊。

    双阶段目标检测器采用了两段结构采样来处理类别不均衡的问题,rpn使正负样本更加均衡
    使用了两阶段级联的方式来拟合bbox,先粗回归,再精调。

    One stage detector 的一个通病就是既要做定位又要做classification。最后几层1x1 conv layer 的loss 混在一起,并没有什么专门做detection 或者专门做bbox regression的参数,那每个参数的学习难度就大一点。

    Two stage detector 的第一个stage相当于先拿一个one stage detector 来做一次前景后景的classification + detection。这个任务比 one stage detector 的直接上手N class classification + detection 要简单很多。有了前景后景,就可以选择性的挑选样本使得正负样本更加均衡,然后拿着一些参数重点训练classification。训练classification的难度也比直接做混合的classification 和 regression 简单很多。

    其实就是把一个复杂的大问题拆分成更为简单的小问题。各个参数有专攻,Two Stage Detector 在这个方面是有优势的。

    one stage detector 里如果用了 focal loss 和 separate detection/classification head 那效果跟 two stage detector 应该是一样的。

    更多相关内容
  • 目标检测之两阶段算法--R-CNN详解

    千次阅读 2021-02-24 01:11:53
    上图中,第一层p=0,第层p=16。最后试验发现,采用各向异性缩放并且p=16的时候效果最好。 3. 特征提取 采用AlexNet进行对每个候选区域提取4096维的特征向量,即把一个227×227大小的图像,通过五个卷积层和两个全...

    论文题目:《Rich feature hierarchies for accurate object detection and semantic segmentation

    论文地址:R-CNN

    1. 概述

           R-CNN是two-stage目标检测算法的开篇之作,也是将深度学习引入目标检测的开山之作。
    在这里插入图片描述
           如上图所示,R-CNN算法大致可以分为4个步骤:

    1)使用selective Search算法在图像中确定约2000个候选区域(region proposal)。
    2)对于每个候选框内图像块,使用CNN提取特征(在送入CNN之前需要将所有候选框裁剪到相同大小(227*227),因为FC层需要固定输入图像的尺寸)。
    3)对于候选框中提取出的特征,使用SVM判别是否属于某一特定类。
    4)使用回归器精细修正候选框的位置。

    2. 候选区域(region proposal)

    2.1. 选取候选区域

           R-CNN使用了Selective Search算法从一张图像上生成约2000个候选区域。Selective Search算法流程如下:

    step1:生成原始分割区域R={r1,r2,…,rn}
    step2:初始化相似度集合S={}
    step3:计算两两相邻区域之间的相似度,将其添加到相似度集合S中。
    while S ≠ {}
           step4:从相似度集合S中找出相似度最大的两个区域ri和rj,将其合并成为一个区域rt,并将其添加到R中。
            step5:从相似度集合S中除去原先与ri和rj相邻区域之间计算的相似度。
            step6:重新计算rt与其相邻区域(原先与ri或rj相邻的区域)的相似度,将其结果添加到相似度集合S中。
    -区域相似度主要是考虑颜色、纹理、尺寸和交叠四个方面。

    2.2. 缩放候选区域

           因为CNN的全连接层对输入图像的大小有限制,所以在将候选区域输入CNN之前,要将候选区域进行固定尺寸(227*227)的缩放。缩放分为两大类(该部分在原文附录A):

    1. 各向同性缩放(长宽放缩相同的倍数):
      考虑到图片扭曲会对分类精度有影响,提出各向同性缩放,有如下两种方式:
      1) 将region proposal的边界向外延伸,使图片成正方形,然后裁剪。如果延伸到原来图片的外界,则用region proposal中的颜色补齐。图(B)
      2)先将region proposal中的图片裁剪出来,然后用固定的背景颜色填充成正方形(背景颜色是region proposal的像素颜色均值)。图(C)
    2. 各向异性缩放(长宽放缩的倍数不同):
      不管图片长宽比例,不管是否扭曲,只管缩放到cnn要求的比例(227*227)。图(D)

    在这里插入图片描述
           在放缩之前,作者考虑,在region proposal周围补额外的原始图片像素(pad p)。上图中,第一层p=0,第二层p=16。最后试验发现,采用各向异性缩放并且p=16的时候效果最好。

    3. 特征提取

           采用AlexNet进行对每个候选区域提取4096维的特征向量,即把一个227×227大小的图像,通过五个卷积层和两个全连接层进行前向传播,最终得到一个4096维的特征向量。为了计算候选区域的特征,我们首先要对图像进行转换,使得它符合CNN的输入(架构中的CNN只能接受固定大小:277×277)。这个变换有很多办法,我们使用了最简单的一种。无论候选区域是什么尺寸和宽高比,我们都把候选框变形成想要的尺寸。具体的,变形之前,我们现在候选框周围加上16的padding,再进行各向异性缩放。

    4. 测试

    5. 训练

    缺点

    1)计算量大:每个候选区域都需要通过CNN计算特征。
    2)质量不够好:Selective Search提取的区域质量不够好。
    3)训练耗时长:特征提取,SVM分类器是分模块独立训练,没有联合起来系统性优化。

    展开全文
  • 目标检测算法大致可分为两阶段(two stage)目标检测算法和一阶段(one stage)目标检测算法,在没有过多的tricks的情况下,两阶段的目标检测算法的检测精度是要比一阶段的目标检测算法精度高的。 原因分析: 其实...

    问题场景:

    目标检测算法大致可分为两阶段(two stage)目标检测算法和一阶段(one stage)目标检测算法,在没有过多的tricks的情况下,两阶段的目标检测算法的检测精度是要比一阶段的目标检测算法精度高的。


    原因分析:

    其实我认为主要原因有以下几点:
    1.正负样本的不均衡性
       这一点想必大家在做目标检测实验的时候深有体会,当某一类别的样本数特别多的时候,训练出来的网络对该类的检测精度往往会比较高。而当某一类的训练样本数较少的时候,模型对该类目标的检测精度就会有所下降,这就是所谓样本的不均衡性导致的检测精度的差异。
       对于一阶段的目标检测来说,它既要做定位又要做分类,最后几层中1×1的卷积层的loss都混合在一起,没有明确的分工哪部分专门做分类,哪部分专门做预测框的回归,这样的话对于每个参数来说,学习的难度就增加了。
       对于二阶段的目标检测来说(Faster RCNN),在RPN网络结构中进行了前景和背景的分类和检测,这个过程与一阶段的目标检测直接一上来就进行分类和检测要简单的很多,有了前景和背景的区分,就可以选择性的挑选样本,是的正负样本变得更加的均衡,然后重点对一些参数进行分类训练。训练的分类难度会比一阶段目标检测直接做混合分类和预测框回归要来的简单很多。

    2.样本的不一致性
       怎么理解样本不一致性呢?首先我们都知道在RPN获得多个anchors的时候,会使用一个NMS。在进行回归操作的时候,预测框和gt的IoU同回归后预测框和gt的IOU相比,一般会有较大的变化,但是NMS使用的时候用的是回归前的置信度,这样就会导致一些回归后高IoU的预测框被删除。这就使得回归前的置信度并不能完全表征回归后的IoU大小。这样子也会导致算法精度的下降。在第一次使用NMS时候这种情况会比较明显,第二次使用的时候就会好很多,因此一阶段只使用一次NMS是会对精度有影响的,而二阶段目标检测中会在RPN之后进行一个更为精细的回归,在该处也会用到NMS,此时检测的精度就会好很多。


    总结:

       最后,想说的是,现在的一阶段目标检测的数据不平衡问题已经用focal loss解决了,在一阶段目标检测中使用focal loss就能够使得预测效果媲美二阶段目标检测算法。本文是自己的一些想法,欢迎讨论。

    展开全文
  • 一、二阶段提交算法的描述: 二阶段提交算法的成立基于以下假设: 该分布式系统中,存在一个节点作为协调者(Coordinator),其他节点作为参与者(Cohorts)。且节点之间可以进行网络通信。所有节点都采用预写式...

    一、二阶段提交算法的描述:

    二阶段提交算法的成立基于以下假设:

    1. 该分布式系统中,存在一个节点作为协调者(Coordinator),其他节点作为参与者(Cohorts)。且节点之间可以进行网络通信。
    2. 所有节点都采用预写式日志,且日志被写入后即被保持在可靠的存储设备上,即使节点损坏不会导致日志数据的消失。
    3. 所有节点不会永久性损坏,即使损坏后仍然可以恢复。

    以下对二阶段提交算法分阶段进行说明。

    第一阶段(提交请求阶段)

    1. 协调者节点向所有参与者节点询问是否可以执行提交操作,并开始等待各参与者节点的响应。
    2. 参与者节点执行询问发起为止的所有事务操作,并将Undo信息Redo信息写入日志。
    3. 各参与者节点响应协调者节点发起的询问。如果参与者节点的事务操作实际执行成功,则它返回一个"同意"消息;如果参与者节点的事务操作实际执行失败,则它返回一个"中止"消息。

    有时候,第一阶段也被称作投票阶段,即各参与者投票是否要继续接下来的提交操作。

    第二阶段(提交执行阶段)

    成功

    当协调者节点从所有参与者节点获得的相应消息都为"同意"时:

    1. 协调者节点向所有参与者节点发出"正式提交"的请求。
    2. 参与者节点正式完成操作,并释放在整个事务期间内占用的资源。
    3. 参与者节点向协调者节点发送"完成"消息。
    4. 协调者节点受到所有参与者节点反馈的"完成"消息后,完成事务。

    失败

    如果任一参与者节点在第一阶段返回的响应消息为"中止",或者 协调者节点在第一阶段的询问超时之前无法获取所有参与者节点的响应消息时:

    1. 协调者节点向所有参与者节点发出"回滚操作"的请求。
    2. 参与者节点利用之前写入的Undo信息执行回滚,并释放在整个事务期间内占用的资源。
    3. 参与者节点向协调者节点发送"回滚完成"消息。
    4. 协调者节点受到所有参与者节点反馈的"回滚完成"消息后,取消事务。

    有时候,第二阶段也被称作完成阶段,因为无论结果怎样,协调者都必须在此阶段结束当前事务

    以上的内容均来自于维基百科,可以参见:http://zh.wikipedia.org/wiki/%E4%BA%8C%E9%98%B6%E6%AE%B5%E6%8F%90%E4%BA%A4


    理解:

    1、二阶段提交的整个过程是比较容易理解的

    2、二阶段协议的理解必须建立在之前的假设之上,即日志写在可靠磁盘上,也就是说,基于日志的事务提交是可靠的。

    3、二阶段算法的最大缺陷是资源的阻塞,尤其是某个参与者在第一阶段执行过程中发生故障的时候,资源会长久性的阻塞。


    基于对二阶段问题的解决,三阶段提交在两阶段提交的第一阶段与第二阶段之间插入了一个准备阶段,并且引入了超时机制,为什么要加一个准备阶段:

    1、在投票阶段可以不用阻塞资源

    2、通常来讲,投票通过以后,准备阶段失败的概率会比较低,并且即使失败,也不影响数据的一致性。


    注意:无论是第二阶段提交还是第三阶段提交,其实都没有考虑事务提交阶段的失败情况,主要原因:1、基于之前的假设,日志是可靠的。2、对于网络的故障,即使丢失了提交命令,也可以根据相关的日志进行恢复,一般的分布式系统都会存在故障恢复的机制。


    最后,二阶段提交和三阶段提交都只是分布式一致性算法的基础算法,不是一种完全可靠的算法(有理论证明:在分布式网络环境下,不存在完全可靠的算法来保证数据的一致性,这部分理论下次分享),但是,通常的实现都会对这些算法做一些容错处理,以保证在发生故障的时候能够恢复数据的一致性。


    展开全文
  • 计算机研究 -一个二阶段覆盖聚类算法及其应用.pdf
  • 【学习笔记】目标检测算法(两阶段)

    千次阅读 2020-11-20 09:31:58
    阶段目标检测算法: R-CNN: 1.对图像进行Selective Search生成1K~2K个候选区域 2.将每个候选区域输入网络提取特征 3.将特征送入每一类的SVM分类器中,判读是否属于该类 4.使用回归器精细修正候选框的位置 具体的...
  • 基于二阶段聚类的重叠社区发现算法.pdf
  • YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法阶段改进 YOLOv5目标检测算法多...
  • 基于二阶段相似度学习的协同过滤推荐算法.pdf
  • 基于Hadoop二阶段并行模糊c-Means聚类算法.pdf
  • 上一篇:006-JVM-清除阶段算法之一:标记-清除算法 Mark-Sweep https://blog.csdn.net/fsjwin/article/details/111339604 1. 背景 为了解决标记 - 清除算法在垃圾收集效率方而的缺陷M.L.Minsky于1963 年发表了著名的...
  • 目标检测中的Two-stage的检测算法

    万次阅读 多人点赞 2018-12-06 14:25:13
    在第三个训练阶段,学习检测框回归。 训练在时间和空间上的开销很大。 对于SVM和检测框回归训练,从每个图像中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,这个过程在单个GPU上需要2.5天...
  • 线性规划两阶段求解方法

    万次阅读 2019-02-10 23:31:49
    百度百科给了下面一个例子,感觉其解法不容易看明白原理,换一种解释方法,应该很容易看明白两阶段法的原理。 问题: maxz=−3x1+x3 max z = -3x_1+x_3 maxz=−3x1​+x3​ s.t. {x1+x2+x3+x4=4−2x1+x2−x3−...
  • 尽管RCNN在分割精度上有一定的提高,但训练是一个基于多阶段的管道,这是缓慢的,很难优化,因为训练每个阶段需要分开。在CNN的每张图像中,每个方案都需要提取特征,这就分别导致了存储、时间和检测尺度的问题。...
  • 启发式算法求解带时间窗...是编程算法求解代码及说明(并附录Solomon经典案例求解结果)。 2. VRPTW定义 标准的带时间窗车辆路径问题定义如下: 车辆从某一车场出发,服务后返回该车场; 每个顾客有且被一辆车服务一
  • 阶段鲁棒优化及列和约束生成算法

    万次阅读 多人点赞 2020-10-18 21:06:47
    阶段鲁棒优化及列和约束生成算法1. 前言2. 两阶段RO3. Benders对偶割平面法 1. 前言 有同学私信我两阶段鲁棒优化的问题,自己之前主要研究单阶段的鲁棒优化,对于两阶段优化不太懂。查了点资料,通过翻译和自己的...
  • 上一篇:007-JVM-清除阶段算法:复制算法Copying https://blog.csdn.net/fsjwin/article/details/111341315 前面两种标记收集算法和复制算法各有劣势,所以就有了此算法:标记-压缩算法Mark-Compact 1. 背景 ...
  • 北师大版高中数学必修3算法初步 1 算法的基本思想培优课课件_6 阶段阶段二 学业分层测评 阶段三 北师大版高中数学必修3算法初步 1 算法的基本思想培优课课件_6 步骤 程序 步骤 用算法解决问题 一系列可...
  • 阶段目标检测算法之YOLOv1详解

    千次阅读 2022-03-28 13:02:32
    官方网站C语言版本:... ... ... 一、YOLO介绍 YOLO的全称叫做“You Only Look Once”,简单来说,YOLO可以做到将一张图片输入,直接输出最终结果,包括框和框内物体的名称及score(得分)。 ...相比RCNN系列的算法(..
  • GBDT分类算法 2.1 逻辑回归的对数损失函数 2.2 GBDT分类原理 GBDT分类算法实例 手撕GBDT分类算法 4.1 用Python3实现GBDT分类算法 4.2 用sklearn实现GBDT分类算法 GBDT...
  • 清除阶段(Sweep) 一个对象出现第一次没有被引用的情况,就会被加入到F-Queue队列等待执行finalize()方法判断是否有机会复活或者直接被当作垃圾回收。以便有足够的可用内存空间为新对象分配空间。 目前JVM有三种...
  • 算法缘自原作者的mathematica文档。
  • 遗传算法的选择阶段———“轮盘赌”法 ** 个体被选中的概率与累积概率成正比(累积概率也与适应度函数值成正比)。 首先,计算各个个体的选择概率,设群体的规模为N,表示其中N个个体的适应值。则第i个个体被选中的...
  • 深度学习优化学习方法总结 (一阶为主... 常用的优化算法:梯度下降法,牛顿法,拟牛顿法,共轭梯度法 (二阶为主)https://blog.csdn.net/sunflower_sara/article/details/81215135 一阶方法: 随机梯度下降(St...
  • Chamelon是一种层次聚类算法,它采用动态建模来确定一对簇之间的相似度,从而实现聚类。 这里我们重点关注动态建模这个词? 那么,何为动态建模呢? 要回答这个问题,我们首先要搞清楚簇的相似度依据是什么。 在...
  • 目标检测算法基础

    千次阅读 2022-04-17 08:47:39
    人脸检测算法综述0 前言1 人脸检测算法难点2 人脸检测算法流程2.1 选择检测窗口2.2 提取图像特征2 人脸检测算法2.1 早期算法2.2 AdaBoost框架2.3 深度学习 ...其是输出目标的具体位置信息,属于定位任务。 1
  • 算法学习的新阶段

    千次阅读 2016-04-10 06:48:55
    算法学习的新阶段最近忙得一塌糊涂,所以根本没时间总结整理学习成果了。之前刚开学不太忙时写了几篇都没写完,因为发现面前开启了一道道大门,想系统整理的东西太多了。于是时隔快两个月,先发一篇以作记录,系统...
  • 编程算法同步入门

    千次阅读 2019-05-29 23:30:03
    4.进入算法阶段,从最简单的顺序查找开始,一边讲算法,一边讲它们的编程实现。 详细讲解的经典算法包括: 顺序查找 分查找 简单排序 选择排序 起泡排序 插入排序 快速排序 编程和 bug 总是难舍难分,为了系统性...
  • 三、两阶段算法原理 ()候选区域算法 (三)边框回归( Bounding Box Regression ) 1.非极大值抑制(Non-Maximum Suppression,NMS) 2.对候选框进行坐标调整 (三)RCNN模型结构 1. RCNN的模型结构 ​​...
  • 论文研读-用于约束多目标优化的新型双阶段双种群进化算法 A Novel Dual-Stage Dual-Population Evolutionary Algorithm for Constrained Multi-Objective Optimization 觉得有用的话,欢迎一起讨论相互学习~ 最近我...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 496,230
精华内容 198,492
关键字:

二阶段算法