4步交替RPN /更快的R-CNN培训?-Tensorflow对象检测模型

mac*_*guy 2 object-detection tensorflow

正在经历最近发布的tensorflow / models ../ object_detection模型,特别是更快的r-cnn。

本文提到了4步交替训练,

  1. 训练RPN,然后冻结RPN层,
  2. 训练RCNN,然后冻结RCNN层,
  3. 训练RPN,然后冻结RPN层
  4. 训练RCNN。

根据我的收集,在阶段2 = RCNN中,RPN确实冻结了:

if self._is_training:
    proposal_boxes = tf.stop_gradient(proposal_boxes) 
Run Code Online (Sandbox Code Playgroud)

因此,涵盖了培训RPN +冻结RPN层,然后进行RCNN培训,但是其他3个步骤又在哪里执行?

我想念什么吗?

小智 5

我们在TF Object Detection API中对Faster R-CNN的实现非常接近本文,但有一些不同。这些差异之一是我们端到端地训练模型,而不是本文中使用的交替训练。

您提到的stop_gradient实际上并没有冻结RPN ---它所做的是它忽略了渐变在提案坐标中的作用,但继续允许渐变通过RPN功能。

希望这可以帮助!