Two-stage 目标检测算法
令和8年1月9日|p.105
左の本文を選ぶと、右側の官報原文画像で該当箇所を照合できます。
1. 两阶段检测算法
两阶段检测算法的核心思想是将目标检测任务分解为两个步骤:首先生成候选区域(Region Proposals),然后对这些候选区域进行分类和边界框回归。这类算法通常具有较高的检测精度,但计算复杂度较高,推理速度相对较慢。
- R-CNN (Regions with CNN features): 作为两阶段检测算法的开创性工作,R-CNN 使用选择性搜索(Selective Search)生成约 2000 个候选区域,然后将每个区域缩放至固定大小并输入卷积神经网络(CNN)提取特征,最后利用支持向量机(SVM)进行分类和线性回归器进行边界框修正。尽管 R-CNN 在 PASCAL VOC 数据集上取得了突破性的性能提升,但其训练和测试过程繁琐且耗时。
- Fast R-CNN: 针对 R-CNN 的不足,Fast R-CNN 提出了改进方案。它通过共享卷积计算,将整张图像输入 CNN 提取特征图,然后在特征图上映射候选区域并使用 RoI Pooling 层提取固定大小的特征向量。此外,Fast R-CNN 采用多任务损失函数联合训练分类和回归任务,显著提升了训练和检测速度。
- Faster R-CNN: 为了进一步加速候选区域的生成,Faster R-CNN 引入了区域提议网络(Region Proposal Network, RPN)。RPN 与检测网络共享卷积特征,能够以极低的计算成本生成高质量的候选区域。Faster R-CNN 实现了端到端的训练和检测,成为两阶段检测算法的经典代表。
- Mask R-CNN: 在 Faster R-CNN 的基础上,Mask R-CNN 增加了分支用于预测目标的分割掩码(Mask),从而实现了实例分割任务。此外,Mask R-CNN 用 RoIAlign 层替代了 RoIPooling 层,解决了量化误差问题,进一步提升了检测精度。