文章目录

  • anchor box 是如何确定的?
    • anchor box 框的位置是怎么设置的?
    • anchor box 的数量和形状是怎么设置的?
    • anchor box 的预测过程是怎样的?
      • 1. 将 anchor box 与 bounding box 匹配:
      • 2. 为 anchor box 预测类别:
      • 3. 为 anchor box 预测位置偏移量:
      • 4. 计算每一个 abox 与 bbox 之间的位置偏移量。
      • 5. 让每一个 bbox 只保留一个预测边界框(非极大值抑制(non-maximum suppression,NMS))

anchor box 是如何确定的?


anchor box 框的位置是怎么设置的?

  • 通常一个对象或者说一个中心点的 anchor box 不是通过数学公式或者训练数据集生成的,而时由人主动设计的(这就感觉不够智能,很傻)。
  • 通常均分分布在图片上(其本质和滑动窗口检测一样,都是在遍历图片)。
  • 一个中心会对应多个 anchor box 。(数量也是认为设定的,不够智能,超参数设置)

anchor box 的数量和形状是怎么设置的?

  • 数量和形状通常都是人为设定的,想设置多少就是多少。(YOLO 第一个版本的anchor box 形状是认为给定的,第二个版本中的 anchor box的形状是通过聚类来自动设计的。有效的降低了 框大小带来的loss值,测试得分会更高一点。)

  • 在YOLOv1里面会为每一幅图片分配49个 cell,每一个cell 会分配 2 个anchor box,所以总共就会有98个 anchor box。

  1. 首先要给每一幅图分配多个中心点(cell)。(中心点的数量不是自动设计,不够智能)
  2. 给每个中心点分配多个 anchor box 。(anchor box 的数量也不是自动设计的,不够智能)

anchor box 的预测过程是怎样的?

  • 预测过程分为2个部分,预测框的位置和框的类别。

1. 将 anchor box 与 bounding box 匹配:

  • 框位置的预测是通过比较IOU实现的,IOU越大表示预测的越好。
  • 一幅图中所有的anchor box(abox)数目一定是大于等于 bounding box(bbox)的数量,只要这样才有可能预测到所有的 bbox。
  • 训练的时,一幅图片上会分配很多的 abox 和 bbox。
  • 首选 为每一个 bbox 匹配一个最好的 abox(使用比较IOU的算法实现),所有的 bbox 配对完之后,一些剩余的 abox 会没有匹配(没有对应 bbox )。
  • 为剩余的每一个 abox 分配 bbox(这些 bbox 之前已经和更好的 abox 匹配了)
  • 所有的匹配都要满足设置的IOU要求,没有匹配的 abox 被定义为负类 anc hor box。

2. 为 anchor box 预测类别:

  • abox 与对应的 bbox 匹配之后,就将 bbox 的类别赋值给 abox,

3. 为 anchor box 预测位置偏移量:

  • abox 的标注偏差是由匹配好的 abox 与 bbox 之间的偏差决定的。
  • 没有匹配的 abox 被定义为负类 anchor box。

4. 计算每一个 abox 与 bbox 之间的位置偏移量。

  • 整幅图的每一个 anchor box 的预测信息都会存放在在 lebel 中
  • label[2]:存放每一个 abox 的预测类别。(0 为背景,1为猫,2为……)
  • label[1]:存放每一个 abox 掩码(mask)变量,掩码变量中的元素与每个锚框的4个偏移量一一对应。背景 abox 四个值都是0,非背景 abox 四个值都是1。
  • label[0]:存放每一个 abox 标注的四个偏移量,规定背景 abox 的这四个值全是0。

5. 让每一个 bbox 只保留一个预测边界框(非极大值抑制(non-maximum suppression,NMS))

  • NMS:将所有的预测概率从高到低排列,每个 bbox 只保留概率最高的那个,移除其他的。最后列表就只保留了每个 bbox 预测概率最高的那个值(把每个目标框的最好的那个框)。

一个关于anchor box 讲解的链接

