边界框回归器在 Fast R-CNN 中如何工作?

数据挖掘 深度学习 图像识别 约洛 物体识别 更快的rcnn
2021-10-03 06:59:44

在 Ross Girshick 的 fast R-CNN 论文 ( https://arxiv.org/abs/1504.08083 ) 中,边界框参数是连续变量。这些值是使用回归方法预测的。与其他神经网络输出不同,这些值不代表输​​出类别的概率。相反,它们是表示边界框位置和大小的物理值。

我不清楚这种回归学习是如何发生的确切方法。深度学习的线性回归和图像分类在前面已经分别进行了很好的解释。但是线性回归算法在 CNN 设置中是如何工作的并没有解释得那么清楚。

你能解释一下基本概念以便于理解吗?

2个回答

作者(Girshick 等人)在第 12 页的慢速 R-CNN 论文提供了非常清晰和深入的解释:C. Bounding-box regression,我只是粘贴在这里以供快速阅读:

在此处输入图像描述 在此处输入图像描述

此外,作者从之前的一篇论文中获得灵感,谈到了两种技术的区别如下:

在此处输入图像描述

之后,在您参考的 Fast-RCNN 论文中,作者将 BB 回归任务的损失函数从正则化最小二乘(岭回归)更改为对异常值不太敏感的平滑 L1 !此外,您将这种平滑的 L1 损失嵌入到多任务损失函数中,这样我们就可以联合训练分类和边界框回归,这在以前在 R-CNN 或 SPP-net 中没有做过!

在此处输入图像描述

但是,同一作者在即将发表的论文faster-RCNN中再次更改了损失函数,后来在FCN中很多时候,为了了解一个主题,需要通过研究论文进行回溯!:) 希望能帮助到你!

引用的论文根本没有提到线性回归。它所做的是使用神经网络来预测连续变量,并将其称为回归。

定义的回归(根本不是线性的)只是一个具有卷积层和全连接层的 CNN,但在最后一个全连接层中,它不应用 sigmoid 或 softmax,这通常用于分类,因为值对应于概率。相反,这个 CNN 输出的是四个值(r,c,h,w), 在哪里 (r,c) 指定左角位置的值和 (h,w)窗口的高度和宽度。为了训练这个 NN,当 NN 的输出与标记的非常不同时,损失函数将进行惩罚(r,c,h,w) 在训练集中。