我正在自定义数据集(大约 3000 个图像,7 个不同的类,包括背景)上使用 py-faster-rcnn,并遵循以下教程:
https://github.com/zeyuanxy/fast-rcnn/blob/master/help/train/README.md (Fast-RCNN教程) https://github.com/deboc/py-faster-rcnn/tree/master/help (Faster-RCNN教程)
我正在使用 VGG16 网络的 end2end 解决方案。 一切正常,期待我的结果,所以我有一些问题:
- 图像和 bbox 注释需要什么样的标准化?
- 与上一个问题类似:有两个配置选项:BBOX_NORMALIZE_TARGETS 和 BBOX_NORMALIZE_TARGETS_PRECOMPUTED。我应该在训练前计算平均值和标准差并使用这些选项进行 bbox 标准化吗?
- 我修改了 cls_score 和 bbox_pred 层的 num_output (根据此线程: https://github.com/rbgirshick/py-faster-rcnn/issues/1 ),但在 end2end 解决方案中也有 rpn_cls_score 和 rpn_bbox_pred 层。我也应该修改这些的 num_outputs 吗?如果我应该如何计算 7 个类别的输出数量?
最佳答案
不,您不需要预先计算任何内容。在 lib/roi_data_layer/roidb.py 中,如果将 BBOX_NORMALIZE_TARGETS_PRECOMPUTED 设置为 False,它将计算数据集的平均值和标准差,否则,它将使用 lib/fast_rcnn/config.py 中指定的默认值。 RPN 与类的数量无关。它只将包含任何对象的区域视为正数,将其他所有内容视为负数。
关于deep-learning - Faster-RCNN bbox/图像标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41352332/