@@ -1152,6 +1152,32 @@ NMS_demo.py:<https://github.com/humengdoudou/object_detection_mAP/blob/master/
1152
1152
1153
1153
#### Faster R-CNN 为什么用smooth l1 loss,和l2有什么区别?
1154
1154
1155
+ - [ ] TODO
1156
+
1157
+ ### Faster R-CNN的RPN网络
1158
+
1159
+ RPN结构说明:
1160
+
1161
+ 1 ) 从基础网络提取的第五卷积层特征进入RPN后分为两个分支,其中一个分支进行针对feature map(上图conv-5-3共有512个feature-map)的每一个位置预测共(9* 4=36)个参数,其中9代表的是每一个位置预设的9种形状的anchor-box,4对应的是每一个anchor-box的预测值(该预测值表示的是预设anchor-box到ground-truth-box之间的变换参数),上图中指向rpn-bbox-pred层的箭头上面的数字36即是代表了上述的36个参数,所以rpn-bbox-pred层的feature-map数量是36,而每一张feature-map的形状(大小)实际上跟conv5-3一模一样的;
1162
+
1163
+ 2 ) 另一分支预测该anchor-box所框定的区域属于前景和背景的概率(网上很对博客说的是,指代该点属于前景背景的概率,那样是不对的,不然怎么会有18个feature-map输出呢?否则2个就足够了),前景背景的真值给定是根据当前像素(anchor-box中心)是否在ground-truth-box内;
1164
+
1165
+ 3 ) 上图RPN-data(python)运算框内所进行的操作是读取图像信息(原始宽高),groun-truth boxes的信息(bounding-box的位置,形状,类别)等,作好相应的转换,输入到下面的层当中。
1166
+
1167
+ 4) 要注意的是RPN内部有两个loss层,一个是BBox的loss,该loss通过减小ground-truth-box与预测的anchor-box之间的差异来进行参数学习,从而使RPN网络中的权重能够学习到预测box的能力。实现细节是每一个位置的anchor-box与ground-truth里面的box进行比较,选择IOU最大的一个作为该anchor-box的真值,若没有,则将之class设为背景(概率值0,否则1),这样背景的anchor-box的损失函数中每个box乘以其class的概率后就不会对bbox的损失函数造成影响。另一个loss是class-loss,该处的loss是指代的前景背景并不是实际的框中物体类别,它的存在可以使得在最后生成roi时能快速过滤掉预测值是背景的box。也可实现bbox的预测函数不受影响,使得anchor-box能(专注于)正确的学习前景框的预测,正如前所述。所以,综合来讲,整个RPN的作用就是替代了以前的selective-search方法,因为网络内的运算都是可GPU加速的,所以一下子提升了ROI生成的速度。可以将RPN理解为一个预测前景背景,并将前景框定的一个网络,并进行单独的训练,实际上论文里面就有一个分阶段训练的训练策略,实际上就是这个原因。
1168
+
1169
+ 5 ) 最后经过非极大值抑制,RPN层产生的输出是一系列的ROI-data,它通过ROI的相对映射关系,将conv5-3中的特征已经存入ROI-data中,以供后面的分类网使用。
1170
+
1171
+ 另外两个loss层的说明:
1172
+ 也许你注意到了,最后还有两个loss层,这里的class-loss指代的不再是前景背景loss,而是真正的类别loss了,这个应该就很好理解了。而bbox-loss则是因为rpn提取的只是前景背景的预测,往往很粗糙,这里其实是通过ROI-pooling后加上两层全连接实现更精细的box修正(这里其实是我猜的)。
1173
+ ROI-Pooing的作用是为了将不同大小的Roi映射(重采样)成统一的大小输入到全连接层去。
1174
+
1175
+ 以上。
1176
+
1177
+ ** 参考资料**
1178
+
1179
+ - [ Faster-Rcnn中RPN(Region Proposal Network)的理解] ( https://blog.csdn.net/mllearnertj/article/details/53709766 )
1180
+
1155
1181
## SSD 算法
1156
1182
1157
1183
- [ ] TODO
@@ -1243,35 +1269,8 @@ Focal Loss 从优化函数的角度上来解决这个问题,实验结果非常
1243
1269
- [ 如何评价Kaiming的Focal Loss for Dense Object Detection?] ( https://www.zhihu.com/question/63581984 )
1244
1270
- [ 首发 | 何恺明团队提出 Focal Loss,目标检测精度高达39.1AP,打破现有记录] ( https://zhuanlan.zhihu.com/p/28442066 )
1245
1271
1246
-
1247
1272
## FPN 特征金字塔网络
1248
1273
1249
- - [ ] TODO
1250
-
1251
- ## Faster R-CNN的RPN网络
1252
-
1253
- RPN结构说明:
1254
-
1255
- 1 ) 从基础网络提取的第五卷积层特征进入RPN后分为两个分支,其中一个分支进行针对feature map(上图conv-5-3共有512个feature-map)的每一个位置预测共(9* 4=36)个参数,其中9代表的是每一个位置预设的9种形状的anchor-box,4对应的是每一个anchor-box的预测值(该预测值表示的是预设anchor-box到ground-truth-box之间的变换参数),上图中指向rpn-bbox-pred层的箭头上面的数字36即是代表了上述的36个参数,所以rpn-bbox-pred层的feature-map数量是36,而每一张feature-map的形状(大小)实际上跟conv5-3一模一样的;
1256
-
1257
- 2 ) 另一分支预测该anchor-box所框定的区域属于前景和背景的概率(网上很对博客说的是,指代该点属于前景背景的概率,那样是不对的,不然怎么会有18个feature-map输出呢?否则2个就足够了),前景背景的真值给定是根据当前像素(anchor-box中心)是否在ground-truth-box内;
1258
-
1259
- 3 ) 上图RPN-data(python)运算框内所进行的操作是读取图像信息(原始宽高),groun-truth boxes的信息(bounding-box的位置,形状,类别)等,作好相应的转换,输入到下面的层当中。
1260
-
1261
- 4) 要注意的是RPN内部有两个loss层,一个是BBox的loss,该loss通过减小ground-truth-box与预测的anchor-box之间的差异来进行参数学习,从而使RPN网络中的权重能够学习到预测box的能力。实现细节是每一个位置的anchor-box与ground-truth里面的box进行比较,选择IOU最大的一个作为该anchor-box的真值,若没有,则将之class设为背景(概率值0,否则1),这样背景的anchor-box的损失函数中每个box乘以其class的概率后就不会对bbox的损失函数造成影响。另一个loss是class-loss,该处的loss是指代的前景背景并不是实际的框中物体类别,它的存在可以使得在最后生成roi时能快速过滤掉预测值是背景的box。也可实现bbox的预测函数不受影响,使得anchor-box能(专注于)正确的学习前景框的预测,正如前所述。所以,综合来讲,整个RPN的作用就是替代了以前的selective-search方法,因为网络内的运算都是可GPU加速的,所以一下子提升了ROI生成的速度。可以将RPN理解为一个预测前景背景,并将前景框定的一个网络,并进行单独的训练,实际上论文里面就有一个分阶段训练的训练策略,实际上就是这个原因。
1262
-
1263
- 5 ) 最后经过非极大值抑制,RPN层产生的输出是一系列的ROI-data,它通过ROI的相对映射关系,将conv5-3中的特征已经存入ROI-data中,以供后面的分类网使用。
1264
-
1265
- 另外两个loss层的说明:
1266
- 也许你注意到了,最后还有两个loss层,这里的class-loss指代的不再是前景背景loss,而是真正的类别loss了,这个应该就很好理解了。而bbox-loss则是因为rpn提取的只是前景背景的预测,往往很粗糙,这里其实是通过ROI-pooling后加上两层全连接实现更精细的box修正(这里其实是我猜的)。
1267
- ROI-Pooing的作用是为了将不同大小的Roi映射(重采样)成统一的大小输入到全连接层去。
1268
-
1269
- 以上。
1270
-
1271
- ** 参考资料**
1272
-
1273
- - [ Faster-Rcnn中RPN(Region Proposal Network)的理解] ( https://blog.csdn.net/mllearnertj/article/details/53709766 )
1274
-
1275
1274
## ROI Pooling、ROI Align和ROI Warping对比
1276
1275
1277
1276
- [ ] TODO
@@ -1280,6 +1279,10 @@ ROI-Pooing的作用是为了将不同大小的Roi映射(重采样)成统一
1280
1279
1281
1280
- [ Mask-RCNN中的ROIAlign, ROIPooling及ROIWarp对比] ( https://blog.csdn.net/lanyuxuan100/article/details/71124596 )
1282
1281
1282
+ # Anchor-free目标检测系列
1283
+
1284
+ # DETR系列
1285
+
1283
1286
## DeepLab系列(V1-V3+)
1284
1287
1285
1288
- [ ] TODO
@@ -1312,6 +1315,14 @@ CornerNet介绍
1312
1315
- [ transformer面试题的简单回答] ( https://zhuanlan.zhihu.com/p/363466672 )
1313
1316
- [ 史上最全Transformer面试题系列(一):灵魂20问帮你彻底搞定Transformer-干货!] ( https://zhuanlan.zhihu.com/p/148656446 )
1314
1317
1318
+ # 视觉Transformer
1319
+
1320
+ ## ViT
1321
+
1322
+ ## Swin
1323
+
1324
+ ## PVT
1325
+
1315
1326
## TODO
1316
1327
1317
1328
- [ ] 目标检测方向
0 commit comments