computer-vision - 为什么ssd和yolo没有roi pooling层?
问题描述
我们知道对象检测框架喜欢faster-rcnn
和mask-rcnn
有一个roi pooling layer
or roi align layer
。但是为什么ssd和yolo框架没有这样的层呢?
解决方案
首先,我们应该了解其目的是什么roi pooling
:在特征图上从提议区域获得固定大小的特征表示。因为提议的区域可以有各种大小,如果我们直接使用这些区域的特征,它们的形状会不同,因此不能被馈送到全连接层进行预测。(我们已经知道全连接层需要固定的形状输入)。为了进一步阅读,这是一个很好的答案。
所以我们理解roi
池化本质上需要两个输入,建议区域和特征图。如下图所示 。
那么为什么不使用YOLO和SSDroi pooling
呢?仅仅因为他们不使用区域提案!它们的设计本质上与R-CNN、Fast R-CNN、Faster R-CNN等模型不同,实际上YOLO和SSD被归类为one-stage
检测器,而 r-cnn 系列(R-CNN、Fast R-CNN、Faster R-CNN ) 之所以称为two-stage
检测器,是因为它们首先提出区域,然后执行分类和回归。
对于one-stage
检测器,它们直接从特征图执行预测(分类和回归)。他们的方法是将图像划分为网格,每个网格将预测具有置信度分数和类别分数的固定数量的边界框。原YOLO使用的是单尺度特征图,而SSD使用的是多尺度特征图,如下图所示
我们可以看到YOLO 和 SSD,最终输出是一个固定形状的张量。因此它们的行为与 类似的问题非常相似linear regression
,因此它们被称为one-stage
检测器。
推荐阅读
- python - Django 我可以自动填写 list_display
- powerbi - Power Query 条件列 - 为 1 行/输出组合 2 个值
- reactjs - React:将 redux reducer 集成到 dandelion-pro 项目中
- swift - 使用 NSPointToCGPoint 将 NSPoint 转换为 CGPoint
- python - 我的神经网络是过拟合还是欠拟合?
- c# - SharePoint 2019 搜索 REST API 返回 401 Unauthorized - 当使用基本授权请求标头从 C# 调用时
- oracle - 查找转换中的数据类型转换
- rest - 如何从互联网连接到国内路由器后面的很多设备
- javascript - Moment js没有将小时和分钟添加到特定时间
- javascript - 异步函数没有得到结果