1. 引言:从R-CNN到Faster R-CNN的演进
目标检测是计算机视觉领域的基石任务之一,旨在识别图像中所有感兴趣目标的类别,并确定它们精确的位置。在深度学习时代,目标检测算法取得了飞速发展,其中以 R-CNN 系列为代表的“两阶段(Two-stage)”检测器,以其高精度一直占据着重要地位。
回顾历史,最初的 R-CNN (Regions with CNN features) 引入了区域建议(Region Proposal)的概念,利用选择性搜索(Selective Search)等传统方法生成数千个候选区域,然后对每个区域独立进行CNN特征提取和分类。这种方式效率低下,无法实现端到端训练。
接着,Fast R-CNN 解决了训练速度慢的问题,它先对整张图像进行CNN特征提取,然后通过 RoI Pooling 从特征图中提取每个候选区域的固定大小特征,大大减少了重复计算。但它依然依赖外部的区域建议算法,这限制了其整体性能。
而今天我们将深入探讨的 Faster R-CNN,正是为了解决这一痛点而诞生。它最大的创新在于引入了 区域建议网络(Region Proposal Network, RPN),将区域建议的生成也纳入到深度学习框架中,实现了真正的端到端训练。
Faster R-CNN 整体架构概览:
图1:Faster R-CNN 整体架构示意图。本篇文章将重点解析 RPN 模块。
如上图所示,