"BB regression algorithms used in R-CNN variants" 与 "BB in YOLO" 本地化技术有何区别?
What's the difference between "BB regression algorithms used in R-CNN variants" vs "BB in YOLO" localization techniques?
问题:
What's the difference between the bounding box(BB) produced by "BB regression algorithms in region-based object detectors" vs "bounding box in single shot detectors"? and can they be used interchangeably if not why?
在了解用于对象检测的 R-CNN 和 Yolo 算法的变体时,我遇到了执行对象检测的两种主要技术,即基于区域的 (R-CNN) 和基于小众滑动 window 的 (YOLO ).
两者都在两种机制中使用不同的变体(从复杂到简单),但最终,它们只是使用边界框来定位图像中的对象!。我只是想专注于下面的本地化(假设正在进行分类!),因为这与提出的问题更相关并简要解释了我的理解:
基于区域:
- 在这里,我们让神经网络预测连续变量(BB坐标)并将其称为回归。
- 定义的回归(根本不是线性的),只是一个CNN或其他变体(所有层都是可微的),输出是四个值(,,ℎ,),其中(,)指定左角位置的值和 (ℎ,) BB 的高度和宽度。
- 为了训练这个神经网络,当神经网络的输出与训练集中标记的 (,ℎ,) 非常不同时,使用平滑的 L1 损失来学习精确的 BB!
niche-Sliding window(卷积实现!)基于:
- 首先,我们将图像分成 19*19 个网格单元。
- 将对象分配给网格单元的方法是选择对象的中点,然后将该对象分配给包含该对象中点的任何一个网格单元。所以每个对象,即使对象跨越多个网格单元,该对象也只会分配给 19 x 19 网格单元之一。
- 现在,您获取此网格单元的两个坐标,并使用
等方法计算该对象的精确 BB(bx, by, bh, bw)
- (bx, by, bh, bw) 是相对于网格单元的,其中 x 和 y 是中心点,h 和 w 是精确 BB 的高度,即边界框的高度指定为分数网格单元的总宽度和 h&w 可以 >1。
- 论文中指定了多种计算精确BB的方法。
两种算法:
输出精确的边界框。!
在监督学习环境中工作,他们使用标记的数据集,其中标签是存储的边界框(使用 labelimg 等工具手动标记我的一些注释器)对于 JSON/XML文件格式。
我试图在更抽象的层面上理解这两种本地化技术(以及对这两种技术有深入的了解!),以便更清楚地了解:
in what sense they are different?, &
why 2 were created, I mean what are the failure/success points of 1 on the another?.
and can they be used interchangeably, if not then why?
如果我有什么地方不对,请随时纠正我,非常感谢您的反馈!引用研究论文的任何特定部分会更有价值!
本质区别在于两阶段 Faster R-CNN 类更准确,而单阶段 YOLO/SSD-like 更快。
在双阶段架构中,第一阶段通常是区域提议,而第二阶段是分类和更准确的定位。你可以认为第一阶段类似于单阶段架构,区别在于region proposal仅将"object"与"background"分开,而单阶段区分所有对象[=21] =].更明确地说,在第一阶段,同样以类似 window 的滑动方式,RPN 表示是否存在对象,如果存在 - 粗略给出它所在的区域(边界框) .这个区域被第二阶段用于分类和边界框回归(为了更好的定位),首先汇集建议区域的相关特征,然后通过类似 Fast R-CNN 的架构(进行分类+回归) .
关于您关于它们之间互换的问题 - 您为什么要这样做?通常,您会根据最紧迫的需求选择一种架构(例如 latency/power/accuracy),并且您不想在它们之间进行互换,除非有一些复杂的想法可以以某种方式帮助您。
问题:
What's the difference between the bounding box(BB) produced by "BB regression algorithms in region-based object detectors" vs "bounding box in single shot detectors"? and can they be used interchangeably if not why?
在了解用于对象检测的 R-CNN 和 Yolo 算法的变体时,我遇到了执行对象检测的两种主要技术,即基于区域的 (R-CNN) 和基于小众滑动 window 的 (YOLO ).
两者都在两种机制中使用不同的变体(从复杂到简单),但最终,它们只是使用边界框来定位图像中的对象!。我只是想专注于下面的本地化(假设正在进行分类!),因为这与提出的问题更相关并简要解释了我的理解:
基于区域:
- 在这里,我们让神经网络预测连续变量(BB坐标)并将其称为回归。
- 定义的回归(根本不是线性的),只是一个CNN或其他变体(所有层都是可微的),输出是四个值(,,ℎ,),其中(,)指定左角位置的值和 (ℎ,) BB 的高度和宽度。
- 为了训练这个神经网络,当神经网络的输出与训练集中标记的 (,ℎ,) 非常不同时,使用平滑的 L1 损失来学习精确的 BB!
niche-Sliding window(卷积实现!)基于:
- 首先,我们将图像分成 19*19 个网格单元。
- 将对象分配给网格单元的方法是选择对象的中点,然后将该对象分配给包含该对象中点的任何一个网格单元。所以每个对象,即使对象跨越多个网格单元,该对象也只会分配给 19 x 19 网格单元之一。
- 现在,您获取此网格单元的两个坐标,并使用 等方法计算该对象的精确 BB(bx, by, bh, bw)
- (bx, by, bh, bw) 是相对于网格单元的,其中 x 和 y 是中心点,h 和 w 是精确 BB 的高度,即边界框的高度指定为分数网格单元的总宽度和 h&w 可以 >1。
- 论文中指定了多种计算精确BB的方法。
两种算法:
输出精确的边界框。!
在监督学习环境中工作,他们使用标记的数据集,其中标签是存储的边界框(使用 labelimg 等工具手动标记我的一些注释器)对于 JSON/XML文件格式。
我试图在更抽象的层面上理解这两种本地化技术(以及对这两种技术有深入的了解!),以便更清楚地了解:
in what sense they are different?, &
why 2 were created, I mean what are the failure/success points of 1 on the another?.
and can they be used interchangeably, if not then why?
如果我有什么地方不对,请随时纠正我,非常感谢您的反馈!引用研究论文的任何特定部分会更有价值!
本质区别在于两阶段 Faster R-CNN 类更准确,而单阶段 YOLO/SSD-like 更快。
在双阶段架构中,第一阶段通常是区域提议,而第二阶段是分类和更准确的定位。你可以认为第一阶段类似于单阶段架构,区别在于region proposal仅将"object"与"background"分开,而单阶段区分所有对象[=21] =].更明确地说,在第一阶段,同样以类似 window 的滑动方式,RPN 表示是否存在对象,如果存在 - 粗略给出它所在的区域(边界框) .这个区域被第二阶段用于分类和边界框回归(为了更好的定位),首先汇集建议区域的相关特征,然后通过类似 Fast R-CNN 的架构(进行分类+回归) .
关于您关于它们之间互换的问题 - 您为什么要这样做?通常,您会根据最紧迫的需求选择一种架构(例如 latency/power/accuracy),并且您不想在它们之间进行互换,除非有一些复杂的想法可以以某种方式帮助您。