Deep learning 更快的RCNN bbox/图像标准化

Deep learning 更快的RCNN bbox/图像标准化,deep-learning,normalization,caffe,pycaffe,Deep Learning,Normalization,Caffe,Pycaffe,我正在自定义数据集上使用py Quicker rcnn,大约3000幅图像,7个不同的类,包括背景,并遵循以下教程: 快速RCNN教程 快速RCNN教程 我在VGG16网络中使用end2end解决方案。 一切正常,期待我的结果,所以我有一些问题: 图像和bbox注释需要哪种规格化? 这与前面的问题类似:有两个配置选项:BBOX\u NORMALIZE\u TARGETS和BBOX\u NORMALIZE\u TARGETS\u PRECOMPUTED。我是否应该在培训前计算平均值和标准差,并使用

我正在自定义数据集上使用py Quicker rcnn,大约3000幅图像,7个不同的类,包括背景,并遵循以下教程:

快速RCNN教程 快速RCNN教程

我在VGG16网络中使用end2end解决方案。 一切正常,期待我的结果,所以我有一些问题:

图像和bbox注释需要哪种规格化? 这与前面的问题类似:有两个配置选项:BBOX\u NORMALIZE\u TARGETS和BBOX\u NORMALIZE\u TARGETS\u PRECOMPUTED。我是否应该在培训前计算平均值和标准差,并使用这些选项进行bbox标准化? 我根据以下线程修改了cls_score和bbox_pred层的num_输出:,但在end2end解决方案中也有rpn_cls_score和rpn_bbox_pred层。我是否也应该修改这些的num_输出?如果我应该,那么我如何计算7个类的输出数量?
不,您不需要预先计算任何内容。在lib/roi\u data\u layer/roidb.py中,如果您将BBOX\u NORMALIZE\u TARGETS\u PRECOMPUTED设置为False,它将计算数据集的平均值和标准偏差,否则,它将使用lib/fast\u rcnn/config.py中指定的默认值。RPN与类的数量无关。它只将包含任何对象的区域视为正,其他所有区域视为负。

谢谢您的帮助!我试图将BBOX_NORMALIZE_TARGETS_PRECOMPUTED设置为false,但它导致了一个断言错误:File/home/spirit/py faster rcnn/tools//lib/fast_rcnn/train.py,第35行,在init assert cfg.train.BBOX_NORMALIZE_TARGETS_PRECOMPUTED assertioneror中,我查看了代码,在断言发生且有注释的地方:RPN只能使用预计算的规范化,因为没有固定的统计信息来计算优先级。我认为您将BBOX_NORMALIZE_目标设置为False,这应该是true。无论如何,RPN不需要这些东西,只有当你有其他算法的区域建议时才需要,比如选择性搜索。即使您注释掉所有的规范化代码,它也会起作用。更快rcnn的所有规范化都在生成锚、锚、目标层(用于训练RPN)和建议层(用于训练检测器)内完成。这些文件在RPN文件夹中。我想RPN的STD和means指定了建议框的先前统计信息?然后,根据特定的数据集初始化这些值没有多大意义。我发现这部分BBOX_NORMALIZE_STDS和BBOX_NORMALIZE_MEANS在原始文件中没有提到。为什么它有用?