下面几篇论文在目标领域内被广泛认为是具有里程碑意义的,它们引入了一些基本概念和方法,对后续的研究产生了深远的影响:
1. DenseBox
虽然不完全是今天所讨论的anchor-free检测方法,但DenseBox是较早采用端到端方式进行目标检测和定位的方法之一,它为后续的anchor-free方法提供了灵感。DenseBox通过直接在特征图上预测边界框和目标的存在,展示了去除传统锚点的可能性。
2. YOLOv1
YOLOv1是一个开创性的工作,它将目标检测视为一个单一的回归问题,直接从图像像素到边界框坐标和类别概率的映射。虽然YOLOv1本身使用了锚点,但它的整体思想和设计哲学对后来的anchor-free方法有着重要的影响,特别是它对于实现快速、简洁且有效的目标检测系统的追求。
3. CornerNet
CornerNet是一个真正的anchor-free目标检测方法的代表,它通过检测对象的角点(左上角和右下角)并使用配对的关键点来预测对象的位置,而不依赖于预定义的锚点。CornerNet的提出标志着anchor-free目标检测方法的一个重要发展,它展示了一种全新的思路来解决目标检测问题。
4. CenterNet:
CenterNet进一步发展了基于关键点的目标检测方法,通过检测目标的中心点以及其宽度和高度的估计,来定位和识别目标。这种方法同样不依赖于预定义的锚点,为anchor-free目标检测提供了又一种有效的途径。
CornerNet
CornerNet是一种创新的anchor-free目标检测方法,它通过检测成对的角点(即目标边界框的左上角和右下角)来定位和识别目标。
这种方法摒弃了传统目标检测算法中使用的锚点(anchors),提出了一种基于关键点检测的目标检测新框架。
以下是CornerNet的主要内容和步骤的详细描述:
1. 关键点检测
- 角点作为关键点:CornerNet将目标检测问题转化为检测成对的关键点,即目标边界框的左上角和右下角。这种方法的核心思想是,一对正确匹配的角点可以唯一确定一个边界框。
- 热图预测:模型使用卷积神经网络(CNN)生成两个热图(heatmaps),分别对应于图像中所有左上角和右下角的位置。热图上的每个像素值表示该位置是角点的置信度。
2. 嵌入向量
- 角点配对:为了将检测到的左上角和右下角正确配对,CornerNet为每个角点预测一个嵌入向量(embedding vector)。通过计算两个角点嵌入向量之间的距离,模型可以判断这两个角点是否属于同一个对象。
- 拉力和推力损失:模型使用一种称为“拉力和推力”的损失函数来训练嵌入向量,使得同一对象的角点的嵌入向量相近,而不同对象的角点的嵌入向量相远。
3. 边界框大小预测
- 尺寸预测:除了角点的位置,CornerNet还预测每个角点到对应边界框另一角的偏移量(即边界框的宽度和高度)。这有助于提高边界框定位的准确性。
4. 角点池化
- 角点池化层:为了更准确地定位角点,CornerNet引入了一种特殊的池化层,称为角点池化层(corner pooling)。这个池化层能够帮助模型更好地捕捉到角点的特征,尤其是在目标边缘部分。
5. 训练和推理
- 训练:在训练过程中,CornerNet同时优化热图预测、嵌入向量和边界框尺寸预测的损失函数。
- 推理:在推理时,模型首先生成热图和嵌入向量,然后通过阈值操作和非极大值抑制(NMS)来选择和配对角点,最后根据角点位置和预测的尺寸生成最终的边界框。