2016-12-27 250 views
1

我正在與PY-更快rcnn上的自定義數據集播放(約3000的圖像,7個不同的類,其中包括背景),以及以下這些教程:更快-RCNN BBOX /圖像歸一化

https://github.com/zeyuanxy/fast-rcnn/blob/master/help/train/README.md(快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個班級的產出數量?

回答

2

不,你不需要預先計算任何東西。在lib/roi_data_layer/roidb.py中,如果將BBOX_NORMALIZE_TARGETS_PRECOMPUTED設置爲False,它將計算數據集的平均值和標準差,否則將使用在lib/fast_rcnn/config.py中指定的默認值。 RPN對類的數量是不可知的。它只將包含任何對象的區域視爲正面,其他視爲負面。

+0

感謝您的幫助!我嘗試將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 AssertionError「 – Norbert

+0

我查看了斷言發生的代碼,並且有一條評論:」#RPN只能使用預先計算的規範化,因爲沒有固定的統計信息來計算先驗信息「 – Norbert

+0

我認爲您將BBOX_NORMALIZE_TARGETS設置爲False,這應該是true。無論如何,RPN並不需要這些東西(它只有當你有一些其他算法的區域提案時才需要),比如選擇性搜索。即使你註釋掉所有的規範化代碼,它也可以工作。所有fast-rcnn的規範化都在generate_anchors中完成,anchor_target_layer用於訓練RPN,proposal_target_layer和proposal_layer用於訓練檢測器。這些文件位於RPN文件夾中。 – Bharat