isLinXu commited on
Commit
4baf486
1 Parent(s): e2881a8
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. configs/Base-RCNN-C4.yaml +18 -0
  2. configs/Base-RCNN-DilatedC5.yaml +31 -0
  3. configs/Base-RCNN-FPN.yaml +42 -0
  4. configs/Base-RetinaNet.yaml +25 -0
  5. configs/COCO-Detection/fast_rcnn_R_50_FPN_1x.yaml +17 -0
  6. configs/COCO-Detection/faster_rcnn_R_101_C4_3x.yaml +9 -0
  7. configs/COCO-Detection/faster_rcnn_R_101_DC5_3x.yaml +9 -0
  8. configs/COCO-Detection/faster_rcnn_R_101_FPN_3x.yaml +9 -0
  9. configs/COCO-Detection/faster_rcnn_R_50_C4_1x.yaml +6 -0
  10. configs/COCO-Detection/faster_rcnn_R_50_C4_3x.yaml +9 -0
  11. configs/COCO-Detection/faster_rcnn_R_50_DC5_1x.yaml +6 -0
  12. configs/COCO-Detection/faster_rcnn_R_50_DC5_3x.yaml +9 -0
  13. configs/COCO-Detection/faster_rcnn_R_50_FPN_1x.yaml +6 -0
  14. configs/COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml +9 -0
  15. configs/COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x.yaml +13 -0
  16. configs/COCO-Detection/fcos_R_50_FPN_1x.py +11 -0
  17. configs/COCO-Detection/retinanet_R_101_FPN_3x.yaml +8 -0
  18. configs/COCO-Detection/retinanet_R_50_FPN_1x.py +11 -0
  19. configs/COCO-Detection/retinanet_R_50_FPN_1x.yaml +5 -0
  20. configs/COCO-Detection/retinanet_R_50_FPN_3x.yaml +8 -0
  21. configs/COCO-Detection/rpn_R_50_C4_1x.yaml +10 -0
  22. configs/COCO-Detection/rpn_R_50_FPN_1x.yaml +9 -0
  23. configs/COCO-InstanceSegmentation/mask_rcnn_R_101_C4_3x.yaml +9 -0
  24. configs/COCO-InstanceSegmentation/mask_rcnn_R_101_DC5_3x.yaml +9 -0
  25. configs/COCO-InstanceSegmentation/mask_rcnn_R_101_FPN_3x.yaml +9 -0
  26. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_1x.py +8 -0
  27. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_1x.yaml +6 -0
  28. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_3x.yaml +9 -0
  29. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_DC5_1x.yaml +6 -0
  30. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_DC5_3x.yaml +9 -0
  31. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.py +8 -0
  32. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml +6 -0
  33. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x_giou.yaml +12 -0
  34. configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml +9 -0
  35. configs/COCO-InstanceSegmentation/mask_rcnn_X_101_32x8d_FPN_3x.yaml +13 -0
  36. configs/COCO-InstanceSegmentation/mask_rcnn_regnetx_4gf_dds_fpn_1x.py +34 -0
  37. configs/COCO-InstanceSegmentation/mask_rcnn_regnety_4gf_dds_fpn_1x.py +35 -0
  38. configs/COCO-Keypoints/Base-Keypoint-RCNN-FPN.yaml +15 -0
  39. configs/COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x.yaml +8 -0
  40. configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_1x.py +8 -0
  41. configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_1x.yaml +5 -0
  42. configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml +8 -0
  43. configs/COCO-Keypoints/keypoint_rcnn_X_101_32x8d_FPN_3x.yaml +12 -0
  44. configs/COCO-PanopticSegmentation/Base-Panoptic-FPN.yaml +11 -0
  45. configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml +8 -0
  46. configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_1x.py +8 -0
  47. configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_1x.yaml +5 -0
  48. configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_3x.yaml +8 -0
  49. configs/Cityscapes/mask_rcnn_R_50_FPN.yaml +27 -0
  50. configs/Detectron1-Comparisons/README.md +84 -0