anchor box 是如何确定的?相关推荐

  1. 抛弃Anchor box和NMS,目标检测新范式开源:Sparse R-CNN

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 作者丨孙培泽@知乎 来源丨https://zhuanlan.zhihu.com/p/31005 ...

  2. 计算机视觉 滑动窗方法,图像分割相关技术之滑动窗口、RPN以及anchor box简介

    图像分割相关技术之滑动窗口.RPN以及anchor box简介 标签:## 时间:2019/11/17 11:07:25 作者:小木 对象识别(object recognition)是计算机视觉(co ...

  3. (Object detection)目标检测从入门到精通——第四部分anchor box

    3.8 Anchor Boxes 到目前为止,对象检测中存在的一个问题是每个格子只能检测出一个对象,如果你想让一个格子检测出多个对象,你可以这么做,就是使用anchor box这个概念,我们从一个例子 ...

  4. 0927锚框(Anchor box)

    锚框(Anchor box) 目标检测算法中,通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含所感兴趣的目标,并调整区域边界从而更加准确地预测目标的真实边界框(ground-truth b ...

  5. 【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

    最近刚接触图像识别,理解一些概念十分困难,尤其是动不动就冒出个看不懂的英语,让人抓狂.查了不少资料后做一个总结并加上一些自己的理解,理解若有误,烦请大家指出,相互学习. 本文主要对region pro ...

  6. ECCV2020 AABO: Adaptive Anchor Box Optimization for Object Detection via Bayesian Sub-sampling论文翻译

    ECCV2020 AABO论文翻译 摘要 1.介绍 2.相关工作 3.提出的方法 3.1 初步分析 3.2 anchors的搜索空间优化 3.3 通过子抽样的贝叶斯锚优化 4.实验 4.1数据集,指标 ...

  7. Anchor box的理解

    Anchor box的理解 这个概念最初是在Faster R-CNN中提出,此后在SSD.YOLOv2.YOLOv3等优秀的目标识别模型中得到了广泛的应用. 背景 在Faster-RCNN中首次提出a ...

  8. Bounding Box与anchor box

    之前一直分不清Bounding Box与anchor box,直到问了一下 YOLO会将输入的图片分成S*S个网格,每个小网格会生成n个anchor Box.图像的真实框会和图像中心点所在的小网格生成 ...

  9. 锚框(anchor box)/先验框(prior bounding box)概念介绍及其生成

    一.锚框(anchor box)/先验框(prior bounding box) 在众多经典的目标检测模型中,均有先验框的说法,有的paper(如Faster RCNN)中称之为anchor(锚点), ...

最新文章

  1. WebView通过loadDataWithBaseURL加载本地页面卡死
  2. 只花5-10分钟评审,还不提供拒稿理由,IJCAI就“枪毙”42%论文,网友:一脸懵逼...
  3. php数字两位小数_PHP保留两位小数的几种方法
  4. # # # 正则
  5. fedora ssh 安装mysql,Fedora中安装和配置OpenSSH | 学步园
  6. Vue Bootstrap OSS 实现文件上传
  7. mysql_ init数据类型_mysql数据类型
  8. 【脑洞探究】等公交该站在哪儿比较合适?——关于减少吸入空气污染物(pm2.5 or 雾霾等)而选择合适等候公交车位置的探究
  9. cs231n学习笔记 CNN 目标检测 定位 分割
  10. 大数据与云计算的关系
  11. python 线性相关 与 线性拟合
  12. 什么是黑盒测试?它的常用方法有哪些?
  13. Hunger Snake 2
  14. 营收同比增长13.55%  领跑ICT的中天科技为何跌了?
  15. 大学计算机专业哪个学校最好,计算机专业:最好的7所大学!也是全中国“最难考”的大学!...
  16. 幼儿园c ch语言教育,小班语言发育迟缓幼儿发展评估及教育干预的个
  17. 关于红酒品质的python数据分析
  18. 为什么从看似稳定安逸的高校抑郁辞职?(不客观但真实)
  19. ROS中一个关于时间的函数
  20. 一个能测试怀孕的软件,四个方法测怀孕 准爆了

热门文章

  1. A Switched View of Retinex Deep Self-Regularized Low-Light Image
  2. 各种SQL查询技巧汇总
  3. 算法岗诸神黄昏,算法初级职位内卷,如何选择适合自己的方向?
  4. Graph Signal Processing——Part I: Graphs, Graph Spectra, and Spectral Clustering (文献翻译)
  5. 国外如何管理网约车:管理办法或与传统出租车合二为一
  6. CPU到底是怎么识别代码的?
  7. 2022年顶级网络安全专家最爱的5大数据加密方法
  8. 写在2016年的第365天,记录我的2016
  9. 改编名著成风 麒麟游戏将研发《红楼梦》网游
  10. Python图像处理库PIL中图像格式转换(一)