转载自https://www.zhihu.com/question/42205480/answer/155759667

首先

我们需要知道anchor的本质是什么,本质是SPP(spatial pyramid pooling)思想的逆向。而SPP本身是做什么的呢,就是将不同尺寸的输入resize成为相同尺寸的输出。所以SPP的逆向就是,将相同尺寸的输出,倒推得到不同尺寸的输入

接下来是anchor的窗口尺寸,这个不难理解,三个面积尺寸(1282,2562,512^2),然后在每个面积尺寸下,取三种不同的长宽比例(1:1,1:2,2:1).这样一来,我们得到了一共9种面积尺寸各异的anchor。示意图如下:

至于这个anchor到底是怎么用的,这个是理解整个问题的关键。

其次

下面是整个faster RCNN结构的示意图:

利用anchor是从第二列这个位置开始进行处理,这个时候,原始图片已经经过一系列卷积层和池化层以及relu,得到了这里的 feature:51x39x256(256是层数)

在这个特征参数的基础上,通过一个3x3的滑动窗口,在这个51x39的区域上进行滑动,stride=1,padding=2,这样一来,滑动得到的就是51x39个3x3的窗口。

对于每个3x3的窗口,作者就计算这个滑动窗口的中心点所对应的原始图片的中心点。然后作者假定,这个3x3窗口,是从原始图片上通过SPP池化得到的,而这个池化的区域的面积以及比例,就是一个个的anchor。换句话说,对于每个3x3窗口,作者假定它来自9种不同原始区域的池化,但是这些池化在原始图片中的中心点,都完全一样。这个中心点,就是刚才提到的,3x3窗口中心点所对应的原始图片中的中心点。如此一来,在每个窗口位置,我们都可以根据9个不同长宽比例、不同面积的anchor,逆向推导出它所对应的原始图片中的一个区域,这个区域的尺寸以及坐标,都是已知的。而这个区域,就是我们想要的 proposal。所以我们通过滑动窗口和anchor,成功得到了 51x39x9 个原始图片的proposal。接下来,每个proposal我们只输出6个参数:每个 proposal 和 ground truth 进行比较得到的前景概率和背景概率(2个参数)(对应图上的 cls_score);由于每个 proposal 和 ground truth 位置及尺寸上的差异,从 proposal 通过平移放缩得到 ground truth 需要的4个平移放缩参数(对应图上的 bbox_pred)。

所以根据我们刚才的计算,我们一共得到了多少个anchor box呢?

51 x 39 x 9 = 17900

约等于 20 k

怎么理解anchor相关推荐

  1. 理解Anchor、RPN真值与预测量、RPN卷积网络

    RPN部分的输入.输出如下: 输入:feature map.物体标签.即训练集中所有物体的类别与边框位置 输出:Proposal.分类Loss.回归Loss,其中,Proposal作为生成区域,供后续 ...

  2. 怎么理解anchor?

    前言:这是知乎:faster rcnn中rpn的anchor,sliding windows,proposals之间的联系是什么?问题下的一个回答,这个回答首先解决了anchor是什么(what)的问 ...

  3. 深入理解anchor

    在博客SSD原理解读-从入门到精通中提到了anchor作用:通过anchor设置每一层实际响应的区域,使得某一层对特定大小的目标响应.很多人肯定有这么一个疑问:那anchor到底可以设置到多大呢?,本 ...

  4. 【论文理解】理解yolov3的anchor、置信度和类别概率

    以前写过一篇博客,都是转载其余博主的内容,对yolov3有了基本认识,但是当时只浮于表面,并没有真正的理解yolov3,现在对于yolov3的anchor计算,损失函数的计算有了一些新的理解,记录一下 ...

  5. yolov5核心代码: anchor匹配策略,compute_loss和build_targets理解

    yolov5核心代码理解: anchor匹配策略-跨网格预测,compute_loss(p, targets, model)和build_targets(p, targets, model)理解 本文 ...

  6. 目标检测Anchor的What/Where/When/Why/How

    编译|yanwan,https://zhuanlan.zhihu.com/p/150332784 来源|https://www.wovenware.com/blog/2020/06/anchor-bo ...

  7. 目标检测中anchor的概念

    主要从以下几个部分理解anchor的概念: 1. 什么是anchor? 2. anchor的意义 3. Faster R-CNN的Anchor Box 4 总结 1. 什么是anchor? 就是在图像 ...

  8. 目标检测之详解yolov3的anchor、置信度和类别概率

    参考1 参考2 参考3 提要 yolov3 在网络最后的输出中,对于每个grid cell产生3个bounding box,每个bounding box的输出有三类参数: 一个是对象的box参数,一共 ...

  9. 五问目标检测Anchor

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来自 | 知乎  作者 | yanwan 链接 | https:/ ...

最新文章

  1. Citrix通用打印服务器配置
  2. xy苹果助手未受信任_手机畅销榜出炉:iPhone11销量第一,苹果是安卓无法逾越的大山...
  3. STM32串口发送中断
  4. 蓝桥杯-操作格子(java)
  5. wallfall瀑布流的jq实现
  6. python 文件操作 os.readlines()函数用法
  7. Android中使用Canvas和Paint绘制一个安卓机器人
  8. NYOJ 467 中缀式变后缀式
  9. 学习笔记(12):Python网络编程并发编程-解决粘包问题-简单版本
  10. 《Python Cookbook 3rd》笔记(3.10):矩阵与线性代数运算
  11. 判断平台是windows还是linux,用这个方法就行了
  12. mysql查询_MYSQL查询
  13. Python错误:TypeError: string indices must be integers
  14. 安装win7和Centos后,默认启动项的修改.
  15. CDays-3 习题一 (处理命令行参数)及相关内容解析。Python getopt 简介
  16. Android使用PDFviewer渲染PDF文件
  17. 解决visio2016与本地家庭和学生版office不兼容问题
  18. 计算机图形学的未来前景,计算机图形学的发展前景
  19. J2EE和J2se的区别
  20. Windows10实用技巧-固定快捷方式到磁贴菜单方式

热门文章

  1. 金山毒霸专业版高调上线 宣称杀毒速度增3倍
  2. 从一个实例看编程水平的步步提高
  3. Java之PriorityQueue有序队列
  4. 黑客攻防技术宝典Web实战篇第2版—第4章 解析应用程序
  5. RabbitMq(十一) 死信交换机DLX介绍及使用
  6. 图像处理论坛_【活动】CSIG菁英青云论坛第三期活动预告!!
  7. mysql 大数据量插入遇到瓶颈 可行性方案探究
  8. 干货满满!10分钟看懂Docker和K8S(转)
  9. python设计模式9-装饰器模式
  10. kafka可视化客户端工具(Kafka Tool)的使用