1. Anchor定义
就是一个多尺度的滑动窗口,在特征图上的每个cell上生成不同尺寸、不同高宽比的Anchor,也叫先验框
为什么要引入多种比例的Anchor?
物体检测:一些候选区域进行分类和回归的问题。检测目标的大小、形状各不相同

2. Anchor工作过程
- 以YOLOv5为例,利用k-means根据数据集中目标主要分布的长宽尺度聚类出来的一组Anchor。
- anchor4个值: x1,y1,x2,y2表矩形左上和右下角点坐标。
- 聚类生成3种尺度,每组尺度有3种长宽比为:1:1,1:2,2:1 ,共9个Anchor。
- 跨Anchor预测:每个GroundTruth中心点所在cell和周围4个cell都可以负责预测GroundTruth和这5个cell里的所有Anchor进行匹配,得到K个Anchor (YOLOv5:基于宽高比,其他:IoU)
- K个Anchor负责预测这个GT,计算偏移量,生成K个预测框(正样本)
3. YOLOv1~YOLOv5的Anchor
4.FasterRCNN: RPN网络
- 在特征图进行anchor生成,anchor:多尺度、大小固定
- 生成anchors -> softmax分类器提取positvie anchors -> bbox reg回归positive anchors -> Proposal Layer生成proposals
- YOLOv2的Anchor基于RPN提出的
- 缺点:坐标x,y,w,h的预测是基于整张图片的,可能在左上角的cell产生的预测框跑到了右下角,不行

5. Anchor存在问题
- 超参数难调
- 正负样本不均衡
- 与GT匹配的过程耗时严重
- 对小目标不友好
6.Anchor-Free机制
- 基于关键点:
- 先检测目标左上角和右下角点
- 再通过角点配对以及角点位置的偏移量来输出预测框
- 基于中心点
- 直接检测物体的中心点和边界偏移量信息
- 分类子网、回归子网

7.基于关键点:CornerNet
- 沙漏结构:特征提取
- 角点池化:特征的池化方式,将信息整合到左上角点或者右下角点
- 预测输出:
- 预测角点出现的位置 Heatmaps
- 角点的配对 Embeddings
- 角点位置的偏移 Offsets


本文探讨了Anchor在物体检测中的应用,介绍了YOLO系列中Anchor的设计原理,包括其聚类方法和工作流程。重点剖析了Anchor存在的问题,如参数调整难度、样本不平衡等,并介绍了Anchor-Free机制,如CornerNet通过关键点检测来改进。最后概述了CornerNet的沙漏结构和预测输出。

4311

被折叠的 条评论
为什么被折叠?



