来源:Coursera吴恩达深度学习课程

到目前为止,目标检测中存在的一个问题是每个格子只能检测出一个对象,如果想检测出多个对象,可以使用anchor box这个概念

对于这张图片,继续使用3×3网格,注意行人的中点和汽车的中点几乎在同一个地方,两者都落入到同一个格子中。在检测这三个类别(行人、汽车和摩托车)时,它将无法输出检测结果,所以必须从两个检测结果中选一个。

anchor box的思路是预先定义两个不同形状的anchor box,把预测结果和这两个anchor box关联起来。一般来说,你可能会用更多的anchor box,可能要5个甚至更多,但对于这个视频,我们就用两个anchor box。此时y的类别标签不再是:

而是重复两次:

前8个(上图中绿色方框标记的参数)是和anchor box 1关联的8个参数,后面的8个参数(橙色方框标记的元素)是和anchor box 2相关联。因为行人的形状更类似于anchor box 1的形状,而不是anchor box 2的形状,所以你可以用这8个数值(前8个参数),编码p_c=1,代表有个行人。然后是车子,因为车子的边界框比起anchor box 1更像anchor box 2的形状,这里第二个对象是汽车,那么绿色方框的所有参数和检测汽车相关。

总结一下,现在每个对象都和之前一样分配到对象中点所在的格子中,以及分配到和对象形状交并比最高的anchor box中。你需要观察哪一个anchor box和实际边界框的交并比更高,不管选的是哪一个,这个对象不只分配到一个格子,而是分配到一对,即(grid cell,anchor box)对,这就是对象在目标标签中的编码方式。所以现在输出y就是3×3×16,上一张幻灯片中你们看到y现在是16维的,或者你也可以看成是3×3×2×8,因为现在这里有2个anchor box,而y是8维的。y维度是8,因为我们有3个对象类别,如果你有更多对象,那么y的维度会更高。

因此,以上就是anchor box的概念,anchor box是为了处理两个对象出现在同一个格子的情况实践中这种情况很少发生,特别是如果你用的是19×19网格而不是3×3的网格,两个对象中点处于361个格子中同一个格子的概率很低,会出现但出现频率不高。也许设立anchor box的好处在于anchor box能让你的学习算法能够更有针对性,特别是如果你的数据集有一些很高很瘦的对象,比如说行人,还有像汽车这样很宽的对象,这样你的算法就能更有针对性的处理,这样有一些输出单元可以针对检测很宽很胖的对象,比如说车子,然后输出一些单元,可以针对检测很高很瘦的对象,比如说行人。

最后,你应该怎么选择anchor box呢?人们一般手工指定anchor box形状,你可以选择5到10个anchor box形状,覆盖到多种不同的形状,可以涵盖你想要检测的对象的各种形状。还有一个更高级的版本,你们如果接触过一些机器学习,可能知道后期YOLO论文中有更好的做法,就是所谓的k-平均算法(k-means),可以将两类对象形状聚类,如果我们用它来选择一组anchor box,选择最具有代表性的一组anchor box,可以代表你试图检测的十几个对象类别,但这其实是自动选择anchor box的高级方法。如果你就人工选择一些形状,合理的考虑到所有对象的形状,你预计会检测的很高很瘦或者很宽很胖的对象,这应该也不难做。

所以这就是anchor box。

说明:记录学习笔记,如果错误欢迎指正!转载请联系我。

