Faster R-CNN是一种目标检测架构,属于深度学习和计算机视觉领域,它将区域提议生成和对象分类统一到一个可训练的神经网络中。它由任少卿、何恺明、Ross Girshick和孙健于2015年提出,建立在早期的R-CNN和Fast R-CNN模型基础之上。其关键创新在于区域提议网络(RPN),该网络与检测器共享全图像卷积特征,大幅降低了生成候选区域的计算成本。这种设计使得推理速度接近实时,同时保持较高的检测精度,使其成为现代目标检测系统的基础模型。
Faster R-CNN作为两阶段检测器运行。第一阶段使用RPN提出一组矩形对象区域。第二阶段,即检测网络,将这些区域分类为具体对象类别并细化其边界框。这种分离与YOLO或SSD等单阶段检测器形成对比,后者直接从特征网格回归边界框和类别概率。两阶段方法通常能获得更优的定位精度,尤其对于小对象或被遮挡对象,这使Faster R-CNN成为机器学习研究中的标准基准。
架构
该架构由三个主要组件组成:骨干卷积网络、RPN和感兴趣区域(RoI)分类器。骨干网络(通常是VGG-16或ResNet等预训练网络)从输入图像中提取特征图。RPN在这些特征图上操作,使用小型滑动窗口预测对象性得分和一组多尺度、多纵横比锚框的框回归偏移。锚框使网络无需多尺度图像金字塔即可处理不同形状的对象。生成的提议随后通过RoI池化调整为固定大小,并传递给分类器,后者输出类别概率和细化后的边界框。
训练
训练通过多任务损失函数端到端进行,该函数结合了RPN和检测器的分类与回归损失。原始实现使用交替优化调度,但后续版本采用通过所有层反向传播的联合训练。RPN使用指示锚框是否包含对象的二元标签进行训练,而检测器使用细粒度类别标签。为处理大量锚框,训练期间采用采样策略选择平衡批次。这种统一训练方法与早期R-CNN方法形成显著差异,后者需要单独训练如选择性搜索等区域提议算法。
性能与影响
在PASCAL VOC 2007和2012基准上,Faster R-CNN分别取得了73.2%和70.4%的mAP分数,同时在GPU上以每秒5帧的速度运行。这相比Fast R-CNN(每张图像需数秒)有显著提升。RPN的引入消除了外部区域提议方法的瓶颈,使整个检测流程可端到端训练。这项工作影响了后续模型,如用于实例分割的Mask R-CNN及各种基于区域的框架。其原理已被广泛采用于商业系统,包括Waymo和特斯拉自动驾驶等公司的自动驾驶感知栈。
变体与扩展
已提出众多扩展以改进Faster R-CNN的特定方面。特征金字塔网络(FPN)整合多尺度特征图以增强小对象检测。Cascade R-CNN使用一系列IoU阈值递增的检测器迭代细化提议。其他工作探索了用于移动部署的轻量级骨干网络,例如基于ARM的边缘设备。在生成式AI背景下,Faster R-CNN也被用作视觉-语言模型的组件,尽管大规模系统往往更青睐基于Transformer的检测器。关于使其更高效的研究仍在继续,英特尔和高通等硬件供应商应用了量化和剪枝技术。
相关方法
Faster R-CNN属于更广泛的基于区域的卷积网络家族,该家族还包括R-CNN和Fast R-CNN。它常与YOLO和SSD等单阶段检测器进行比较,后者提供更高速度但通常精度较低。后续混合架构(如RetinaNet)尝试通过焦点损失弥合这一差距。在现代深度学习格局中,使用Transformer架构的基于注意力的检测器已崭露头角,但Faster R-CNN仍是广泛使用的基线和集成方法中的常见组件。