深度学习知识点汇总-目标检测(1)

2019-05-22  本文已影响0人  深度学习模型优化

8.1 R-FCN

R-FCN属于two-stage的目标检测算法。

其中ResNet-101 + R-FCN的方法在PASCAL VOC 2007测试数据集的mmAP达到83.6%。

图1 人脸检测

R-FCN的核心思想

图2 检测示意图

现在我们来看一下5\times5的特征图M,内部包含一个灰色方块。我们将方块平均分成3×3个区域。在M中创建了一个新的特征图,来检测方块的左上角(TL)。这个新的特征图如图2(右)所示。只有绿色的网格单元[2,2]处于激活状态。

图3 生成9个得分图

我们将方块分成9个部分,由此创建了9个特征图,每个用来检测对应的目标区域。这些特征图叫做位置敏感得分图(position-sensitive score map),因为每个图检测目标的子区域(计算其得分)。

图4 vote_array

图4中红色虚线矩形是建议的ROI。我们将其分割成3×3个区域,并询问每个区域包含目标对应部分的概率是多少。例如,左上角ROI区域包含左眼的概率。我们将结果存储成3×3 vote数组,如图4(右)所示。例如,vote_array[0][0]包含左上角区域是否包含目标对应部分的得分。

图5 position-sensitive ROI-pool

将ROI应用到特征图上,输出一个3x3数组。将得分图和ROI映射到vote数组的过程叫做位置敏感ROI池化(position-sensitive ROI-pool)。

图6 ROI池化

将ROI的一部分叠加到对应的得分图上,计算V[i][j]。在计算出位置敏感ROI池化的所有值后,类别得分是其所有元素得分的平均值。

图7 R-FCN数据流图

假如我们有C个类别要检测。我们将其扩展为C+1个类别,这样就为背景(非目标)增加了一个新的类别。每个类别有3×3个得分图,因此一共有(C+1)×3×3个得分图。使用每个类别的得分图可以预测出该类别的类别得分。然后我们对这些得分应用 softmax 函数,计算出每个类别的概率。以下是数据流图,在本案例中,k=3。

上一篇 下一篇

猜你喜欢

热点阅读