Update object detection post processing and fixes boxes padding/clipping issue. (#5026)
* 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.
Showing
4.22 MB