锚( Anchor Boxes)相关推荐

  1. Anchor Boxes示例实战

    Anchor Boxes示例实战 目标检测算法通常对输入图像中的大量区域进行采样,判断这些区域是否包含感兴趣的目标,并调整这些区域的边缘,以便更准确地预测目标的真实边界框.不同的模型可能使用不同的区域 ...

  2. 深度学习Anchor Boxes原理与实战技术

    深度学习Anchor Boxes原理与实战技术 目标检测算法通常对输入图像中的大量区域进行采样,判断这些区域是否包含感兴趣的目标,并调整这些区域的边缘,以便更准确地预测目标的地面真实边界框.不同的模型 ...

  3. Anchor Boxes——目标检测质量的关键

    雷锋网(公众号:雷锋网) AI 科技评论按:随着计算机视觉技术逐年火热,利用计算机图像处理技术对目标进行实时跟踪的研究越来越热门.那么如何提高目标检测的质量?Anders Christiansen 认 ...

  4. 深度学习attention原理_深度学习Anchor Boxes原理与实战技术

    深度学习Anchor Boxes原理与实战技术 目标检测算法通常对输入图像中的大量区域进行采样,判断这些区域是否包含感兴趣的目标,并调整这些区域的边缘,以便更准确地预测目标的地面真实边界框.不同的模型 ...

  5. 一次选中多个物体_经验之谈|Anchor Boxes:物体检测的关键

    编辑:zero 关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息 本文转载自:公众号:AI公园 作者:Anders Christiansen 编译: ...

  6. 深度学习笔记(39) Anchor Boxes

    深度学习笔记(39) Anchor Boxes 1. 一个格子多个对象检测问题 2. Anchor box 3. 对象形状交并比 3. 一个格子一个对象检测问题 4. 额外的细节 5. Anchor ...

  7. YOLOv3使用自己数据集——Kmeans聚类计算anchor boxes

    YOLOv3使用笔记--Kmeans聚类计算anchor boxes 使用自己数据集聚类得到anchors. 相比于作者使用VOC数据集的精度更高. # kmeans 聚类计算anchor boxes ...

  8. K-means 计算 anchor boxes

    k-means原理 K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大.该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的 ...

  9. DAB-DETR:Dynamic Anchor Boxes Are Better Queries for DETR阅读笔记

    DAB-DETR阅读笔记 (一) Title (二) Summary (三) Problem Statement (四) Method 4.1 为什么位置先验能够加速训练? 4.2 本文的主要工作 4 ...

最新文章

  1. maven_Maven提示:关于可执行jar的全部
  2. SAP UI5应用入口App.controller.js是如何被UI5框架加载的?
  3. std::unique_ptr<T>与boost::scoped_ptr<T>的特殊性
  4. 6park留园 android,‎App Store 上的“掌上留园-6park”
  5. android中自适应布局教程,Android实现自适应正方形GridView
  6. Python采集深圳美莱(仅思路)
  7. azkaban 入门简介
  8. 元件封装尺寸_单位换算表
  9. 爬梯:Docker全解析(二)
  10. 淘宝褚霸谈做技术的心态
  11. 服务器维护必刷稀有宠物,完美国际2稀有宠物坐标及刷新时间(记得去抓)!!!...
  12. Linux挂载OneDrive
  13. 火车票软件哪个好用_买火车票哪个软件好用 哪个软件买火车票便宜
  14. 手机摄像头当电脑摄像头的软件
  15. 人生到处知何似,应似飞鸿踏雪泥
  16. PyCharm连接MySQL数据库的时候,驱动下载失败
  17. 手机火狐浏览html文件在哪里,火狐手机浏览器书签在哪?
  18. java后台实现支付宝支付接口、支付宝订单查询接口 前端为APP
  19. mysqlcp30下载最新jar包_三星S20FE刷机包(系统升级刷机最新官方固件包下载)
  20. android 多媒体框架服务之StagefrightPlayer和OMXCodec实现原理学习

热门文章

  1. 2022-03-27 screenX和clientX的区别以及offsetX和pageX的区别
  2. python利用公式计算_Python利用openpyxl处理Excel文件(公式实例)
  3. 抛错java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
  4. 谁的盛世————读《饥饿的盛世》有感
  5. 什么是web移动端-移动端布局特点
  6. 网站pv和uv比例多少合适
  7. Linux编译QT项目时报错: error: cannot find -lGL 的解决方法
  8. 南京艺术学院计算机作曲,南京艺术学院932主科(上机操作计算机作曲应用)考研复习经验...
  9. GDB 用法之查看内存
  10. 不知足者常乐:SAP云在中国的落地