1. 13 Apr, 2018 4 commits
  2. 04 Apr, 2018 1 commit
    • Zhichao Lu's avatar
      Merged commit includes the following changes: · 6b72b5cd
      Zhichao Lu authored
      191649512  by Zhichao Lu:
      
          Introduce two parameters in ssd.proto - freeze_batchnorm, inplace_batchnorm_update - and set up slim arg_scopes in ssd_meta_arch.py such that applies it to all batchnorm ops in the predict() method.
      
          This centralizes the control of freezing and doing inplace batchnorm updates.
      
      --
      191620303  by Zhichao Lu:
      
          Modifications to the preprocessor to support multiclass scores
      
      --
      191610773  by Zhichao Lu:
      
          Adding multiclass_scores to InputDataFields and adding padding for multiclass_scores.
      
      --
      191595011  by Zhichao Lu:
      
          Contains implementation of the detection metric for the Open Images Challenge.
      
      --
      191449408  by Zhichao Lu:
      
          Change hyperparams_builder to return a callable so the users can inherit values from outer arg_scopes. This allows us to easily set batch_norm parameters like "is_training" and "inplace_batchnorm_update" for all feature extractors from the base class and propagate it correctly to the nested scopes.
      
      --
      191437008  by Zhichao Lu:
      
          Contains implementation of the Recall@N and MedianRank@N metrics.
      
      --
      191385254  by Zhichao Lu:
      
          Add config rewrite flag to eval.py
      
      --
      191382500  by Zhichao Lu:
      
          Fix bug for config_util.
      
      --
      
      PiperOrigin-RevId: 191649512
      6b72b5cd
  3. 03 Apr, 2018 3 commits
  4. 22 Mar, 2018 1 commit
    • pkulzc's avatar
      Internal changes for object detection. (#3656) · 001a2a61
      pkulzc authored
      * Force cast of num_classes to integer
      
      PiperOrigin-RevId: 188335318
      
      * Updating config util to allow overwriting of cosine decay learning rates.
      
      PiperOrigin-RevId: 188338852
      
      * Make box_list_ops.py and box_list_ops_test.py work with C API enabled.
      
      The C API has improved shape inference over the original Python
      code. This causes some previously-working conds to fail. Switching to smart_cond fixes this.
      
      Another effect of the improved shape inference is that one of the
      failures tested gets caught earlier, so I modified the test to reflect
      this.
      
      PiperOrigin-RevId: 188409792
      
      * Fix parallel event file writing issue.
      
      Without this change, the event files might get corrupted when multiple evaluations are run in parallel.
      
      PiperOrigin-RevId: 188502560
      
      * Deprecating the boolean flag of from_detection_checkpoint.
      
      Replace with a string field fine_tune_checkpoint_type to train_config to provide extensibility. The fine_tune_checkpoint_type can currently take value of `detection`, `classification`, or others when the restore_map is overwritten.
      
      PiperOrigin-RevId: 188518685
      
      * Automated g4 rollback of changelist 188502560
      
      PiperOrigin-RevId: 188519969
      
      * Introducing eval metrics specs for Coco Mask metrics. This allows metrics to be computed in tensorflow using the tf.learn Estimator.
      
      PiperOrigin-RevId: 188528485
      
      * Minor fix to make object_detection/metrics/coco_evaluation.py python3 compatible.
      
      PiperOrigin-RevId: 188550683
      
      * Updating eval_util to handle eval_metric_ops from multiple `DetectionEvaluator`s.
      
      PiperOrigin-RevId: 188560474
      
      * Allow tensor input for new_height and new_width for resize_image.
      
      PiperOrigin-RevId: 188561908
      
      * Fix typo in fine_tune_checkpoint_type name in trainer.
      
      PiperOrigin-RevId: 188799033
      
      * Adding mobilenet feature extractor to object detection.
      
      PiperOrigin-RevId: 188916897
      
      * Allow label maps to optionally contain an explicit background class with id zero.
      
      PiperOrigin-RevId: 188951089
      
      * Fix boundary conditions in random_pad_to_aspect_ratio to ensure that min_scale is always less than max_scale.
      
      PiperOrigin-RevId: 189026868
      
      * Fallback on from_detection_checkpoint option if fine_tune_checkpoint_type isn't set.
      
      PiperOrigin-RevId: 189052833
      
      * Add proper names for learning rate schedules so we don't see cryptic names on tensorboard.
      
      PiperOrigin-RevId: 189069837
      
      * Enforcing that all datasets are batched (and then unbatched in the model) with batch_size >= 1.
      
      PiperOrigin-RevId: 189117178
      
      * Adding regularization to total loss returned from DetectionModel.loss().
      
      PiperOrigin-RevId: 189189123
      
      * Standardize the names of loss scalars (for SSD, Faster R-CNN and R-FCN) in both training and eval so they can be compared on tensorboard.
      
      Log localization and classification losses in evaluation.
      
      PiperOrigin-RevId: 189189940
      
      * Remove negative test from box list ops test.
      
      PiperOrigin-RevId: 189229327
      
      * Add an option to warmup learning rate in manual stepping schedule.
      
      PiperOrigin-RevId: 189361039
      
      * Replace tf.contrib.slim.tfexample_decoder.LookupTensor with object_detection.data_decoders.tf_example_decoder.LookupTensor.
      
      PiperOrigin-RevId: 189388556
      
      * Force regularization summary variables under specific family names.
      
      PiperOrigin-RevId: 189393190
      
      * Automated g4 rollback of changelist 188619139
      
      PiperOrigin-RevId: 189396001
      
      * Remove step 0 schedule since we do a hard check for it after cl/189361039
      
      PiperOrigin-RevId: 189396697
      
      * PiperOrigin-RevId: 189040463
      
      * PiperOrigin-RevId: 189059229
      
      * PiperOrigin-RevId: 189214402
      
      * Force regularization summary variables under specific family names.
      
      PiperOrigin-RevId: 189393190
      
      * Automated g4 rollback of changelist 188619139
      
      PiperOrigin-RevId: 189396001
      
      * Make slim python3 compatible.
      
      * Monir fixes.
      
      * Add TargetAssignment summaries in a separate family.
      
      PiperOrigin-RevId: 189407487
      
      * 1. Setting `family` keyword arg prepends the summary names twice with the same name. Directly adding family suffix to the name gets rid of this problem.
      2. Make sure the eval losses have the same name.
      
      PiperOrigin-RevId: 189434618
      
      * Minor fixes to make object detection tf 1.4 compatible.
      
      PiperOrigin-RevId: 189437519
      
      * Call the base of mobilenet_v1 feature extractor under the right arg scope and set batchnorm is_training based on the value passed in the constructor.
      
      PiperOrigin-RevId: 189460890
      
      * Automated g4 rollback of changelist 188409792
      
      PiperOrigin-RevId: 189463882
      
      * Update object detection syncing.
      
      PiperOrigin-RevId: 189601955
      
      * Add an option to warmup learning rate, hold it constant for a certain number of steps and cosine decay it.
      
      PiperOrigin-RevId: 189606169
      
      * Let the proposal feature extractor function in faster_rcnn meta architectures return the activations (end_points).
      
      PiperOrigin-RevId: 189619301
      
      * Fixed bug which caused masks to be mostly zeros (caused by detection_boxes being in absolute coordinates if scale_to_absolute=True.
      
      PiperOrigin-RevId: 189641294
      
      * Open sourcing Mobilenetv2 + SSDLite.
      
      PiperOrigin-RevId: 189654520
      
      * Remove unused files.
      001a2a61
  5. 08 Mar, 2018 1 commit
  6. 27 Feb, 2018 1 commit
    • Zhichao Lu's avatar
      Merged commit includes the following changes: · 78d5f8f8
      Zhichao Lu authored
      187187978  by Zhichao Lu:
      
          Only updating hyperparameters if they have non-null values.
      
      --
      187097690  by Zhichao Lu:
      
          Rewrite some conditions a bit more clearly.
      
      --
      187085190  by Zhichao Lu:
      
          More informative error message.
      
      --
      186935376  by Zhichao Lu:
      
          Added option to evaluator.evaluate to use custom evaluator objects.
      
      --
      186808249  by Zhichao Lu:
      
          Fix documentation re: number of stages.
      
      --
      186775014  by Zhichao Lu:
      
          Change anchor generator interface to return a list of BoxLists containing anchors for different feature map layers.
      
      --
      186729028  by Zhichao Lu:
      
          Minor fixes to object detection.
      
      --
      186723716  by Zhichao Lu:
      
          Fix tf_example_decoder.py initailization issue.
      
      --
      186668505  by Zhichao Lu:
      
          Remove unused import.
      
      --
      186475361  by Zhichao Lu:
      
          Update the box predictor interface to return list of predictions - one from each feature map - instead of stacking them into one large tensor.
      
      --
      186410844  by Zhichao Lu:
      
          Fix PythonPath Dependencies.
      
      --
      186365384  by Zhichao Lu:
      
          Made some of the functions in exporter public so they can be reused.
      
      --
      186341438  by Zhichao Lu:
      
          Re-introducing check that label-map-path must be a valid (non-empty) string prior to overwriting pipeline config.
      
      --
      186036984  by Zhichao Lu:
      
          Adding default hyperparameters and allowing for overriding them via flags.
      
      --
      186026006  by Zhichao Lu:
      
          Strip `eval_` prefix from name argument give to TPUEstimator.evaluate since it adds the same prefix internally.
      
      --
      186016042  by Zhichao Lu:
      
          Add an option to evaluate models on training data.
      
      --
      185944986  by Zhichao Lu:
      
          let _update_label_map_path go through even if the path is empty
      
      --
      185860781  by Zhichao Lu:
      
          Add random normal initializer option to hyperparams builder.
      
          Scale the regression losses outside of the box encoder by adjusting huber loss delta and regression loss weight.
      
      --
      185846325  by Zhichao Lu:
      
          Add an option to normalize localization loss by the code size(number of box coordinates) in SSD Meta architecture.
      
      --
      185761217  by Zhichao Lu:
      
          Change multiscale_grid_anchor_generator to return anchors in normalized coordinates by default and add option to configure it.
      
          In SSD meta architecture, TargetAssigner operates in normalized coordinate space (i.e, groundtruth boxes are in normalized coordinates) hence we need the option to generate anchors in normalized coordinates.
      
      --
      185747733  by Zhichao Lu:
      
          Change the smooth L1 localization implementationt to use tf.losses.huber_loss and expose the delta parameter in the proto.
      
      --
      185715309  by Zhichao Lu:
      
          Obviates the need for prepadding on mobilenet v1 and v2 for fully convolutional models.
      
      --
      185685695  by Zhichao Lu:
      
          Fix manual stepping schedule to return first rate when there are no boundaries
      
      --
      185621650  by Zhichao Lu:
      
          Added target assigner proto for configuring negative class weights.
      
      --
      
      PiperOrigin-RevId: 187187978
      78d5f8f8
  7. 14 Feb, 2018 2 commits
  8. 10 Feb, 2018 1 commit
    • Zhichao Lu's avatar
      Merged commit includes the following changes: · 1efe98bb
      Zhichao Lu authored
      185215255  by Zhichao Lu:
      
          Stop populating image/object/class/text field when generating COCO tf record.
      
      --
      185213306  by Zhichao Lu:
      
          Use the params batch size and not the one from train_config in input_fn
      
      --
      185209081  by Zhichao Lu:
      
          Handle the case when there are no ground-truth masks for an image.
      
      --
      185195531  by Zhichao Lu:
      
          Remove unstack and stack operations on features from third_party/object_detection/model.py.
      
      --
      185195017  by Zhichao Lu:
      
          Matrix multiplication based gather op implementation.
      
      --
      185187744  by Zhichao Lu:
      
          Fix eval_util minor issue.
      
      --
      185098733  by Zhichao Lu:
      
          Internal change
      
      185076656  by Zhichao Lu:
      
          Increment the amount of boxes for coco17.
      
      --
      185074199  by Zhichao Lu:
      
          Add config for SSD Resnet50 v1 with FPN.
      
      --
      185060199  by Zhichao Lu:
      
          Fix a bug in clear_detections.
          This method set detection_keys to an empty dictionary instead of an empty set. I've refactored so that this ...
      1efe98bb
  9. 01 Feb, 2018 1 commit
    • Zhichao Lu's avatar
      Merged commit includes the following changes: · 7a9934df
      Zhichao Lu authored
      184048729  by Zhichao Lu:
      
          Modify target_assigner so that it creates regression targets taking keypoints into account.
      
      --
      184027183  by Zhichao Lu:
      
          Resnet V1 FPN based feature extractors for SSD meta architecture in Object Detection V2 API.
      
      --
      184004730  by Zhichao Lu:
      
          Expose a lever to override the configured mask_type.
      
      --
      183933113  by Zhichao Lu:
      
          Weight shared convolutional box predictor as described in https://arxiv.org/abs/1708.02002
      
      --
      183929669  by Zhichao Lu:
      
          Expanding box list operations for future data augmentations.
      
      --
      183916792  by Zhichao Lu:
      
          Fix unrecognized assertion function in tests.
      
      --
      183906851  by Zhichao Lu:
      
          - Change ssd meta architecture to use regression weights to compute loss normalizer.
      
      --
      183871003  by Zhichao Lu:
      
          Fix config_util_test wrong dependency.
      
      --
      183782120  by Zhichao Lu:
      
          Add __init__ file to third_party directories.
      
      --
      183779109  by Zhichao Lu:
      
          Setup regular version s...
      7a9934df
  10. 27 Oct, 2017 1 commit
  11. 21 Sep, 2017 1 commit