1. 30 Apr, 2021 1 commit
    • Vasilis Vryniotis's avatar
      Add SSD architecture with VGG16 backbone (#3403) · 730c5e1e
      Vasilis Vryniotis authored
      * Early skeleton of API.
      
      * Adding MultiFeatureMap and vgg16 backbone.
      
      * Making vgg16 backbone same as paper.
      
      * Making code generic to support all vggs.
      
      * Moving vgg's extra layers a separate class + L2 scaling.
      
      * Adding header vgg layers.
      
      * Fix maxpool patching.
      
      * Refactoring code to allow for support of different backbones & sizes:
      - Skeleton for Default Boxes generator class
      - Dynamic estimation of configuration when possible
      - Addition of types
      
      * Complete the implementation of DefaultBox generator.
      
      * Replace randn with empty.
      
      * Minor refactoring
      
      * Making clamping between 0 and 1 optional.
      
      * Change xywh to xyxy encoding.
      
      * Adding parameters and reusing objects in constructor.
      
      * Temporarily inherit from Retina to avoid dup code.
      
      * Implement forward methods + temp workarounds to inherit from retina.
      
      * Inherit more methods from retinanet.
      
      * Fix type error.
      
      * Add Regression loss.
      
      * Fixing JIT issues.
      
      * Change JIT workaround to minimize new code.
      
      * Fixing initialization bug.
      
      * Add classification loss.
      
      * Update todos.
      
      * Add weight loading support.
      
      * Support SSD512.
      
      * Change kernel_size to get output size 1x1
      
      * Add xavier init and refactoring.
      
      * Adding unit-tests and fixing JIT issues.
      
      * Add a test for dbox generator.
      
      * Remove unnecessary import.
      
      * Workaround on GeneralizedRCNNTransform to support fixed size input.
      
      * Remove unnecessary random calls from the test.
      
      * Remove more rand calls from the test.
      
      * change mapping and handling of empty labels
      
      * Fix JIT warnings.
      
      * Speed up loss.
      
      * Convert 0-1 dboxes to original size.
      
      * Fix warning.
      
      * Fix tests.
      
      * Update comments.
      
      * Fixing minor bugs.
      
      * Introduce a custom DBoxMatcher.
      
      * Minor refactoring
      
      * Move extra layer definition inside feature extractor.
      
      * handle no bias on init.
      
      * Remove fixed image size limitation
      
      * Change initialization values for bias of classification head.
      
      * Refactoring and update test file.
      
      * Adding ResNet backbone.
      
      * Minor refactoring.
      
      * Remove inheritance of retina and general refactoring.
      
      * SSD should fix the input size.
      
      * Fixing messages and comments.
      
      * Silently ignoring exception if test-only.
      
      * Update comments.
      
      * Update regression loss.
      
      * Restore Xavier init everywhere, update the negative sampling method, change the clipping approach.
      
      * Fixing tests.
      
      * Refactor to move the losses from the Head to the SSD.
      
      * Removing resnet50 ssd version.
      
      * Adding support for best performing backbone and its config.
      
      * Refactor and clean up the API.
      
      * Fix lint
      
      * Update todos and comments.
      
      * Adding RandomHorizontalFlip and RandomIoUCrop transforms.
      
      * Adding necessary checks to our tranforms.
      
      * Adding RandomZoomOut.
      
      * Adding RandomPhotometricDistort.
      
      * Moving Detection transforms to references.
      
      * Update presets
      
      * fix lint
      
      * leave compose and object
      
      * Adding scaling for completeness.
      
      * Adding params in the repr
      
      * Remove unnecessary import.
      
      * minor refactoring
      
      * Remove unnecessary call.
      
      * Give better names to DBox* classes
      
      * Port num_anchors estimation in generator
      
      * Remove rescaling and fix presets
      
      * Add the ability to pass a custom head and refactoring.
      
      * fix lint
      
      * Fix unit-test
      
      * Update todos.
      
      * Change mean values.
      
      * Change the default parameter of SSD to train the full VGG16 and remove the catch of exception for eval only.
      
      * Adding documentation
      
      * Adding weights and updating readmes.
      
      * Update the model weights with a more performing model.
      
      * Adding doc for head.
      
      * Restore import.
      730c5e1e
  2. 28 Jan, 2021 1 commit
    • Vasilis Vryniotis's avatar
      Adding Preset Transforms in reference scripts (#3317) · 1703e4ca
      Vasilis Vryniotis authored
      * Adding presets in the classification reference scripts.
      
      * Adding presets in the object detection reference scripts.
      
      * Adding presets in the segmentation reference scripts.
      
      * Adding presets in the video classification reference scripts.
      
      * Moving flip at the end to align with image classification signature.
      1703e4ca
  3. 18 Jan, 2021 1 commit
    • Vasilis Vryniotis's avatar
      Add MobileNetV3 architecture for Detection (#3253) · bf211dac
      Vasilis Vryniotis authored
      * Minor refactoring of a private method to make it reusuable.
      
      * Adding a FasterRCNN + MobileNetV3 with & w/o FPN models.
      
      * Reducing Resolution to 320-640 and anchor sizes to 16-256.
      
      * Increase anchor sizes.
      
      * Adding rpn score threshold param on the train script.
      
      * Adding trainable_backbone_layers param on the train script.
      
      * Adding rpn_score_thresh param directly in fasterrcnn_mobilenet_v3_large_fpn.
      
      * Remove fasterrcnn_mobilenet_v3_large prototype and update expected file.
      
      * Update documentation and adding weights.
      
      * Use buildin Identity.
      
      * Fix spelling.
      bf211dac
  4. 14 Jan, 2021 1 commit
  5. 07 Jan, 2021 1 commit
  6. 19 Dec, 2019 3 commits
  7. 25 Nov, 2019 1 commit
  8. 29 Aug, 2019 1 commit
  9. 12 Aug, 2019 1 commit
  10. 12 Jul, 2019 1 commit
    • flauted's avatar
      Clean det ref (#1109) · b7615843
      flauted authored
      * Doc multigpu and propagate data path.
      
      * Use raw doc because of backslash.
      b7615843
  11. 14 Jun, 2019 1 commit
  12. 21 May, 2019 1 commit
  13. 19 May, 2019 1 commit
    • Francisco Massa's avatar
      Add Faster R-CNN and Mask R-CNN (#898) · ccd1b27d
      Francisco Massa authored
      * [Remove] Use stride in 1x1 in resnet
      
      This is temporary
      
      * Move files to torchvision
      
      Inference works
      
      * Now seems to give same results
      
      Was using the wrong number of total iterations in the end...
      
      * Distributed evaluation seems to work
      
      * Factor out transforms into its own file
      
      * Enabling horizontal flips
      
      * MultiStepLR and preparing for launches
      
      * Add warmup
      
      * Clip gt boxes to images
      
      Seems to be crucial to avoid divergence. Also reduces the losses over different processes for better logging
      
      * Single-GPU batch-size 1 of CocoEvaluator works
      
      * Multi-GPU CocoEvaluator works
      
      Gives the exact same results as the other one, and also supports batch size > 1
      
      * Silence prints from pycocotools
      
      * Commenting unneeded code for run
      
      * Fixes
      
      * Improvements and cleanups
      
      * Remove scales from Pooler
      
      It was not a free parameter, and depended only on the feature map dimensions
      
      * Cleanups
      
      * More cleanups
      
      * Add misc ops and totally remove maskrcnn_benchmark
      
      * nit
      
      * Move Pooler to ops
      
      * Make FPN slightly more generic
      
      * Minor improvements or FPN
      
      * Move FPN to ops
      
      * Move functions to utils
      
      * Lint fixes
      
      * More lint
      
      * Minor cleanups
      
      * Add FasterRCNN
      
      * Remove modifications to resnet
      
      * Fixes for Python2
      
      * More lint fixes
      
      * Add aspect ratio grouping
      
      * Move functions around
      
      * Make evaluation use all images for mAP, even those without annotations
      
      * Bugfix with DDP introduced in last commit
      
      * [Check] Remove category mapping
      
      * Lint
      
      * Make GroupedBatchSampler prioritize largest clusters in the end of iteration
      
      * Bugfix for selecting the iou_types during evaluation
      
      Also switch to using the torchvision normalization now on, given that we are using torchvision base models
      
      * More lint
      
      * Add barrier after init_process_group
      
      Better be safe than sorry
      
      * Make evaluation only use one CPU thread per process
      
      When doing multi-gpu evaluation, paste_masks_in_image is multithreaded and throttles evaluation altogether. Also change default for aspect ratio group to match Detectron
      
      * Fix bug in GroupedBatchSampler
      
      After the first epoch, the number of batch elements could be larger than batch_size, because they got accumulated from the previous iteration. Fix this and also rename some variables for more clarity
      
      * Start adding KeypointRCNN
      
      Currently runs and perform inference, need to do full training
      
      * Remove use of opencv in keypoint inference
      
      PyTorch 1.1 adds support for bicubic interpolation which matches opencv (except for empty boxes, where one of the dimensions is 1, but that's fine)
      
      * Remove Masker
      
      Towards having mask postprocessing done inside the model
      
      * Bugfixes in previous change plus cleanups
      
      * Preparing to run keypoint training
      
      * Zero initialize bias for mask heads
      
      * Minor improvements on print
      
      * Towards moving resize to model
      
      Also remove class mapping specific to COCO
      
      * Remove zero init in bias for mask head
      
      Checking if it decreased accuracy
      
      * [CHECK] See if this change brings back expected accuracy
      
      * Cleanups on model and training script
      
      * Remove BatchCollator
      
      * Some cleanups in coco_eval
      
      * Move postprocess to transform
      
      * Revert back scaling and start adding conversion to coco api
      
      The scaling didn't seem to matter
      
      * Use decorator instead of context manager in evaluate
      
      * Move training and evaluation functions to a separate file
      
      Also adds support for obtaining a coco API object from our dataset
      
      * Remove unused code
      
      * Update location of lr_scheduler
      
      Its behavior has changed in PyTorch 1.1
      
      * Remove debug code
      
      * Typo
      
      * Bugfix
      
      * Move image normalization to model
      
      * Remove legacy tensor constructors
      
      Also move away from Int and instead use int64
      
      * Bugfix in MultiscaleRoiAlign
      
      * Move transforms to its own file
      
      * Add missing file
      
      * Lint
      
      * More lint
      
      * Add some basic test for detection models
      
      * More lint
      ccd1b27d