• P
    Update object detection post processing and fixes boxes padding/clipping issue. (#5026) · 59f7e80a
    pkulzc 提交于
    * Merged commit includes the following changes:
    207771702  by Zhichao Lu:
    
        Refactoring evaluation utilities so that it is easier to introduce new DetectionEvaluators with eval_metric_ops.
    
    --
    207758641  by Zhichao Lu:
    
        Require tensorflow version 1.9+ for running object detection API.
    
    --
    207641470  by Zhichao Lu:
    
        Clip `num_groundtruth_boxes` in pad_input_data_to_static_shapes() to `max_num_boxes`. This prevents a scenario where tensors are sliced to an invalid range in model_lib.unstack_batch().
    
    --
    207621728  by Zhichao Lu:
    
        This CL adds a FreezableBatchNorm that inherits from the Keras BatchNormalization layer, but supports freezing the `training` parameter at construction time instead of having to do it in the `call` method.
    
        It also adds a method to the `KerasLayerHyperparams` class that will build an appropriate FreezableBatchNorm layer according to the hyperparameter configuration. If batch_norm is disabled, this method returns and Identity layer.
    
        These will be used to simplify the conversion to Keras APIs.
    
    --
    207610524  by Zhichao Lu:
    
        Update anchor generators and box predictors for python3 compatibility.
    
    --
    207585122  by Zhichao Lu:
    
        Refactoring convolutional box predictor into separate prediction heads.
    
    --
    207549305  by Zhichao Lu:
    
        Pass all 1s for batch weights if nothing is specified in GT.
    
    --
    207336575  by Zhichao Lu:
    
        Move the new argument 'target_assigner_instance' to the end of the list of arguments to the ssd_meta_arch constructor for backwards compatibility.
    
    --
    207327862  by Zhichao Lu:
    
        Enable support for float output in quantized custom op for postprocessing in SSD Mobilenet model.
    
    --
    207323154  by Zhichao Lu:
    
        Bug fix: change dict.iteritems() to dict.items()
    
    --
    207301109  by Zhichao Lu:
    
        Integrating expected_classification_loss_under_sampling op as an option in the ssd_meta_arch
    
    --
    207286221  by Zhichao Lu:
    
        Adding an option to weight regression loss with foreground scores from the ground truth labels.
    
    --
    207231739  by Zhichao Lu:
    
        Explicitly mentioning the argument names when calling the batch target assigner.
    
    --
    207206356  by Zhichao Lu:
    
        Add include_trainable_variables field to train config to better handle trainable variables.
    
    --
    207135930  by Zhichao Lu:
    
        Internal change.
    
    --
    206862541  by Zhichao Lu:
    
        Do not unpad the outputs from batch_non_max_suppression before sampling.
    
        Since BalancedPositiveNegativeSampler takes an indicator for valid positions to sample from we can pass the output from NMS directly into Sampler.
    
    --
    
    PiperOrigin-RevId: 207771702
    
    * Remove unused doc.
    59f7e80a
freezable_batch_norm.py 3.0 KB