1. 01 3月, 2019 1 次提交
  2. 28 2月, 2019 2 次提交
  3. 26 2月, 2019 1 次提交
    • Z
      add README.md for GN (#494) · 1818bb2f
      zimenglan 提交于
      * make pixel indexes 0-based for bounding box in pascal voc dataset
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * add GroupNorm
      
      * add GroupNorm -- sort out yaml files
      
      * use torch.nn.GroupNorm instead, replace 'use_gn' with 'conv_block' and use 'BaseStem'&'Bottleneck' to simply codes
      
      * modification on 'group_norm' and 'conv_with_kaiming_uniform' function
      
      * modification on yaml files in configs/gn_baselines/ and reduce the amount of indentation and code duplication
      
      * use 'kaiming_uniform' to initialize resnet, disable gn after fc layer, and add dilation into ResNetHead
      
      * agnostic-regression for bbox
      
      * please set 'STRIDE_IN_1X1' to be 'False' when backbone use GN
      
      * add README.md for GN
      1818bb2f
  4. 23 2月, 2019 1 次提交
    • P
      Fixes bug with double (overwriting) RESNETS params (#488) · f40f2993
      Preston Parry 提交于
      There were two `RESNETS` sections, which overrode each other, leading to error messages like: 
      
      ```
      RuntimeError: Error(s) in loading state_dict for GeneralizedRCNN:
      	size mismatch for backbone.fpn.fpn_inner1.weight: copying a param with shape torch.Size([256, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1024, 256, 1, 1]).
      ...
      	size mismatch for roi_heads.mask.feature_extractor.mask_fcn1.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 1024, 3, 3]).
      ```
      
      This just combines them back into a single section, while maintaining all param values. That got the model running again for me.
      f40f2993
  5. 22 2月, 2019 1 次提交
  6. 20 2月, 2019 1 次提交
    • S
      Supported FBNet architecture. (#463) · b23eee0c
      Stzpz 提交于
      * Supported any feature map size for average pool.
      * Different models may have different feature map size.
      
      * Used registry to register keypoint and mask heads.
      
      * Passing in/out channels between modules when creating the model.
      
      Passing in/out channels between modules when creating the model. This simplifies the code to compute the input channels for feature extractors and makes the predictors independent of the backbone architectures.
      * Passed in_channels to rpn and head builders.
      * Set out_channels to model modules including backbone and feature extractors.
      * Moved cfg.MODEL.BACKBONE.OUT_CHANNELS to cfg.MODEL.RESNETS.BACKBONE_OUT_CHANNELS as it is not used by all architectures. Updated config files accordingly.
      
      For new architecture modules, the return module needs to contain a field called 'out_channels' to indicate the output channel size.
      
      * Added unit test for box_coder and nms.
      
      * Added FBNet architecture.
      
      * FBNet is a general architecture definition to support efficient architecture search and MaskRCNN2GO.
      * Included various efficient building blocks (inverted residual, shuffle, separate dw conv, dw upsampling etc.)
      * Supported building backbone, rpn, detection, keypoint and mask heads using efficient building blocks.
      * Architecture could be defined in `fbnet_modeldef.py` or in `cfg.MODEL.FBNET.ARCH_DEF` directly.
      * A few baseline architectures are included.
      
      * Added various unit tests.
      
      * build and run backbones.
      * build and run feature extractors.
      * build and run predictors.
      
      * Added a unit test to verify all config files are loadable.
      b23eee0c
  7. 19 2月, 2019 6 次提交
    • Z
      please set 'STRIDE_IN_1X1' to be 'False' when backbone uses GN (#465) · 192261db
      zimenglan 提交于
      * make pixel indexes 0-based for bounding box in pascal voc dataset
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * add GroupNorm
      
      * add GroupNorm -- sort out yaml files
      
      * use torch.nn.GroupNorm instead, replace 'use_gn' with 'conv_block' and use 'BaseStem'&'Bottleneck' to simply codes
      
      * modification on 'group_norm' and 'conv_with_kaiming_uniform' function
      
      * modification on yaml files in configs/gn_baselines/ and reduce the amount of indentation and code duplication
      
      * use 'kaiming_uniform' to initialize resnet, disable gn after fc layer, and add dilation into ResNetHead
      
      * agnostic-regression for bbox
      
      * please set 'STRIDE_IN_1X1' to be 'False' when backbone use GN
      192261db
    • X
      modify test() to run_test() (#460) · f8b01183
      xelmirage 提交于
      I'm using pycharm to debug the code on a remote server, the remote debugging seems to be performed by pytest and it pops errors like:
      train_net.py E
      test setup failed
      file /tmp/pycharm_project_269/tools/train_net.py, line 79
        def test(cfg, model, distributed):
      E       fixture 'cfg' not found
      >       available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
      >       use 'pytest --fixtures [testpath]' for help on them.
      
      
      it seems the function name ‘test()’ has come conflict with pytest, so it may be better use another name.
      f8b01183
    • C
      remove note for detectron dependency (#458) · 5ec0b91c
      Csaba Botos 提交于
      5ec0b91c
    • C
      Remove Detectron dependency (#457) · 0f9476bd
      Csaba Botos 提交于
      * Remove Detectron dependency
      
      I have looked into the boxes.py to swap [these lines](https://github.com/facebookresearch/Detectron/blob/8170b25b425967f8f1c7d715bea3c5b8d9536cd8/detectron/utils/boxes.py#L51L52):
      ```
      import detectron.utils.cython_bbox as cython_bbox
      import detectron.utils.cython_nms as cython_nms
      ```
      
      ```
      from maskrcnn_benchmark.structures.boxlist_ops import boxlist_iou
      from maskrcnn_benchmark.structures.boxlist_ops import boxlist_nms
      ```
      However some functions are missing from the `boxlist_ops` like the [`soft_nms`](https://github.com/facebookresearch/Detectron/blob/master/detectron/utils/cython_nms.pyx#L98L203) .
      
      So I just tried to modify the `maskrcnn-benchmark/tools/cityscapes/convert_cityscapes_to_coco.py` script.
      Here we have `polys_to_boxes` function from `segms.py` and I could not find its analogous in the maskrcnn_benchmark lib. It seems to me that the original function in `segms.py` is using pure lists so I just wrote two auxiliary functions reusing the boxList's convert method( https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/maskrcnn_benchmark/structures/bounding_box.py#L67L70 )
      and Detectron's polys_to_boxes ( https://github.com/facebookresearch/Detectron/blob/b5dcc0fe1d091cb70f9243939258215dd63e3dfa/detectron/utils/segms.py#L135L140 ):
      ```
      def poly_to_box(poly):
          """Convert a polygon into a tight bounding box."""
          x0 = min(min(p[::2]) for p in poly)
          x1 = max(max(p[::2]) for p in poly)
          y0 = min(min(p[1::2]) for p in poly)
          y1 = max(max(p[1::2]) for p in poly)
          box_from_poly = [x0, y0, x1, y1]
      
          return box_from_poly
      
      def xyxy_to_xywh(xyxy_box):
          xmin, ymin, xmax, ymax = xyxy_box
          TO_REMOVE = 1
          xywh_box = (xmin, ymin, xmax - xmin + TO_REMOVE, ymax - ymin + TO_REMOVE)
          return xywh_box
      ```
      
      * removed leftovers
      
      * Update convert_cityscapes_to_coco.py
      0f9476bd
    • P
      unsets proper variable (#456) · 6d7d80a1
      Preston Parry 提交于
      Finishing the clean up in https://github.com/facebookresearch/maskrcnn-benchmark/pull/455, unsetting the proper variable. 
      
      In general, thanks for making this so easy to install! I'd run into all kinds of versioning issues (version of Ubuntu not playing nicely with versions of CUDA/pytorch/libraries) trying to install other libraries implementing these algorithms. I'm super impressed by the quality of support, and the easy install, for this library.
      6d7d80a1
    • C
      clear up MASKRCNN_BENCHMARK_INSTALL_DIR (#455) · 1c0e6dcf
      Csaba Botos 提交于
      the env variable is misused in the current version
      1c0e6dcf
  8. 18 2月, 2019 2 次提交
    • P
      Update install example to avoid directory assumptions (#451) · b0c198dc
      Preston Parry 提交于
      The previous instruction examples assumed that the directory `~/github` existed, and did not include any check to create it if the directory did not exist. I updated to install in whatever directory the user is current in. 
      
      I also updated to make it clear how the CUDA version is specified, and fixed a typo in activating the conda env.
      b0c198dc
    • C
      clarifying directory structure and fixing typo (#448) · f2b9a9a0
      Csaba Botos 提交于
      A few addition:
      I added the top level directory `cityscapes` since the `tools/cityscapes/convert_cityscapes_to_coco.py` script has the directory structure `gtFine_trainvaltest/gtFine` hardcoded into it which is fine but was not clear at first.
      
      Also added a **Note** to warn people to install detectron as well, since the script uses `detectron.utils.boxes` and `detectron.utils.segm` modules which has further dependencies in the detectron lib.
      f2b9a9a0
  9. 15 2月, 2019 5 次提交
    • R
      e60f4ec8
    • C
      Add RetinaNet Implementation (#102) · 6b1ab017
      Cheng-Yang Fu 提交于
      * Add RetinetNet parameters in cfg.
      
      * hot fix.
      
      * Add the retinanet head module now.
      
      * Add the function to generate the anchors for RetinaNet.
      
      * Add the SigmoidFocalLoss cuda operator.
      
      * Fix the bug in the extra layers.
      
      * Change the normalizer for SigmoidFocalLoss
      
      * Support multiscale in training.
      
      * Add retinannet  training script.
      
      * Add the inference part of RetinaNet.
      
      * Fix the bug when building the extra layers in retinanet.
      Update the matching part in retinanet_loss.
      
      * Add the first version of the inference of RetinaNet.
      Need to check it again to see if is there any room for speed
      improvement.
      
      * Remove the  retinanet_R-50-FPN_2x.yaml first.
      
      * Optimize the retinanet postprocessing.
      
      * quick fix.
      
      * Add script for training RetinaNet with ResNet101 backbone.
      
      * Move cfg.RETINANET to cfg.MODEL.RETINANET
      
      * Remove the variables which are not used.
      
      * revert boxlist_ops.
      Generate Empty BoxLists instead of [] in retinanet_infer
      
      * Remove the not used commented lines.
      Add NUM_DETECTIONS_PER_IMAGE
      
      * remove the not used codes.
      
      * Move retinanet related files under Modeling/rpn/retinanet
      
      * Add retinanet_X_101_32x8d_FPN_1x.yaml script.
      This model is not fully validated. I only trained it around 5000
      iterations and everything is fine.
      
      * set RETINANET.PRE_NMS_TOP_N as 0 in level5 (p7), because previous setting may generate zero detections and could cause
      the program break.
      This part is used in original Detectron setting.
      
      * Fix the rpn only bug when the training ends.
      
      * Minor improvements
      
      * Comments and add Python-only implementation
      
      * Bugfix and remove commented code
      
      * keep the generalized_rcnn same.
      Move the build_retinanet inside build_rpn.
      
      * Add USE_C5 in the MODEL.RETINANET
      
      * Add two configs using P5 to generate P6.
      
      * fix the bug when loading the Caffe2 ImageNet pretrained model.
      
      * Reduce the code depulication of RPN loss and RetinaNet loss.
      
      * Remove the comment which is not used.
      
      * Remove the hard coded number of classes.
      
      * share the foward part of rpn inference.
      
      * fix the bug in rpn inference.
      
      * Remove the conditional part in the inference.
      
      * Bug fix: add the utils file for permute and flatten of the box
      prediction layers.
      
      * Update the comment.
      
      * quick fix. Adding import cat.
      
      * quick fix: forget including import.
      
      * Adjust the normalization part according to Detectron's setting.
      
      * Use the bbox reg normalization term.
      
      * Clean the code according to recent review.
      
      * Using CUDA version for training now. And the python version for training
      on cpu.
      
      * rename the directory to retinanet.
      
      * Make the train and val datasets are consistent with mask r-cnn setting.
      
      * add comment.
      6b1ab017
    • H
      595694cb
    • C
      add __init__.py for support python2 import (#440) · f2513645
      CoinCheung 提交于
      f2513645
    • L
      Some cleaning and changing default argument from `boxlist_nms` (#429) · 327bc29b
      Levi Viana 提交于
      * Adding support to Caffe2 ResNeXt-152-32x8d-FPN-IN5k backbone for Mask R-CNN
      
      * Clean up
      
      * Fixing path_catalogs.py
      
      * Back to old ROIAlign_cpu.cpp file
      327bc29b
  10. 13 2月, 2019 2 次提交
  11. 12 2月, 2019 2 次提交
    • F
      Add RPN configs (#66) · 6286a6c8
      Francisco Massa 提交于
      * Add RPN config files
      
      * Add more RPN models
      6286a6c8
    • F
      [WIP] Add Keypoint R-CNN (#69) · e0a525a0
      Francisco Massa 提交于
      * [WIP] Keypoints inference on C2 models work
      
      * Training seems to work
      
      Still gives slightly worse results
      
      * e2e training works but gives 3 and 5 mAP less
      
      * Add modification proposed by @ChangErgou
      
      Improves mAP by 1.5 points, to 0.514 and 0.609
      
      * Keypoints reproduce expected results
      
      * Clean coco.py
      
      * Linter + remove unnecessary code
      
      * Merge criteria for empty bboxes in has_valid_annotation
      
      * Remove trailing print
      
      * Add demo support for keypoints
      
      Still need further cleanups and improvements, like adding fields support for the other ops in Keypoints
      
      * More cleanups and misc improvements
      
      * Fixes after rebase
      
      * Add information to the readme
      
      * Fix md formatting
      e0a525a0
  12. 07 2月, 2019 1 次提交
    • T
      Registry for RoI Box Predictors (#402) · 1589ce09
      Tong Xiao 提交于
      * Registry for RoI Box Predictors
      
      - Add a registry ROI_BOX_PREDICTOR
      - Use the registry in roi_box_predictors.py, replacing the local factory
      - Minor changes in structures/bounding_box.py: when copying a box with
      fields, check if the field exists
      - Minor changes in logger.py: make filename a optional argument with
      default value of "log.txt"
      
      * Add Argument skip_missing=False
      1589ce09
  13. 06 2月, 2019 1 次提交
  14. 05 2月, 2019 2 次提交
    • A
    • Z
      agnostic-regression for bbox (#390) · 9cb251d3
      zimenglan 提交于
      * make pixel indexes 0-based for bounding box in pascal voc dataset
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * add GroupNorm
      
      * add GroupNorm -- sort out yaml files
      
      * use torch.nn.GroupNorm instead, replace 'use_gn' with 'conv_block' and use 'BaseStem'&'Bottleneck' to simply codes
      
      * modification on 'group_norm' and 'conv_with_kaiming_uniform' function
      
      * modification on yaml files in configs/gn_baselines/ and reduce the amount of indentation and code duplication
      
      * use 'kaiming_uniform' to initialize resnet, disable gn after fc layer, and add dilation into ResNetHead
      
      * agnostic-regression for bbox
      9cb251d3
  15. 04 2月, 2019 1 次提交
  16. 01 2月, 2019 1 次提交
  17. 31 1月, 2019 1 次提交
  18. 30 1月, 2019 1 次提交
  19. 25 1月, 2019 1 次提交
  20. 23 1月, 2019 4 次提交
    • Z
      use 'kaiming_uniform' to initialize resnet, disable gn after fc layer (#377) · 9b53d15c
      zimenglan 提交于
      * make pixel indexes 0-based for bounding box in pascal voc dataset
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * replacing all instances of torch.distributed.deprecated with torch.distributed
      
      * add GroupNorm
      
      * add GroupNorm -- sort out yaml files
      
      * use torch.nn.GroupNorm instead, replace 'use_gn' with 'conv_block' and use 'BaseStem'&'Bottleneck' to simply codes
      
      * modification on 'group_norm' and 'conv_with_kaiming_uniform' function
      
      * modification on yaml files in configs/gn_baselines/ and reduce the amount of indentation and code duplication
      
      * use 'kaiming_uniform' to initialize resnet, disable gn after fc layer, and add dilation into ResNetHead
      9b53d15c
    • F
      Add note about cudapopcallerror (#375) · 7cdf122d
      Forest 提交于
      7cdf122d
    • C
      Add COCO_2017 in paths_catalog.py (#373) · 1cd78d10
      Cheng-Yang Fu 提交于
      * Add new section "Projects using maskrcnn-benchmark".
      
      * Update README.md
      
      update the format.
      
      * Update README.md
      
      * Add coco_2017_train and coco_2017_val
      
      * Update README.md
      
      Add the instructions about COCO_2017
      1cd78d10
    • C
      Adding a new section to include the works using maskrcnn-benchmark. (#371) · 193e8c01
      Cheng-Yang Fu 提交于
      * Add new section "Projects using maskrcnn-benchmark".
      
      * Update README.md
      
      update the format.
      
      * Update README.md
      193e8c01
  21. 22 1月, 2019 1 次提交
  22. 21 1月, 2019 2 次提交