|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # Legacy Configs in MMDetection V1.x
-
- <!-- [OTHERS] -->
-
- Configs in this directory implement the legacy configs used by MMDetection V1.x and its model zoos.
-
- To help users convert their models from V1.x to MMDetection V2.0, we provide v1.x configs to inference the converted v1.x models.
- Due to the BC-breaking changes in MMDetection V2.0 from MMDetection V1.x, running inference with the same model weights in these two version will produce different results. The difference will cause within 1% AP absolute difference as can be found in the following table.
-
- ## Usage
-
- To upgrade the model version, the users need to do the following steps.
-
- ### 1. Convert model weights
-
- There are three main difference in the model weights between V1.x and V2.0 codebases.
-
- 1. Since the class order in all the detector's classification branch is reordered, all the legacy model weights need to go through the conversion process.
- 2. The regression and segmentation head no longer contain the background channel. Weights in these background channels should be removed to fix in the current codebase.
- 3. For two-stage detectors, their wegihts need to be upgraded since MMDetection V2.0 refactors all the two-stage detectors with `RoIHead`.
-
- The users can do the same modification as mentioned above for the self-implemented
- detectors. We provide a scripts `tools/model_converters/upgrade_model_version.py` to convert the model weights in the V1.x model zoo.
-
- ```bash
- python tools/model_converters/upgrade_model_version.py ${OLD_MODEL_PATH} ${NEW_MODEL_PATH} --num-classes ${NUM_CLASSES}
-
- ```
-
- - OLD_MODEL_PATH: the path to load the model weights in 1.x version.
- - NEW_MODEL_PATH: the path to save the converted model weights in 2.0 version.
- - NUM_CLASSES: number of classes of the original model weights. Usually it is 81 for COCO dataset, 21 for VOC dataset.
- The number of classes in V2.0 models should be equal to that in V1.x models - 1.
-
- ### 2. Use configs with legacy settings
-
- After converting the model weights, checkout to the v1.2 release to find the corresponding config file that uses the legacy settings.
- The V1.x models usually need these three legacy modules: `LegacyAnchorGenerator`, `LegacyDeltaXYWHBBoxCoder`, and `RoIAlign(align=False)`.
- For models using ResNet Caffe backbones, they also need to change the pretrain name and the corresponding `img_norm_cfg`.
- An example is in [`retinanet_r50_caffe_fpn_1x_coco_v1.py`](retinanet_r50_caffe_fpn_1x_coco_v1.py)
- Then use the config to test the model weights. For most models, the obtained results should be close to that in V1.x.
- We provide configs of some common structures in this directory.
-
- ## Performance
-
- The performance change after converting the models in this directory are listed as the following.
- | Method | Style | Lr schd | V1.x box AP | V1.x mask AP | V2.0 box AP | V2.0 mask AP | Config | Download |
- | :-------------: | :-----: | :-----: | :------:| :-----: |:------:| :-----: | :-------: |:------------------------------------------------------------------------------------------------------------------------------: |
- | Mask R-CNN R-50-FPN | pytorch | 1x | 37.3 | 34.2 | 36.8 | 33.9 | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/legacy_1.x/mask_rcnn_r50_fpn_1x_coco_v1.py) | [model](https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/mask_rcnn_r50_fpn_1x_20181010-069fa190.pth)|
- | RetinaNet R-50-FPN | caffe | 1x | 35.8 | - | 35.4 | - | [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/legacy_1.x/retinanet_r50_caffe_1x_coco_v1.py) |
- | RetinaNet R-50-FPN | pytorch | 1x | 35.6 |-|35.2| -| [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/legacy_1.x/retinanet_r50_fpn_1x_coco_v1.py) | [model](https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/retinanet_r50_fpn_1x_20181125-7b0c2548.pth) |
- | Cascade Mask R-CNN R-50-FPN | pytorch | 1x | 41.2 | 35.7 |40.8| 35.6| [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/legacy_1.x/cascade_mask_rcnn_r50_fpn_1x_coco_v1.py) | [model](https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/cascade_mask_rcnn_r50_fpn_1x_20181123-88b170c9.pth) |
- | SSD300-VGG16 | caffe | 120e | 25.7 |-|25.4|-| [config](https://github.com/open-mmlab/mmdetection/blob/master/configs/legacy_1.x/ssd300_coco_v1.py) | [model](https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/ssd300_coco_vgg16_caffe_120e_20181221-84d7110b.pth) |
|