configs/Base-RCNN-C4.yaml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MODEL:
2
+ META_ARCHITECTURE: "GeneralizedRCNN"
3
+ RPN:
4
+ PRE_NMS_TOPK_TEST: 6000
5
+ POST_NMS_TOPK_TEST: 1000
6
+ ROI_HEADS:
7
+ NAME: "Res5ROIHeads"
8
+ DATASETS:
9
+ TRAIN: ("coco_2017_train",)
10
+ TEST: ("coco_2017_val",)
11
+ SOLVER:
12
+ IMS_PER_BATCH: 16
13
+ BASE_LR: 0.02
14
+ STEPS: (60000, 80000)
15
+ MAX_ITER: 90000
16
+ INPUT:
17
+ MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)
18
+ VERSION: 2
configs/Base-RCNN-DilatedC5.yaml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MODEL:
2
+ META_ARCHITECTURE: "GeneralizedRCNN"
3
+ RESNETS:
4
+ OUT_FEATURES: ["res5"]
5
+ RES5_DILATION: 2
6
+ RPN:
7
+ IN_FEATURES: ["res5"]
8
+ PRE_NMS_TOPK_TEST: 6000
9
+ POST_NMS_TOPK_TEST: 1000
10
+ ROI_HEADS:
11
+ NAME: "StandardROIHeads"
12
+ IN_FEATURES: ["res5"]
13
+ ROI_BOX_HEAD:
14
+ NAME: "FastRCNNConvFCHead"
15
+ NUM_FC: 2
16
+ POOLER_RESOLUTION: 7
17
+ ROI_MASK_HEAD:
18
+ NAME: "MaskRCNNConvUpsampleHead"
19
+ NUM_CONV: 4
20
+ POOLER_RESOLUTION: 14
21
+ DATASETS:
22
+ TRAIN: ("coco_2017_train",)
23
+ TEST: ("coco_2017_val",)
24
+ SOLVER:
25
+ IMS_PER_BATCH: 16
26
+ BASE_LR: 0.02
27
+ STEPS: (60000, 80000)
28
+ MAX_ITER: 90000
29
+ INPUT:
30
+ MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)
31
+ VERSION: 2
configs/Base-RCNN-FPN.yaml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MODEL:
2
+ META_ARCHITECTURE: "GeneralizedRCNN"
3
+ BACKBONE:
4
+ NAME: "build_resnet_fpn_backbone"
5
+ RESNETS:
6
+ OUT_FEATURES: ["res2", "res3", "res4", "res5"]
7
+ FPN:
8
+ IN_FEATURES: ["res2", "res3", "res4", "res5"]
9
+ ANCHOR_GENERATOR:
10
+ SIZES: [[32], [64], [128], [256], [512]] # One size for each in feature map
11
+ ASPECT_RATIOS: [[0.5, 1.0, 2.0]] # Three aspect ratios (same for all in feature maps)
12
+ RPN:
13
+ IN_FEATURES: ["p2", "p3", "p4", "p5", "p6"]
14
+ PRE_NMS_TOPK_TRAIN: 2000 # Per FPN level
15
+ PRE_NMS_TOPK_TEST: 1000 # Per FPN level
16
+ # Detectron1 uses 2000 proposals per-batch,
17
+ # (See "modeling/rpn/rpn_outputs.py" for details of this legacy issue)
18
+ # which is approximately 1000 proposals per-image since the default batch size for FPN is 2.
19
+ POST_NMS_TOPK_TRAIN: 1000
20
+ POST_NMS_TOPK_TEST: 1000
21
+ ROI_HEADS:
22
+ NAME: "StandardROIHeads"
23
+ IN_FEATURES: ["p2", "p3", "p4", "p5"]
24
+ ROI_BOX_HEAD:
25
+ NAME: "FastRCNNConvFCHead"
26
+ NUM_FC: 2
27
+ POOLER_RESOLUTION: 7
28
+ ROI_MASK_HEAD:
29
+ NAME: "MaskRCNNConvUpsampleHead"
30
+ NUM_CONV: 4
31
+ POOLER_RESOLUTION: 14
32
+ DATASETS:
33
+ TRAIN: ("coco_2017_train",)
34
+ TEST: ("coco_2017_val",)
35
+ SOLVER:
36
+ IMS_PER_BATCH: 16
37
+ BASE_LR: 0.02
38
+ STEPS: (60000, 80000)
39
+ MAX_ITER: 90000
40
+ INPUT:
41
+ MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)
42
+ VERSION: 2
configs/Base-RetinaNet.yaml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MODEL:
2
+ META_ARCHITECTURE: "RetinaNet"
3
+ BACKBONE:
4
+ NAME: "build_retinanet_resnet_fpn_backbone"
5
+ RESNETS:
6
+ OUT_FEATURES: ["res3", "res4", "res5"]
7
+ ANCHOR_GENERATOR:
8
+ SIZES: !!python/object/apply:eval ["[[x, x * 2**(1.0/3), x * 2**(2.0/3) ] for x in [32, 64, 128, 256, 512 ]]"]
9
+ FPN:
10
+ IN_FEATURES: ["res3", "res4", "res5"]
11
+ RETINANET:
12
+ IOU_THRESHOLDS: [0.4, 0.5]
13
+ IOU_LABELS: [0, -1, 1]
14
+ SMOOTH_L1_LOSS_BETA: 0.0
15
+ DATASETS:
16
+ TRAIN: ("coco_2017_train",)
17
+ TEST: ("coco_2017_val",)
18
+ SOLVER:
19
+ IMS_PER_BATCH: 16
20
+ BASE_LR: 0.01 # Note that RetinaNet uses a different default learning rate
21
+ STEPS: (60000, 80000)
22
+ MAX_ITER: 90000
23
+ INPUT:
24
+ MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)
25
+ VERSION: 2
configs/COCO-Detection/fast_rcnn_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ LOAD_PROPOSALS: True
6
+ RESNETS:
7
+ DEPTH: 50
8
+ PROPOSAL_GENERATOR:
9
+ NAME: "PrecomputedProposals"
10
+ DATASETS:
11
+ TRAIN: ("coco_2017_train",)
12
+ PROPOSAL_FILES_TRAIN: ("detectron2://COCO-Detection/rpn_R_50_FPN_1x/137258492/coco_2017_train_box_proposals_21bc3a.pkl", )
13
+ TEST: ("coco_2017_val",)
14
+ PROPOSAL_FILES_TEST: ("detectron2://COCO-Detection/rpn_R_50_FPN_1x/137258492/coco_2017_val_box_proposals_ee0dad.pkl", )
15
+ DATALOADER:
16
+ # proposals are part of the dataset_dicts, and take a lot of RAM
17
+ NUM_WORKERS: 2
configs/COCO-Detection/faster_rcnn_R_101_C4_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_R_101_DC5_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_R_101_FPN_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_R_50_C4_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-Detection/faster_rcnn_R_50_C4_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_R_50_DC5_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-Detection/faster_rcnn_R_50_DC5_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: False
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x.yaml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ MASK_ON: False
4
+ WEIGHTS: "detectron2://ImageNetPretrained/FAIR/X-101-32x8d.pkl"
5
+ PIXEL_STD: [57.375, 57.120, 58.395]
6
+ RESNETS:
7
+ STRIDE_IN_1X1: False # this is a C2 model
8
+ NUM_GROUPS: 32
9
+ WIDTH_PER_GROUP: 8
10
+ DEPTH: 101
11
+ SOLVER:
12
+ STEPS: (210000, 250000)
13
+ MAX_ITER: 270000
configs/COCO-Detection/fcos_R_50_FPN_1x.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco import dataloader
4
+ from ..common.models.fcos import model
5
+ from ..common.train import train
6
+
7
+ dataloader.train.mapper.use_instance_mask = False
8
+ optimizer.lr = 0.01
9
+
10
+ model.backbone.bottom_up.freeze_at = 2
11
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-Detection/retinanet_R_101_FPN_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RetinaNet.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ RESNETS:
5
+ DEPTH: 101
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/COCO-Detection/retinanet_R_50_FPN_1x.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco import dataloader
4
+ from ..common.models.retinanet import model
5
+ from ..common.train import train
6
+
7
+ dataloader.train.mapper.use_instance_mask = False
8
+ model.backbone.bottom_up.freeze_at = 2
9
+ optimizer.lr = 0.01
10
+
11
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-Detection/retinanet_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ _BASE_: "../Base-RetinaNet.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
configs/COCO-Detection/retinanet_R_50_FPN_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RetinaNet.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/COCO-Detection/rpn_R_50_C4_1x.yaml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ META_ARCHITECTURE: "ProposalNetwork"
4
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
5
+ MASK_ON: False
6
+ RESNETS:
7
+ DEPTH: 50
8
+ RPN:
9
+ PRE_NMS_TOPK_TEST: 12000
10
+ POST_NMS_TOPK_TEST: 2000
configs/COCO-Detection/rpn_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ META_ARCHITECTURE: "ProposalNetwork"
4
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
5
+ MASK_ON: False
6
+ RESNETS:
7
+ DEPTH: 50
8
+ RPN:
9
+ POST_NMS_TOPK_TEST: 2000
configs/COCO-InstanceSegmentation/mask_rcnn_R_101_C4_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_R_101_DC5_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_R_101_FPN_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 101
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_1x.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from ..common.train import train
2
+ from ..common.optim import SGD as optimizer
3
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
4
+ from ..common.data.coco import dataloader
5
+ from ..common.models.mask_rcnn_c4 import model
6
+
7
+ model.backbone.freeze_at = 2
8
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_C4_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-C4.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_DC5_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_DC5_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-DilatedC5.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco import dataloader
4
+ from ..common.models.mask_rcnn_fpn import model
5
+ from ..common.train import train
6
+
7
+ model.backbone.bottom_up.freeze_at = 2
8
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x_giou.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
7
+ RPN:
8
+ BBOX_REG_LOSS_TYPE: "giou"
9
+ BBOX_REG_LOSS_WEIGHT: 2.0
10
+ ROI_BOX_HEAD:
11
+ BBOX_REG_LOSS_TYPE: "giou"
12
+ BBOX_REG_LOSS_WEIGHT: 10.0
configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ MASK_ON: True
5
+ RESNETS:
6
+ DEPTH: 50
7
+ SOLVER:
8
+ STEPS: (210000, 250000)
9
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_X_101_32x8d_FPN_3x.yaml ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ MASK_ON: True
4
+ WEIGHTS: "detectron2://ImageNetPretrained/FAIR/X-101-32x8d.pkl"
5
+ PIXEL_STD: [57.375, 57.120, 58.395]
6
+ RESNETS:
7
+ STRIDE_IN_1X1: False # this is a C2 model
8
+ NUM_GROUPS: 32
9
+ WIDTH_PER_GROUP: 8
10
+ DEPTH: 101
11
+ SOLVER:
12
+ STEPS: (210000, 250000)
13
+ MAX_ITER: 270000
configs/COCO-InstanceSegmentation/mask_rcnn_regnetx_4gf_dds_fpn_1x.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco import dataloader
4
+ from ..common.models.mask_rcnn_fpn import model
5
+ from ..common.train import train
6
+
7
+ from detectron2.config import LazyCall as L
8
+ from detectron2.modeling.backbone import RegNet
9
+ from detectron2.modeling.backbone.regnet import SimpleStem, ResBottleneckBlock
10
+
11
+
12
+ # Replace default ResNet with RegNetX-4GF from the DDS paper. Config source:
13
+ # https://github.com/facebookresearch/pycls/blob/2c152a6e5d913e898cca4f0a758f41e6b976714d/configs/dds_baselines/regnetx/RegNetX-4.0GF_dds_8gpu.yaml#L4-L9 # noqa
14
+ model.backbone.bottom_up = L(RegNet)(
15
+ stem_class=SimpleStem,
16
+ stem_width=32,
17
+ block_class=ResBottleneckBlock,
18
+ depth=23,
19
+ w_a=38.65,
20
+ w_0=96,
21
+ w_m=2.43,
22
+ group_width=40,
23
+ freeze_at=2,
24
+ norm="FrozenBN",
25
+ out_features=["s1", "s2", "s3", "s4"],
26
+ )
27
+ model.pixel_std = [57.375, 57.120, 58.395]
28
+
29
+ optimizer.weight_decay = 5e-5
30
+ train.init_checkpoint = (
31
+ "https://dl.fbaipublicfiles.com/pycls/dds_baselines/160906383/RegNetX-4.0GF_dds_8gpu.pyth"
32
+ )
33
+ # RegNets benefit from enabling cudnn benchmark mode
34
+ train.cudnn_benchmark = True
configs/COCO-InstanceSegmentation/mask_rcnn_regnety_4gf_dds_fpn_1x.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco import dataloader
4
+ from ..common.models.mask_rcnn_fpn import model
5
+ from ..common.train import train
6
+
7
+ from detectron2.config import LazyCall as L
8
+ from detectron2.modeling.backbone import RegNet
9
+ from detectron2.modeling.backbone.regnet import SimpleStem, ResBottleneckBlock
10
+
11
+
12
+ # Replace default ResNet with RegNetY-4GF from the DDS paper. Config source:
13
+ # https://github.com/facebookresearch/pycls/blob/2c152a6e5d913e898cca4f0a758f41e6b976714d/configs/dds_baselines/regnety/RegNetY-4.0GF_dds_8gpu.yaml#L4-L10 # noqa
14
+ model.backbone.bottom_up = L(RegNet)(
15
+ stem_class=SimpleStem,
16
+ stem_width=32,
17
+ block_class=ResBottleneckBlock,
18
+ depth=22,
19
+ w_a=31.41,
20
+ w_0=96,
21
+ w_m=2.24,
22
+ group_width=64,
23
+ se_ratio=0.25,
24
+ freeze_at=2,
25
+ norm="FrozenBN",
26
+ out_features=["s1", "s2", "s3", "s4"],
27
+ )
28
+ model.pixel_std = [57.375, 57.120, 58.395]
29
+
30
+ optimizer.weight_decay = 5e-5
31
+ train.init_checkpoint = (
32
+ "https://dl.fbaipublicfiles.com/pycls/dds_baselines/160906838/RegNetY-4.0GF_dds_8gpu.pyth"
33
+ )
34
+ # RegNets benefit from enabling cudnn benchmark mode
35
+ train.cudnn_benchmark = True
configs/COCO-Keypoints/Base-Keypoint-RCNN-FPN.yaml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ KEYPOINT_ON: True
4
+ ROI_HEADS:
5
+ NUM_CLASSES: 1
6
+ ROI_BOX_HEAD:
7
+ SMOOTH_L1_BETA: 0.5 # Keypoint AP degrades (though box AP improves) when using plain L1 loss
8
+ RPN:
9
+ # Detectron1 uses 2000 proposals per-batch, but this option is per-image in detectron2.
10
+ # 1000 proposals per-image is found to hurt box AP.
11
+ # Therefore we increase it to 1500 per-image.
12
+ POST_NMS_TOPK_TRAIN: 1500
13
+ DATASETS:
14
+ TRAIN: ("keypoints_coco_2017_train",)
15
+ TEST: ("keypoints_coco_2017_val",)
configs/COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "Base-Keypoint-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ RESNETS:
5
+ DEPTH: 101
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_1x.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco_keypoint import dataloader
4
+ from ..common.models.keypoint_rcnn_fpn import model
5
+ from ..common.train import train
6
+
7
+ model.backbone.bottom_up.freeze_at = 2
8
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_1x.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ _BASE_: "Base-Keypoint-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "Base-Keypoint-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/COCO-Keypoints/keypoint_rcnn_X_101_32x8d_FPN_3x.yaml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "Base-Keypoint-RCNN-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/FAIR/X-101-32x8d.pkl"
4
+ PIXEL_STD: [57.375, 57.120, 58.395]
5
+ RESNETS:
6
+ STRIDE_IN_1X1: False # this is a C2 model
7
+ NUM_GROUPS: 32
8
+ WIDTH_PER_GROUP: 8
9
+ DEPTH: 101
10
+ SOLVER:
11
+ STEPS: (210000, 250000)
12
+ MAX_ITER: 270000
configs/COCO-PanopticSegmentation/Base-Panoptic-FPN.yaml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ META_ARCHITECTURE: "PanopticFPN"
4
+ MASK_ON: True
5
+ SEM_SEG_HEAD:
6
+ LOSS_WEIGHT: 0.5
7
+ DATASETS:
8
+ TRAIN: ("coco_2017_train_panoptic_separated",)
9
+ TEST: ("coco_2017_val_panoptic_separated",)
10
+ DATALOADER:
11
+ FILTER_EMPTY_ANNOTATIONS: False
configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "Base-Panoptic-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-101.pkl"
4
+ RESNETS:
5
+ DEPTH: 101
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_1x.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from ..common.optim import SGD as optimizer
2
+ from ..common.coco_schedule import lr_multiplier_1x as lr_multiplier
3
+ from ..common.data.coco_panoptic_separated import dataloader
4
+ from ..common.models.panoptic_fpn import model
5
+ from ..common.train import train
6
+
7
+ model.backbone.bottom_up.freeze_at = 2
8
+ train.init_checkpoint = "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_1x.yaml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ _BASE_: "Base-Panoptic-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
configs/COCO-PanopticSegmentation/panoptic_fpn_R_50_3x.yaml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "Base-Panoptic-FPN.yaml"
2
+ MODEL:
3
+ WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ RESNETS:
5
+ DEPTH: 50
6
+ SOLVER:
7
+ STEPS: (210000, 250000)
8
+ MAX_ITER: 270000
configs/Cityscapes/mask_rcnn_R_50_FPN.yaml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _BASE_: "../Base-RCNN-FPN.yaml"
2
+ MODEL:
3
+ # WEIGHTS: "detectron2://ImageNetPretrained/MSRA/R-50.pkl"
4
+ # For better, more stable performance initialize from COCO
5
+ WEIGHTS: "detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl"
6
+ MASK_ON: True
7
+ ROI_HEADS:
8
+ NUM_CLASSES: 8
9
+ # This is similar to the setting used in Mask R-CNN paper, Appendix A
10
+ # But there are some differences, e.g., we did not initialize the output
11
+ # layer using the corresponding classes from COCO
12
+ INPUT:
13
+ MIN_SIZE_TRAIN: (800, 832, 864, 896, 928, 960, 992, 1024)
14
+ MIN_SIZE_TRAIN_SAMPLING: "choice"
15
+ MIN_SIZE_TEST: 1024
16
+ MAX_SIZE_TRAIN: 2048
17
+ MAX_SIZE_TEST: 2048
18
+ DATASETS:
19
+ TRAIN: ("cityscapes_fine_instance_seg_train",)
20
+ TEST: ("cityscapes_fine_instance_seg_val",)
21
+ SOLVER:
22
+ BASE_LR: 0.01
23
+ STEPS: (18000,)
24
+ MAX_ITER: 24000
25
+ IMS_PER_BATCH: 8
26
+ TEST:
27
+ EVAL_PERIOD: 8000
configs/Detectron1-Comparisons/README.md ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Detectron2 model zoo's experimental settings and a few implementation details are different from Detectron.
3
+
4
+ The differences in implementation details are shared in
5
+ [Compatibility with Other Libraries](../../docs/notes/compatibility.md).
6
+
7
+ The differences in model zoo's experimental settings include:
8
+ * Use scale augmentation during training. This improves AP with lower training cost.
9
+ * Use L1 loss instead of smooth L1 loss for simplicity. This sometimes improves box AP but may
10
+ affect other AP.
11
+ * Use `POOLER_SAMPLING_RATIO=0` instead of 2. This does not significantly affect AP.
12
+ * Use `ROIAlignV2`. This does not significantly affect AP.
13
+
14
+ In this directory, we provide a few configs that __do not__ have the above changes.
15
+ They mimic Detectron's behavior as close as possible,
16
+ and provide a fair comparison of accuracy and speed against Detectron.
17
+
18
+ <!--
19
+ ./gen_html_table.py --config 'Detectron1-Comparisons/*.yaml' --name "Faster R-CNN" "Keypoint R-CNN" "Mask R-CNN" --fields lr_sched train_speed inference_speed mem box_AP mask_AP keypoint_AP --base-dir ../../../configs/Detectron1-Comparisons
20
+ -->
21
+
22
+
23
+ <table><tbody>
24
+ <!-- START TABLE -->
25
+ <!-- TABLE HEADER -->
26
+ <th valign="bottom">Name</th>
27
+ <th valign="bottom">lr<br/>sched</th>
28
+ <th valign="bottom">train<br/>time<br/>(s/iter)</th>
29
+ <th valign="bottom">inference<br/>time<br/>(s/im)</th>
30
+ <th valign="bottom">train<br/>mem<br/>(GB)</th>
31
+ <th valign="bottom">box<br/>AP</th>
32
+ <th valign="bottom">mask<br/>AP</th>
33
+ <th valign="bottom">kp.<br/>AP</th>
34
+ <th valign="bottom">model id</th>
35
+ <th valign="bottom">download</th>
36
+ <!-- TABLE BODY -->
37
+ <!-- ROW: faster_rcnn_R_50_FPN_noaug_1x -->
38
+ <tr><td align="left"><a href="faster_rcnn_R_50_FPN_noaug_1x.yaml">Faster R-CNN</a></td>
39
+ <td align="center">1x</td>
40
+ <td align="center">0.219</td>
41
+ <td align="center">0.038</td>
42
+ <td align="center">3.1</td>
43
+ <td align="center">36.9</td>
44
+ <td align="center"></td>
45
+ <td align="center"></td>
46
+ <td align="center">137781054</td>
47
+ <td align="center"><a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/faster_rcnn_R_50_FPN_noaug_1x/137781054/model_final_7ab50c.pkl">model</a>&nbsp;|&nbsp;<a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/faster_rcnn_R_50_FPN_noaug_1x/137781054/metrics.json">metrics</a></td>
48
+ </tr>
49
+ <!-- ROW: keypoint_rcnn_R_50_FPN_1x -->
50
+ <tr><td align="left"><a href="keypoint_rcnn_R_50_FPN_1x.yaml">Keypoint R-CNN</a></td>
51
+ <td align="center">1x</td>
52
+ <td align="center">0.313</td>
53
+ <td align="center">0.071</td>
54
+ <td align="center">5.0</td>
55
+ <td align="center">53.1</td>
56
+ <td align="center"></td>
57
+ <td align="center">64.2</td>
58
+ <td align="center">137781195</td>
59
+ <td align="center"><a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/keypoint_rcnn_R_50_FPN_1x/137781195/model_final_cce136.pkl">model</a>&nbsp;|&nbsp;<a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/keypoint_rcnn_R_50_FPN_1x/137781195/metrics.json">metrics</a></td>
60
+ </tr>
61
+ <!-- ROW: mask_rcnn_R_50_FPN_noaug_1x -->
62
+ <tr><td align="left"><a href="mask_rcnn_R_50_FPN_noaug_1x.yaml">Mask R-CNN</a></td>
63
+ <td align="center">1x</td>
64
+ <td align="center">0.273</td>
65
+ <td align="center">0.043</td>
66
+ <td align="center">3.4</td>
67
+ <td align="center">37.8</td>
68
+ <td align="center">34.9</td>
69
+ <td align="center"></td>
70
+ <td align="center">137781281</td>
71
+ <td align="center"><a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/mask_rcnn_R_50_FPN_noaug_1x/137781281/model_final_62ca52.pkl">model</a>&nbsp;|&nbsp;<a href="https://dl.fbaipublicfiles.com/detectron2/Detectron1-Comparisons/mask_rcnn_R_50_FPN_noaug_1x/137781281/metrics.json">metrics</a></td>
72
+ </tr>
73
+ </tbody></table>
74
+
75
+ ## Comparisons:
76
+
77
+ * Faster R-CNN: Detectron's AP is 36.7, similar to ours.
78
+ * Keypoint R-CNN: Detectron's AP is box 53.6, keypoint 64.2. Fixing a Detectron's
79
+ [bug](https://github.com/facebookresearch/Detectron/issues/459) lead to a drop in box AP, and can be
80
+ compensated back by some parameter tuning.
81
+ * Mask R-CNN: Detectron's AP is box 37.7, mask 33.9. We're 1 AP better in mask AP, due to more correct implementation.
82
+ See [this article](https://ppwwyyxx.com/blog/2021/Where-are-Pixels/) for details.
83
+
84
+ For speed comparison, see [benchmarks](https://detectron2.readthedocs.io/notes/benchmarks.html).