From b4567037de4b4f7b442c62e5d956f5ad367a39bc Mon Sep 17 00:00:00 2001 From: Vinay Sharma Date: Sat, 13 Oct 2018 14:02:36 +0530 Subject: [PATCH 1/3] shifted redundant files and added launch file for cv_camera --- README.md | 19 +- CMakeLists.txt => detector/CMakeLists.txt | 0 {config => detector/config}/display.rviz | 0 {data => detector/data}/.gitignore | 0 .../data}/labels/mscoco_label_map.pbtxt | 0 .../data}/labels/pascal_label_map.pbtxt | 0 .../data}/labels/pet_label_map.pbtxt | 0 {data => detector/data}/models/readme.md | 0 detector/launch/cv_camera_detector.launch | 13 + .../launch}/object_detect.launch | 0 .../launch}/usb_cam_detector.launch | 2 +- package.xml => detector/package.xml | 0 {scripts => detector/scripts}/detect_ros.py | 0 setup.py => detector/setup.py | 0 .../src}/object_detection/__init__.py | 0 .../src/object_detection/protos}/__init__.py | 0 .../protos/string_int_label_map.proto | 0 .../protos/string_int_label_map_pb2.py | 0 .../src/object_detection/utils}/__init__.py | 0 .../object_detection/utils/label_map_util.py | 0 .../utils/visualization_utils.py | 0 src/object_detection/__init__.pyc | Bin 134 -> 0 bytes .../anchor_generators/__init__.pyc | Bin 152 -> 0 bytes .../grid_anchor_generator.pyc | Bin 8130 -> 0 bytes .../multiple_grid_anchor_generator.pyc | Bin 11752 -> 0 bytes src/object_detection/box_coders/__init__.pyc | Bin 145 -> 0 bytes .../box_coders/faster_rcnn_box_coder.pyc | Bin 3844 -> 0 bytes .../box_coders/mean_stddev_box_coder.pyc | Bin 2437 -> 0 bytes .../box_coders/square_box_coder.pyc | Bin 4414 -> 0 bytes src/object_detection/builders/__init__.pyc | Bin 143 -> 0 bytes .../builders/anchor_generator_builder.pyc | Bin 2010 -> 0 bytes .../builders/box_coder_builder.pyc | Bin 1559 -> 0 bytes .../builders/box_predictor_builder.pyc | Bin 3009 -> 0 bytes .../builders/hyperparams_builder.pyc | Bin 5403 -> 0 bytes .../builders/image_resizer_builder.pyc | Bin 2013 -> 0 bytes .../builders/losses_builder.pyc | Bin 4394 -> 0 bytes .../builders/matcher_builder.pyc | Bin 1496 -> 0 bytes .../builders/model_builder.pyc | Bin 9299 -> 0 bytes .../builders/post_processing_builder.pyc | Bin 3894 -> 0 bytes .../region_similarity_calculator_builder.pyc | Bin 1666 -> 0 bytes src/object_detection/core/__init__.pyc | Bin 139 -> 0 bytes .../core/anchor_generator.pyc | Bin 5460 -> 0 bytes .../balanced_positive_negative_sampler.pyc | Bin 3506 -> 0 bytes src/object_detection/core/box_coder.pyc | Bin 5236 -> 0 bytes src/object_detection/core/box_list.pyc | Bin 8050 -> 0 bytes src/object_detection/core/box_list_ops.pyc | Bin 37010 -> 0 bytes src/object_detection/core/box_predictor.pyc | Bin 21002 -> 0 bytes src/object_detection/core/keypoint_ops.pyc | Bin 9076 -> 0 bytes src/object_detection/core/losses.pyc | Bin 23219 -> 0 bytes src/object_detection/core/matcher.pyc | Bin 9192 -> 0 bytes .../core/minibatch_sampler.pyc | Bin 3175 -> 0 bytes src/object_detection/core/model.pyc | Bin 11075 -> 0 bytes src/object_detection/core/post_processing.pyc | Bin 11064 -> 0 bytes src/object_detection/core/preprocessor.pyc | Bin 72414 -> 0 bytes .../core/region_similarity_calculator.pyc | Bin 4524 -> 0 bytes src/object_detection/core/standard_fields.pyc | Bin 6271 -> 0 bytes src/object_detection/core/target_assigner.pyc | Bin 18154 -> 0 bytes src/object_detection/matchers/__init__.pyc | Bin 143 -> 0 bytes .../matchers/argmax_matcher.pyc | Bin 7047 -> 0 bytes .../matchers/bipartite_matcher.pyc | Bin 1878 -> 0 bytes .../meta_architectures/__init__.pyc | Bin 153 -> 0 bytes .../faster_rcnn_meta_arch.pyc | Bin 61193 -> 0 bytes .../meta_architectures/rfcn_meta_arch.pyc | Bin 11768 -> 0 bytes .../meta_architectures/ssd_meta_arch.pyc | Bin 24132 -> 0 bytes src/object_detection/models/__init__.pyc | Bin 141 -> 0 bytes ..._inception_resnet_v2_feature_extractor.pyc | Bin 8533 -> 0 bytes ...aster_rcnn_resnet_v1_feature_extractor.pyc | Bin 8830 -> 0 bytes .../models/feature_map_generators.pyc | Bin 6579 -> 0 bytes .../ssd_inception_v2_feature_extractor.pyc | Bin 3674 -> 0 bytes .../ssd_mobilenet_v1_feature_extractor.pyc | Bin 3698 -> 0 bytes .../protos/anchor_generator_pb2.pyc | Bin 3676 -> 0 bytes .../protos/argmax_matcher_pb2.pyc | Bin 3465 -> 0 bytes .../protos/bipartite_matcher_pb2.pyc | Bin 2034 -> 0 bytes src/object_detection/protos/box_coder_pb2.pyc | Bin 4095 -> 0 bytes .../protos/box_predictor_pb2.pyc | Bin 10581 -> 0 bytes .../protos/faster_rcnn_box_coder_pb2.pyc | Bin 3147 -> 0 bytes .../protos/faster_rcnn_pb2.pyc | Bin 11331 -> 0 bytes .../protos/grid_anchor_generator_pb2.pyc | Bin 3984 -> 0 bytes .../protos/hyperparams_pb2.pyc | Bin 11484 -> 0 bytes .../protos/image_resizer_pb2.pyc | Bin 4749 -> 0 bytes src/object_detection/protos/losses_pb2.pyc | Bin 12838 -> 0 bytes src/object_detection/protos/matcher_pb2.pyc | Bin 3461 -> 0 bytes .../protos/mean_stddev_box_coder_pb2.pyc | Bin 2066 -> 0 bytes .../protos/post_processing_pb2.pyc | Bin 4795 -> 0 bytes .../region_similarity_calculator_pb2.pyc | Bin 4681 -> 0 bytes .../protos/square_box_coder_pb2.pyc | Bin 2866 -> 0 bytes .../protos/ssd_anchor_generator_pb2.pyc | Bin 3431 -> 0 bytes src/object_detection/protos/ssd_pb2.pyc | Bin 7904 -> 0 bytes src/object_detection/utils/ops.pyc | Bin 25463 -> 0 bytes src/object_detection/utils/shape_utils.pyc | Bin 4446 -> 0 bytes src/object_detection/utils/static_shape.pyc | Bin 1817 -> 0 bytes .../utils/variables_helper.pyc | Bin 4921 -> 0 bytes ...object_detection_tutorial-checkpoint.ipynb | 0 {src => train/src}/object_detection/BUILD | 0 .../src}/object_detection/CONTRIBUTING.md | 0 {src => train/src}/object_detection/README.md | 0 .../src/object_detection}/__init__.py | 0 .../object_detection/anchor_generators/BUILD | 0 .../anchor_generators}/__init__.py | 0 .../grid_anchor_generator.py | 0 .../grid_anchor_generator_test.py | 0 .../multiple_grid_anchor_generator.py | 0 .../multiple_grid_anchor_generator_test.py | 0 .../src}/object_detection/box_coders/BUILD | 0 .../object_detection/box_coders}/__init__.py | 0 .../box_coders/faster_rcnn_box_coder.py | 0 .../box_coders/faster_rcnn_box_coder_test.py | 0 .../box_coders/keypoint_box_coder.py | 0 .../box_coders/keypoint_box_coder_test.py | 0 .../box_coders/mean_stddev_box_coder.py | 0 .../box_coders/mean_stddev_box_coder_test.py | 0 .../box_coders/square_box_coder.py | 0 .../box_coders/square_box_coder_test.py | 0 .../src}/object_detection/builders/BUILD | 0 .../object_detection/builders}/__init__.py | 0 .../builders/anchor_generator_builder.py | 0 .../builders/anchor_generator_builder_test.py | 0 .../builders/box_coder_builder.py | 0 .../builders/box_coder_builder_test.py | 0 .../builders/box_predictor_builder.py | 0 .../builders/box_predictor_builder_test.py | 0 .../builders/hyperparams_builder.py | 0 .../builders/hyperparams_builder_test.py | 0 .../builders/image_resizer_builder.py | 0 .../builders/image_resizer_builder_test.py | 0 .../builders/input_reader_builder.py | 0 .../builders/input_reader_builder_test.py | 0 .../builders/losses_builder.py | 0 .../builders/losses_builder_test.py | 0 .../builders/matcher_builder.py | 0 .../builders/matcher_builder_test.py | 0 .../builders/model_builder.py | 0 .../builders/model_builder_test.py | 0 .../builders/optimizer_builder.py | 0 .../builders/optimizer_builder_test.py | 0 .../builders/post_processing_builder.py | 0 .../builders/post_processing_builder_test.py | 0 .../builders/preprocessor_builder.py | 0 .../builders/preprocessor_builder_test.py | 0 .../region_similarity_calculator_builder.py | 0 ...gion_similarity_calculator_builder_test.py | 0 .../src}/object_detection/core/BUILD | 0 .../src/object_detection/core}/__init__.py | 0 .../object_detection/core/anchor_generator.py | 0 .../balanced_positive_negative_sampler.py | 0 ...balanced_positive_negative_sampler_test.py | 0 .../src}/object_detection/core/batcher.py | 0 .../object_detection/core/batcher_test.py | 0 .../src}/object_detection/core/box_coder.py | 0 .../object_detection/core/box_coder_test.py | 0 .../src}/object_detection/core/box_list.py | 0 .../object_detection/core/box_list_ops.py | 0 .../core/box_list_ops_test.py | 0 .../object_detection/core/box_list_test.py | 0 .../object_detection/core/box_predictor.py | 0 .../core/box_predictor_test.py | 0 .../object_detection/core/data_decoder.py | 0 .../object_detection/core/keypoint_ops.py | 0 .../core/keypoint_ops_test.py | 0 .../src}/object_detection/core/losses.py | 0 .../src}/object_detection/core/losses_test.py | 0 .../src}/object_detection/core/matcher.py | 0 .../object_detection/core/matcher_test.py | 0 .../core/minibatch_sampler.py | 0 .../core/minibatch_sampler_test.py | 0 .../src}/object_detection/core/model.py | 0 .../object_detection/core/post_processing.py | 0 .../core/post_processing_test.py | 0 .../src}/object_detection/core/prefetcher.py | 0 .../object_detection/core/prefetcher_test.py | 0 .../object_detection/core/preprocessor.py | 0 .../core/preprocessor_test.py | 0 .../core/region_similarity_calculator.py | 0 .../core/region_similarity_calculator_test.py | 0 .../object_detection/core/standard_fields.py | 0 .../object_detection/core/target_assigner.py | 0 .../core/target_assigner_test.py | 0 .../create_pascal_tf_record.py | 0 .../create_pascal_tf_record_test.py | 0 .../object_detection/create_pet_tf_record.py | 0 .../data/mscoco_label_map.pbtxt | 0 .../data/pascal_label_map.pbtxt | 0 .../object_detection/data/pet_label_map.pbtxt | 0 .../src}/object_detection/data_decoders/BUILD | 0 .../data_decoders}/__init__.py | 0 .../data_decoders/tf_example_decoder.py | 0 .../data_decoders/tf_example_decoder_test.py | 0 {src => train/src}/object_detection/detect.py | 0 {src => train/src}/object_detection/eval.py | 0 .../src}/object_detection/eval_util.py | 0 .../src}/object_detection/evaluator.py | 0 .../export_inference_graph.py | 0 .../src}/object_detection/exporter.py | 0 .../src}/object_detection/exporter_test.py | 0 .../g3doc/configuring_jobs.md | 0 .../g3doc/defining_your_own_model.md | 0 .../g3doc/detection_model_zoo.md | 0 .../g3doc/exporting_models.md | 0 .../g3doc/img/dogs_detections_output.jpg | Bin .../g3doc/img/example_cat.jpg | Bin .../g3doc/img/kites_detections_output.jpg | Bin .../object_detection/g3doc/img/oxford_pet.png | Bin .../g3doc/img/tensorboard.png | Bin .../g3doc/img/tensorboard2.png | Bin .../object_detection/g3doc/installation.md | 0 .../g3doc/preparing_inputs.md | 0 .../object_detection/g3doc/running_locally.md | 0 .../g3doc/running_notebook.md | 0 .../g3doc/running_on_cloud.md | 0 .../object_detection/g3doc/running_pets.md | 0 .../g3doc/using_your_own_dataset.md | 0 .../src}/object_detection/matchers/BUILD | 0 .../object_detection/matchers}/__init__.py | 0 .../matchers/argmax_matcher.py | 0 .../matchers/argmax_matcher_test.py | 0 .../matchers/bipartite_matcher.py | 0 .../matchers/bipartite_matcher_test.py | 0 .../object_detection/meta_architectures/BUILD | 0 .../meta_architectures}/__init__.py | 0 .../faster_rcnn_meta_arch.py | 0 .../faster_rcnn_meta_arch_test.py | 0 .../faster_rcnn_meta_arch_test_lib.py | 0 .../meta_architectures/rfcn_meta_arch.py | 0 .../meta_architectures/rfcn_meta_arch_test.py | 0 .../meta_architectures/ssd_meta_arch.py | 0 .../meta_architectures/ssd_meta_arch_test.py | 0 .../src}/object_detection/models/BUILD | 0 train/src/object_detection/models/__init__.py | 0 ...n_inception_resnet_v2_feature_extractor.py | 0 ...eption_resnet_v2_feature_extractor_test.py | 0 ...faster_rcnn_resnet_v1_feature_extractor.py | 0 ...r_rcnn_resnet_v1_feature_extractor_test.py | 0 .../models/feature_map_generators.py | 0 .../models/feature_map_generators_test.py | 0 .../models/ssd_feature_extractor_test.py | 0 .../ssd_inception_v2_feature_extractor.py | 0 ...ssd_inception_v2_feature_extractor_test.py | 0 .../ssd_mobilenet_v1_feature_extractor.py | 0 ...ssd_mobilenet_v1_feature_extractor_test.py | 0 .../object_detection_tutorial.ipynb | 0 .../object_detection_tutorial.py | 0 .../src}/object_detection/protos/BUILD | 0 train/src/object_detection/protos/__init__.py | 0 .../protos/anchor_generator.proto | 0 .../protos/anchor_generator_pb2.py | 0 .../protos/argmax_matcher.proto | 0 .../protos/argmax_matcher_pb2.py | 0 .../protos/bipartite_matcher.proto | 0 .../protos/bipartite_matcher_pb2.py | 0 .../object_detection/protos/box_coder.proto | 0 .../object_detection/protos/box_coder_pb2.py | 0 .../protos/box_predictor.proto | 0 .../protos/box_predictor_pb2.py | 0 .../src}/object_detection/protos/eval.proto | 0 .../src}/object_detection/protos/eval_pb2.py | 0 .../object_detection/protos/faster_rcnn.proto | 0 .../protos/faster_rcnn_box_coder.proto | 0 .../protos/faster_rcnn_box_coder_pb2.py | 0 .../protos/faster_rcnn_pb2.py | 0 .../protos/grid_anchor_generator.proto | 0 .../protos/grid_anchor_generator_pb2.py | 0 .../object_detection/protos/hyperparams.proto | 0 .../protos/hyperparams_pb2.py | 0 .../protos/image_resizer.proto | 0 .../protos/image_resizer_pb2.py | 0 .../protos/input_reader.proto | 0 .../protos/input_reader_pb2.py | 0 .../src}/object_detection/protos/losses.proto | 0 .../object_detection/protos/losses_pb2.py | 0 .../object_detection/protos/matcher.proto | 0 .../object_detection/protos/matcher_pb2.py | 0 .../protos/mean_stddev_box_coder.proto | 0 .../protos/mean_stddev_box_coder_pb2.py | 0 .../src}/object_detection/protos/model.proto | 0 .../src}/object_detection/protos/model_pb2.py | 0 .../object_detection/protos/model_pb2.pyc | Bin .../object_detection/protos/optimizer.proto | 0 .../object_detection/protos/optimizer_pb2.py | 0 .../object_detection/protos/pipeline.proto | 0 .../object_detection/protos/pipeline_pb2.py | 0 .../protos/post_processing.proto | 0 .../protos/post_processing_pb2.py | 0 .../protos/preprocessor.proto | 0 .../protos/preprocessor_pb2.py | 0 .../protos/region_similarity_calculator.proto | 0 .../region_similarity_calculator_pb2.py | 0 .../protos/square_box_coder.proto | 0 .../protos/square_box_coder_pb2.py | 0 .../src}/object_detection/protos/ssd.proto | 0 .../protos/ssd_anchor_generator.proto | 0 .../protos/ssd_anchor_generator_pb2.py | 0 .../src}/object_detection/protos/ssd_pb2.py | 0 .../protos/string_int_label_map.proto | 24 + .../protos/string_int_label_map_pb2.py | 123 +++++ .../src}/object_detection/protos/train.proto | 0 .../src}/object_detection/protos/train_pb2.py | 0 .../object_detection/samples/cloud/cloud.yml | 0 ...cnn_inception_resnet_v2_atrous_pets.config | 0 .../configs/faster_rcnn_resnet101_pets.config | 0 .../faster_rcnn_resnet101_voc07.config | 0 .../configs/faster_rcnn_resnet152_pets.config | 0 .../configs/faster_rcnn_resnet50_pets.config | 0 .../configs/rfcn_resnet101_pets.config | 0 .../configs/ssd_inception_v2_pets.config | 0 .../configs/ssd_mobilenet_v1_pets.config | 0 .../Screenshot from 2017-07-06 16:36:56.png | Bin .../object_detection/test_images/image1.jpg | Bin .../object_detection/test_images/image1.png | Bin .../object_detection/test_images/image2.jpg | Bin .../object_detection/test_images/image2.png | Bin .../object_detection/test_images/image3.jpg | Bin .../object_detection/test_images/image3.png | Bin .../object_detection/test_images/image4.jpg | Bin .../object_detection/test_images/image5.jpg | Bin .../object_detection/test_images/image55.jpg | Bin .../object_detection/test_images/image6.jpg | Bin .../test_images/image_info.txt | 0 .../src}/object_detection/testcamera.py | 0 {src => train/src}/object_detection/train.py | 0 .../src}/object_detection/trainer.py | 0 .../src}/object_detection/trainer_test.py | 0 .../src}/object_detection/utils/BUILD | 0 train/src/object_detection/utils/__init__.py | 0 .../object_detection/utils/category_util.py | 0 .../utils/category_util_test.py | 0 .../object_detection/utils/dataset_util.py | 0 .../utils/dataset_util_test.py | 0 .../object_detection/utils/label_map_util.py | 140 ++++++ .../utils/label_map_util_test.py | 0 .../utils/learning_schedules.py | 0 .../utils/learning_schedules_test.py | 0 .../src}/object_detection/utils/metrics.py | 0 .../object_detection/utils/metrics_test.py | 0 .../object_detection/utils/np_box_list.py | 0 .../object_detection/utils/np_box_list_ops.py | 0 .../utils/np_box_list_ops_test.py | 0 .../utils/np_box_list_test.py | 0 .../src}/object_detection/utils/np_box_ops.py | 0 .../object_detection/utils/np_box_ops_test.py | 0 .../utils/object_detection_evaluation.py | 0 .../utils/object_detection_evaluation_test.py | 0 .../src}/object_detection/utils/ops.py | 0 .../src}/object_detection/utils/ops_test.py | 0 .../utils/per_image_evaluation.py | 0 .../utils/per_image_evaluation_test.py | 0 .../object_detection/utils/shape_utils.py | 0 .../utils/shape_utils_test.py | 0 .../object_detection/utils/static_shape.py | 0 .../utils/static_shape_test.py | 0 .../src}/object_detection/utils/test_utils.py | 0 .../object_detection/utils/test_utils_test.py | 0 .../utils/variables_helper.py | 0 .../utils/variables_helper_test.py | 0 .../utils/visualization_utils.py | 451 ++++++++++++++++++ .../utils/visualization_utils_test.py | 0 355 files changed, 766 insertions(+), 6 deletions(-) rename CMakeLists.txt => detector/CMakeLists.txt (100%) rename {config => detector/config}/display.rviz (100%) rename {data => detector/data}/.gitignore (100%) rename {data => detector/data}/labels/mscoco_label_map.pbtxt (100%) rename {data => detector/data}/labels/pascal_label_map.pbtxt (100%) rename {data => detector/data}/labels/pet_label_map.pbtxt (100%) rename {data => detector/data}/models/readme.md (100%) create mode 100644 detector/launch/cv_camera_detector.launch rename {launch => detector/launch}/object_detect.launch (100%) rename {launch => detector/launch}/usb_cam_detector.launch (92%) rename package.xml => detector/package.xml (100%) rename {scripts => detector/scripts}/detect_ros.py (100%) rename setup.py => detector/setup.py (100%) rename {src => detector/src}/object_detection/__init__.py (100%) rename {src/object_detection/anchor_generators => detector/src/object_detection/protos}/__init__.py (100%) rename {src => detector/src}/object_detection/protos/string_int_label_map.proto (100%) rename {src => detector/src}/object_detection/protos/string_int_label_map_pb2.py (100%) rename {src/object_detection/box_coders => detector/src/object_detection/utils}/__init__.py (100%) rename {src => detector/src}/object_detection/utils/label_map_util.py (100%) rename {src => detector/src}/object_detection/utils/visualization_utils.py (100%) delete mode 100644 src/object_detection/__init__.pyc delete mode 100644 src/object_detection/anchor_generators/__init__.pyc delete mode 100644 src/object_detection/anchor_generators/grid_anchor_generator.pyc delete mode 100644 src/object_detection/anchor_generators/multiple_grid_anchor_generator.pyc delete mode 100644 src/object_detection/box_coders/__init__.pyc delete mode 100644 src/object_detection/box_coders/faster_rcnn_box_coder.pyc delete mode 100644 src/object_detection/box_coders/mean_stddev_box_coder.pyc delete mode 100644 src/object_detection/box_coders/square_box_coder.pyc delete mode 100644 src/object_detection/builders/__init__.pyc delete mode 100644 src/object_detection/builders/anchor_generator_builder.pyc delete mode 100644 src/object_detection/builders/box_coder_builder.pyc delete mode 100644 src/object_detection/builders/box_predictor_builder.pyc delete mode 100644 src/object_detection/builders/hyperparams_builder.pyc delete mode 100644 src/object_detection/builders/image_resizer_builder.pyc delete mode 100644 src/object_detection/builders/losses_builder.pyc delete mode 100644 src/object_detection/builders/matcher_builder.pyc delete mode 100644 src/object_detection/builders/model_builder.pyc delete mode 100644 src/object_detection/builders/post_processing_builder.pyc delete mode 100644 src/object_detection/builders/region_similarity_calculator_builder.pyc delete mode 100644 src/object_detection/core/__init__.pyc delete mode 100644 src/object_detection/core/anchor_generator.pyc delete mode 100644 src/object_detection/core/balanced_positive_negative_sampler.pyc delete mode 100644 src/object_detection/core/box_coder.pyc delete mode 100644 src/object_detection/core/box_list.pyc delete mode 100644 src/object_detection/core/box_list_ops.pyc delete mode 100644 src/object_detection/core/box_predictor.pyc delete mode 100644 src/object_detection/core/keypoint_ops.pyc delete mode 100644 src/object_detection/core/losses.pyc delete mode 100644 src/object_detection/core/matcher.pyc delete mode 100644 src/object_detection/core/minibatch_sampler.pyc delete mode 100644 src/object_detection/core/model.pyc delete mode 100644 src/object_detection/core/post_processing.pyc delete mode 100644 src/object_detection/core/preprocessor.pyc delete mode 100644 src/object_detection/core/region_similarity_calculator.pyc delete mode 100644 src/object_detection/core/standard_fields.pyc delete mode 100644 src/object_detection/core/target_assigner.pyc delete mode 100644 src/object_detection/matchers/__init__.pyc delete mode 100644 src/object_detection/matchers/argmax_matcher.pyc delete mode 100644 src/object_detection/matchers/bipartite_matcher.pyc delete mode 100644 src/object_detection/meta_architectures/__init__.pyc delete mode 100644 src/object_detection/meta_architectures/faster_rcnn_meta_arch.pyc delete mode 100644 src/object_detection/meta_architectures/rfcn_meta_arch.pyc delete mode 100644 src/object_detection/meta_architectures/ssd_meta_arch.pyc delete mode 100644 src/object_detection/models/__init__.pyc delete mode 100644 src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.pyc delete mode 100644 src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.pyc delete mode 100644 src/object_detection/models/feature_map_generators.pyc delete mode 100644 src/object_detection/models/ssd_inception_v2_feature_extractor.pyc delete mode 100644 src/object_detection/models/ssd_mobilenet_v1_feature_extractor.pyc delete mode 100644 src/object_detection/protos/anchor_generator_pb2.pyc delete mode 100644 src/object_detection/protos/argmax_matcher_pb2.pyc delete mode 100644 src/object_detection/protos/bipartite_matcher_pb2.pyc delete mode 100644 src/object_detection/protos/box_coder_pb2.pyc delete mode 100644 src/object_detection/protos/box_predictor_pb2.pyc delete mode 100644 src/object_detection/protos/faster_rcnn_box_coder_pb2.pyc delete mode 100644 src/object_detection/protos/faster_rcnn_pb2.pyc delete mode 100644 src/object_detection/protos/grid_anchor_generator_pb2.pyc delete mode 100644 src/object_detection/protos/hyperparams_pb2.pyc delete mode 100644 src/object_detection/protos/image_resizer_pb2.pyc delete mode 100644 src/object_detection/protos/losses_pb2.pyc delete mode 100644 src/object_detection/protos/matcher_pb2.pyc delete mode 100644 src/object_detection/protos/mean_stddev_box_coder_pb2.pyc delete mode 100644 src/object_detection/protos/post_processing_pb2.pyc delete mode 100644 src/object_detection/protos/region_similarity_calculator_pb2.pyc delete mode 100644 src/object_detection/protos/square_box_coder_pb2.pyc delete mode 100644 src/object_detection/protos/ssd_anchor_generator_pb2.pyc delete mode 100644 src/object_detection/protos/ssd_pb2.pyc delete mode 100644 src/object_detection/utils/ops.pyc delete mode 100644 src/object_detection/utils/shape_utils.pyc delete mode 100644 src/object_detection/utils/static_shape.pyc delete mode 100644 src/object_detection/utils/variables_helper.pyc rename {src => train/src}/object_detection/.ipynb_checkpoints/object_detection_tutorial-checkpoint.ipynb (100%) rename {src => train/src}/object_detection/BUILD (100%) rename {src => train/src}/object_detection/CONTRIBUTING.md (100%) rename {src => train/src}/object_detection/README.md (100%) rename {src/object_detection/builders => train/src/object_detection}/__init__.py (100%) rename {src => train/src}/object_detection/anchor_generators/BUILD (100%) rename {src/object_detection/core => train/src/object_detection/anchor_generators}/__init__.py (100%) rename {src => train/src}/object_detection/anchor_generators/grid_anchor_generator.py (100%) rename {src => train/src}/object_detection/anchor_generators/grid_anchor_generator_test.py (100%) rename {src => train/src}/object_detection/anchor_generators/multiple_grid_anchor_generator.py (100%) rename {src => train/src}/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py (100%) rename {src => train/src}/object_detection/box_coders/BUILD (100%) rename {src/object_detection/data_decoders => train/src/object_detection/box_coders}/__init__.py (100%) rename {src => train/src}/object_detection/box_coders/faster_rcnn_box_coder.py (100%) rename {src => train/src}/object_detection/box_coders/faster_rcnn_box_coder_test.py (100%) rename {src => train/src}/object_detection/box_coders/keypoint_box_coder.py (100%) rename {src => train/src}/object_detection/box_coders/keypoint_box_coder_test.py (100%) rename {src => train/src}/object_detection/box_coders/mean_stddev_box_coder.py (100%) rename {src => train/src}/object_detection/box_coders/mean_stddev_box_coder_test.py (100%) rename {src => train/src}/object_detection/box_coders/square_box_coder.py (100%) rename {src => train/src}/object_detection/box_coders/square_box_coder_test.py (100%) rename {src => train/src}/object_detection/builders/BUILD (100%) rename {src/object_detection/matchers => train/src/object_detection/builders}/__init__.py (100%) rename {src => train/src}/object_detection/builders/anchor_generator_builder.py (100%) rename {src => train/src}/object_detection/builders/anchor_generator_builder_test.py (100%) rename {src => train/src}/object_detection/builders/box_coder_builder.py (100%) rename {src => train/src}/object_detection/builders/box_coder_builder_test.py (100%) rename {src => train/src}/object_detection/builders/box_predictor_builder.py (100%) rename {src => train/src}/object_detection/builders/box_predictor_builder_test.py (100%) rename {src => train/src}/object_detection/builders/hyperparams_builder.py (100%) rename {src => train/src}/object_detection/builders/hyperparams_builder_test.py (100%) rename {src => train/src}/object_detection/builders/image_resizer_builder.py (100%) rename {src => train/src}/object_detection/builders/image_resizer_builder_test.py (100%) rename {src => train/src}/object_detection/builders/input_reader_builder.py (100%) rename {src => train/src}/object_detection/builders/input_reader_builder_test.py (100%) rename {src => train/src}/object_detection/builders/losses_builder.py (100%) rename {src => train/src}/object_detection/builders/losses_builder_test.py (100%) rename {src => train/src}/object_detection/builders/matcher_builder.py (100%) rename {src => train/src}/object_detection/builders/matcher_builder_test.py (100%) rename {src => train/src}/object_detection/builders/model_builder.py (100%) rename {src => train/src}/object_detection/builders/model_builder_test.py (100%) rename {src => train/src}/object_detection/builders/optimizer_builder.py (100%) rename {src => train/src}/object_detection/builders/optimizer_builder_test.py (100%) rename {src => train/src}/object_detection/builders/post_processing_builder.py (100%) rename {src => train/src}/object_detection/builders/post_processing_builder_test.py (100%) rename {src => train/src}/object_detection/builders/preprocessor_builder.py (100%) rename {src => train/src}/object_detection/builders/preprocessor_builder_test.py (100%) rename {src => train/src}/object_detection/builders/region_similarity_calculator_builder.py (100%) rename {src => train/src}/object_detection/builders/region_similarity_calculator_builder_test.py (100%) rename {src => train/src}/object_detection/core/BUILD (100%) rename {src/object_detection/meta_architectures => train/src/object_detection/core}/__init__.py (100%) rename {src => train/src}/object_detection/core/anchor_generator.py (100%) rename {src => train/src}/object_detection/core/balanced_positive_negative_sampler.py (100%) rename {src => train/src}/object_detection/core/balanced_positive_negative_sampler_test.py (100%) rename {src => train/src}/object_detection/core/batcher.py (100%) rename {src => train/src}/object_detection/core/batcher_test.py (100%) rename {src => train/src}/object_detection/core/box_coder.py (100%) rename {src => train/src}/object_detection/core/box_coder_test.py (100%) rename {src => train/src}/object_detection/core/box_list.py (100%) rename {src => train/src}/object_detection/core/box_list_ops.py (100%) rename {src => train/src}/object_detection/core/box_list_ops_test.py (100%) rename {src => train/src}/object_detection/core/box_list_test.py (100%) rename {src => train/src}/object_detection/core/box_predictor.py (100%) rename {src => train/src}/object_detection/core/box_predictor_test.py (100%) rename {src => train/src}/object_detection/core/data_decoder.py (100%) rename {src => train/src}/object_detection/core/keypoint_ops.py (100%) rename {src => train/src}/object_detection/core/keypoint_ops_test.py (100%) rename {src => train/src}/object_detection/core/losses.py (100%) rename {src => train/src}/object_detection/core/losses_test.py (100%) rename {src => train/src}/object_detection/core/matcher.py (100%) rename {src => train/src}/object_detection/core/matcher_test.py (100%) rename {src => train/src}/object_detection/core/minibatch_sampler.py (100%) rename {src => train/src}/object_detection/core/minibatch_sampler_test.py (100%) rename {src => train/src}/object_detection/core/model.py (100%) rename {src => train/src}/object_detection/core/post_processing.py (100%) rename {src => train/src}/object_detection/core/post_processing_test.py (100%) rename {src => train/src}/object_detection/core/prefetcher.py (100%) rename {src => train/src}/object_detection/core/prefetcher_test.py (100%) rename {src => train/src}/object_detection/core/preprocessor.py (100%) rename {src => train/src}/object_detection/core/preprocessor_test.py (100%) rename {src => train/src}/object_detection/core/region_similarity_calculator.py (100%) rename {src => train/src}/object_detection/core/region_similarity_calculator_test.py (100%) rename {src => train/src}/object_detection/core/standard_fields.py (100%) rename {src => train/src}/object_detection/core/target_assigner.py (100%) rename {src => train/src}/object_detection/core/target_assigner_test.py (100%) rename {src => train/src}/object_detection/create_pascal_tf_record.py (100%) rename {src => train/src}/object_detection/create_pascal_tf_record_test.py (100%) rename {src => train/src}/object_detection/create_pet_tf_record.py (100%) rename {src => train/src}/object_detection/data/mscoco_label_map.pbtxt (100%) rename {src => train/src}/object_detection/data/pascal_label_map.pbtxt (100%) rename {src => train/src}/object_detection/data/pet_label_map.pbtxt (100%) rename {src => train/src}/object_detection/data_decoders/BUILD (100%) rename {src/object_detection/models => train/src/object_detection/data_decoders}/__init__.py (100%) rename {src => train/src}/object_detection/data_decoders/tf_example_decoder.py (100%) rename {src => train/src}/object_detection/data_decoders/tf_example_decoder_test.py (100%) rename {src => train/src}/object_detection/detect.py (100%) rename {src => train/src}/object_detection/eval.py (100%) rename {src => train/src}/object_detection/eval_util.py (100%) rename {src => train/src}/object_detection/evaluator.py (100%) rename {src => train/src}/object_detection/export_inference_graph.py (100%) rename {src => train/src}/object_detection/exporter.py (100%) rename {src => train/src}/object_detection/exporter_test.py (100%) rename {src => train/src}/object_detection/g3doc/configuring_jobs.md (100%) rename {src => train/src}/object_detection/g3doc/defining_your_own_model.md (100%) rename {src => train/src}/object_detection/g3doc/detection_model_zoo.md (100%) rename {src => train/src}/object_detection/g3doc/exporting_models.md (100%) rename {src => train/src}/object_detection/g3doc/img/dogs_detections_output.jpg (100%) rename {src => train/src}/object_detection/g3doc/img/example_cat.jpg (100%) rename {src => train/src}/object_detection/g3doc/img/kites_detections_output.jpg (100%) rename {src => train/src}/object_detection/g3doc/img/oxford_pet.png (100%) rename {src => train/src}/object_detection/g3doc/img/tensorboard.png (100%) rename {src => train/src}/object_detection/g3doc/img/tensorboard2.png (100%) rename {src => train/src}/object_detection/g3doc/installation.md (100%) rename {src => train/src}/object_detection/g3doc/preparing_inputs.md (100%) rename {src => train/src}/object_detection/g3doc/running_locally.md (100%) rename {src => train/src}/object_detection/g3doc/running_notebook.md (100%) rename {src => train/src}/object_detection/g3doc/running_on_cloud.md (100%) rename {src => train/src}/object_detection/g3doc/running_pets.md (100%) rename {src => train/src}/object_detection/g3doc/using_your_own_dataset.md (100%) rename {src => train/src}/object_detection/matchers/BUILD (100%) rename {src/object_detection/protos => train/src/object_detection/matchers}/__init__.py (100%) rename {src => train/src}/object_detection/matchers/argmax_matcher.py (100%) rename {src => train/src}/object_detection/matchers/argmax_matcher_test.py (100%) rename {src => train/src}/object_detection/matchers/bipartite_matcher.py (100%) rename {src => train/src}/object_detection/matchers/bipartite_matcher_test.py (100%) rename {src => train/src}/object_detection/meta_architectures/BUILD (100%) rename {src/object_detection/utils => train/src/object_detection/meta_architectures}/__init__.py (100%) rename {src => train/src}/object_detection/meta_architectures/faster_rcnn_meta_arch.py (100%) rename {src => train/src}/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py (100%) rename {src => train/src}/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py (100%) rename {src => train/src}/object_detection/meta_architectures/rfcn_meta_arch.py (100%) rename {src => train/src}/object_detection/meta_architectures/rfcn_meta_arch_test.py (100%) rename {src => train/src}/object_detection/meta_architectures/ssd_meta_arch.py (100%) rename {src => train/src}/object_detection/meta_architectures/ssd_meta_arch_test.py (100%) rename {src => train/src}/object_detection/models/BUILD (100%) create mode 100644 train/src/object_detection/models/__init__.py rename {src => train/src}/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py (100%) rename {src => train/src}/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py (100%) rename {src => train/src}/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py (100%) rename {src => train/src}/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py (100%) rename {src => train/src}/object_detection/models/feature_map_generators.py (100%) rename {src => train/src}/object_detection/models/feature_map_generators_test.py (100%) rename {src => train/src}/object_detection/models/ssd_feature_extractor_test.py (100%) rename {src => train/src}/object_detection/models/ssd_inception_v2_feature_extractor.py (100%) rename {src => train/src}/object_detection/models/ssd_inception_v2_feature_extractor_test.py (100%) rename {src => train/src}/object_detection/models/ssd_mobilenet_v1_feature_extractor.py (100%) rename {src => train/src}/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py (100%) rename {src => train/src}/object_detection/object_detection_tutorial.ipynb (100%) rename {src => train/src}/object_detection/object_detection_tutorial.py (100%) rename {src => train/src}/object_detection/protos/BUILD (100%) create mode 100644 train/src/object_detection/protos/__init__.py rename {src => train/src}/object_detection/protos/anchor_generator.proto (100%) rename {src => train/src}/object_detection/protos/anchor_generator_pb2.py (100%) rename {src => train/src}/object_detection/protos/argmax_matcher.proto (100%) rename {src => train/src}/object_detection/protos/argmax_matcher_pb2.py (100%) rename {src => train/src}/object_detection/protos/bipartite_matcher.proto (100%) rename {src => train/src}/object_detection/protos/bipartite_matcher_pb2.py (100%) rename {src => train/src}/object_detection/protos/box_coder.proto (100%) rename {src => train/src}/object_detection/protos/box_coder_pb2.py (100%) rename {src => train/src}/object_detection/protos/box_predictor.proto (100%) rename {src => train/src}/object_detection/protos/box_predictor_pb2.py (100%) rename {src => train/src}/object_detection/protos/eval.proto (100%) rename {src => train/src}/object_detection/protos/eval_pb2.py (100%) rename {src => train/src}/object_detection/protos/faster_rcnn.proto (100%) rename {src => train/src}/object_detection/protos/faster_rcnn_box_coder.proto (100%) rename {src => train/src}/object_detection/protos/faster_rcnn_box_coder_pb2.py (100%) rename {src => train/src}/object_detection/protos/faster_rcnn_pb2.py (100%) rename {src => train/src}/object_detection/protos/grid_anchor_generator.proto (100%) rename {src => train/src}/object_detection/protos/grid_anchor_generator_pb2.py (100%) rename {src => train/src}/object_detection/protos/hyperparams.proto (100%) rename {src => train/src}/object_detection/protos/hyperparams_pb2.py (100%) rename {src => train/src}/object_detection/protos/image_resizer.proto (100%) rename {src => train/src}/object_detection/protos/image_resizer_pb2.py (100%) rename {src => train/src}/object_detection/protos/input_reader.proto (100%) rename {src => train/src}/object_detection/protos/input_reader_pb2.py (100%) rename {src => train/src}/object_detection/protos/losses.proto (100%) rename {src => train/src}/object_detection/protos/losses_pb2.py (100%) rename {src => train/src}/object_detection/protos/matcher.proto (100%) rename {src => train/src}/object_detection/protos/matcher_pb2.py (100%) rename {src => train/src}/object_detection/protos/mean_stddev_box_coder.proto (100%) rename {src => train/src}/object_detection/protos/mean_stddev_box_coder_pb2.py (100%) rename {src => train/src}/object_detection/protos/model.proto (100%) rename {src => train/src}/object_detection/protos/model_pb2.py (100%) rename {src => train/src}/object_detection/protos/model_pb2.pyc (100%) rename {src => train/src}/object_detection/protos/optimizer.proto (100%) rename {src => train/src}/object_detection/protos/optimizer_pb2.py (100%) rename {src => train/src}/object_detection/protos/pipeline.proto (100%) rename {src => train/src}/object_detection/protos/pipeline_pb2.py (100%) rename {src => train/src}/object_detection/protos/post_processing.proto (100%) rename {src => train/src}/object_detection/protos/post_processing_pb2.py (100%) rename {src => train/src}/object_detection/protos/preprocessor.proto (100%) rename {src => train/src}/object_detection/protos/preprocessor_pb2.py (100%) rename {src => train/src}/object_detection/protos/region_similarity_calculator.proto (100%) rename {src => train/src}/object_detection/protos/region_similarity_calculator_pb2.py (100%) rename {src => train/src}/object_detection/protos/square_box_coder.proto (100%) rename {src => train/src}/object_detection/protos/square_box_coder_pb2.py (100%) rename {src => train/src}/object_detection/protos/ssd.proto (100%) rename {src => train/src}/object_detection/protos/ssd_anchor_generator.proto (100%) rename {src => train/src}/object_detection/protos/ssd_anchor_generator_pb2.py (100%) rename {src => train/src}/object_detection/protos/ssd_pb2.py (100%) create mode 100644 train/src/object_detection/protos/string_int_label_map.proto create mode 100644 train/src/object_detection/protos/string_int_label_map_pb2.py rename {src => train/src}/object_detection/protos/train.proto (100%) rename {src => train/src}/object_detection/protos/train_pb2.py (100%) rename {src => train/src}/object_detection/samples/cloud/cloud.yml (100%) rename {src => train/src}/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/faster_rcnn_resnet101_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config (100%) rename {src => train/src}/object_detection/samples/configs/faster_rcnn_resnet152_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/faster_rcnn_resnet50_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/rfcn_resnet101_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/ssd_inception_v2_pets.config (100%) rename {src => train/src}/object_detection/samples/configs/ssd_mobilenet_v1_pets.config (100%) rename {src => train/src}/object_detection/test_images/Screenshot from 2017-07-06 16:36:56.png (100%) rename {src => train/src}/object_detection/test_images/image1.jpg (100%) rename {src => train/src}/object_detection/test_images/image1.png (100%) rename {src => train/src}/object_detection/test_images/image2.jpg (100%) rename {src => train/src}/object_detection/test_images/image2.png (100%) rename {src => train/src}/object_detection/test_images/image3.jpg (100%) rename {src => train/src}/object_detection/test_images/image3.png (100%) rename {src => train/src}/object_detection/test_images/image4.jpg (100%) rename {src => train/src}/object_detection/test_images/image5.jpg (100%) rename {src => train/src}/object_detection/test_images/image55.jpg (100%) rename {src => train/src}/object_detection/test_images/image6.jpg (100%) rename {src => train/src}/object_detection/test_images/image_info.txt (100%) rename {src => train/src}/object_detection/testcamera.py (100%) rename {src => train/src}/object_detection/train.py (100%) rename {src => train/src}/object_detection/trainer.py (100%) rename {src => train/src}/object_detection/trainer_test.py (100%) rename {src => train/src}/object_detection/utils/BUILD (100%) create mode 100644 train/src/object_detection/utils/__init__.py rename {src => train/src}/object_detection/utils/category_util.py (100%) rename {src => train/src}/object_detection/utils/category_util_test.py (100%) rename {src => train/src}/object_detection/utils/dataset_util.py (100%) rename {src => train/src}/object_detection/utils/dataset_util_test.py (100%) create mode 100644 train/src/object_detection/utils/label_map_util.py rename {src => train/src}/object_detection/utils/label_map_util_test.py (100%) rename {src => train/src}/object_detection/utils/learning_schedules.py (100%) rename {src => train/src}/object_detection/utils/learning_schedules_test.py (100%) rename {src => train/src}/object_detection/utils/metrics.py (100%) rename {src => train/src}/object_detection/utils/metrics_test.py (100%) rename {src => train/src}/object_detection/utils/np_box_list.py (100%) rename {src => train/src}/object_detection/utils/np_box_list_ops.py (100%) rename {src => train/src}/object_detection/utils/np_box_list_ops_test.py (100%) rename {src => train/src}/object_detection/utils/np_box_list_test.py (100%) rename {src => train/src}/object_detection/utils/np_box_ops.py (100%) rename {src => train/src}/object_detection/utils/np_box_ops_test.py (100%) rename {src => train/src}/object_detection/utils/object_detection_evaluation.py (100%) rename {src => train/src}/object_detection/utils/object_detection_evaluation_test.py (100%) rename {src => train/src}/object_detection/utils/ops.py (100%) rename {src => train/src}/object_detection/utils/ops_test.py (100%) rename {src => train/src}/object_detection/utils/per_image_evaluation.py (100%) rename {src => train/src}/object_detection/utils/per_image_evaluation_test.py (100%) rename {src => train/src}/object_detection/utils/shape_utils.py (100%) rename {src => train/src}/object_detection/utils/shape_utils_test.py (100%) rename {src => train/src}/object_detection/utils/static_shape.py (100%) rename {src => train/src}/object_detection/utils/static_shape_test.py (100%) rename {src => train/src}/object_detection/utils/test_utils.py (100%) rename {src => train/src}/object_detection/utils/test_utils_test.py (100%) rename {src => train/src}/object_detection/utils/variables_helper.py (100%) rename {src => train/src}/object_detection/utils/variables_helper_test.py (100%) create mode 100644 train/src/object_detection/utils/visualization_utils.py rename {src => train/src}/object_detection/utils/visualization_utils_test.py (100%) diff --git a/README.md b/README.md index 604c67e..5e28beb 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,17 @@ To run Default SSD (Single Shot Detection) algorithm: 1. Install ROS: http://wiki.ros.org/kinetic/Installation/Ubuntu -2. Install camera dependencies +2. Install any one of the following camera dependencies - `sudo apt-get install ros-kinetic-usb_cam ros-kinetic-openni2-launch` + `sudo apt install ros-kinetic-openni2-launch` (for openni2 supported camera) + + OR + + `sudo apt install ros-kinetic-usb-cam` (usb camera / webcam) + + OR + + `sudo apt install ros-kinetic-cv-camera` (usb camera / webcam) 3. Install tensorflow into python virtualenv: https://www.tensorflow.org/install/install_linux @@ -38,7 +46,7 @@ To run Default SSD (Single Shot Detection) algorithm: `git clone https://github.com/osrf/tensorflow_object_detector.git` -6. Build tensorflow_object_detector and Vision message +6. Build tensorflow_object_detector and Vision message `cd ~/catkin_ws && catkin_make` @@ -54,11 +62,12 @@ To run Default SSD (Single Shot Detection) algorithm: `roslaunch tensorflow_object_detector usb_cam_detector.launch` + OR + `roslaunch tensorflow_object_detector cv_camera_detector.launch` If you want to try any other ML model: 1. Download any Object Detection Models from the Tensorflow Object detection API and place it in `data/models/`. You can find the models in tensorflow Object Detection Model Zoo: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/detection_model_zoo.md. Extract the `tar.gz` file. -2. Edit the MODEL_NAME and LABEL_NAME in detect_ros.py. By default it is `ssd_mobilenet_v1_coco_11_06_2017` with `mscoco_label_map.pbtxt` respectively. - +2. Edit the MODEL_NAME and LABEL_NAME in detect_ros.py. By default it is `ssd_mobilenet_v1_coco_11_06_2017` with `mscoco_label_map.pbtxt` respectively. diff --git a/CMakeLists.txt b/detector/CMakeLists.txt similarity index 100% rename from CMakeLists.txt rename to detector/CMakeLists.txt diff --git a/config/display.rviz b/detector/config/display.rviz similarity index 100% rename from config/display.rviz rename to detector/config/display.rviz diff --git a/data/.gitignore b/detector/data/.gitignore similarity index 100% rename from data/.gitignore rename to detector/data/.gitignore diff --git a/data/labels/mscoco_label_map.pbtxt b/detector/data/labels/mscoco_label_map.pbtxt similarity index 100% rename from data/labels/mscoco_label_map.pbtxt rename to detector/data/labels/mscoco_label_map.pbtxt diff --git a/data/labels/pascal_label_map.pbtxt b/detector/data/labels/pascal_label_map.pbtxt similarity index 100% rename from data/labels/pascal_label_map.pbtxt rename to detector/data/labels/pascal_label_map.pbtxt diff --git a/data/labels/pet_label_map.pbtxt b/detector/data/labels/pet_label_map.pbtxt similarity index 100% rename from data/labels/pet_label_map.pbtxt rename to detector/data/labels/pet_label_map.pbtxt diff --git a/data/models/readme.md b/detector/data/models/readme.md similarity index 100% rename from data/models/readme.md rename to detector/data/models/readme.md diff --git a/detector/launch/cv_camera_detector.launch b/detector/launch/cv_camera_detector.launch new file mode 100644 index 0000000..1703fd7 --- /dev/null +++ b/detector/launch/cv_camera_detector.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/launch/object_detect.launch b/detector/launch/object_detect.launch similarity index 100% rename from launch/object_detect.launch rename to detector/launch/object_detect.launch diff --git a/launch/usb_cam_detector.launch b/detector/launch/usb_cam_detector.launch similarity index 92% rename from launch/usb_cam_detector.launch rename to detector/launch/usb_cam_detector.launch index e1e4135..7265e16 100644 --- a/launch/usb_cam_detector.launch +++ b/detector/launch/usb_cam_detector.launch @@ -1,5 +1,5 @@ - + diff --git a/package.xml b/detector/package.xml similarity index 100% rename from package.xml rename to detector/package.xml diff --git a/scripts/detect_ros.py b/detector/scripts/detect_ros.py similarity index 100% rename from scripts/detect_ros.py rename to detector/scripts/detect_ros.py diff --git a/setup.py b/detector/setup.py similarity index 100% rename from setup.py rename to detector/setup.py diff --git a/src/object_detection/__init__.py b/detector/src/object_detection/__init__.py similarity index 100% rename from src/object_detection/__init__.py rename to detector/src/object_detection/__init__.py diff --git a/src/object_detection/anchor_generators/__init__.py b/detector/src/object_detection/protos/__init__.py similarity index 100% rename from src/object_detection/anchor_generators/__init__.py rename to detector/src/object_detection/protos/__init__.py diff --git a/src/object_detection/protos/string_int_label_map.proto b/detector/src/object_detection/protos/string_int_label_map.proto similarity index 100% rename from src/object_detection/protos/string_int_label_map.proto rename to detector/src/object_detection/protos/string_int_label_map.proto diff --git a/src/object_detection/protos/string_int_label_map_pb2.py b/detector/src/object_detection/protos/string_int_label_map_pb2.py similarity index 100% rename from src/object_detection/protos/string_int_label_map_pb2.py rename to detector/src/object_detection/protos/string_int_label_map_pb2.py diff --git a/src/object_detection/box_coders/__init__.py b/detector/src/object_detection/utils/__init__.py similarity index 100% rename from src/object_detection/box_coders/__init__.py rename to detector/src/object_detection/utils/__init__.py diff --git a/src/object_detection/utils/label_map_util.py b/detector/src/object_detection/utils/label_map_util.py similarity index 100% rename from src/object_detection/utils/label_map_util.py rename to detector/src/object_detection/utils/label_map_util.py diff --git a/src/object_detection/utils/visualization_utils.py b/detector/src/object_detection/utils/visualization_utils.py similarity index 100% rename from src/object_detection/utils/visualization_utils.py rename to detector/src/object_detection/utils/visualization_utils.py diff --git a/src/object_detection/__init__.pyc b/src/object_detection/__init__.pyc deleted file mode 100644 index 2bbb6dedd15bd365c4bfd1f42e86b9c27a00967a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmZSn%*(Y?H#ahw0SXv_v;zC_X(kFSRJKB)_OwKR!M)FS8^*Uaz3C Vgac@b4Nz-oPO2Tqu3{i&007ouBcuQT diff --git a/src/object_detection/anchor_generators/grid_anchor_generator.pyc b/src/object_detection/anchor_generators/grid_anchor_generator.pyc deleted file mode 100644 index 9b047eb3b020d980f1448c61171572284e69e299..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8130 zcmcgx>uwvz6&{kh+l~~~jvb^;CvMTw07Y495*R|A#&Hri7pTSB2oR~tX2l(nD=)e9 z&eD!7iatSKqmNLaK>xPicV>9As5mvEQrh9}>|D;A>vs+-|GKjDx3$if z4dp)-e7}#&K0y;JwS%^#;<8FhYNsss6_r+0XGZPJs1o1J$n&h)nRU;zDxFiEd9^c- z=Q(9&)WL#kV&J^`R;g!7eYvx!;srkJEU9==ZZ2_;ht(x+{cki6OxNU5VXSWDNvxx8 zqn+heXI)*ijc%sLINu-5jj2h9$Q2 zqwFxsW2*xbrE8Cpj?ur{KQN6#e`pGPC7|LkDcX47;{EUQte4p+)!U{x%<{+f=F-D< zls!qhEez?_^k-4h;lpoDO$V8^`azQ0cG7rU!@*+xX%cny!+y8El>7&u?P>`OC|1z8 zV}~urj4XF=7Vu_2I||dp7Osa<%X+r>5xyUQU-yJvo)K9-lC7q!lJc7KQiN=Sht*45>OC|gmPbxrS#v0|sL-wCsp)Fl zh*HRtCys27?1X@m%+_020iS>T#^3yNaHHODkYZjlxbEY!e@AmtAz_afRQ`r&WJ$Hk z>a?P|U|UHYlsSMm74=N|PvjsR{~6T`{~SLvHXZ|pQ%WVgI>C|M7JsCM@_7Qc@>Mg_sKhaD$$T+{`Huz@B+7%NuZe7TV5(Sp(tS&$_nA`;7wZ(NhEnt=9P5 z%UgC!?zHFT7RFNzG#FlOrdd?n@^5N7HqEG?7I&++>+jU`M*Vh8Z`N<$^7EYtLMMW0 z%S_1VMXT*c)`VVLZSsxT((Lg%pxHxvZJVUkE^08I7}itul<;JepK5Blt)jiQ2}8$` zezhrQ9MQ15`OdpI%scPy4NoHqAA*TVjLqYu*)+N7HVoZE!*t;utlo!t8YtozX;wG0 zTu1Ri#6i;u5(fkWPiXj7zmT{M(6(`gw5-{*rr7etP+oLoj%Ci9h<%(f54|BIV(@h8 z`n?`pUuv3#HmT|06oa)%cMZEFR@-*gPh&7Ze`E5D3r=6GX`-T^8{PGe%n_D#;cmaU z_xUFu>RuGb^kg(*L!-`3!}JQ+_c;qD2K!R}HND?2bSFB-;_$j$hx~-sgj;CzQ@Vn# zPMSKyQO_Z7uscp9uK%nk3e&Y&KBg&9`rBSh5(U4S(5)7;XyW3yXA<0~?dl>s>0-7s z9KFn^W*I~F8q!?p(-fIXyHLyW;YeLr#F_ecIdfmdt6 zuhoEx0EytoOw?#=bHvyR6B`(FC+g`Uqw)75OT<)U-dIV?*Is<)Yu)U31>Dr-b(NPQ}%VSyao@{ZlJ(h)L zMhjsZME2MJAg}{40w#Qbs1N;Ekam$P^6jiTom0h-P zU_x-o3Gf6Kydv!@(k`oK^H4VO!TuQ>8OLLdEKNOVg~IJ;{jPX$07!r_rx)T(5ucr% z+bL+n>rx0^3T->;83CVLL+sIufM}`EaF|cwLUkG)L#1ks}aj zTM?FyGu_RwYxLBJ7qakiLr%EkILp`idu@OPp+Q`dQPP9Zfg%hS9(XC~NW>j(LQSXB ztUG=11)gf;V(Jp(C9|qZ@TV6`Y$AcZVI(T6eyq(Y)x$JjQ*;K(%wjMst=pl37^SS>n|bO4QQz>FziZ@{=L1}hP*;O5hL zQqZ%Jz%VIHr{D?_eVyG1!SXEDBd;Aa3E5k$V)z7ZknW2Opd@&Zvzmu^us=tmR+mew z0048Px6!Tu2CM=ST*Grk{^oEeF$bQQpK0mfi{5Wn7ckR<5Q*WTFenTGZTgTy=)hYT zXN@on2m^zwY_74n&gK_rM(nvLkRhn%O>AW;ARN8om{2KQervI^xY(d8XEr~~d%uL~ zAglprAge^|IYn4OSesYZnBA7t>sL<^Vx;FPd&=xtlqnL=kPIVgU?S%(sT2GogXKKL z6MkPuFE<#DmZ2Pt5aps2*W_q?Uq>%Y=K%RE-YpHn+9j^-`xp7jhr7$_^va+gWDdu_ zqE44(SH!esb#jGSHi9hD?Po~CR|c;T`d^*w$9U|! z!hQ~0RWPdq@L-kv@R4&LOuwHa1v2nIG+SgY2xVh1&E=QKUeb(7kgIhduqBB*OCa*mZccvz!@9N#n+GcHIeREHDOeDY=$2l~fr=TM@ zpqCMHO8~G`*4~2!ad{Po)QJ^N8 z7`nPjFUk?wrQ!ihcWBZStiZlR`#zI%dhFQlvPG90B10I=6#_;Dr?JhpTs;S7!4>&} zMHb#4L(5PQkW9V`71IE5{GwE%T)X7lm26}^q4)gdj=ukL&K3x+Hr8T2EQPrp!QCDh z47H@Gkx-|;IDuqLBEfNV>Z|}J>+sM-{2c5tsJ5NA#e{14ogf5$M*Det<4(^0JlgTR zb*CD$j)9rEO&v7UL(pWN^rO^~{Ji>2ugC396y#`#{J4{OY0>)$mVrI`I?99&y>zWj z6vyxA_Vw*prA-PhFC^q*Dr-MrUCraVAF8Sb=RdusW>Lv`nZnwcvf6j@eWD)m63L8% z<4gnudPhgV;uSmzLKl!PzbiN}P55J<F$r@8wd1xfCzT z?mjL{@a;ja)BsUVxq1Vz75J35*NF}V=RK56zyBDfBJein=>7!8aT_f|<=dU&OBC^d{hJXZ1|D&x}E-Dzz@fr|I7lY~+h+ rSuRPNsCYnnMkl_gEK$7PuU+c;9uH;dB<9MO%PUBrS1PaXF246)AU@Bj diff --git a/src/object_detection/anchor_generators/multiple_grid_anchor_generator.pyc b/src/object_detection/anchor_generators/multiple_grid_anchor_generator.pyc deleted file mode 100644 index 5a9096ae2aadceac77d659cd826daaa034770776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11752 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 diff --git a/src/object_detection/box_coders/faster_rcnn_box_coder.pyc b/src/object_detection/box_coders/faster_rcnn_box_coder.pyc deleted file mode 100644 index 9bf37992c6eea62b1e99c3f8249e4af50d3e2daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3844 zcmcInZEqVz5S}|bPU0qM=?h7DT?r5_q;@Lt8eRl_0U;p+7a>I2>U24;eV3l^%L+MEoEA1pfg(@|7O|&&;0PmR6NO^wJye&d$!x&OOiUw)W>{^OwuRuVbp78h$^( zYrcf&5gkH$)blCx=+KvTjj|dI>vUKrkH_lLU!lVl^zqZ6UW0U=N6JE7cgP zam1=|qD!qNyK1_t#=9!Pnt5Th1cT6DHY(ORZze8^60t>A8(5}2o2V%7sYIuP#KKXj z%}B>K{Z?nwwmL|MX%>|kyiOuG$2-QG@Sc|bqdZQEa=8SYJaUmX_PL7$;2q1_2;l*5 zmvzqB?y)lo{J~)F548!)1FcnJ?P$N#iONa(ZM!H3o#@DPuDrhYMtkqdYj3}auT)|+ z8>N|PH`BlHbX)k;WY-~(sZc($Q!x-&m8HfG_J7*@{pab8_w89|9Rh+l¯YYdAe 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 LjcdWRM!WfcfTda? diff --git a/src/object_detection/builders/__init__.pyc b/src/object_detection/builders/__init__.pyc deleted file mode 100644 index b102acb052a5b8f3e6d180162b107a6b4611bfb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmZSn%*(Y?H#ahw0SXv_v;zK0Y%qvm`!Vub{Go1E|>ssG~F| M)edAuF%UBV0B?jJ;Q#;t diff --git a/src/object_detection/builders/anchor_generator_builder.pyc b/src/object_detection/builders/anchor_generator_builder.pyc deleted file mode 100644 index 75c42b0e31d617a842aabf8cab48df16719b61f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2010 zcmcIl&2HO95FV0}9LZMXI6p0rqTS}C93lZhPDT*aZH@Gl01VKg23mq5m*OfUSK*G3 zxQH)tUaIFlQXin58B$gwxxJMHXLsjsXTOeMck(I3wyo z>OBE^19kbqhD7$dhrF9oRl3@?h9=sawv9nVmCn{T22^w1|v}(38 zMXKUT+1WxTs8WqIurRKY+}3KYD_zG(v#hqIN^F&x`NaH1&)6e(c$dh$HfhutL{|ol z_)8L(s{+lk(9wVB-66eg57Bb=IN?pY^c~R0U^w=R0Pl%B#YMI1uuwGZ_lY_jOWg$LM$1>w?xIcbuUJ^22YBe?JZZ@_!8`PGLvArOSEM!(Sr zL?d9YtbvRzI~WMvhq({wp3Dz~4uwNbN#~}}5pyn~`-+3Pim)#ce(o{z5H31^w_tGu zDf#Wd;x?rFGPwgO`6bR>4vi;$NQW}HCr%lKn=K0Ih|+$@h&?34zU4$a&h$=VXR*_% z;(EySI>Cd1QYZD?9n+{!gYB`MPQF-gVAwrEM0H1h7ZMC2^r04q4SLsr@2q zIAa}h^7w@7)^g@I-KYr;kwfacPdGNqoJQnka&EUJaX^AIJn;qlEiR*fwOBV+o1@Ar$CJ-Ly*EM#xZKdo`{V z*h7;e_WI8v!TT(_Ce^L!n8YAN>Ux^nQcr7}8=RIl)rFfjjT&8D{8RZQP<2dq!fhp! z<+%VWOFox-!n+K6-hnsrd)~JjxG>PBYWgfDcl5RJyTnibLSg{EAa!8j!kr8H zF&K}I?#_X)4hU;qH0UHzgXj0b1+@UvghdOI2JKxS->#TW#T-;j7iJB(17}Q2w?It` z^c~D0ERN6&yXKZP{{+*6#c|~a`N9t}g&$;2VCGqP3cFo~opi8b2b5wD6TYAtX%^ip zNm;FFq8~TGYz#b{QL~nLfuqBXdy~q*TgtHmY_0N=fX75*8PjC=;2OS>R$l zOQj;wf-!6qohfv_Z4>J*;AX8v>G49|UfKrQ3G-fXL6m7;E`A&3YksAaROjqQFuq)w zO%2X$d_MZt&+%CHb74XnCR1iMD|-%QqS!Qk6@+h2b~Z}EWg4K0YJ>+JM>!AEC^k~* zfVwQ8k<`?mSG%$J*8|d;E|N@VLYqj$Jn%?IQ&xGj3+lA2_->xX^PAfBDXxEQhbO?< z+3swkdK2214Dq)me}w#;XS2B}6^E$!oF!&n$To08pl@*G#&+T=P@9iAM%&oVTctMy znsYI$K#IAg6sLPFGe8|!qDROL=W@x1O3pJgTwd(2 zLUcmi{SX=b1PSy`ofG%WIVj)0dxTuqsWg4}+FoV$Si&%oaTuCMxNqOHzjdf>mFt=s oa`w-1+hE#OF?fIr>RkV4!W~3@foHYO`Ad8CQ4_VCe(`#L0m4R-*Z=?k diff --git a/src/object_detection/builders/box_predictor_builder.pyc b/src/object_detection/builders/box_predictor_builder.pyc deleted file mode 100644 index e0b0d9033f40b8209f3b6656456e09d7781c348c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3009 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 diff --git a/src/object_detection/builders/image_resizer_builder.pyc b/src/object_detection/builders/image_resizer_builder.pyc deleted file mode 100644 index 7cf60a353c16d997b2ea21359eb001647c1a5a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2013 zcmb_d&2A$_5Uw8oZ0t=)*yUeBYA(n~>{w!N5n2{jd)Uh&IS529llFAm)AmgFsJo35 zl)Y?t2cCs1kHD+&08rI4PU1}h9I!k!-Bn#bUsZKY=g+<2Z;z@Ub7+4FzMtabzd|Ab zj*&8u36uv*qI&mAJ?y|@0AUD=`+)G9^Kzqd!IC4gb?E@Dpo8C|gI#!)z?J?U$Q?LO zVDT2nL0s&ko8*Y%9kveTeatK6#Q%z=ih1=s7iB4?rTUk&4u_n7?dJXv-@HlxW%_b! zW_o_O%}p`u!E!rYs622y5`;EXt6Dfwsi2%Em(d*O!rWQXlw40#SUGd6_nA55&+Z11 za{gVRui+HsTAX275R}1Y;iKF-?2y_TNpT|>!9A`pSFwFQ!>A?p zV2q55*48bSKIgUdUQf$2zSg1OMy}+FGoz_@7C0k&38m_d-E@AK|yb`C^ z_Ul3!zErBtgeQAhyr`SrX>B8jl~d$TO<&MNn9x8_ zE)5TF7>UrrhseJ(82>R!{}D~td-FuYxsEvcp6OF1Ghc{WZKA|m4uGZ43Z>^o2!nRJ z)-n{)^$YWpD79?BHNy?(o~>!Hr7uSZs1S{4>_Q)e$<^d?%w2~c4_#G1Zht6rUVKaC zozRq@y~HJE^MX7&K5e1D=Ss$$Ia-;B+i=n z;TTVwFNq&-$I`OX`Yce~ar-_l{HI9Z;RCkc>9c({V12fW?>?>uY>02-(KBQtN?Xib zmPwmu*@PM;yo=<`C{nzrs!1(5xgm~Y)5pS2-opb|IR9_3J81n&%+;z?PpG#%F%V;N Izz#Zp0}P%-00000 diff --git a/src/object_detection/builders/losses_builder.pyc b/src/object_detection/builders/losses_builder.pyc deleted file mode 100644 index 8d250ed10e7618677f788f90e0fd8a046e5f4d97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4394 zcmd5<-EJF26rNrGBzD~<6bgvnjVQuEanuTd6rqYFYH1{sNb5o&5-c02!ukTSqc+v~&)JQ5-n2Z2NKah0mjY5;*PHS1Rg6Z8H>0 zr9$O&QrUOfGU-Hzjp%Rut6OlW%czWn=~u^nZ*Xv4kCHHj!?QNpOb^ut<{kJ}$}`E`a5lLcDoS9Zi5W*8^uo4o(Ba%r57Q)DHvOeM z^0MJ<&wswL1GCrUduL0U`71zPrWVZX@*s>3yL$0HX0DONl-p;tXnv>s63U*JWzXa6 zZ8&%4GMYP_zKkzBziPKm*HAx$%HvD!&BQ=4>c=s?X#DBPvOG38SNbtb&W~Q1cV*(@ zO{VO#@gi32$|S@!7UGVtZbxApXxiEwcs?kX7@|&K(ic!s2-%f!$(c(t?h;kx(paM* z>Qt$lsMfo(AFije8|n4F48mBgo15hYp~eNnHD2f4!&I%4f84>W-xwTe!Z3HAB!@4c z5~~HPW>Kl&f7x0=yUcy6+XOp0&{9ZxyisExyq*n>sfIVTD*#W#j zvn8J0ViuU6E%WSWM2u!F`3Gg79#aPV7e)GQ#vqu@wg5YtsqcAeIb#rAp?$%rpbro# z9i~cz3Qhr=f?ooVjxB;J@lJ4o4K9dNv2+6CGU(2u+9JA93rOJ{l(3Ku2n@Fj zySz{2l7oUXLs;Gja*OyN54r`nbHi!QF~VrcEC~?dr)!Mne zv%PtDXKz=Nljh#`W^-qs2V8=TOWfh22$yKfrDN0yA1tEgd*=Ym+fUXp`eFRY@az(c zyp5u+k=sjU>k2@e6}!xEt^v{n?lKn|E2GbQpZEO3U&Tj*DuHv^{+wVenRI#9nU!RC?d;X?|1KGmMMY?8;b6r3lgw#)70`VlDD zybwP0<6(F!O=Y^_>?KZ=+{dGh9&ck6Ak|fGBCy<;lSu8zjzj2S+wrSn`g{#m57rff z^Dyw@8;nvvX?JD%04MR}P!EQhHFs>K`Vt`b;_H0p$HPFeqDy|OKhQ@esaaqKVVVRw zQcud41MgKbte!+52F2o?nzMQw78HIheD~J}R+wNo+qwQRG_GE?X=1ifweZn)_R| z$6zETVKDxN#{UP5KWF-wfxE^^3UFU!F-7B&NPi?rO@P!XNEaBqfUyB@ZKSNfBfc?s zryp?UrcL3A(2#%Kp9j9vl1bO_KLhYv2<{vJoq(^#=o>K3l?%JwG0FeU`VeiN`uj+D^*N8mQpvOstb)yK7XjkP;=#AKiV4 z46af|_%V28W$PtF1 diff --git a/src/object_detection/builders/matcher_builder.pyc b/src/object_detection/builders/matcher_builder.pyc deleted file mode 100644 index 08243e2e068af1fae44e6e513c181103f7bdd332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1496 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 VjFgHK`ZqOFK0moq{_*6>e*qGH@5ulF diff --git a/src/object_detection/builders/post_processing_builder.pyc b/src/object_detection/builders/post_processing_builder.pyc deleted file mode 100644 index eb69beabe951f121a7de5fddc2410355961e6ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3894 zcmcInTW=dh6rQ!6I0-4K%C)Gf1__}&G@DW$kRnv*ogg)>?0{&hvR-@F_B!jC)y{0w zpz=a_;4ks7koW=coiiJ+vrbBpAkj`{=FFTq*YBJ(|GcpF`_}ZyK$JfX{QVlAd4?ep z;sB#3qJ~I4ae#@NH^f1c=S`8e#B@mI}PgdpqR7|^X|`Q5=^vx~tB@e-paCJphbAhFdLHMz*$+(|Nl@)L1~X8G$*6Ef^NIc58Jte!lQukrkiEWs z5u4sM*<D$+-EG7EE1;xtI?iHmxCi+E%)=0+weE3EP5 zu9bOgi(DCEq^2gAJxGh$qfDZmK^htZi5x>!OoJ%4F^7ri`LY|6sB?8*HbtzrsqGGb~qOsa^AD2{VKP>%?|w} zij__5@ikhQWHi+Yyaok_zEZx?LksoUT%}0ER3FJm4~i)+a$Zq@f?1f4c#louC`=!6LZ)II+_ z8R}l1>wHHh97c5$l%|o1Ax9?)VU?3HC<;jma~}Xwi|3O&N?Q(23fTG)K%4&ev+c2-#@o3bCw6Vg<%gIUvY@zf$=hf&y>*X1E-ZxpZ{g#@@*5^pG`NBu;?mWV zWkVdcM7~7@Cu&j+aYcp>qnKc9@_{`*(5eog3ZVp{_)OXY)s;?ibuC|M^G-uVDGY_qk@h#@EX_%l_~$G8Q>2U+Myh!C4+&K zR4}ZzVOm9sVN@hSRfPgHCaz3T{wA=q7||faA78=c$i7n#QxYdiKD~ZTe&%0)=9_PD z<@oU}x@ zA}k3a++f1;JfY15fC6r;h{>wxLSr=D4nMf1CM-4IR$0!WP!=qToKq?8@Rbv&1ckEw zczRAl;hGEAOFWY`-e$%eSwLlbj(vq5b+~qi-Uvx*R~Nx!R^)4vp_BS2lql4p(nqSU z6BlF(_V3Q2?`;y=b5ZSZ9b3V2_wK#D{oVa1mOO8VmiA8iGYmB`W?4ENkAzC9jQGr*F+;?ODzsKra~t z9ZG)AL)SY~m)ZG<_Na>2>#k2dwM+gF&LVS>FwVLJY@Bu-lBZIYXa8xTCwF~`PN7KS Yn-?+XTEFbAH`cw2-o@tXr>j@~20T=o4*&oF diff --git a/src/object_detection/builders/region_similarity_calculator_builder.pyc b/src/object_detection/builders/region_similarity_calculator_builder.pyc deleted file mode 100644 index 5e9b1f072fdd82d514142294abb5cb2bc43d1f31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 C79KYM diff --git a/src/object_detection/core/balanced_positive_negative_sampler.pyc b/src/object_detection/core/balanced_positive_negative_sampler.pyc deleted file mode 100644 index b4f2f08af9e6a2b40b713b80125d6ffb73a827f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3506 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 H>y7^cy(K$9 diff --git a/src/object_detection/core/box_list_ops.pyc b/src/object_detection/core/box_list_ops.pyc deleted file mode 100644 index 3eaf754f51713045036c99c151fdf1fbe203362c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37010 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 diff --git a/src/object_detection/core/box_predictor.pyc b/src/object_detection/core/box_predictor.pyc deleted file mode 100644 index 10cf792147dd54577ed30d089de92453891d47d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21002 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 SO<^wZU;F6N(ceG%SN{(mpCoSp diff --git a/src/object_detection/core/keypoint_ops.pyc b/src/object_detection/core/keypoint_ops.pyc deleted file mode 100644 index 73185e0baa6c69e2748fe5a1ece344ff3aa304e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9076 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 diff --git a/src/object_detection/core/losses.pyc b/src/object_detection/core/losses.pyc deleted file mode 100644 index 569a353ff57417cb60179a9968f85e84700d3b06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23219 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 z 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 diff --git a/src/object_detection/core/matcher.pyc b/src/object_detection/core/matcher.pyc deleted file mode 100644 index 73d75286f2f9df351b4804b2b0a782bd00dd37d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9192 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 Wey(4@I#Nt)*3Q<>)=xEFe*7OFYT}vz diff --git a/src/object_detection/core/minibatch_sampler.pyc b/src/object_detection/core/minibatch_sampler.pyc deleted file mode 100644 index fe80459d6df0608984f939bca985143cbbbac93f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3175 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 diff --git a/src/object_detection/core/post_processing.pyc b/src/object_detection/core/post_processing.pyc deleted file mode 100644 index a72b8caa29e3fc1011b38d544e0f81987cf21cfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11064 zcmeHNU2h!Mc|NmCQWQmrBB^gn&WY{Dl*128c2iVM-O6#(8jYQF=|rg%VKv-6D3IG+6zF|`0KLg&uL>kL1q!s!^PV#wyQE~N2+*P^mzZ+l76?NkcUP`%RUj zyQy9T>hI8|)HqOm{6h5^wck|P_hi8A^Z;1mX1}SrD{6mUWd}0oTy2mlsLTtMpUQyq z(*rye$J0OTH`MSK3a*401(!L6R{KjKvT%yXj1%R8aQY7!v{)N-PGxt3F`VjTy%SL5 zi`9U9R`uu97~Z|4UNqDfTg`w?Fqz^Y*zV@Z1?8K9vT0FF1)V_+#yGhsL+0grUX3rP zF@%5_mw1E6Js7#6PA;iErB0S)*aBH}FLVBjAUL_K#`7ZOd6oUM$bbQ8DF-amK{+U2 z7Aatr8I}EOkb}PHlR$?+?LqR3>dMKAI{Nn@hge1Tc!d&t^z_%kPaw#uI=Mnh<0}yU zs>&~^K197r$|u)EJoG_Y(fErGlnAse9V=9wF}14p8q%^#C7}i$G5-YuV_9Z`&vo?( zmj9a{kFTlz6_sCAecW7Ek5YcT4qOW9Jw`Vl3`mP=MNYlfAdqSQ>pV0>`!A znP@-QZju^8boD!NJAGBkHrJ#!KSQuL+O4YK)u00TfrO z@vO>zG~<<-Rbz-=Dl=P1rbPmTk(2>9kVO zlUbBKo$l%cUxV-{8jJ?oj)udGwJ}XL7Z$YstQVm&4)tDUOgD;;wKXwHq}3sY?pTwP zfGeA%wv&#MF6*ik&~-h`MhPB4C_D_0U8~M}VXk}ObEA9FUQd7g{U7SJD9IrZD2q%G zPGe%4+|?=W<8Y|gKEOOk*1HR0hf&_sVVs$;TS!zEZLL3sP*T>7)lt$lLxW3_L-^e^ z(Q?oMuQzh01PdDf?Gi49;VWhBm+GUdxkR@hh`XJ4L6iT z%#k5dxr%#gFps0NDGkoig}`9d_Do(SHy!RHq>Q0-*E3+}gklw+wsZ0WOb+7^K9&%s z&q>Aw$6A~o$}Ke$Yf2P)XWVsCN9pL*v?PlXbLc6Ykz+oSywDPzNcHESY|FeZvgiy6 zP$Akj`rNc(PiL|RW!0!0mKnObBr|1u(#X?1jD^x!^PT=B70Qf6kBdOq)E_d6`O`JK zA?g`|HXmi!zH!vl>~I%F1ratJR;Hbjs1rxS_93c7ddQHNid>)S%r5=pxIKuHb$#T% z@Dv`&Q+V{$ihcDd zOx9$o-a#eVGwn{AW=IEwetS0y2j+o((G;Rh)QS22nW>eK{&K}-yCBxV6o?qtC1GXPf$=c+rOkmu*k0ws?a(W);M-wjnTwsjHswpwu&2$;(tdjF>>ilY*M)!AQ*G zt^oo4VS4mE9Dd3wIz+%F2s_rUp^;Ug<#N$23}G=t_fYUi;S(S8Zu!<(nCx%db5+nn zb)1#Ju1X;<%B1kqRhXert+ZBS!QlZe;$g0X4T3x6W!-XdVG@P~?_zy9&0K<;8>Kkh zF>$qX06%8|>@#*<5U$gu!xUQ>EV#uj;yTR5-^hq6CTMt&;3*Pf$8o8nERkP{-lRR? zBGAKOmAkc87+EaFLi9&rJTiZgWoh<+xmqnC3~veq6Fqr%UEh1k)s-WP4UGubO|k59 z7&mHO%1}Q?>FQ2+jK+`yE>2JU`L{o_Z{VxOZZLwbC>}c|KQt!M?@ArK7d0@p_xqdnuP_|W zcu9$;?^u0hW5?ZOtpFFQ*`et~FlKi%e+|TB)Bhdr`B9ZV36Hj`9lpJf{*Mz0s7^lN zR%}_5y}b88hn<|tKDXK&fiQAwGpAlSFIb0<;3Ql3H*$TAI_EfWs456?l7TUL;n2t( zD$&5o9YShkge0qG&Zx+DWipFPTZ&6g{ASPOZAV}ZPYh^bh&CNy$^c zF6Y`f>b(@bw)5J!8n=1^e zDw40DUj&}mf{Js^@)cP%gNR+kSzs@ZEA-E(Z=OQ z8!5#Qq&eNG*mRw(QP+wa#M*c|lBc5YC@0D|MLYLJ zj@7%3Mb7i}YS6rnm~WV*;6jo~g7r(B>9!8}Whaslb>V5cl`mumfqjZ>=VfeZ2yCg5 zFV>lJVB2mVA^s}IxWE+8%c|{+v<8++F7{7wx7AArW-Cj3QNA@uyC$|<=}sS&2;szw_6Z;q@FyYK>RA9y!pH!K|I%Zf z?jD7;TSJqP?0rCFz$IrCaHB8gfUTklK$Bpr1Wnzepo{=V5fl!~bO7QNBBj$!4kuj} z81Ux>fq4PCmIT5ENa%WhRrCt-41g7=72#Kalen(P6&NP&ugLYPI{Iw@3?3o?`Xo3C z{A>p3;=cqxnIS9+H1p(!I>89wvW~~C230sOoPgI}Q{7oXLIZV$9WWh+p5reOU?gOao`%0r+ z3IJ+Pj{~6W#vNP=@cRgRC~xXz_H-B3xBN3C!SluPc~zb-mCsk?c}abXcyh_~QPWQs zJRJxyK>TkLGJTDZ=`!GOT(;M^+SoTy`+qmc)SdE5@DWGM5Qtme>B;WAz*4b?v(X?D zJSf%AUR|J`=^em~XOP6cyWFJmOylbMrrtJ2chk-YM@VjuAp@bNFXIAg9EOq_MzK3g zoCWcTGE(i=dCtZ<)9Ixdjy+!j{P_b!S+N2B;q*lO55~C1<7lES&yunv2>LX#IL1*X z9%TKl!;^vL+>adMu(QsSi>Fg=%OTk$ez@)kZ1}Bl$FV7?5%eXy@@R|2N&v!_s$1I; zOrsSwxYIM>na_ErI!3~EY<^ZV;xk&`Eog86u>qO%YS>SP=>LZh8I9iOE`Nwrhc|DJCsi&#oj{o+53A^L2uID#%x8<&L3pd+Nx4!f?~x)NsEDL6nO&vV z?wuLmNeqzBQoqte;9DqV(H>w~B4Io^mDGkjlO%gS>18WErEpF7({+~<&O%W={V7PB zXI=j?21+`>=_{eAo*cCJ@;5OQ>6Iud$`;|n96sWm;E1OY#D{eNwI(=?y_?2(Z$evQ zoy%}wcc|CfWes(a^Y*Da&eLK!2rJjA_f=leDSke?N-(~_O4Q`s7eNS<(Q3?$!eSkNuN?hPJY;Vz%`V*OfApR zC0IpH0Cq_oO*mvzf1fWKI5Wq4=SkL2qNjzsk#wG5g43l)i(X_0o}3FfSl+mxMf8#e zEcGJ6rm(<5FK@8H&QtTzBwG+>sh-Tvn&Bl;VT}5l4NqhuUnf29Uv&I;-g*ebY70>u zqq&*+A4Pu&**TPU8+UkVl+^&(YLi;vlP^V5&zR{vnQPGfko)LYfSH2y3KA`_q=2si z`?TJ}Y(aqpHYp>|1&yEq^N52DJI~>WI#?)6c2s6Mo^(eJhDYZr$ubAMI5O` zsG~(lr9}oULQO56?pxP*A+FaViqraQUcQNo{M#9jKPlpZPdT)Zs3iikof2LGIEWAs z2&wfA&U~AfTf7he7JRLBmv=e;p|%hWK*=Oj%tb+wd$zcB1vB{sXFRRXxXaAd(us! zF7MB|P0yC@WDB)Ad>ceMppimIt5XH%1gv8S%oLF6IP5duIRxrLe{5|4eZ-K0o z*!HUrn?J)i`Dab_@N#e&=oWFWC47i|EdsH^ACRx&(*#a+TX3z_;2puX-ttec1zSML zs*jt&(L}z8lwFfQVq$k1P4MDpwXulyHD-xm&FwZ0vhB8Dhz^fL9vn(4;lHJnn#KV) zi37IKp(IOMEKDvBm}vs^em9J*artG?R@wOX131!u-v&xKip>YibE|QgYb-WI!THJ{ Ji~msF{}+!laRLAU diff --git a/src/object_detection/core/preprocessor.pyc b/src/object_detection/core/preprocessor.pyc deleted file mode 100644 index f604f4a6dcd081690f96fd9fe10b627746f687f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72414 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 diff --git a/src/object_detection/core/region_similarity_calculator.pyc b/src/object_detection/core/region_similarity_calculator.pyc deleted file mode 100644 index 5c385e7d8939b8c673adcd59866c9d69a60fd473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4524 zcmds4UvC>l5MQ4YCvj5Fm};*AdgznQbom$X!snzRxZ-S}>IZ)bL9e!rPi|GrxP{p0b2 zP|U6>esAHnzd}Sp^dKuD@mphb-NsvF=g$zn z9>yk>-FO@)DvRBzY^x-kCd!%2%7Mw`ZFBNfn?dLkcx;)(9Ju;`obAi9kz?eGcC(?%?&4xSw=m&GR( zfFdX*OXiU%#aQCHH;Sz^6WMS^_7S}!on>*P(``vH=6zK;wlCPaPWzn=G@?F?j}ZSt ztGpWzM>>;7Dw%RNL~*Db(#Ifo7Um)YX}6BSlp84r0Xy>)pki z)Htb6CP^H|E;;4RCOSiskCC+SR5*&$;Y>>_8`?cyA}L8Jr#{`An=D5riLh37@&w*F zyKwi}g$HLB+R#k&o;;jLev+vg>m7MV57abqR>JQ$DTIL2O&Jex^0k|0Xi8k+ z0yfmG;x(8dopawY0CY0oskx`hFS~A;(vnWxz=L36@8YRBGGpD$%qVuvv59nIo2LIz zhc1Y;!w;CLNj5ff3*_ zz&z-XIR;DUw3Hz}5ui^8V?B#A@YBT}gnV`bw5;bc-bvmj!3Vd``Ap0zc7=t2nWz-;vnx}nyKV9 zV(S*v=Gdw;JNbkbpE?HrZ4!jPOU1>zP_T!aiKezx^V~JOb@Z_N=nhKADW>a zx+B>?~H}^sr7#;N{H2qi;{ZXs2Wj1ze!YW!2m@@%u&_g zvPc!tQK44-kb6t+9k~I`|CPXh7RNp{@9sT_^R4*~RsNi^YQ?lq`}tG_eZsO&sxPzP fa_{_Q-YtJc8o3>-RW>Rc-nzF@-MX=LZEN#ibkot% diff --git a/src/object_detection/core/standard_fields.pyc b/src/object_detection/core/standard_fields.pyc deleted file mode 100644 index 6cfd74f495d1fcb754ff52d6efb892138ea34823..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6271 zcmb_g-H#i$5$E}A*_OY*&S{&Z>^&*K`4p#iYN$ofI8D+NK~SvykgQQ`s3j$_S?#Jz z>Q2|E0_|&G`rq{L>Oat#;fHotl6`=EhvV)JXNKf_@i({szZ?DkKAQiKGyk&>&)>tJ z`4$GrSPJ7FQ+sT($K(a}FUJ1K*bnIiCiesNVx;afc_~nPk$REI%k0JA3TpjukFhVR z(h6M~o)^LxWw=?WTu;t)Ipw98<0G%i6IEJW0oT$f$tP9KtMOk|Zn;zz9x!#>@AqGj zs8(jw=lq*;v9x~>R(z#ZAnN}MXeTfl`CVadN>v~pQ-v7 z^gORt-)dvGYl%uc7x2HFe7O?yMWMD!7}~v^JW`H}OV}dP=ECy9v>L9bK05B(TVSWo zNuqbadh9vc@gFcK@D4ZyM)1ZSOTqdVSPItOXXzy-FS4|U{zxw~*<ny#=v|rFWRT&CyC{T=a;u0lEc!4$`(l%aRf; z(f2MO+RFILnKq!%%&H|wj#cyqE-Y1EfnQNoP{DsvXX~BS$}Z~?!pUtelRCGc4WbPL z5(BTZ+~=j_+U{6x4vQ77#b6Vl&Yv6wOQobU!ROZ2dc3qQQaRUiF;ye?z?kE_s`XTt zqR5(4upzQrnDiSo`tQm~!TCmfS?a$n6`mE&QrF5Xs#4-{&=R#1KG)i` zr_7!$a0hE4B6A}1fjXWZbG2F&Iwzk`h1Dl&n*~gk*VQT5U%PZ@Y>f+Uz-5IBbq=yg zaAM!Ih=2+<;y9uuMAOXNsOcQ?XH!V($wcSN!qW1B{}>5B`ZdY&P!boFfjHc5c3*`9 zm$SNCEYLE?Q$k^d=%K2O@7zFe!to|tiG0Qb_vS|7Zh*oKkvbRVCs5Jya+u^a`5NKq z>XyX0oDPY!sB~$&Ye)L#vSBJa(MFGTp)FoY?X3qM-sIU-C93<*n1tSx3hiNp*J$e z;!V+7$0vfl-I>6UwhubQ7^if~5H~J9X*-d$4mSJqj*<`sE~xDLyQaf&x|;~jGxk>< z(J<3;y?w94)%5D%04B*3S%x(>%WNMgSq4|ivcS*F^eL-6%M!fwlM6VYN0W;d^KE75Con?Vab>;y#}@VOI_W`iYR|Gx&TP$OC|d zGU4B#5dcdUW+Hm=JJ^0>`*JwO3k`+gyLlzKJdQ=jzwia%k*0`a3(4)CJD5(Dp3bla z83LEwfA8R4hyIqDyL}hFywYQb))3pUi}?Bm)@%kTJQs_G2oI#KqEyAmx)k;y0WrFr zeTeK&Pl>WVE6LIUsLaJZQtb*~aYqA63@k z`5tQ2%dcY712r1Z=mcV82_V2>{vBQ2)`p=i395=pKx0=|b1q8m8!!YFxJv96;gXCc zi&~MbI6PA&b`F5c{`BWBzvli6+Q%9aoj?&?vKi=wp3Os7-@zSmf`5l7c}TqBb{$2) zOyqnf$`bJHh?mRx7|H?wp+LiTTEcNw1$0gekpuY7<9k>r`TDtAXGZm51j&VUBC0?H zywEFH$xA%>^b=Bhs->NcI6ZcAKYjL?xFcd{Gyv_cVZC90IZ)qAss7AC3{BAW*LCup*HD|ON9M89#C!pr(HZ{1Lvvcp}8L0V9OU;Q^ zry~HJ>Xc9|9>f{jo8i?Vq!F~h1v;cqla5CKdzRoPOb=*VoFukfju>{}qOni@Kx0vZ(_Rgh9MS`8V{%${^fx6j!ATqCQXXeS3ox z3XefV=(yIErlHH#7K8VueMfV49#T0NVmUB)$8MQ(MFMZ()+8q3 z5c9@tpTY#+F@p~xQHYb>GV828ARN;MIE1Z9E?jdq#)`kusGXpGB*X>5taU_K1Y<512ysyq zP$xn_%Q@UdGu3~Kpr%D7S5v#^$y904$s0s;?*(t^>PADJ`nHnNDg67wBiVP2961~qp`ba2q4z--Ilk`uy8$(h n)PAB%-KnT&OE7;E4#PX%FU8gGTxa_kAwyibw}0@-!NdOpMZS9s diff --git a/src/object_detection/core/target_assigner.pyc b/src/object_detection/core/target_assigner.pyc deleted file mode 100644 index c30b62289bd5f77e9393d050b42f1d20a72c5fe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18154 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 M)edAuF%UBV0B;W;-T(jq diff --git a/src/object_detection/matchers/argmax_matcher.pyc b/src/object_detection/matchers/argmax_matcher.pyc deleted file mode 100644 index 93324ee21c6680eb8f4d53dd808d8136d60233e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7047 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�tsPA9{&<3Ty~ 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 diff --git a/src/object_detection/meta_architectures/rfcn_meta_arch.pyc b/src/object_detection/meta_architectures/rfcn_meta_arch.pyc deleted file mode 100644 index 39a323abb7524e14d06f5db4b1e0dcc21c6c7f10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11768 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 diff --git a/src/object_detection/meta_architectures/ssd_meta_arch.pyc b/src/object_detection/meta_architectures/ssd_meta_arch.pyc deleted file mode 100644 index 1bb517ea76d7c72a1b2505731a6fd79fe83aad7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24132 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 DBn}@5 diff --git a/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.pyc b/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.pyc deleted file mode 100644 index 81a5151484f3513a1cc7ee42d7c10eb5d5d4578c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8533 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 diff --git a/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.pyc b/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.pyc deleted file mode 100644 index c491604858b6b4a35f3444fab1c4baecf347cb4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8830 zcmeHM&5s;M6|bJzo%N1)z5YlX8;q$qgp9*_W8+V{p!_wzu&7j<$ujqe|f6+MoVOWW&Hm<9{p1kfe;%g9TAj7QR| z>=9}&w@w$WGa{(wt$T~sSrN?St+PezK9X;}wvWXAxg&(DbgYcLz9_Hw+Ne~zr!KCo z$*|XtR8PgmH(?UjtJQU-`O_zN+VudcQ43(nrwvuW)8olt2GVX3+B|q$8{i~`GKyRngOmC+k(yb)DsZY*JRqsGGw=k#567*ArPqY-a6?f)k(>JZI zjFYq{b<2;qO_^4`8vYM|Yc-soFi)ds^VxZ6D~`RMGQQ`ht*-5!K{q~)k9q?WM%uPc z4_mhu%?Z5O<9BiR)+DYkUQxaor0Vi*sHNeWTivj-!rZ_XT+?+(|F%S4=l}&)8HjXRbRsjf(!jM)EeES zry6MjQ*5v?=|~;Kzxt}w=1v6L z?)q^IXzwXMmU_@+z{0LT88T41m4;1Vc2~g(*#?JTtxbIdv2W_Im&AAcxUsajcy9S6 zb@uE+`)qS%`J7q`&OO%-BLx`ugPuCo3m)`#C@g$O1+atufPCbF{3av#JU&fsgAM}w zz;wBmNv+?K?I`ih@{%+v)=8Rqzm!AxkV17Vbtc9Qn6f+ zejLc9m6iHJrX?2yn8t;}4HdbYpvl1Gl5+I{Q41NZ$d3>;6Q%Qy*MD*Rdw>7d`Ob~M z{_eyd7vDPH+5DCH!IA&Gao$=i8H`KRWGFt_sZKWgOb&3IA8R`Y1I6RBa>jd6boWvzB_!J)Qc?|{(dVy_kIux*NmZ${PWJGk9xCQZ7G2n1PLjVkL4V4uxr?}ih zLur0l90l)ykZ8nxeUo_~y1~G3C{*q-i6NK-eNl@e-ut0&u$|4l0(h~B=x~aH$zYn4 zjrb9Kw>bxK%QRGBC_c2GTMvj}FINs?8Rxx=;vTc(<{=UeF=lX31hW)}1pBz0Oq_|fRU&n;kzcE^ZdIPKm2@Z(E&)l0Ls=YfUj;`09f@<~Opw=u3 z(Fo~4UGRGjH@~u$hY5NN`wq`-7hBKld_D(}59*FNwdz*VC$2}th6>aCcu!3GaRID7 zzfV&#XQFse>aLIJI{~DSHBf!ieQOM#UW)+;VSpF}p>k}7%*sJ-ACWBrcS0$OA#RLO z(2c^gYZkPKY#Fmo68}aBO%bvHW|x=q9S^CKIh-SNprirhW}z<4?1dcEa=eqOw+CU0 ze#DjGR(8dp*ePTlxQs&|E1S#-{Im>0>`w#Z{b*ix5Eb~j_OLOlyXSQX!x7=LR1ha| zyvpEdRluv^E)gk&&lDFdFUv5N%>?StHcx2EyRVyrSb^c(qk!B~eH}(g-1%qs&)@&q zzyI>Gp%`SOp8|H}&Y_Wm1tx4mR38s|9^YJ)c8NNji zZ4b}WZx57uN7)F3Ol(b4{L*+{H=0q>y186?h88WOh+qMPrX9rotP(>(vah`;)W#)M z8&ZpD8w!IiXsuGi(nLuIm#WCa?pc}+A7|>}*!;+TnXJ>0cjD4y(j-DC(N}Sx;#R0M zumb`|VUIuWryY--!KLG1J!PRq(ZdtInhq3yE{ig47|B$y<)@+Fj8wJ`MPJUKXMy)XV_-2v z%eV*9xapj4`o&PNPL&7?LmDn3WW^HdO?xSyxu1u6(WI369cj5|+l zH1`$4ewX2#=wSGH<}KK9>!!zoYrtx(6=yIk>4C~+^N7$OBjpiAj7m+t2b zi$mLgjAl;){REFDED{IioEf+-8IpT}idU#0dm4J^P%N%JM%hSXKgPqdAzGR&JLWmO zTW=ZW(-#-sM?(F5dgDvQ`q|GluKg7U-}uBGZK#$7X;*WpGZT<=4N7C5ubJ?sv)+nFFgw4^m&3fWDkXw8oV)nfM z_o;gEt9JgQoOZDYrNfa?Q%2j%65oF)km0OU*yPKUp_Iswj_>z+4ytY7!)QwabI>p> o9$)ytcaJaH+s4Zzr=|;M1?iamxUcLl&6LZ|;cp*4did!70oMs(#Q*>R diff --git a/src/object_detection/models/feature_map_generators.pyc b/src/object_detection/models/feature_map_generators.pyc deleted file mode 100644 index 69f3e515b83a21efac02311ef97414550393b890..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6579 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 G)_(!x%ysPm diff --git a/src/object_detection/models/ssd_inception_v2_feature_extractor.pyc b/src/object_detection/models/ssd_inception_v2_feature_extractor.pyc deleted file mode 100644 index 768a5691c78d3b0e1fe30f53793922550620d299..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3674 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 R96P94Yt_~x{MB0Z{{c)K;d=l8 diff --git a/src/object_detection/protos/anchor_generator_pb2.pyc b/src/object_detection/protos/anchor_generator_pb2.pyc deleted file mode 100644 index 795d2f00c043d42714da266877b0c80c29e0cc04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3676 zcmb_e>2ecC5bl+*jb$0%ClIa>n5NheBGnszvCs^X#ZKK-cJSpf5*qH6p0l6Jc@~` zM4G7Okt)!VD$;AB?kcG>^cPX5LTZRN)q*GtQ(UC>8LAGE#|B1(9;WJuqt6O`ma3zU z9u>Mo)iFnxgf3IHOr9R2);Jx)_BpXVM)3r-C#gE+WXnQNQ*{QiL)4ljHBJh$6Qm|d zO_7==HA5Pn&C(&ME&gq`oF~ozyqNSs@KO$P`T7koBgl&fqOMy)B$?c|D{F_QYL* zw8E1$xdO&<#dlxk3Pi2$P!pwDm-Vi!;(+>ITylB)LHIvP)XNg}J#p!$Eb1&RFoiTW z5#!IKej)WMsSR)@tLG)#$lG~pA!8S5DfmiKe<@>C91G`&?;b6+u2Ac0b_jXY%wuhL z+GppQ2<0fjVy+V3BuXe~3pJXj4SkMU*SWx=FiI^HZJzW9wN|L%kw)F_^EGOd)Ncr= za9E`34Pv#Mq;H5Cs!y2=U2CUG$7U_9wRGJEN?ZJk(qygEO>Jt{!lb^Jc7vu)bT_ovb!zLC z&VfA(GaGT(uBmWyi0$HY>{bDUxHXOq+-d<2Kp=<1M>}>HYaH4rx#PTKS|@e*BD4>Z zzPQsq=i9afRFIcaC$h*kO}>QX3MV1_;wk#6<*G;-El1P|>#q@!S;$d$Vn)hh z4iX!_m8~eRTP~u}-6)KscUmDL^B$QjRX)#&>4ic0-mS}b2M;pv<)+JNEw7)Zl$SuK zbM+suH1R+Hy`ABC`gv(C_nJlTvbQ?6e)~j}J+CX>nt?s&Xn{#1(y=mj4obPHH1|LK>PoH!%Uv5GScl7Gzg+_!xt+y3 z_9Pl(iXE?aI^tWzZ7Z5_Sktkc0=X9&%(zClAKTzf81HKV_lF$LZLj@ZjGRY}I~~Qx zkqO|6P7Efcq~(YTOg%+fxZ%aQ;+ivJxE%;BfV|=%%V_D*k}?(5t@9*CEzWo|uzt>4=&j@4cwrIR<>LQCpVGhp diff --git a/src/object_detection/protos/argmax_matcher_pb2.pyc b/src/object_detection/protos/argmax_matcher_pb2.pyc deleted file mode 100644 index e294706be919d5e03610b7224c630f6e69d7c9d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3465 zcmcIm+j1L45bc#L+ma<;;P-QUjL8B> z{P!RNr~@c~jt4RWS7a960;G!|$KVfuUKM1HCiM&-7>6he-7%==z#{__ERREd!pV~? zPeMKKbmpfdw<3S<#v3FI_L6lX!sfkNam?0Tp< zR-a|fIo6y9c>&}_keBEp@-isYukic|tDyoK{D{@Ag1kl-l-EHnfV=_nCdiLL-U9gv zuY3v$t=$HN20tS>d52A5ByjG`ehvz;?()hPH15I-dG3Ig80a1YAp`;;#Qy<=IYC!z z41^E}lx3j%e4__PZiGIc_bv|^;!B1=;|TH9sSxPTc_AJ##Mcag#u4K2sSszrMJosL z8)zXrpYZsUN6wf0mNV$6wan|^@wfu=8OY}#S23rvb>tG$se^f+hh;Sl9i-GO(ZW-C z=pd)&K}|sCDl|P%$gJ<_gj@r;js`NjS*TwJI<^4nIv+!}yjgsK#i#$p&!)y1Xe>hr zJskF)HJqC<9DWB>r`63x9Dt{mOC+Ukn!pet?9gljzqU1#Y&E>;OxYkw1h?euk zl2WRgkqe7cn!z=*(`_VCAcYkTVFt?6BNi!ImJ$;SG`WP6vqibevA5((PlRvL6?6HR z!%od`G|f(I#Wqj*@IyZ&tG<(1LsC=_9-;a-KWDaV~=~kSiYTtmVWO0A;X|5?E zqsmK#g;=$aIPa7RqU1di(zZn$3=LPtSbfZ&I2XFc916TE4c$^ zIaDK;v3U$$vmZqPXYTgN!LN>e^fPEr-O@+v19QJzbk)|T#laXksh`nkHgB_tM z`jHLZiKwqQR3j_cGU@a8Gh4*3LFKqBQVNGZ1pCNYO*z-(xLv^EbbgxkGdq8}Ax&+? zR&Y3p;%4Q{P$!wt#3OEi!#o*IbF7TToy$G!UdB#(u{9 zPhyoc4euZ5RK|+b>YoUj+UbEE6-!M`j3L)wyjk;qe7*Iv&teeZi>x21ATW3F)JX(6 z`Z`;@K}hscH9PKh?^H?z4RqX0EY(TSV6wK7q!lSgwMM_`a|)(tfBz-obI6Di!Jrm= zt}9mCe~tLe7Ya;p=sn`oS+0Y1S9m-ptw1(7ATP0{tPkH>{yoyCm(>0mSNSGJm)(9z zUFOi{7WPN3^=6a^%d?l%VHqG;^8Mxs8g9K(u}TFJJBhC(O`9~WUuvOwHi9NTS_8Ff(0VB!x*)kDc@>HjxU0e{ z`sV)Q{(yF7RMi{c@u5}l3a>9BDo=w_dwqV{Q&e9 zA4G2hlKhU)yD*^O_GEo1>myko%kEczr0eZJ5&qY*egpa`=x3n6C10KBJ|I0E7?O*7 zaENO#++s|j1lWM#HnVXVhC9#?0Czz@XAS)w=M%XQjYva13LStsTMKZ+H zDUFUkrpUYFvT%j%CT1L$&Nx(~*rnH4s&Vq-U_5mzWalu8M~RMK*4Qw;i?}KTB(63Q z6xUF?hf;C1&s!I+PHPrBlmF<$WQ=)A!3Yis!k3RapeG#rO~FP8M~tNyk+8z z(As$5!*MKBVn6fA@j~mwv(r&hWJ<>_PGUO~UVFzPC(Lnq@|a9^iTLbXA4m}#M>CGo zHx!NC{)oO8vyxLg&0TyWq$s~|Tmg%vi8J#TYKq4GL7e92SKOQ5+v36lpOsB*XUO@^!~$z7d(IAK3yj%7?eamoL? zw8+l=*!Q@X_;52Up=gu3kjp7)oLikqEdEwPec2zaZ;O{)DSJvwD|jAs=6AJKYXo(< a*XwgiaHU?MFTegKs!?qR?aB_}R`q|XMg4~W diff --git a/src/object_detection/protos/box_coder_pb2.pyc b/src/object_detection/protos/box_coder_pb2.pyc deleted file mode 100644 index 1415eba0faaad99a24d4782555d7a43ce475f0ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4095 zcmb_eOH&(15bl-CLqdQ6V+p^49bC4 zgorC3k#m*j*H{es=;%6&eFS2W5+!bcxC!E85Vt@qfw&D~nK>&UuYmZ3)$j0lmq%mp z9EiA`% zSa24(#y1jH*|4zSHxt&XVWA3^>?tg?Zb54)Sws_v7mEy<)nle_v(OMFbTU+loS&+M zVGLEG@K_14*Fqo_U`Oib!+8fu6y zRJ#xI9;+e1sw-P~;{E^duj1njd_4P5w{S?lB%m(f@Ef2waVsl008cg1hlVDmdWJ*! zRn(T{IC|ylayt?-Q02&L$+~ug)cE5^VYw4WI#OjXI&|tN5<4AlwbVJ%my_kzx{YpNN_xpIKg;Y+@&xD)fHN*=usR4SNq{Z6CTkrBo9p6NW%F=Yt!y~Q5ug~ zWC^M2vER{AY+9evc1 zjJ$>~1EKUhDGfVI>hT$TmWHZo>I^>a%V0b_XnTllY8f0Bh2T#RMG@CK9S+K;*1(#9 z>&ZaRAoqM~(Wjwk*;fvRB147!m-Er19954n zA9Q%54z*{KkfG=~TSA7a`qZO!9*03BsfXlx;EouqY-v!7+h}hSilG!Dg0OW^a+O(6 za-cYCNfLzXAu1@Ao&hIzLu^|N3&y76EDZowJvd9K14?Go{m!Pe8*BeBw4|xKAM1H| z4t#2Q9Q*c8b<6(t<^G<{q~qXidJss*QA_U$qVJooiV``YOI;nA484&tA;9s&Mx?1C zj>r3KMo}}6Ch6Wm!>0bP37?3)SR>ZI&}>2y@7Wo+(QLvx18v&? zn&%|t2v5J~#;^&`dL4%@O!{vLM?~5&?+KoE52Lvh`BLjXG3e^F`Fx$p4r4gEIp49v zC-=!&;_1S6&;nO}7kkroKfQ!4Q~4f`dqoBD$VJ+vcGXwlMzQM#%B=2DM?JPmIdeAm ze%jjG-m&!@QM((}{TLZE4bj(5b3)?P%Gk$xsxb(FQW$fZn ze@PF?dKA1c@2h=k>;%6q&FK?vV?HA2{T!B`cqN z(z!Ix(-~`&Ke^PEkz|gXRK}XMidGKC9Il^EC42u>b%7 diff --git a/src/object_detection/protos/box_predictor_pb2.pyc b/src/object_detection/protos/box_predictor_pb2.pyc deleted file mode 100644 index ffac3f8f7a1b00fd8d8bb83b709b76957880b8b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10581 zcmcIqS#ul55pDpaNG?H%0wocYWJRWKO9BramT8$fsM8jYK(b>|aW)Ig09gXp(L8CUqh`i#5zMDbA;Gn2z2-}{NB74@&t&Va+c^9 zD9b?483-W|2<1mzqRfSE&@aRbhWL^pkU2u2p}IhzN&AKPiXnc+5Xc-MzV5mrnBRJX zD30})6DWINu)pMB-{fFF84C7SEa%VP73|;ev|q3~?l6$j86q6=`?w+nhA1*b zFTuXmYnbdUy2}tHh6o4y|E)!Fbf8Gw=1BB75EqCoLN{t~DLxdx7A0aeD>@Y+xG5ETFEliky%MjrhjM8F&Fn_~Z>@q|+ z2BRRp>tBmsGsO1{(Mt^W3{e~zC_sM00rFc8kW(OWx0-QIua3bBoT_yk%+`YB0MpjBc({A zyGCNu^#ON%)85rI>r|MKk5#4fAdbRqveOh$V;LK0B-40>4YZJHl(BITN*AcjGLAtB zBljrC5hz`PLJZ_bAbucoh~I(uJuX4~Z2~qg1Cd<;c{xnB+(w4SxiHz)fb43R>{S~X zp8vvRnSd-4CM&m*;ejqpHW!f1F&Ul%pI`g~0J#6f&zg&G;3n{qkKrTuTfuiVgpcn5 zr&I6RMSK9iYHGhRZR%8a@G-aLm*rf|-*WX_*%#7NbAGNQ^V$|tf@h3k zCgHsYsNHhT_iW*4C+Dd8?Tf0?Rt2#BOtY|>fdQ}|6x{NP989&1-qDjQ6 zlix-W)pQ41GflCP)ow*QZ}^po7d0)3k~P=y-0!47Nz@%Qi*>mV2~yLolk1SjFSQN? zP83q!%$@yP+)Cc}-)sb)m3nEN$orMozPCf(=XiFL9V7??OMK4X<-{@wpSzBt|DD_Wo@m6<6|pTE96_5C79WzNM>0iX=Zf)s5RB3 zr|nmyUzq)S+?t8hD79=&lBw*FRqOUS8;Sj7&;3$Itg*6N!BDU2tu$F+cqul|z0R9@ zFR8-4=dBZ!owDsYyRxS2oGkb?xt9;pL&3ZmYkWsZTh#ojzoXN`*gv{7q-#4eboodzF#qMI+cZIEeTjfzel^$dK;ez8SIs4DJb)?fmrfypY3;BV~c)VFsZ^IZ(V`DUH9T^sVQsNXk_d=v@pMTz1{d^Uv&EGscCCG zkB%H5k&_ND#TORQM=c&O?2UP_UneoEB7m$2+{Rp~xFa0udJJb2c0AAKoPRbtZ)cjw zXrnE-o+K*XGN_?x1Hxs}j$3gnMO$NRbB-^#(i2LbFvC%~RNck#s5}}*&yXubBxFsS zsf+rW-31pQhr0^xvMeTvfvN538W3;U-Q-P-Z-^iDD}TMiEX9y=D@@ z8w~84Q^5j)-G=uZrKfN_*HrD9fm^)_-GP`vL-ht`qMCL!a@15Tg+?%T+&`iJ=o#!^ z2|Hfc>T02jFp*R&1vzs#*Q@)3u;Q2qv*E~YY^UneftWVvT?#A1GT4g;Wf{EoFu9-QJLiX-)OAOl5kb14_Qf5yml|ADDbAHn8o zhpJg!>4MscfD=S>dDb-)I`PP~(05B^9qB{vrylmHKqktiipU5*Ki*MG_!G6#9p!0S zSHKCP}eoriHc6}eaY6Dk3Nok%5?ndSYxWk{lY}^a_L5di;6&$MyaZn z`-N#^;r@v3?XF;Mzf%{ z#C?QHxpWi53?DpvzLI^q@nSv8P20vhx*bp2wz|}XKdD*wT60r(ah@ck>q50_3dYxX zh^I52TPgUO3ROGD#d6X2i=H%PZf>WLZEWCJng%v|NWjF!esa(=1!$c*BYapDb-LI#l_gRP|d*TlktT6!4~!Uqe?SHea(* zmH7zIOb_<-pu}d(-00&o%NmxuY>h{BjM^h$cYQ=R2|T(^H#DJ9x>2+5uYbLfefZ$% z3auGg?*-m`Fk!*-9nDG5URhuJYW>-lFP^Ti-FwzVag=zh-h2K9-!+AK(GkhcK3Z98 znonAp!=9bnTYavH zDtzL?s~>~IsUa(iE}lGU&4$${k?66k$eM$vk_}pvyzi}=+te3yMkUv%x7kQ^shlNO zVZ#Po>oc;H8?v-xXQ_0g^cs5X-!-<0tz}v?h5z{mlCg8K$>5tvCMFYOu><@~#t#h# z@7NO`i=|@eSQ4K}9FJ}#;|Jn2-*6$iWGs!Xv7te@bwdiqQty;0m}#VMk&tEWSGs;N un^-Mq<~tFqf8%NNh-6|S;`e`4S8E>t diff --git a/src/object_detection/protos/faster_rcnn_box_coder_pb2.pyc b/src/object_detection/protos/faster_rcnn_box_coder_pb2.pyc deleted file mode 100644 index 5712f044d4504575b98b206a44336425b555c9c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3147 zcmcIlTUXmg5FXj)Vq?IV21o-*nl>#>Q_Q7F+LY$TC8rNH9Kl2D7ad8vHtWcek9M8n zp1#rl)gRR#(9X=tU?`lHoW!=)JF~Mhv)_EP%KtT4g3Zn^A!MIb{C|OuUd#gs{5cQ- zGyo((+X0b-n<5Wy0Mca;1^5G?y8>c_CXF0#7=-w;lx49LZiZ# zGi*5v;v*0@K+MrW#5_o}U*P#oHbVn+_%WN^0%sC%>=N}ie(DNmps-&cbZ{6vTR7JR9DWBhCvANh2jHn8`Pj;&)UR=< z9VH!EOOqpIYMn&LNY|2}Ekol8Y4A@aajlysCegK~uZ>K-G>l^}NRGV_%~P)%tgm$Y zW*mKOMt&y{{<9Hsj?Y_x*5eW@{NkuY^o&7m?E(3q6i-* zbC*y#&DcgSp-M;{rmAa_)au4i*O6NLEt`@dqf|B{3z9XOMxE|=f+X^UZ~Va5neo&) zj|7^bGQ~c++`!4TFkj(<7|N*Yhi@<=J%5Q0Yo-}n-H(lb%v0XHZm1Gkrpk}hZ&F}J z`cKr9Hr^qV>ioq`S?GI7sk+Ooagj8ylH)C+Om((2*7tPiM{>cr>n!J<=GIn8d7LS8 zr^@+K`ADkPk;zu_yy85n&Xp#9Rl*!)`a-5RRXoGLBbp+ro4qLV81M%uU6Jw1C7X%b zO%+Mn%T*)6P^rTNQB|>uTb}86CBxfPG7_4LlO0m8Un|~9w#^VJRV<_}TiojeST15K zCqV%fH4nF5*zIx(iW-M^Mt&e8GlSxhud$h%elIfKTR-YauKhWUA~KsY4jIMmc?dR% zfvrT#N_&`(j5Xd148f^{l}Hc*B4yI0Yr|rY)%3a;WZO8UVFu_YqlCeS=4#EFAolPTz9Kpf3^4X*53AxYi^)^xPi16^!ds$bGYKl zmZCT4`P9rJF1?nqOnoHHKD}zgB>Ks|X%6XDArvy1a~3KzF4dkBA9&3y&R&u{d;jlv z%cEyhR*i3RC_DF^%HW$Xj})Cz{!Wh$W+>;1PSsh!r|Oh(_5Vuc+-Qz=TaR{D%uhO# Kxdrr6&i?~UG7Vw? diff --git a/src/object_detection/protos/faster_rcnn_pb2.pyc b/src/object_detection/protos/faster_rcnn_pb2.pyc deleted file mode 100644 index c4d2b9e2aaca634789c2c7c0789b77feddf3ec06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11331 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 Q{U<(z>gs9heaOH62cLnH>;M1& diff --git a/src/object_detection/protos/image_resizer_pb2.pyc b/src/object_detection/protos/image_resizer_pb2.pyc deleted file mode 100644 index eb20f5c7958f8d7a6fd9abf5f3f30a62bc2a137e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4749 zcmb_f>t0hw5TBC}ln`#Aa`95{ieeK)Yb~WJO3>5_c;JK0m-9QxZo)LfcR(ayRwUsqKx+=f0Q>>a%z;SJq?BNRK?su27=Tg=98z$K=|L!+vh-=DPeWed?Nf+7 zXSNr|Myz<;a1K)OCpPi&*oYn5#AhP*Gb8qj5yPrP(59e{C3zNRy>lRO$h2^CNg9FJH%>tV@fVEQy(GJ*jI=wu@JV4IyQkxSSGhDv4jNrWQhV2qfoz0 zG^-kdI`)f6kf)%26{-%%YarIi0kHvM6N60bC!us5NbCm4>v6HALtvK2&PYu!U zElrF1F%J2is3G&MXh)fRBN8&u`KVl%72^qM@JB^qzS)XQr1Prb*QD2yTKy(lUbDQI zYwnrTsAD- z?IHZHt!bIF+- zUd-o?(3X3Nk}E9el3ZKo3&zxjEe+gVSiFB_IX!X6 zf$U^@a7U`zj_IhmhibCv)UQgI9S#Up@_9lOjXH1Xfuo3M;@bobWGd1BUKoxKNSjTGd0|8lrcl8 zFxf?NM-3B2-dCDUc2H53vSi?wWnd`G4e-W5W!UC1_2LQw2H;KfddIgxP4U!D!>Rj4Dz* z)C6NYG8AeI57|uNdjD$E^k12yKG=lF#43-M_-84PD^P$J zfto-ZRGGk_G(OZP^sSGCaEP0a*tQkDa1z0s6;gM|5ek~ykj|e-2g@kD)b%uU4KH+`?9| zRB&0@b_?4cy$igTg~H~_)@I?^w!5-j+~_c6X>YCgrm(v8Vr8={OVw%ny;t7jTg5$( zOB{#o7u|Jgd7NZ^vx!yA;KZ&E<~C=LDc)ywN1W^3l{JN}tksK>=-MVuLD2C1Qe&yr_N|4TM$qZxIk TF)A8I>?bjUo@bIHAN>9Ybs?iq5 zae}kj*_VgB|9K6D>{O>igZjs%{l+|LQix zjr<20QT{WEpSST}etAR)8~+l*6JkXOM~L-=u#@6NyG=Y2qI6E!?cy^bio?S0pqG^- z1NI58P2}6fN{2|0fc;GG6D#`_eSql$Vx?2jolF~I<)ESsrn|&Smq<7V#d^2cgzO&S zbcpps!agYME@5{IyGPg{dxd>iIMAFDn+b5Xukjc$^a*>E?HJ?d1%4`l7y0X@Eh{(0A+kiNxXdc9Xt98kd#mCqtGK4c5mDP) z72~YpI;((iB>o1gfG-HtO)XF;j#1&DK3=Aj*xL=)Emrh4D}o9ry1kc*avj2+5IM}S zJN%sFr>d#8cpQyQeTyrz1x!#qNTtBMJX4%?znw8moW}9QD)U?_2GMi@= z4_F0+BW`Giev$(*y^Er2?wcHiioo_YEotnj^P{sdz7E5*~ zV0Q*JcQ)9a$E~^Z+s)khnAyG)aR>ET(_LV7Roz8$N8QCI ztmwO}NS|N3Ud*>v2~}yIvI>2E?OMflcgga8@jXt>_c=9ZwA5^JC_ZbJnjbLR4L{jrJ_5}&5@dd3~Yg_r2 zFF$7$zhD(@TAv&jt{tfOC9C)qtGJVTl3E{HV8f?!5n5Sa%M*7MWsPEMJN1yRwiqA?2<{YcRuU>Ral zcBcYnC6%w5P$;PkSAn3RE{HV8f?!5n5Sa%M&e%ij&gY=tBmzU`Ta-gw46Ngj{HnNt zSeJ=e5J;%{vJ3**RK$lMkV-{ZAW#>Ia6lkxiYS6W$P}>w0`XGBa}dz3h)obU`;QRK z=68zq^JI&&U#yRcY(hAgyuTqc?cWOfcPP%}W}8^Kz*h!1vtQ6*vk@51&pPZ<2)m@i zmLo7+dg!prA?&ga`!E8-LaM{Ags>|*%!9Fw-Hm<`qA}}0UblCL}c3p=(kHB!xqr+~5up2sTGXlfikPf>U!frCmPKc#*zsFUb z`)~Yt;NnfVZFpo7c!d8a@h;o(_*j6QMjxERL-1=r^ixICpuCF5$eN#bMoRvg8;sL0-|(#bs%_osAZhr&WlRzT z8`F&!7_%+}JV3cGouf|=f_->;R^S#!m2E^jg$yiUIt^0nk*R6&yJDhJXJE*7WTxa6 z1HYuk_G2vXNNMGi4FNHgoUEt9pqLI}Og_u6`krZ9fwgMMGILLrM2b>Ci6~eQc?K_y zqdLqn4#wCUp7JY$#{!DAbV{z}xz8ONCde-kR^v=7s#C{n zxyrf*|Clt|=aBl;lyTVeGb9{&^9v@`LtkPbaqi&QYr`?<;W-V#Qf7=J8PAf^&AJ&) zPLk!k5i4i13d547jntY|vQ6iyl`ndZnRg3LsjsbxK{J3%E5tkjQUk`Z8iSrVZf-5; zYlo!dcw#hl$~aQxc=>xr`TO7>l16XD&v%T2iVvCa#>#QJ5bNJV*6G-DW3`fIMCzfD zs>qUg-w)PIZ?sQ^>{?TiON^Ksts{8O=&A^I{f%<)E;bc8yYOyQ+MOeH3S{t>aU$L~ z1plyA$gKILC$4l%eeZ-tEdhcl&oSAbr;&K z=ESX7o9}3#26o>$R(I|WP8+Ag;Krg`$dN84&dCc_ zhD!u*ijOUC!;w5j5eTRQa0|AhwoD{t)hY3Y>lbM|Q=Am*fVT2#UtDS-f-XFCe_U#1 z0_q4dKK5d_;1+V6t)LfU+D+>PgMe@-GsPl%;8O3yA@i(N$74-vmPAvSwKlxKJsEgGg(nga4c$<+8yLrGif!JDVR(Bp-YV~yIhr(vf!pJ*8#ay=-j(j0xP+63z!Yq z6etl=eGl^@Ig?>xY-<%$h)TF3z${q>w4_{ne!=mx(!E2*TbLKjIj2=2mofG3@yXii zBDtig{FKMsEXj-801s*U%G87Wm;qg&5 zuAG{J-+_jmg6lZ(H!{5)XYb&oW_q2rQeJ35aUGny55nD7NCPcj(N<5s-av4aooDEi za;=0-VZ%ugm9aI=%1vdBP}Q*QT&ThaN8wnd0n=Jo`S!Lv9>Z*+i+TSGWwB9UTzSJh}5dnST4(d{{A)}RcHZF-BY7} zFCwu5bLm{c`*!?EtYMKwM90es==Lz?BqwigCm=CG+(%RhbV`_-UYbnLE-o*mnKVsY zBX8h3&Xj`<^iWjPW%4;%mIJJ-xK~w;>SL!whXd0sWc>h}tuR;lppf(Zoad-}$<>W) z8ucgw>K$<`39oX~-2GCYVV2J!bnGg#ZC&Q3sR`jaHfwHk(}d-7;gmY-@H=st_A1Za zyEtJ^Z7G~3eoE~$DspR_PjnB^EOT>D-`=AGsm4GZoH;X*o|=AtVt#RMdVco7blRL- zSXx^CU~xKl0iV-O&PCH+su9g$uUNpbxl1QPO*n<&E?uCp9m}N+hgY(!=UV~4u_A^p zP(!al=~RiYTjzE%iF+OM;q>gindRvz+)~zlr~R<)^gG5w!%fNPb~u- z{>;;wssNW}@69jFPBmp)xVt<*@qQh)vn1^fY+PDSPb@A@PsK~*Xw+tj^Q{iy z=IS%Pzet~fOdeMUq{{dy8mAhhJGp|*MW@{tFn4+g-_ukOe9F{M&@vQMRS?xR7*JU6 zIk?TXaKc-pU)N-OZ(jW_gD!!%hRZY;gzaX6bU*2%>x;0=${cB0-_o>frmxb2nwT^l zT+%dE)6|NkZ_|TzL|XQ>#~%DrNv$8ZXm-mY)`hObP@*^d+t$_5nb^mF4^`gwB|8%- z9;^P@l~kOa$?mogg%RfNOLPI#1r%W#Q>iLWML{-6FKbY5o$Wi(QX>i0btU>BH(pu| zg00vEH{t(Zd@1L)I%D-Ry}cNQRnlB;$f7D<9f?nX{XjgpHfsJv)O3JpD$0 zNl*V_e?WWho!yXtSU(8lGWUJwz9z+gs%2R3{oaD?r;h)h;z!>s0!aLGAOvUvD1fd5 zvH**+2p<5_6_97(Pk^Kja)b`e0xOI{ScKjgXpVqG2F4g4h31&W&oX`%nk9>u7%xL} z+~Q@%E6}WfqsF0Ig+sJG!M4XCoP^#KG^ed>h4C6RXHa$oy5~SvL89y=$SIK1AZs9J zKw)I(;1I)~1vL#_gfj#?1++cVL=<)BSQp_u$OVv#balA|Y8K>qK3`xlWTA_TEOrUx zWlD*>0`e-zYap+K{0`(Y$Qw+#2@36CrqI+X!&?lk!Q0He!<4%O4`Grbu`V#J7)gU& zpmB8Z{kL&}x0d&ygQZzx_ya=@K>o-f*}UCn`cHi8CBF3o4(VZj>pU%J3e(uZJ3a#W zGss^+t|Mitd7iV4c{>kX%-BU(6qh*lmvd6xl8}%0djN~wtI)lcGf^IE=8(4K4%oTQ zLZ4AWi=R~@PppIm?P87QU|mf>cbN*z3MJ@b(dIynLH8!K9Z*=eU&)Pp4DtzHsBl<> z<|>fdEl{hhhE;pNLIV^0i$B`|o*=-{ftG_H|2)UDK7-&7KyjjOuOI+E8p8K2PDK3( zL1Q=WsYV*_2By)Ar3!T;_PeTOgj5Fq1##3!(%8hh(eq4eSEVBH*XqfEIg8rsq1W@J z_jrWN;pZrt0wNqu6%QCq7ux_Ek8VM%Z8M56^h^-lv%wLrq85h0xQi%!t5{vSc|S($ zuZ$$AbSn)K6Q`CohP0m2+UwXL3<;&G9oj@#p-H6agPtFULVCvYJ)H?p3|XW!S%n(X zy|mNw_QgO7EpHZievo*n35*(K8>(XDVKmEl_@9#0xk84*PrTL#3}4TGM$3w6PQ5;e zjJMB6R$enyD6P`K3xiKeV)%L!(^g*oD&MvF<6@b!r8~zNc{>fK#ELJS+I%OHWEHOc z?Ucv1Y-84*mM4adE;v`5mGQM3_2V&Q!PPg?&X%{I>A!~BW_kLAqlE$+Sv}Rrv%G$N zJI^M|)x6Ykq~f-zU~;8OR3x#-1EslEnY<|>v%MFFg6n=`3Z*vGpTqgl^a`Jro6J{zSjEs71$YhHJJDXx$DX12;yB1> zFiseS*h&(PBA_{9&Cv5zXr>X}^)#-Swzn4=@zD$S6gS{7g|e2-qrDAfN}*4S5j)TV zLs5~&Ma2o|V?wuLOaKiEcNq4^@+93`0F)-NL(6;%D!l#ZH z;9z$KH1izxiHacoDs)R5c_ zFKpNGnWTjD%@@|COHF6)BgmTM=w%c#Hp0G+e9T6rzsKnfaJly%evSH3lMPwmGHv33 zzc|VU4X!OypT_gIjZMNi-K3d6QsCj+^g?a9Z)qtFa49!pYh&m6>z6LO6C3WUt&QIX zNp_0}|A5z&OKXY;N<4e>Zo}Pqv-5IL+BR!ndXA*2U|vE?kSjE>s#x04V>meOI#)NO z?y63Jqm>S4!dyVsD;25K!?Alu-&9(0xMd&l9om4@5gE=Yl0nP3w1GHJxz$W!1?k`H zYlr=cWas8FHMRbPpyDh$Q~7VPQp9tyYfEFe}Y&Nwq@eZrZ~VAZJ>7ErrV{0|LUdSd_p diff --git a/src/object_detection/protos/mean_stddev_box_coder_pb2.pyc b/src/object_detection/protos/mean_stddev_box_coder_pb2.pyc deleted file mode 100644 index c12f1f77e88268bb61900c35e419510b33a79e8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2066 zcmcIkOK;mo5FSdFY{`o?aVDWoK-yi6;GY>%1--84o06>6| z2f73Yx(x3D@;2xd_yb^a1iHdRP!feIBxM+{Ku`gX4Xg^TLax3$8tqTnSnt`9LJMLGOTm z2zr+fqW1tveqZPV7*cSDvObdav8+#I_X|MME$n|O{I6vF8uU}p&p>}ezFNT!ApKh~ zA{X0mj2kf8WlW)XScB0XvvCzh`w)A82cVy`hW-}xcVwV+U54NgSnUzup{P-u{dSuw zVE&?C&kzNsOv``@0ypmo(RPKF-+{!L+hZLN(lMSDn3?u1EuDAS7(03P&bZDv)0o&! z7L9P=ltxD%lck+Wp1I6+#u%o`I<4`8in5s+ka(^p(aWRB+^vzV<0KqMI(%JW`nnX}+Bk3SYN59QmJy)eQ37tt_6rnQ4lsyRc3BvyqxzAa-jkxe$CzeJ#$j!uM zdBIyH-WaV7heb$^g>sCOB1whNCh_ci9A$~pp$ntXE`&EevB*htT&6T6ldp*QM>#)| zf;f(75)R%|M0W2E8-fB1d?>EkkQdi zYSN){^9f20VuOjcQbL?LOf9v!bq$hE(K<>8OD^`)>39J-;n{>o!b$IbE44yM|0EhN0|Y5&Ck>GJBr7pN2s=`=y5 z>@S?I`+BSe_?u$&+gL zD9MhaISUhuZks4|e)?mtf7R`t{`}_Rmy?U`sqY>Ve-UX>Qx(mn-P|ti_&79F{rpp( zj#Ks)Q_Mr^j7z=?2U&7nTm@I$QGC1wmSD6QIG>9uiM+A8kXYVgLjCubaM2*IxnA~+ omWKD-Yu!BMMy2Le<=L#>P=ZU<5`FnC9-?aHrq?X(6K<6M2D+dLwg3PC diff --git a/src/object_detection/protos/post_processing_pb2.pyc b/src/object_detection/protos/post_processing_pb2.pyc deleted file mode 100644 index dab053daeabb2b89ea9913025001752e63b75dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4795 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 I*b%?~0rV4!L;wH) diff --git a/src/object_detection/protos/square_box_coder_pb2.pyc b/src/object_detection/protos/square_box_coder_pb2.pyc deleted file mode 100644 index b6aacdcebe8bb55104f17961395c6338afcf4fd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2866 zcmcIl{camY5TCOXCwA<_NobSOrY(h*K#Sd^l#dc3$QMG0q+Ego{^zvkT|4WZ@67GG ziV^>X=inuHG#&tEX3tJyC4xxB_N`}T=kqtSd-=aACD`cx+=T2?$N#VJF@NR&B>p^z z02%-apyPqe!7Z7GR{-fM$O-rzpjQJqNkk*Z1_g-n(4BzBBzWXtiunRGrW`-b{4_L* zjxRD_g2s&FOU##{Q3g-VK&Jwy=zA8_By{FL&VVd~tbm*aiEI_*JSdF30H+>mPBf~l zInSDlAm0Lc1LRFAL@t3s{bi7U=0UDr%#*HE3gZ*Li)$E7vPOW&~Vop0oTDUOxr-8OYB;zCcW>4eSNCql36D z!iJiK4z{F9NqDLV9qh>>s43{&hL#5kJM#ru$PJKRqJ!LN9vUk^W_LlYuo#cly)?0jsheN=B2__{oCHnOOoLvyUh56)G`iV{L^qUTbCUexbCwn! zHQ=-=NMKqW1QsWU%Au`&Tfj9ER>x~DOX5{b5t#Rpg*TqGPgsnSb%9GLlFBqw-LpyR zWK$^XDq}?3Wn)PxRjtTDWslQDmwq*S|J5(`V?`dQQmho#v= zo{+8NWSiz=VX-td2uxE%YT3K*t>#|j)}E5^BopRF!lhC z{aCD8W@2f?bS#zYMBML&*a4b7PJn`GIt6@&n!O%}*K`8dG7_PR>^!o^!r*~yiGE~* z*COgGZs!GwrqQ%zT(W_6wGdni13QkkwFxjE6&pO;T>gkd^b;(f<}B&a(RcM{{kl&5 znF*(JzO&{T`5wDquE6lTohBgp@Qso+>^xS+;xrSI#_bPlH4M?PSSdnmb``yh90aL| z@g#A#lUOA!!~5sXh_NEI`a23ugLrO7#ZuGp;gCDKhui+QFOLp1I$ga-KIvLF16SW`l~SJq9k&uoqY{MNvv!iSBju0_`z@dD6+1)wXIGfdpwZX| z*+}?2TC8?C+sZ$#~HB5noPw zk51Lt=242{OsTe_L|CTwL}Z*naQMTIU;DdT2S05e?CkpX2I`%kZxe(Az6tD2-0@Xg z<2l+oTRN$<?;~c}^ diff --git a/src/object_detection/protos/ssd_anchor_generator_pb2.pyc b/src/object_detection/protos/ssd_anchor_generator_pb2.pyc deleted file mode 100644 index e726d815423a315a53a1e43d223e5edc213aba8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3431 zcmcImTX!2p4A%OR#EzY$4sB9;rL+(Vb<)t5HiWimE`;YSB>hJ*PwVY(>eTz(#NUVb8j~hc z`1L3vsuF3UmPaZ@XH}Y>6LptJW#|W@PMK7enQBTlOi+}jc8021^4P(o$P-kZbn=wQ zQ&i14IVW@ z>YP}f63cl~?~po8>I@%5Es%!&qVQ+M3Jq8Tq}~($iqQ8- z!`oF-*GPRJPCgXs94?VYppQgzo#`>na?UQq#}eWb2?6H_aYI6YA_N?chR{g3%qJQ< z(6R(tkw9>cKyav)+J#FtuI7>U+4o;4@qs1dW6o-Re>deQw!an zr*%C;EkJ6HOX=wxwScL4(v#FWM-7iOkhRG>)E232I7l6*sd|BU+eOkBWE(KEx3q)H z7ygOQZU~M-TtljRApP$qc#{G7o?y<}-6aqb*0Ox)WL6q>x4fUU^>R1a5AAY0Q93fq zNv);p)>qo%Png8Zoo-?ivuup=gSft*bp57|bvLl!I$r}5M6N)j|0VGX*JO~e3!aBcX;bfp z9h}hVCZTI5JkT9=Q^Y}9I^bG&3q9WVWfGlG?@j<$fzgiLKuf} z)3-+*E$wK8I#Nc!G%Sj_Jyyu_aHnM?hq2PG*;uHd$qaExg~NtyBG9|B#69qLL z*;C;51B0vI2o56azX&3fiNP|W3Hf^30!Z&lI6quB&B@5|csVpaQqi%&6pALDWOmYsy|8Yz%pzG=KhyKfgY3PW$*7+i8Devmu|~9!M=l zU}x@*m*~jmkf(q>5Art5n#bdXc$=?~@fmX21$2Xc7-?sWdxCMm{d1rkwA0AR`~6fw z4WOQbmw^M^!Wg4SP@Tj&X&705X~-BGbZz*QL-Ra*X+_5>`6sL z-^Z(T5NY2xD=>KzB;NEkEnQ;2{7#x9cg7bOJHQ(TLnE;a7QZIYY$i!F(hg#^gGNPK zGtKM6x1ch(Jbn-P6}bvxHhc{#QeQ5Qf8sf)aQOxGTkeVp&sM&wNm+Iif)F$MRzncfo*TBYxR`>MW`py*Y1sc#siM4(32%+71nKqTQ7sY|D+4qoHrpqvlD#|aw_MQyhX17TEME4N^g-y ZEuBCi||=U{{{SZV}Jkv diff --git a/src/object_detection/protos/ssd_pb2.pyc b/src/object_detection/protos/ssd_pb2.pyc deleted file mode 100644 index 3a5e42f8601a1642abcfe1bd168fd1e75eda65d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7904 zcmd5>S$7l55iWTFEE_N~i&%WwFD8J^&Sl5QvT=f!J2D9<%VeZ!*`qts=&0KqoRc^5 z2lA9(mS1rn^O|##uc}Amv9K(-@k4CXo~o&;ue!UIZZY_;!&!RP_)w+z=MnzC!bkso zgviIg4248xB1KfskUv1D{XzPPs69pg5dDp)HBJ67Ka>YV;Q)n$)EJ`jFlE@lL7@*& z`Jkl_34MslBbFW!I!onIOJ{{1qw*MK)F{;t(`VQ|BDO~ zLLaB{2}>Ul`XrT4S^B8Zc`Bc_^tjMxsC?Ga$Amsd+>%XN;_F{)oCH6h~(8BfW0TE??7PRe**#)~|z zk6_lrWhesWil9uA{~h_~$-lsx;$I|nnS3~aXDjx-h(Q=)SIGwnH?EP7jk-?$ugJe4 z&o^bfMGCL5bBe!L=2Jgt*yTZB0<7Ya`o>++c0`Wi~U>tTH3dAFU_<{T`2zdCd z5RV1oi9owafnC5}?Bhbc5{OxWfN?;)-fxJ4 zK+FjQj02*$-w^Wxu^2gGmo8{(}%EC~dR0|L2#?FJlD5A#a$ z0$DRn3gfrt#j-%G2n37+0K6fd0#p&8bOnRwVzUd#uYP+l_yVB>VqYuR z`p_>5hMEM!x&*^bQfP4KGS{h&E_0twyECM~we(|4qbuI-u%22L8X~%nm3m=W=!kba ztXGzWMtZNqDp(f!?EMaF-m=h8A9PrYmW59Hu)|umEVScC>>B&&TNXn3GS!h_lk|+8 zwnQ1k5vo6C8bO#*BUDF=nk03Q>QAYbA%%9b!RGyd{5lq5;PW7rpA)OSAoV=0R{lZ_ zp_f*B*-?8bYUskHDIB~g_z!-T13XbMh@qOn(D@YbtcNiCl_1XCjVur z@3xf={*pE~idPNKR5#L0o?RGetx`57z-vX?xY+C}mLh1bZv$Mw%eGoaEVw#o1fkas z%$8gA!s;fr(ay?n*fl*Y<3&8|5ku1wPKMXK*Dl5(Ax??tamU`|dro3TLkMl23Lu7QC^SV6xA#@bzB8 zsh#g_bhvO$6WIRV2|Ft`o&gSV|sd#v&6AUl3U0gt0~WHww0?snYPE- zmLC)gH+x!uFY{KZ*wM+|&yFN}o*xne7ke6b9epZr%IEH655{Ys9~PYpJ$06B2IrjY ziCyzAe?Sb}>uJD|!Fk@~}QHzg2S`c>B8hxGL zb{&;cD?7bII^cs(!0Q%p_mydUQGE2RJ|@4=kj+kNkG|SRKamW$S>uY$6` zOPm;R+g=lAH>nFzQ$;l`?^CBTZM?P#{)yx^d`3>aLDdR=L<|}}cJ5MN`>l3&3)Z*y zo`1Lev=jm8kmk~|X==BA5bwLoxPJDHhPw?&h9>o2u3UQ*jW7I6Gy`6Hak0B=e6x$) z27)#0M8M}~iIBNsso*TGuB|vix-PDTo1t=DeSVL%(DrgT^@`o(R;0IVgnd+PF0gLU ztVM>apj(mrT92ajP}zc6*{nHIk+?vjw0CZ2PSOe7xRyIoFGOtne&!_k?{;0#97$(> zJ!kuc)I64Q{fgP++Tlq0@_&cKyS05CcKt|hNw^ZrV_ZT~cRap0Ia20RVcFXN*RuE; zD4IMwbN_3gMKd|MxuVUT&7^8^Z`{<$!>aP7>g#}QZ%eM50?a9HQXQ-}aNJ8QC?7RU zs!aD*;~Iu5tAI&1JcMfB?UA~izSW98A0y1%*XYN0l=Q_nee-2&Qr+fpZkpSU+}8}i zF|f^(YQ2n7De*tgN2%0H4)u92)bnU$49`tjs}*bH!bn zT`Rl+!RJQTDK0FoESDCS7T?Y~i)$YWvu_LU-p(c v;J^U;XT7#hBST+$es+iFxgFGQv)a|}-~`rbqU-l?2EPM&tjgG6=kI?3G3OQ+ diff --git a/src/object_detection/utils/ops.pyc b/src/object_detection/utils/ops.pyc deleted file mode 100644 index 031bb380559dc0e8b7750a650df1c62391041de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25463 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 diff --git a/src/object_detection/utils/variables_helper.pyc b/src/object_detection/utils/variables_helper.pyc deleted file mode 100644 index 933a09a72dd2102da1fdc212281bab73aa5da116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4921 zcmdT|-EJGl6+TN+l&GKDNo==CWq1|D4W&pkQ`~b zOYaP2sgMvLa)0jo5`Bd}NH2;$MjxR4&KZ)slw;(=x~U`%XJ=>5%sF$u@0_FNf7X`& z@!{|f2~B<)`2H0>Hb#>Y?Vt@PZBQ1_4m!Typq<9F-=v)u=@#uT(0-eC+N2jLZPE+O zU!t@{FCe5t>4J2YDQ!z=Hf;_}s_Geut({blM~*TAc)R z)}YfC9VK)^^kDZZI$a=#p*9_TL?7R0DZ>XwR?oPf`)b6b?Xtax6%=Uvsy2d*!(PW)k_ZCzKt*q?Gs zb@z%Q({X-lL#anSzm%5+vR!W!$=>x&~- zM5dn?rH)3igX`xOuoCI=9j7VaL^OHXMVF+ppP;unD295oEC$AH4vSQ0cC*;q2OUJI zcAgbB$If7QcG_qll(I28c9$Vxa_-q{KAgRVhAy{*OTk*u#^+~fmx9&cN-)PBd`|l( zG++-QipxwQz%%IZ?Qa_N3_Q?cQUPUvRKRSGsU-lL9DTqn@L=}_GX)I4k3~)TE2g%Y zQ@|!?O)$hAdiocf5o=rYXS~D`Fb7i)rY#DWV04lBYP-u9X-@;9&&HWEqwHAq%Q!Va znN^+zrdkReSnrJh*2|DM2Sb))BYHa>dL6)hIUb-mV)1ac@j1w^B^1TK0X$7Q0JWnCmA)~kz@u`G{-xw*@|^Kovi>n9V}9Lhb1s;-QjfS z=zX8)U}BA+Dt2mso%WEtEWi!fXYDue!-u8Tf7CM!{$J7#xZ>gnL9zjr7Ah~MNkLNN z4mp$LK~p}ql32}Le2%-AojJ!tI>AWy%)$XmjLpn4m76OVZ%9-d%|WvtVR$HO`>@s39Wa|L^z zpy6NWaG*si*?ajOgW-jYNXTqZ{{D1EgX3kn#j}Bee3cV<1ZQyT_u$!S$--p-Vyy&p z#M(3BaElfp9lXpCdBlkjK(oKhI8&n&ijF^HkE&$)Cd^4`|OO|3hl3Q zxW_XN5@6`*+}Zyr1;rW*-L3%kZ(RSxGsSuAc#o6kxtb?Fj7`Sn4{~mqgnU0a7!@XW z64D>#c7(LZs=hhYxvJj2l-d7~bWUwKS%ojoZDhRgFP=Pjvc&~j!rPBfz;L;MLWa8t zczasK$Z4fki_7D4ImXnBZI!c^wb}D}LR!y2IJB&E@QFtC%n9XS3)zSp@b+A=T}%a?IB*1s;x0%;5CpKoWneap2DxB!Om z)r=R(>k~%zGy~X1|D_B74vD{g_~E$>fLGPvEsu<138&M&eMG}3y?!t|7x>34ly~ir z{SaU0^hH$(pF@Q*^?^Cn?JcbMa#FPmg?R(jJ-NEJE|YB+_Qtp zgz6F`9dbQMlH}h3!f}uF^ZPS&ggQ=9qrMI4eJyp0{1<_%6FZ1U8gbeeMhE)XN@;@< z6gr7af!qE%?sG~ZK z)!=U-BvIr8R+C3Lp{r{Bkh5u-$q}?Pd*M$p5OPlB v!ySi{@Lg_xfu_=1dav*E0;antGRK+zlrvk&)7sExwSnJ-)$5&Woh$zXUY0$u diff --git a/src/object_detection/.ipynb_checkpoints/object_detection_tutorial-checkpoint.ipynb b/train/src/object_detection/.ipynb_checkpoints/object_detection_tutorial-checkpoint.ipynb similarity index 100% rename from src/object_detection/.ipynb_checkpoints/object_detection_tutorial-checkpoint.ipynb rename to train/src/object_detection/.ipynb_checkpoints/object_detection_tutorial-checkpoint.ipynb diff --git a/src/object_detection/BUILD b/train/src/object_detection/BUILD similarity index 100% rename from src/object_detection/BUILD rename to train/src/object_detection/BUILD diff --git a/src/object_detection/CONTRIBUTING.md b/train/src/object_detection/CONTRIBUTING.md similarity index 100% rename from src/object_detection/CONTRIBUTING.md rename to train/src/object_detection/CONTRIBUTING.md diff --git a/src/object_detection/README.md b/train/src/object_detection/README.md similarity index 100% rename from src/object_detection/README.md rename to train/src/object_detection/README.md diff --git a/src/object_detection/builders/__init__.py b/train/src/object_detection/__init__.py similarity index 100% rename from src/object_detection/builders/__init__.py rename to train/src/object_detection/__init__.py diff --git a/src/object_detection/anchor_generators/BUILD b/train/src/object_detection/anchor_generators/BUILD similarity index 100% rename from src/object_detection/anchor_generators/BUILD rename to train/src/object_detection/anchor_generators/BUILD diff --git a/src/object_detection/core/__init__.py b/train/src/object_detection/anchor_generators/__init__.py similarity index 100% rename from src/object_detection/core/__init__.py rename to train/src/object_detection/anchor_generators/__init__.py diff --git a/src/object_detection/anchor_generators/grid_anchor_generator.py b/train/src/object_detection/anchor_generators/grid_anchor_generator.py similarity index 100% rename from src/object_detection/anchor_generators/grid_anchor_generator.py rename to train/src/object_detection/anchor_generators/grid_anchor_generator.py diff --git a/src/object_detection/anchor_generators/grid_anchor_generator_test.py b/train/src/object_detection/anchor_generators/grid_anchor_generator_test.py similarity index 100% rename from src/object_detection/anchor_generators/grid_anchor_generator_test.py rename to train/src/object_detection/anchor_generators/grid_anchor_generator_test.py diff --git a/src/object_detection/anchor_generators/multiple_grid_anchor_generator.py b/train/src/object_detection/anchor_generators/multiple_grid_anchor_generator.py similarity index 100% rename from src/object_detection/anchor_generators/multiple_grid_anchor_generator.py rename to train/src/object_detection/anchor_generators/multiple_grid_anchor_generator.py diff --git a/src/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py b/train/src/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py similarity index 100% rename from src/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py rename to train/src/object_detection/anchor_generators/multiple_grid_anchor_generator_test.py diff --git a/src/object_detection/box_coders/BUILD b/train/src/object_detection/box_coders/BUILD similarity index 100% rename from src/object_detection/box_coders/BUILD rename to train/src/object_detection/box_coders/BUILD diff --git a/src/object_detection/data_decoders/__init__.py b/train/src/object_detection/box_coders/__init__.py similarity index 100% rename from src/object_detection/data_decoders/__init__.py rename to train/src/object_detection/box_coders/__init__.py diff --git a/src/object_detection/box_coders/faster_rcnn_box_coder.py b/train/src/object_detection/box_coders/faster_rcnn_box_coder.py similarity index 100% rename from src/object_detection/box_coders/faster_rcnn_box_coder.py rename to train/src/object_detection/box_coders/faster_rcnn_box_coder.py diff --git a/src/object_detection/box_coders/faster_rcnn_box_coder_test.py b/train/src/object_detection/box_coders/faster_rcnn_box_coder_test.py similarity index 100% rename from src/object_detection/box_coders/faster_rcnn_box_coder_test.py rename to train/src/object_detection/box_coders/faster_rcnn_box_coder_test.py diff --git a/src/object_detection/box_coders/keypoint_box_coder.py b/train/src/object_detection/box_coders/keypoint_box_coder.py similarity index 100% rename from src/object_detection/box_coders/keypoint_box_coder.py rename to train/src/object_detection/box_coders/keypoint_box_coder.py diff --git a/src/object_detection/box_coders/keypoint_box_coder_test.py b/train/src/object_detection/box_coders/keypoint_box_coder_test.py similarity index 100% rename from src/object_detection/box_coders/keypoint_box_coder_test.py rename to train/src/object_detection/box_coders/keypoint_box_coder_test.py diff --git a/src/object_detection/box_coders/mean_stddev_box_coder.py b/train/src/object_detection/box_coders/mean_stddev_box_coder.py similarity index 100% rename from src/object_detection/box_coders/mean_stddev_box_coder.py rename to train/src/object_detection/box_coders/mean_stddev_box_coder.py diff --git a/src/object_detection/box_coders/mean_stddev_box_coder_test.py b/train/src/object_detection/box_coders/mean_stddev_box_coder_test.py similarity index 100% rename from src/object_detection/box_coders/mean_stddev_box_coder_test.py rename to train/src/object_detection/box_coders/mean_stddev_box_coder_test.py diff --git a/src/object_detection/box_coders/square_box_coder.py b/train/src/object_detection/box_coders/square_box_coder.py similarity index 100% rename from src/object_detection/box_coders/square_box_coder.py rename to train/src/object_detection/box_coders/square_box_coder.py diff --git a/src/object_detection/box_coders/square_box_coder_test.py b/train/src/object_detection/box_coders/square_box_coder_test.py similarity index 100% rename from src/object_detection/box_coders/square_box_coder_test.py rename to train/src/object_detection/box_coders/square_box_coder_test.py diff --git a/src/object_detection/builders/BUILD b/train/src/object_detection/builders/BUILD similarity index 100% rename from src/object_detection/builders/BUILD rename to train/src/object_detection/builders/BUILD diff --git a/src/object_detection/matchers/__init__.py b/train/src/object_detection/builders/__init__.py similarity index 100% rename from src/object_detection/matchers/__init__.py rename to train/src/object_detection/builders/__init__.py diff --git a/src/object_detection/builders/anchor_generator_builder.py b/train/src/object_detection/builders/anchor_generator_builder.py similarity index 100% rename from src/object_detection/builders/anchor_generator_builder.py rename to train/src/object_detection/builders/anchor_generator_builder.py diff --git a/src/object_detection/builders/anchor_generator_builder_test.py b/train/src/object_detection/builders/anchor_generator_builder_test.py similarity index 100% rename from src/object_detection/builders/anchor_generator_builder_test.py rename to train/src/object_detection/builders/anchor_generator_builder_test.py diff --git a/src/object_detection/builders/box_coder_builder.py b/train/src/object_detection/builders/box_coder_builder.py similarity index 100% rename from src/object_detection/builders/box_coder_builder.py rename to train/src/object_detection/builders/box_coder_builder.py diff --git a/src/object_detection/builders/box_coder_builder_test.py b/train/src/object_detection/builders/box_coder_builder_test.py similarity index 100% rename from src/object_detection/builders/box_coder_builder_test.py rename to train/src/object_detection/builders/box_coder_builder_test.py diff --git a/src/object_detection/builders/box_predictor_builder.py b/train/src/object_detection/builders/box_predictor_builder.py similarity index 100% rename from src/object_detection/builders/box_predictor_builder.py rename to train/src/object_detection/builders/box_predictor_builder.py diff --git a/src/object_detection/builders/box_predictor_builder_test.py b/train/src/object_detection/builders/box_predictor_builder_test.py similarity index 100% rename from src/object_detection/builders/box_predictor_builder_test.py rename to train/src/object_detection/builders/box_predictor_builder_test.py diff --git a/src/object_detection/builders/hyperparams_builder.py b/train/src/object_detection/builders/hyperparams_builder.py similarity index 100% rename from src/object_detection/builders/hyperparams_builder.py rename to train/src/object_detection/builders/hyperparams_builder.py diff --git a/src/object_detection/builders/hyperparams_builder_test.py b/train/src/object_detection/builders/hyperparams_builder_test.py similarity index 100% rename from src/object_detection/builders/hyperparams_builder_test.py rename to train/src/object_detection/builders/hyperparams_builder_test.py diff --git a/src/object_detection/builders/image_resizer_builder.py b/train/src/object_detection/builders/image_resizer_builder.py similarity index 100% rename from src/object_detection/builders/image_resizer_builder.py rename to train/src/object_detection/builders/image_resizer_builder.py diff --git a/src/object_detection/builders/image_resizer_builder_test.py b/train/src/object_detection/builders/image_resizer_builder_test.py similarity index 100% rename from src/object_detection/builders/image_resizer_builder_test.py rename to train/src/object_detection/builders/image_resizer_builder_test.py diff --git a/src/object_detection/builders/input_reader_builder.py b/train/src/object_detection/builders/input_reader_builder.py similarity index 100% rename from src/object_detection/builders/input_reader_builder.py rename to train/src/object_detection/builders/input_reader_builder.py diff --git a/src/object_detection/builders/input_reader_builder_test.py b/train/src/object_detection/builders/input_reader_builder_test.py similarity index 100% rename from src/object_detection/builders/input_reader_builder_test.py rename to train/src/object_detection/builders/input_reader_builder_test.py diff --git a/src/object_detection/builders/losses_builder.py b/train/src/object_detection/builders/losses_builder.py similarity index 100% rename from src/object_detection/builders/losses_builder.py rename to train/src/object_detection/builders/losses_builder.py diff --git a/src/object_detection/builders/losses_builder_test.py b/train/src/object_detection/builders/losses_builder_test.py similarity index 100% rename from src/object_detection/builders/losses_builder_test.py rename to train/src/object_detection/builders/losses_builder_test.py diff --git a/src/object_detection/builders/matcher_builder.py b/train/src/object_detection/builders/matcher_builder.py similarity index 100% rename from src/object_detection/builders/matcher_builder.py rename to train/src/object_detection/builders/matcher_builder.py diff --git a/src/object_detection/builders/matcher_builder_test.py b/train/src/object_detection/builders/matcher_builder_test.py similarity index 100% rename from src/object_detection/builders/matcher_builder_test.py rename to train/src/object_detection/builders/matcher_builder_test.py diff --git a/src/object_detection/builders/model_builder.py b/train/src/object_detection/builders/model_builder.py similarity index 100% rename from src/object_detection/builders/model_builder.py rename to train/src/object_detection/builders/model_builder.py diff --git a/src/object_detection/builders/model_builder_test.py b/train/src/object_detection/builders/model_builder_test.py similarity index 100% rename from src/object_detection/builders/model_builder_test.py rename to train/src/object_detection/builders/model_builder_test.py diff --git a/src/object_detection/builders/optimizer_builder.py b/train/src/object_detection/builders/optimizer_builder.py similarity index 100% rename from src/object_detection/builders/optimizer_builder.py rename to train/src/object_detection/builders/optimizer_builder.py diff --git a/src/object_detection/builders/optimizer_builder_test.py b/train/src/object_detection/builders/optimizer_builder_test.py similarity index 100% rename from src/object_detection/builders/optimizer_builder_test.py rename to train/src/object_detection/builders/optimizer_builder_test.py diff --git a/src/object_detection/builders/post_processing_builder.py b/train/src/object_detection/builders/post_processing_builder.py similarity index 100% rename from src/object_detection/builders/post_processing_builder.py rename to train/src/object_detection/builders/post_processing_builder.py diff --git a/src/object_detection/builders/post_processing_builder_test.py b/train/src/object_detection/builders/post_processing_builder_test.py similarity index 100% rename from src/object_detection/builders/post_processing_builder_test.py rename to train/src/object_detection/builders/post_processing_builder_test.py diff --git a/src/object_detection/builders/preprocessor_builder.py b/train/src/object_detection/builders/preprocessor_builder.py similarity index 100% rename from src/object_detection/builders/preprocessor_builder.py rename to train/src/object_detection/builders/preprocessor_builder.py diff --git a/src/object_detection/builders/preprocessor_builder_test.py b/train/src/object_detection/builders/preprocessor_builder_test.py similarity index 100% rename from src/object_detection/builders/preprocessor_builder_test.py rename to train/src/object_detection/builders/preprocessor_builder_test.py diff --git a/src/object_detection/builders/region_similarity_calculator_builder.py b/train/src/object_detection/builders/region_similarity_calculator_builder.py similarity index 100% rename from src/object_detection/builders/region_similarity_calculator_builder.py rename to train/src/object_detection/builders/region_similarity_calculator_builder.py diff --git a/src/object_detection/builders/region_similarity_calculator_builder_test.py b/train/src/object_detection/builders/region_similarity_calculator_builder_test.py similarity index 100% rename from src/object_detection/builders/region_similarity_calculator_builder_test.py rename to train/src/object_detection/builders/region_similarity_calculator_builder_test.py diff --git a/src/object_detection/core/BUILD b/train/src/object_detection/core/BUILD similarity index 100% rename from src/object_detection/core/BUILD rename to train/src/object_detection/core/BUILD diff --git a/src/object_detection/meta_architectures/__init__.py b/train/src/object_detection/core/__init__.py similarity index 100% rename from src/object_detection/meta_architectures/__init__.py rename to train/src/object_detection/core/__init__.py diff --git a/src/object_detection/core/anchor_generator.py b/train/src/object_detection/core/anchor_generator.py similarity index 100% rename from src/object_detection/core/anchor_generator.py rename to train/src/object_detection/core/anchor_generator.py diff --git a/src/object_detection/core/balanced_positive_negative_sampler.py b/train/src/object_detection/core/balanced_positive_negative_sampler.py similarity index 100% rename from src/object_detection/core/balanced_positive_negative_sampler.py rename to train/src/object_detection/core/balanced_positive_negative_sampler.py diff --git a/src/object_detection/core/balanced_positive_negative_sampler_test.py b/train/src/object_detection/core/balanced_positive_negative_sampler_test.py similarity index 100% rename from src/object_detection/core/balanced_positive_negative_sampler_test.py rename to train/src/object_detection/core/balanced_positive_negative_sampler_test.py diff --git a/src/object_detection/core/batcher.py b/train/src/object_detection/core/batcher.py similarity index 100% rename from src/object_detection/core/batcher.py rename to train/src/object_detection/core/batcher.py diff --git a/src/object_detection/core/batcher_test.py b/train/src/object_detection/core/batcher_test.py similarity index 100% rename from src/object_detection/core/batcher_test.py rename to train/src/object_detection/core/batcher_test.py diff --git a/src/object_detection/core/box_coder.py b/train/src/object_detection/core/box_coder.py similarity index 100% rename from src/object_detection/core/box_coder.py rename to train/src/object_detection/core/box_coder.py diff --git a/src/object_detection/core/box_coder_test.py b/train/src/object_detection/core/box_coder_test.py similarity index 100% rename from src/object_detection/core/box_coder_test.py rename to train/src/object_detection/core/box_coder_test.py diff --git a/src/object_detection/core/box_list.py b/train/src/object_detection/core/box_list.py similarity index 100% rename from src/object_detection/core/box_list.py rename to train/src/object_detection/core/box_list.py diff --git a/src/object_detection/core/box_list_ops.py b/train/src/object_detection/core/box_list_ops.py similarity index 100% rename from src/object_detection/core/box_list_ops.py rename to train/src/object_detection/core/box_list_ops.py diff --git a/src/object_detection/core/box_list_ops_test.py b/train/src/object_detection/core/box_list_ops_test.py similarity index 100% rename from src/object_detection/core/box_list_ops_test.py rename to train/src/object_detection/core/box_list_ops_test.py diff --git a/src/object_detection/core/box_list_test.py b/train/src/object_detection/core/box_list_test.py similarity index 100% rename from src/object_detection/core/box_list_test.py rename to train/src/object_detection/core/box_list_test.py diff --git a/src/object_detection/core/box_predictor.py b/train/src/object_detection/core/box_predictor.py similarity index 100% rename from src/object_detection/core/box_predictor.py rename to train/src/object_detection/core/box_predictor.py diff --git a/src/object_detection/core/box_predictor_test.py b/train/src/object_detection/core/box_predictor_test.py similarity index 100% rename from src/object_detection/core/box_predictor_test.py rename to train/src/object_detection/core/box_predictor_test.py diff --git a/src/object_detection/core/data_decoder.py b/train/src/object_detection/core/data_decoder.py similarity index 100% rename from src/object_detection/core/data_decoder.py rename to train/src/object_detection/core/data_decoder.py diff --git a/src/object_detection/core/keypoint_ops.py b/train/src/object_detection/core/keypoint_ops.py similarity index 100% rename from src/object_detection/core/keypoint_ops.py rename to train/src/object_detection/core/keypoint_ops.py diff --git a/src/object_detection/core/keypoint_ops_test.py b/train/src/object_detection/core/keypoint_ops_test.py similarity index 100% rename from src/object_detection/core/keypoint_ops_test.py rename to train/src/object_detection/core/keypoint_ops_test.py diff --git a/src/object_detection/core/losses.py b/train/src/object_detection/core/losses.py similarity index 100% rename from src/object_detection/core/losses.py rename to train/src/object_detection/core/losses.py diff --git a/src/object_detection/core/losses_test.py b/train/src/object_detection/core/losses_test.py similarity index 100% rename from src/object_detection/core/losses_test.py rename to train/src/object_detection/core/losses_test.py diff --git a/src/object_detection/core/matcher.py b/train/src/object_detection/core/matcher.py similarity index 100% rename from src/object_detection/core/matcher.py rename to train/src/object_detection/core/matcher.py diff --git a/src/object_detection/core/matcher_test.py b/train/src/object_detection/core/matcher_test.py similarity index 100% rename from src/object_detection/core/matcher_test.py rename to train/src/object_detection/core/matcher_test.py diff --git a/src/object_detection/core/minibatch_sampler.py b/train/src/object_detection/core/minibatch_sampler.py similarity index 100% rename from src/object_detection/core/minibatch_sampler.py rename to train/src/object_detection/core/minibatch_sampler.py diff --git a/src/object_detection/core/minibatch_sampler_test.py b/train/src/object_detection/core/minibatch_sampler_test.py similarity index 100% rename from src/object_detection/core/minibatch_sampler_test.py rename to train/src/object_detection/core/minibatch_sampler_test.py diff --git a/src/object_detection/core/model.py b/train/src/object_detection/core/model.py similarity index 100% rename from src/object_detection/core/model.py rename to train/src/object_detection/core/model.py diff --git a/src/object_detection/core/post_processing.py b/train/src/object_detection/core/post_processing.py similarity index 100% rename from src/object_detection/core/post_processing.py rename to train/src/object_detection/core/post_processing.py diff --git a/src/object_detection/core/post_processing_test.py b/train/src/object_detection/core/post_processing_test.py similarity index 100% rename from src/object_detection/core/post_processing_test.py rename to train/src/object_detection/core/post_processing_test.py diff --git a/src/object_detection/core/prefetcher.py b/train/src/object_detection/core/prefetcher.py similarity index 100% rename from src/object_detection/core/prefetcher.py rename to train/src/object_detection/core/prefetcher.py diff --git a/src/object_detection/core/prefetcher_test.py b/train/src/object_detection/core/prefetcher_test.py similarity index 100% rename from src/object_detection/core/prefetcher_test.py rename to train/src/object_detection/core/prefetcher_test.py diff --git a/src/object_detection/core/preprocessor.py b/train/src/object_detection/core/preprocessor.py similarity index 100% rename from src/object_detection/core/preprocessor.py rename to train/src/object_detection/core/preprocessor.py diff --git a/src/object_detection/core/preprocessor_test.py b/train/src/object_detection/core/preprocessor_test.py similarity index 100% rename from src/object_detection/core/preprocessor_test.py rename to train/src/object_detection/core/preprocessor_test.py diff --git a/src/object_detection/core/region_similarity_calculator.py b/train/src/object_detection/core/region_similarity_calculator.py similarity index 100% rename from src/object_detection/core/region_similarity_calculator.py rename to train/src/object_detection/core/region_similarity_calculator.py diff --git a/src/object_detection/core/region_similarity_calculator_test.py b/train/src/object_detection/core/region_similarity_calculator_test.py similarity index 100% rename from src/object_detection/core/region_similarity_calculator_test.py rename to train/src/object_detection/core/region_similarity_calculator_test.py diff --git a/src/object_detection/core/standard_fields.py b/train/src/object_detection/core/standard_fields.py similarity index 100% rename from src/object_detection/core/standard_fields.py rename to train/src/object_detection/core/standard_fields.py diff --git a/src/object_detection/core/target_assigner.py b/train/src/object_detection/core/target_assigner.py similarity index 100% rename from src/object_detection/core/target_assigner.py rename to train/src/object_detection/core/target_assigner.py diff --git a/src/object_detection/core/target_assigner_test.py b/train/src/object_detection/core/target_assigner_test.py similarity index 100% rename from src/object_detection/core/target_assigner_test.py rename to train/src/object_detection/core/target_assigner_test.py diff --git a/src/object_detection/create_pascal_tf_record.py b/train/src/object_detection/create_pascal_tf_record.py similarity index 100% rename from src/object_detection/create_pascal_tf_record.py rename to train/src/object_detection/create_pascal_tf_record.py diff --git a/src/object_detection/create_pascal_tf_record_test.py b/train/src/object_detection/create_pascal_tf_record_test.py similarity index 100% rename from src/object_detection/create_pascal_tf_record_test.py rename to train/src/object_detection/create_pascal_tf_record_test.py diff --git a/src/object_detection/create_pet_tf_record.py b/train/src/object_detection/create_pet_tf_record.py similarity index 100% rename from src/object_detection/create_pet_tf_record.py rename to train/src/object_detection/create_pet_tf_record.py diff --git a/src/object_detection/data/mscoco_label_map.pbtxt b/train/src/object_detection/data/mscoco_label_map.pbtxt similarity index 100% rename from src/object_detection/data/mscoco_label_map.pbtxt rename to train/src/object_detection/data/mscoco_label_map.pbtxt diff --git a/src/object_detection/data/pascal_label_map.pbtxt b/train/src/object_detection/data/pascal_label_map.pbtxt similarity index 100% rename from src/object_detection/data/pascal_label_map.pbtxt rename to train/src/object_detection/data/pascal_label_map.pbtxt diff --git a/src/object_detection/data/pet_label_map.pbtxt b/train/src/object_detection/data/pet_label_map.pbtxt similarity index 100% rename from src/object_detection/data/pet_label_map.pbtxt rename to train/src/object_detection/data/pet_label_map.pbtxt diff --git a/src/object_detection/data_decoders/BUILD b/train/src/object_detection/data_decoders/BUILD similarity index 100% rename from src/object_detection/data_decoders/BUILD rename to train/src/object_detection/data_decoders/BUILD diff --git a/src/object_detection/models/__init__.py b/train/src/object_detection/data_decoders/__init__.py similarity index 100% rename from src/object_detection/models/__init__.py rename to train/src/object_detection/data_decoders/__init__.py diff --git a/src/object_detection/data_decoders/tf_example_decoder.py b/train/src/object_detection/data_decoders/tf_example_decoder.py similarity index 100% rename from src/object_detection/data_decoders/tf_example_decoder.py rename to train/src/object_detection/data_decoders/tf_example_decoder.py diff --git a/src/object_detection/data_decoders/tf_example_decoder_test.py b/train/src/object_detection/data_decoders/tf_example_decoder_test.py similarity index 100% rename from src/object_detection/data_decoders/tf_example_decoder_test.py rename to train/src/object_detection/data_decoders/tf_example_decoder_test.py diff --git a/src/object_detection/detect.py b/train/src/object_detection/detect.py similarity index 100% rename from src/object_detection/detect.py rename to train/src/object_detection/detect.py diff --git a/src/object_detection/eval.py b/train/src/object_detection/eval.py similarity index 100% rename from src/object_detection/eval.py rename to train/src/object_detection/eval.py diff --git a/src/object_detection/eval_util.py b/train/src/object_detection/eval_util.py similarity index 100% rename from src/object_detection/eval_util.py rename to train/src/object_detection/eval_util.py diff --git a/src/object_detection/evaluator.py b/train/src/object_detection/evaluator.py similarity index 100% rename from src/object_detection/evaluator.py rename to train/src/object_detection/evaluator.py diff --git a/src/object_detection/export_inference_graph.py b/train/src/object_detection/export_inference_graph.py similarity index 100% rename from src/object_detection/export_inference_graph.py rename to train/src/object_detection/export_inference_graph.py diff --git a/src/object_detection/exporter.py b/train/src/object_detection/exporter.py similarity index 100% rename from src/object_detection/exporter.py rename to train/src/object_detection/exporter.py diff --git a/src/object_detection/exporter_test.py b/train/src/object_detection/exporter_test.py similarity index 100% rename from src/object_detection/exporter_test.py rename to train/src/object_detection/exporter_test.py diff --git a/src/object_detection/g3doc/configuring_jobs.md b/train/src/object_detection/g3doc/configuring_jobs.md similarity index 100% rename from src/object_detection/g3doc/configuring_jobs.md rename to train/src/object_detection/g3doc/configuring_jobs.md diff --git a/src/object_detection/g3doc/defining_your_own_model.md b/train/src/object_detection/g3doc/defining_your_own_model.md similarity index 100% rename from src/object_detection/g3doc/defining_your_own_model.md rename to train/src/object_detection/g3doc/defining_your_own_model.md diff --git a/src/object_detection/g3doc/detection_model_zoo.md b/train/src/object_detection/g3doc/detection_model_zoo.md similarity index 100% rename from src/object_detection/g3doc/detection_model_zoo.md rename to train/src/object_detection/g3doc/detection_model_zoo.md diff --git a/src/object_detection/g3doc/exporting_models.md b/train/src/object_detection/g3doc/exporting_models.md similarity index 100% rename from src/object_detection/g3doc/exporting_models.md rename to train/src/object_detection/g3doc/exporting_models.md diff --git a/src/object_detection/g3doc/img/dogs_detections_output.jpg b/train/src/object_detection/g3doc/img/dogs_detections_output.jpg similarity index 100% rename from src/object_detection/g3doc/img/dogs_detections_output.jpg rename to train/src/object_detection/g3doc/img/dogs_detections_output.jpg diff --git a/src/object_detection/g3doc/img/example_cat.jpg b/train/src/object_detection/g3doc/img/example_cat.jpg similarity index 100% rename from src/object_detection/g3doc/img/example_cat.jpg rename to train/src/object_detection/g3doc/img/example_cat.jpg diff --git a/src/object_detection/g3doc/img/kites_detections_output.jpg b/train/src/object_detection/g3doc/img/kites_detections_output.jpg similarity index 100% rename from src/object_detection/g3doc/img/kites_detections_output.jpg rename to train/src/object_detection/g3doc/img/kites_detections_output.jpg diff --git a/src/object_detection/g3doc/img/oxford_pet.png b/train/src/object_detection/g3doc/img/oxford_pet.png similarity index 100% rename from src/object_detection/g3doc/img/oxford_pet.png rename to train/src/object_detection/g3doc/img/oxford_pet.png diff --git a/src/object_detection/g3doc/img/tensorboard.png b/train/src/object_detection/g3doc/img/tensorboard.png similarity index 100% rename from src/object_detection/g3doc/img/tensorboard.png rename to train/src/object_detection/g3doc/img/tensorboard.png diff --git a/src/object_detection/g3doc/img/tensorboard2.png b/train/src/object_detection/g3doc/img/tensorboard2.png similarity index 100% rename from src/object_detection/g3doc/img/tensorboard2.png rename to train/src/object_detection/g3doc/img/tensorboard2.png diff --git a/src/object_detection/g3doc/installation.md b/train/src/object_detection/g3doc/installation.md similarity index 100% rename from src/object_detection/g3doc/installation.md rename to train/src/object_detection/g3doc/installation.md diff --git a/src/object_detection/g3doc/preparing_inputs.md b/train/src/object_detection/g3doc/preparing_inputs.md similarity index 100% rename from src/object_detection/g3doc/preparing_inputs.md rename to train/src/object_detection/g3doc/preparing_inputs.md diff --git a/src/object_detection/g3doc/running_locally.md b/train/src/object_detection/g3doc/running_locally.md similarity index 100% rename from src/object_detection/g3doc/running_locally.md rename to train/src/object_detection/g3doc/running_locally.md diff --git a/src/object_detection/g3doc/running_notebook.md b/train/src/object_detection/g3doc/running_notebook.md similarity index 100% rename from src/object_detection/g3doc/running_notebook.md rename to train/src/object_detection/g3doc/running_notebook.md diff --git a/src/object_detection/g3doc/running_on_cloud.md b/train/src/object_detection/g3doc/running_on_cloud.md similarity index 100% rename from src/object_detection/g3doc/running_on_cloud.md rename to train/src/object_detection/g3doc/running_on_cloud.md diff --git a/src/object_detection/g3doc/running_pets.md b/train/src/object_detection/g3doc/running_pets.md similarity index 100% rename from src/object_detection/g3doc/running_pets.md rename to train/src/object_detection/g3doc/running_pets.md diff --git a/src/object_detection/g3doc/using_your_own_dataset.md b/train/src/object_detection/g3doc/using_your_own_dataset.md similarity index 100% rename from src/object_detection/g3doc/using_your_own_dataset.md rename to train/src/object_detection/g3doc/using_your_own_dataset.md diff --git a/src/object_detection/matchers/BUILD b/train/src/object_detection/matchers/BUILD similarity index 100% rename from src/object_detection/matchers/BUILD rename to train/src/object_detection/matchers/BUILD diff --git a/src/object_detection/protos/__init__.py b/train/src/object_detection/matchers/__init__.py similarity index 100% rename from src/object_detection/protos/__init__.py rename to train/src/object_detection/matchers/__init__.py diff --git a/src/object_detection/matchers/argmax_matcher.py b/train/src/object_detection/matchers/argmax_matcher.py similarity index 100% rename from src/object_detection/matchers/argmax_matcher.py rename to train/src/object_detection/matchers/argmax_matcher.py diff --git a/src/object_detection/matchers/argmax_matcher_test.py b/train/src/object_detection/matchers/argmax_matcher_test.py similarity index 100% rename from src/object_detection/matchers/argmax_matcher_test.py rename to train/src/object_detection/matchers/argmax_matcher_test.py diff --git a/src/object_detection/matchers/bipartite_matcher.py b/train/src/object_detection/matchers/bipartite_matcher.py similarity index 100% rename from src/object_detection/matchers/bipartite_matcher.py rename to train/src/object_detection/matchers/bipartite_matcher.py diff --git a/src/object_detection/matchers/bipartite_matcher_test.py b/train/src/object_detection/matchers/bipartite_matcher_test.py similarity index 100% rename from src/object_detection/matchers/bipartite_matcher_test.py rename to train/src/object_detection/matchers/bipartite_matcher_test.py diff --git a/src/object_detection/meta_architectures/BUILD b/train/src/object_detection/meta_architectures/BUILD similarity index 100% rename from src/object_detection/meta_architectures/BUILD rename to train/src/object_detection/meta_architectures/BUILD diff --git a/src/object_detection/utils/__init__.py b/train/src/object_detection/meta_architectures/__init__.py similarity index 100% rename from src/object_detection/utils/__init__.py rename to train/src/object_detection/meta_architectures/__init__.py diff --git a/src/object_detection/meta_architectures/faster_rcnn_meta_arch.py b/train/src/object_detection/meta_architectures/faster_rcnn_meta_arch.py similarity index 100% rename from src/object_detection/meta_architectures/faster_rcnn_meta_arch.py rename to train/src/object_detection/meta_architectures/faster_rcnn_meta_arch.py diff --git a/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py b/train/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py similarity index 100% rename from src/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py rename to train/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test.py diff --git a/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py b/train/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py similarity index 100% rename from src/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py rename to train/src/object_detection/meta_architectures/faster_rcnn_meta_arch_test_lib.py diff --git a/src/object_detection/meta_architectures/rfcn_meta_arch.py b/train/src/object_detection/meta_architectures/rfcn_meta_arch.py similarity index 100% rename from src/object_detection/meta_architectures/rfcn_meta_arch.py rename to train/src/object_detection/meta_architectures/rfcn_meta_arch.py diff --git a/src/object_detection/meta_architectures/rfcn_meta_arch_test.py b/train/src/object_detection/meta_architectures/rfcn_meta_arch_test.py similarity index 100% rename from src/object_detection/meta_architectures/rfcn_meta_arch_test.py rename to train/src/object_detection/meta_architectures/rfcn_meta_arch_test.py diff --git a/src/object_detection/meta_architectures/ssd_meta_arch.py b/train/src/object_detection/meta_architectures/ssd_meta_arch.py similarity index 100% rename from src/object_detection/meta_architectures/ssd_meta_arch.py rename to train/src/object_detection/meta_architectures/ssd_meta_arch.py diff --git a/src/object_detection/meta_architectures/ssd_meta_arch_test.py b/train/src/object_detection/meta_architectures/ssd_meta_arch_test.py similarity index 100% rename from src/object_detection/meta_architectures/ssd_meta_arch_test.py rename to train/src/object_detection/meta_architectures/ssd_meta_arch_test.py diff --git a/src/object_detection/models/BUILD b/train/src/object_detection/models/BUILD similarity index 100% rename from src/object_detection/models/BUILD rename to train/src/object_detection/models/BUILD diff --git a/train/src/object_detection/models/__init__.py b/train/src/object_detection/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py b/train/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py similarity index 100% rename from src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py rename to train/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py diff --git a/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py b/train/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py similarity index 100% rename from src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py rename to train/src/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor_test.py diff --git a/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py b/train/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py similarity index 100% rename from src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py rename to train/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py diff --git a/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py b/train/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py similarity index 100% rename from src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py rename to train/src/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py diff --git a/src/object_detection/models/feature_map_generators.py b/train/src/object_detection/models/feature_map_generators.py similarity index 100% rename from src/object_detection/models/feature_map_generators.py rename to train/src/object_detection/models/feature_map_generators.py diff --git a/src/object_detection/models/feature_map_generators_test.py b/train/src/object_detection/models/feature_map_generators_test.py similarity index 100% rename from src/object_detection/models/feature_map_generators_test.py rename to train/src/object_detection/models/feature_map_generators_test.py diff --git a/src/object_detection/models/ssd_feature_extractor_test.py b/train/src/object_detection/models/ssd_feature_extractor_test.py similarity index 100% rename from src/object_detection/models/ssd_feature_extractor_test.py rename to train/src/object_detection/models/ssd_feature_extractor_test.py diff --git a/src/object_detection/models/ssd_inception_v2_feature_extractor.py b/train/src/object_detection/models/ssd_inception_v2_feature_extractor.py similarity index 100% rename from src/object_detection/models/ssd_inception_v2_feature_extractor.py rename to train/src/object_detection/models/ssd_inception_v2_feature_extractor.py diff --git a/src/object_detection/models/ssd_inception_v2_feature_extractor_test.py b/train/src/object_detection/models/ssd_inception_v2_feature_extractor_test.py similarity index 100% rename from src/object_detection/models/ssd_inception_v2_feature_extractor_test.py rename to train/src/object_detection/models/ssd_inception_v2_feature_extractor_test.py diff --git a/src/object_detection/models/ssd_mobilenet_v1_feature_extractor.py b/train/src/object_detection/models/ssd_mobilenet_v1_feature_extractor.py similarity index 100% rename from src/object_detection/models/ssd_mobilenet_v1_feature_extractor.py rename to train/src/object_detection/models/ssd_mobilenet_v1_feature_extractor.py diff --git a/src/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py b/train/src/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py similarity index 100% rename from src/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py rename to train/src/object_detection/models/ssd_mobilenet_v1_feature_extractor_test.py diff --git a/src/object_detection/object_detection_tutorial.ipynb b/train/src/object_detection/object_detection_tutorial.ipynb similarity index 100% rename from src/object_detection/object_detection_tutorial.ipynb rename to train/src/object_detection/object_detection_tutorial.ipynb diff --git a/src/object_detection/object_detection_tutorial.py b/train/src/object_detection/object_detection_tutorial.py similarity index 100% rename from src/object_detection/object_detection_tutorial.py rename to train/src/object_detection/object_detection_tutorial.py diff --git a/src/object_detection/protos/BUILD b/train/src/object_detection/protos/BUILD similarity index 100% rename from src/object_detection/protos/BUILD rename to train/src/object_detection/protos/BUILD diff --git a/train/src/object_detection/protos/__init__.py b/train/src/object_detection/protos/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/object_detection/protos/anchor_generator.proto b/train/src/object_detection/protos/anchor_generator.proto similarity index 100% rename from src/object_detection/protos/anchor_generator.proto rename to train/src/object_detection/protos/anchor_generator.proto diff --git a/src/object_detection/protos/anchor_generator_pb2.py b/train/src/object_detection/protos/anchor_generator_pb2.py similarity index 100% rename from src/object_detection/protos/anchor_generator_pb2.py rename to train/src/object_detection/protos/anchor_generator_pb2.py diff --git a/src/object_detection/protos/argmax_matcher.proto b/train/src/object_detection/protos/argmax_matcher.proto similarity index 100% rename from src/object_detection/protos/argmax_matcher.proto rename to train/src/object_detection/protos/argmax_matcher.proto diff --git a/src/object_detection/protos/argmax_matcher_pb2.py b/train/src/object_detection/protos/argmax_matcher_pb2.py similarity index 100% rename from src/object_detection/protos/argmax_matcher_pb2.py rename to train/src/object_detection/protos/argmax_matcher_pb2.py diff --git a/src/object_detection/protos/bipartite_matcher.proto b/train/src/object_detection/protos/bipartite_matcher.proto similarity index 100% rename from src/object_detection/protos/bipartite_matcher.proto rename to train/src/object_detection/protos/bipartite_matcher.proto diff --git a/src/object_detection/protos/bipartite_matcher_pb2.py b/train/src/object_detection/protos/bipartite_matcher_pb2.py similarity index 100% rename from src/object_detection/protos/bipartite_matcher_pb2.py rename to train/src/object_detection/protos/bipartite_matcher_pb2.py diff --git a/src/object_detection/protos/box_coder.proto b/train/src/object_detection/protos/box_coder.proto similarity index 100% rename from src/object_detection/protos/box_coder.proto rename to train/src/object_detection/protos/box_coder.proto diff --git a/src/object_detection/protos/box_coder_pb2.py b/train/src/object_detection/protos/box_coder_pb2.py similarity index 100% rename from src/object_detection/protos/box_coder_pb2.py rename to train/src/object_detection/protos/box_coder_pb2.py diff --git a/src/object_detection/protos/box_predictor.proto b/train/src/object_detection/protos/box_predictor.proto similarity index 100% rename from src/object_detection/protos/box_predictor.proto rename to train/src/object_detection/protos/box_predictor.proto diff --git a/src/object_detection/protos/box_predictor_pb2.py b/train/src/object_detection/protos/box_predictor_pb2.py similarity index 100% rename from src/object_detection/protos/box_predictor_pb2.py rename to train/src/object_detection/protos/box_predictor_pb2.py diff --git a/src/object_detection/protos/eval.proto b/train/src/object_detection/protos/eval.proto similarity index 100% rename from src/object_detection/protos/eval.proto rename to train/src/object_detection/protos/eval.proto diff --git a/src/object_detection/protos/eval_pb2.py b/train/src/object_detection/protos/eval_pb2.py similarity index 100% rename from src/object_detection/protos/eval_pb2.py rename to train/src/object_detection/protos/eval_pb2.py diff --git a/src/object_detection/protos/faster_rcnn.proto b/train/src/object_detection/protos/faster_rcnn.proto similarity index 100% rename from src/object_detection/protos/faster_rcnn.proto rename to train/src/object_detection/protos/faster_rcnn.proto diff --git a/src/object_detection/protos/faster_rcnn_box_coder.proto b/train/src/object_detection/protos/faster_rcnn_box_coder.proto similarity index 100% rename from src/object_detection/protos/faster_rcnn_box_coder.proto rename to train/src/object_detection/protos/faster_rcnn_box_coder.proto diff --git a/src/object_detection/protos/faster_rcnn_box_coder_pb2.py b/train/src/object_detection/protos/faster_rcnn_box_coder_pb2.py similarity index 100% rename from src/object_detection/protos/faster_rcnn_box_coder_pb2.py rename to train/src/object_detection/protos/faster_rcnn_box_coder_pb2.py diff --git a/src/object_detection/protos/faster_rcnn_pb2.py b/train/src/object_detection/protos/faster_rcnn_pb2.py similarity index 100% rename from src/object_detection/protos/faster_rcnn_pb2.py rename to train/src/object_detection/protos/faster_rcnn_pb2.py diff --git a/src/object_detection/protos/grid_anchor_generator.proto b/train/src/object_detection/protos/grid_anchor_generator.proto similarity index 100% rename from src/object_detection/protos/grid_anchor_generator.proto rename to train/src/object_detection/protos/grid_anchor_generator.proto diff --git a/src/object_detection/protos/grid_anchor_generator_pb2.py b/train/src/object_detection/protos/grid_anchor_generator_pb2.py similarity index 100% rename from src/object_detection/protos/grid_anchor_generator_pb2.py rename to train/src/object_detection/protos/grid_anchor_generator_pb2.py diff --git a/src/object_detection/protos/hyperparams.proto b/train/src/object_detection/protos/hyperparams.proto similarity index 100% rename from src/object_detection/protos/hyperparams.proto rename to train/src/object_detection/protos/hyperparams.proto diff --git a/src/object_detection/protos/hyperparams_pb2.py b/train/src/object_detection/protos/hyperparams_pb2.py similarity index 100% rename from src/object_detection/protos/hyperparams_pb2.py rename to train/src/object_detection/protos/hyperparams_pb2.py diff --git a/src/object_detection/protos/image_resizer.proto b/train/src/object_detection/protos/image_resizer.proto similarity index 100% rename from src/object_detection/protos/image_resizer.proto rename to train/src/object_detection/protos/image_resizer.proto diff --git a/src/object_detection/protos/image_resizer_pb2.py b/train/src/object_detection/protos/image_resizer_pb2.py similarity index 100% rename from src/object_detection/protos/image_resizer_pb2.py rename to train/src/object_detection/protos/image_resizer_pb2.py diff --git a/src/object_detection/protos/input_reader.proto b/train/src/object_detection/protos/input_reader.proto similarity index 100% rename from src/object_detection/protos/input_reader.proto rename to train/src/object_detection/protos/input_reader.proto diff --git a/src/object_detection/protos/input_reader_pb2.py b/train/src/object_detection/protos/input_reader_pb2.py similarity index 100% rename from src/object_detection/protos/input_reader_pb2.py rename to train/src/object_detection/protos/input_reader_pb2.py diff --git a/src/object_detection/protos/losses.proto b/train/src/object_detection/protos/losses.proto similarity index 100% rename from src/object_detection/protos/losses.proto rename to train/src/object_detection/protos/losses.proto diff --git a/src/object_detection/protos/losses_pb2.py b/train/src/object_detection/protos/losses_pb2.py similarity index 100% rename from src/object_detection/protos/losses_pb2.py rename to train/src/object_detection/protos/losses_pb2.py diff --git a/src/object_detection/protos/matcher.proto b/train/src/object_detection/protos/matcher.proto similarity index 100% rename from src/object_detection/protos/matcher.proto rename to train/src/object_detection/protos/matcher.proto diff --git a/src/object_detection/protos/matcher_pb2.py b/train/src/object_detection/protos/matcher_pb2.py similarity index 100% rename from src/object_detection/protos/matcher_pb2.py rename to train/src/object_detection/protos/matcher_pb2.py diff --git a/src/object_detection/protos/mean_stddev_box_coder.proto b/train/src/object_detection/protos/mean_stddev_box_coder.proto similarity index 100% rename from src/object_detection/protos/mean_stddev_box_coder.proto rename to train/src/object_detection/protos/mean_stddev_box_coder.proto diff --git a/src/object_detection/protos/mean_stddev_box_coder_pb2.py b/train/src/object_detection/protos/mean_stddev_box_coder_pb2.py similarity index 100% rename from src/object_detection/protos/mean_stddev_box_coder_pb2.py rename to train/src/object_detection/protos/mean_stddev_box_coder_pb2.py diff --git a/src/object_detection/protos/model.proto b/train/src/object_detection/protos/model.proto similarity index 100% rename from src/object_detection/protos/model.proto rename to train/src/object_detection/protos/model.proto diff --git a/src/object_detection/protos/model_pb2.py b/train/src/object_detection/protos/model_pb2.py similarity index 100% rename from src/object_detection/protos/model_pb2.py rename to train/src/object_detection/protos/model_pb2.py diff --git a/src/object_detection/protos/model_pb2.pyc b/train/src/object_detection/protos/model_pb2.pyc similarity index 100% rename from src/object_detection/protos/model_pb2.pyc rename to train/src/object_detection/protos/model_pb2.pyc diff --git a/src/object_detection/protos/optimizer.proto b/train/src/object_detection/protos/optimizer.proto similarity index 100% rename from src/object_detection/protos/optimizer.proto rename to train/src/object_detection/protos/optimizer.proto diff --git a/src/object_detection/protos/optimizer_pb2.py b/train/src/object_detection/protos/optimizer_pb2.py similarity index 100% rename from src/object_detection/protos/optimizer_pb2.py rename to train/src/object_detection/protos/optimizer_pb2.py diff --git a/src/object_detection/protos/pipeline.proto b/train/src/object_detection/protos/pipeline.proto similarity index 100% rename from src/object_detection/protos/pipeline.proto rename to train/src/object_detection/protos/pipeline.proto diff --git a/src/object_detection/protos/pipeline_pb2.py b/train/src/object_detection/protos/pipeline_pb2.py similarity index 100% rename from src/object_detection/protos/pipeline_pb2.py rename to train/src/object_detection/protos/pipeline_pb2.py diff --git a/src/object_detection/protos/post_processing.proto b/train/src/object_detection/protos/post_processing.proto similarity index 100% rename from src/object_detection/protos/post_processing.proto rename to train/src/object_detection/protos/post_processing.proto diff --git a/src/object_detection/protos/post_processing_pb2.py b/train/src/object_detection/protos/post_processing_pb2.py similarity index 100% rename from src/object_detection/protos/post_processing_pb2.py rename to train/src/object_detection/protos/post_processing_pb2.py diff --git a/src/object_detection/protos/preprocessor.proto b/train/src/object_detection/protos/preprocessor.proto similarity index 100% rename from src/object_detection/protos/preprocessor.proto rename to train/src/object_detection/protos/preprocessor.proto diff --git a/src/object_detection/protos/preprocessor_pb2.py b/train/src/object_detection/protos/preprocessor_pb2.py similarity index 100% rename from src/object_detection/protos/preprocessor_pb2.py rename to train/src/object_detection/protos/preprocessor_pb2.py diff --git a/src/object_detection/protos/region_similarity_calculator.proto b/train/src/object_detection/protos/region_similarity_calculator.proto similarity index 100% rename from src/object_detection/protos/region_similarity_calculator.proto rename to train/src/object_detection/protos/region_similarity_calculator.proto diff --git a/src/object_detection/protos/region_similarity_calculator_pb2.py b/train/src/object_detection/protos/region_similarity_calculator_pb2.py similarity index 100% rename from src/object_detection/protos/region_similarity_calculator_pb2.py rename to train/src/object_detection/protos/region_similarity_calculator_pb2.py diff --git a/src/object_detection/protos/square_box_coder.proto b/train/src/object_detection/protos/square_box_coder.proto similarity index 100% rename from src/object_detection/protos/square_box_coder.proto rename to train/src/object_detection/protos/square_box_coder.proto diff --git a/src/object_detection/protos/square_box_coder_pb2.py b/train/src/object_detection/protos/square_box_coder_pb2.py similarity index 100% rename from src/object_detection/protos/square_box_coder_pb2.py rename to train/src/object_detection/protos/square_box_coder_pb2.py diff --git a/src/object_detection/protos/ssd.proto b/train/src/object_detection/protos/ssd.proto similarity index 100% rename from src/object_detection/protos/ssd.proto rename to train/src/object_detection/protos/ssd.proto diff --git a/src/object_detection/protos/ssd_anchor_generator.proto b/train/src/object_detection/protos/ssd_anchor_generator.proto similarity index 100% rename from src/object_detection/protos/ssd_anchor_generator.proto rename to train/src/object_detection/protos/ssd_anchor_generator.proto diff --git a/src/object_detection/protos/ssd_anchor_generator_pb2.py b/train/src/object_detection/protos/ssd_anchor_generator_pb2.py similarity index 100% rename from src/object_detection/protos/ssd_anchor_generator_pb2.py rename to train/src/object_detection/protos/ssd_anchor_generator_pb2.py diff --git a/src/object_detection/protos/ssd_pb2.py b/train/src/object_detection/protos/ssd_pb2.py similarity index 100% rename from src/object_detection/protos/ssd_pb2.py rename to train/src/object_detection/protos/ssd_pb2.py diff --git a/train/src/object_detection/protos/string_int_label_map.proto b/train/src/object_detection/protos/string_int_label_map.proto new file mode 100644 index 0000000..0894183 --- /dev/null +++ b/train/src/object_detection/protos/string_int_label_map.proto @@ -0,0 +1,24 @@ +// Message to store the mapping from class label strings to class id. Datasets +// use string labels to represent classes while the object detection framework +// works with class ids. This message maps them so they can be converted back +// and forth as needed. +syntax = "proto2"; + +package object_detection.protos; + +message StringIntLabelMapItem { + // String name. The most common practice is to set this to a MID or synsets + // id. + optional string name = 1; + + // Integer id that maps to the string name above. Label ids should start from + // 1. + optional int32 id = 2; + + // Human readable string label. + optional string display_name = 3; +}; + +message StringIntLabelMap { + repeated StringIntLabelMapItem item = 1; +}; diff --git a/train/src/object_detection/protos/string_int_label_map_pb2.py b/train/src/object_detection/protos/string_int_label_map_pb2.py new file mode 100644 index 0000000..1556736 --- /dev/null +++ b/train/src/object_detection/protos/string_int_label_map_pb2.py @@ -0,0 +1,123 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: object_detection/protos/string_int_label_map.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='object_detection/protos/string_int_label_map.proto', + package='object_detection.protos', + syntax='proto2', + serialized_pb=_b('\n2object_detection/protos/string_int_label_map.proto\x12\x17object_detection.protos\"G\n\x15StringIntLabelMapItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\"Q\n\x11StringIntLabelMap\x12<\n\x04item\x18\x01 \x03(\x0b\x32..object_detection.protos.StringIntLabelMapItem') +) + + + + +_STRINGINTLABELMAPITEM = _descriptor.Descriptor( + name='StringIntLabelMapItem', + full_name='object_detection.protos.StringIntLabelMapItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='object_detection.protos.StringIntLabelMapItem.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='id', full_name='object_detection.protos.StringIntLabelMapItem.id', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='display_name', full_name='object_detection.protos.StringIntLabelMapItem.display_name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=79, + serialized_end=150, +) + + +_STRINGINTLABELMAP = _descriptor.Descriptor( + name='StringIntLabelMap', + full_name='object_detection.protos.StringIntLabelMap', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='item', full_name='object_detection.protos.StringIntLabelMap.item', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=152, + serialized_end=233, +) + +_STRINGINTLABELMAP.fields_by_name['item'].message_type = _STRINGINTLABELMAPITEM +DESCRIPTOR.message_types_by_name['StringIntLabelMapItem'] = _STRINGINTLABELMAPITEM +DESCRIPTOR.message_types_by_name['StringIntLabelMap'] = _STRINGINTLABELMAP +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +StringIntLabelMapItem = _reflection.GeneratedProtocolMessageType('StringIntLabelMapItem', (_message.Message,), dict( + DESCRIPTOR = _STRINGINTLABELMAPITEM, + __module__ = 'object_detection.protos.string_int_label_map_pb2' + # @@protoc_insertion_point(class_scope:object_detection.protos.StringIntLabelMapItem) + )) +_sym_db.RegisterMessage(StringIntLabelMapItem) + +StringIntLabelMap = _reflection.GeneratedProtocolMessageType('StringIntLabelMap', (_message.Message,), dict( + DESCRIPTOR = _STRINGINTLABELMAP, + __module__ = 'object_detection.protos.string_int_label_map_pb2' + # @@protoc_insertion_point(class_scope:object_detection.protos.StringIntLabelMap) + )) +_sym_db.RegisterMessage(StringIntLabelMap) + + +# @@protoc_insertion_point(module_scope) diff --git a/src/object_detection/protos/train.proto b/train/src/object_detection/protos/train.proto similarity index 100% rename from src/object_detection/protos/train.proto rename to train/src/object_detection/protos/train.proto diff --git a/src/object_detection/protos/train_pb2.py b/train/src/object_detection/protos/train_pb2.py similarity index 100% rename from src/object_detection/protos/train_pb2.py rename to train/src/object_detection/protos/train_pb2.py diff --git a/src/object_detection/samples/cloud/cloud.yml b/train/src/object_detection/samples/cloud/cloud.yml similarity index 100% rename from src/object_detection/samples/cloud/cloud.yml rename to train/src/object_detection/samples/cloud/cloud.yml diff --git a/src/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config b/train/src/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config similarity index 100% rename from src/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config rename to train/src/object_detection/samples/configs/faster_rcnn_inception_resnet_v2_atrous_pets.config diff --git a/src/object_detection/samples/configs/faster_rcnn_resnet101_pets.config b/train/src/object_detection/samples/configs/faster_rcnn_resnet101_pets.config similarity index 100% rename from src/object_detection/samples/configs/faster_rcnn_resnet101_pets.config rename to train/src/object_detection/samples/configs/faster_rcnn_resnet101_pets.config diff --git a/src/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config b/train/src/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config similarity index 100% rename from src/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config rename to train/src/object_detection/samples/configs/faster_rcnn_resnet101_voc07.config diff --git a/src/object_detection/samples/configs/faster_rcnn_resnet152_pets.config b/train/src/object_detection/samples/configs/faster_rcnn_resnet152_pets.config similarity index 100% rename from src/object_detection/samples/configs/faster_rcnn_resnet152_pets.config rename to train/src/object_detection/samples/configs/faster_rcnn_resnet152_pets.config diff --git a/src/object_detection/samples/configs/faster_rcnn_resnet50_pets.config b/train/src/object_detection/samples/configs/faster_rcnn_resnet50_pets.config similarity index 100% rename from src/object_detection/samples/configs/faster_rcnn_resnet50_pets.config rename to train/src/object_detection/samples/configs/faster_rcnn_resnet50_pets.config diff --git a/src/object_detection/samples/configs/rfcn_resnet101_pets.config b/train/src/object_detection/samples/configs/rfcn_resnet101_pets.config similarity index 100% rename from src/object_detection/samples/configs/rfcn_resnet101_pets.config rename to train/src/object_detection/samples/configs/rfcn_resnet101_pets.config diff --git a/src/object_detection/samples/configs/ssd_inception_v2_pets.config b/train/src/object_detection/samples/configs/ssd_inception_v2_pets.config similarity index 100% rename from src/object_detection/samples/configs/ssd_inception_v2_pets.config rename to train/src/object_detection/samples/configs/ssd_inception_v2_pets.config diff --git a/src/object_detection/samples/configs/ssd_mobilenet_v1_pets.config b/train/src/object_detection/samples/configs/ssd_mobilenet_v1_pets.config similarity index 100% rename from src/object_detection/samples/configs/ssd_mobilenet_v1_pets.config rename to train/src/object_detection/samples/configs/ssd_mobilenet_v1_pets.config diff --git a/src/object_detection/test_images/Screenshot from 2017-07-06 16:36:56.png b/train/src/object_detection/test_images/Screenshot from 2017-07-06 16:36:56.png similarity index 100% rename from src/object_detection/test_images/Screenshot from 2017-07-06 16:36:56.png rename to train/src/object_detection/test_images/Screenshot from 2017-07-06 16:36:56.png diff --git a/src/object_detection/test_images/image1.jpg b/train/src/object_detection/test_images/image1.jpg similarity index 100% rename from src/object_detection/test_images/image1.jpg rename to train/src/object_detection/test_images/image1.jpg diff --git a/src/object_detection/test_images/image1.png b/train/src/object_detection/test_images/image1.png similarity index 100% rename from src/object_detection/test_images/image1.png rename to train/src/object_detection/test_images/image1.png diff --git a/src/object_detection/test_images/image2.jpg b/train/src/object_detection/test_images/image2.jpg similarity index 100% rename from src/object_detection/test_images/image2.jpg rename to train/src/object_detection/test_images/image2.jpg diff --git a/src/object_detection/test_images/image2.png b/train/src/object_detection/test_images/image2.png similarity index 100% rename from src/object_detection/test_images/image2.png rename to train/src/object_detection/test_images/image2.png diff --git a/src/object_detection/test_images/image3.jpg b/train/src/object_detection/test_images/image3.jpg similarity index 100% rename from src/object_detection/test_images/image3.jpg rename to train/src/object_detection/test_images/image3.jpg diff --git a/src/object_detection/test_images/image3.png b/train/src/object_detection/test_images/image3.png similarity index 100% rename from src/object_detection/test_images/image3.png rename to train/src/object_detection/test_images/image3.png diff --git a/src/object_detection/test_images/image4.jpg b/train/src/object_detection/test_images/image4.jpg similarity index 100% rename from src/object_detection/test_images/image4.jpg rename to train/src/object_detection/test_images/image4.jpg diff --git a/src/object_detection/test_images/image5.jpg b/train/src/object_detection/test_images/image5.jpg similarity index 100% rename from src/object_detection/test_images/image5.jpg rename to train/src/object_detection/test_images/image5.jpg diff --git a/src/object_detection/test_images/image55.jpg b/train/src/object_detection/test_images/image55.jpg similarity index 100% rename from src/object_detection/test_images/image55.jpg rename to train/src/object_detection/test_images/image55.jpg diff --git a/src/object_detection/test_images/image6.jpg b/train/src/object_detection/test_images/image6.jpg similarity index 100% rename from src/object_detection/test_images/image6.jpg rename to train/src/object_detection/test_images/image6.jpg diff --git a/src/object_detection/test_images/image_info.txt b/train/src/object_detection/test_images/image_info.txt similarity index 100% rename from src/object_detection/test_images/image_info.txt rename to train/src/object_detection/test_images/image_info.txt diff --git a/src/object_detection/testcamera.py b/train/src/object_detection/testcamera.py similarity index 100% rename from src/object_detection/testcamera.py rename to train/src/object_detection/testcamera.py diff --git a/src/object_detection/train.py b/train/src/object_detection/train.py similarity index 100% rename from src/object_detection/train.py rename to train/src/object_detection/train.py diff --git a/src/object_detection/trainer.py b/train/src/object_detection/trainer.py similarity index 100% rename from src/object_detection/trainer.py rename to train/src/object_detection/trainer.py diff --git a/src/object_detection/trainer_test.py b/train/src/object_detection/trainer_test.py similarity index 100% rename from src/object_detection/trainer_test.py rename to train/src/object_detection/trainer_test.py diff --git a/src/object_detection/utils/BUILD b/train/src/object_detection/utils/BUILD similarity index 100% rename from src/object_detection/utils/BUILD rename to train/src/object_detection/utils/BUILD diff --git a/train/src/object_detection/utils/__init__.py b/train/src/object_detection/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/object_detection/utils/category_util.py b/train/src/object_detection/utils/category_util.py similarity index 100% rename from src/object_detection/utils/category_util.py rename to train/src/object_detection/utils/category_util.py diff --git a/src/object_detection/utils/category_util_test.py b/train/src/object_detection/utils/category_util_test.py similarity index 100% rename from src/object_detection/utils/category_util_test.py rename to train/src/object_detection/utils/category_util_test.py diff --git a/src/object_detection/utils/dataset_util.py b/train/src/object_detection/utils/dataset_util.py similarity index 100% rename from src/object_detection/utils/dataset_util.py rename to train/src/object_detection/utils/dataset_util.py diff --git a/src/object_detection/utils/dataset_util_test.py b/train/src/object_detection/utils/dataset_util_test.py similarity index 100% rename from src/object_detection/utils/dataset_util_test.py rename to train/src/object_detection/utils/dataset_util_test.py diff --git a/train/src/object_detection/utils/label_map_util.py b/train/src/object_detection/utils/label_map_util.py new file mode 100644 index 0000000..3b8857c --- /dev/null +++ b/train/src/object_detection/utils/label_map_util.py @@ -0,0 +1,140 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Label map utility functions.""" + +import logging + +import tensorflow as tf +from google.protobuf import text_format +from object_detection.protos import string_int_label_map_pb2 + + +def _validate_label_map(label_map): + """Checks if a label map is valid. + + Args: + label_map: StringIntLabelMap to validate. + + Raises: + ValueError: if label map is invalid. + """ + for item in label_map.item: + if item.id < 1: + raise ValueError('Label map ids should be >= 1.') + + +def create_category_index(categories): + """Creates dictionary of COCO compatible categories keyed by category id. + + Args: + categories: a list of dicts, each of which has the following keys: + 'id': (required) an integer id uniquely identifying this category. + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza'. + + Returns: + category_index: a dict containing the same entries as categories, but keyed + by the 'id' field of each category. + """ + category_index = {} + for cat in categories: + category_index[cat['id']] = cat + return category_index + + +def convert_label_map_to_categories(label_map, + max_num_classes, + use_display_name=True): + """Loads label map proto and returns categories list compatible with eval. + + This function loads a label map and returns a list of dicts, each of which + has the following keys: + 'id': (required) an integer id uniquely identifying this category. + 'name': (required) string representing category name + e.g., 'cat', 'dog', 'pizza'. + We only allow class into the list if its id-label_id_offset is + between 0 (inclusive) and max_num_classes (exclusive). + If there are several items mapping to the same id in the label map, + we will only keep the first one in the categories list. + + Args: + label_map: a StringIntLabelMapProto or None. If None, a default categories + list is created with max_num_classes categories. + max_num_classes: maximum number of (consecutive) label indices to include. + use_display_name: (boolean) choose whether to load 'display_name' field + as category name. If False or if the display_name field does not exist, + uses 'name' field as category names instead. + Returns: + categories: a list of dictionaries representing all possible categories. + """ + categories = [] + list_of_ids_already_added = [] + if not label_map: + label_id_offset = 1 + for class_id in range(max_num_classes): + categories.append({ + 'id': class_id + label_id_offset, + 'name': 'category_{}'.format(class_id + label_id_offset) + }) + return categories + for item in label_map.item: + if not 0 < item.id <= max_num_classes: + logging.info('Ignore item %d since it falls outside of requested ' + 'label range.', item.id) + continue + if use_display_name and item.HasField('display_name'): + name = item.display_name + else: + name = item.name + if item.id not in list_of_ids_already_added: + list_of_ids_already_added.append(item.id) + categories.append({'id': item.id, 'name': name}) + return categories + + +def load_labelmap(path): + """Loads label map proto. + + Args: + path: path to StringIntLabelMap proto text file. + Returns: + a StringIntLabelMapProto + """ + with tf.gfile.GFile(path, 'r') as fid: + label_map_string = fid.read() + label_map = string_int_label_map_pb2.StringIntLabelMap() + try: + text_format.Merge(label_map_string, label_map) + except text_format.ParseError: + label_map.ParseFromString(label_map_string) + _validate_label_map(label_map) + return label_map + + +def get_label_map_dict(label_map_path): + """Reads a label map and returns a dictionary of label names to id. + + Args: + label_map_path: path to label_map. + + Returns: + A dictionary mapping label names to id. + """ + label_map = load_labelmap(label_map_path) + label_map_dict = {} + for item in label_map.item: + label_map_dict[item.name] = item.id + return label_map_dict diff --git a/src/object_detection/utils/label_map_util_test.py b/train/src/object_detection/utils/label_map_util_test.py similarity index 100% rename from src/object_detection/utils/label_map_util_test.py rename to train/src/object_detection/utils/label_map_util_test.py diff --git a/src/object_detection/utils/learning_schedules.py b/train/src/object_detection/utils/learning_schedules.py similarity index 100% rename from src/object_detection/utils/learning_schedules.py rename to train/src/object_detection/utils/learning_schedules.py diff --git a/src/object_detection/utils/learning_schedules_test.py b/train/src/object_detection/utils/learning_schedules_test.py similarity index 100% rename from src/object_detection/utils/learning_schedules_test.py rename to train/src/object_detection/utils/learning_schedules_test.py diff --git a/src/object_detection/utils/metrics.py b/train/src/object_detection/utils/metrics.py similarity index 100% rename from src/object_detection/utils/metrics.py rename to train/src/object_detection/utils/metrics.py diff --git a/src/object_detection/utils/metrics_test.py b/train/src/object_detection/utils/metrics_test.py similarity index 100% rename from src/object_detection/utils/metrics_test.py rename to train/src/object_detection/utils/metrics_test.py diff --git a/src/object_detection/utils/np_box_list.py b/train/src/object_detection/utils/np_box_list.py similarity index 100% rename from src/object_detection/utils/np_box_list.py rename to train/src/object_detection/utils/np_box_list.py diff --git a/src/object_detection/utils/np_box_list_ops.py b/train/src/object_detection/utils/np_box_list_ops.py similarity index 100% rename from src/object_detection/utils/np_box_list_ops.py rename to train/src/object_detection/utils/np_box_list_ops.py diff --git a/src/object_detection/utils/np_box_list_ops_test.py b/train/src/object_detection/utils/np_box_list_ops_test.py similarity index 100% rename from src/object_detection/utils/np_box_list_ops_test.py rename to train/src/object_detection/utils/np_box_list_ops_test.py diff --git a/src/object_detection/utils/np_box_list_test.py b/train/src/object_detection/utils/np_box_list_test.py similarity index 100% rename from src/object_detection/utils/np_box_list_test.py rename to train/src/object_detection/utils/np_box_list_test.py diff --git a/src/object_detection/utils/np_box_ops.py b/train/src/object_detection/utils/np_box_ops.py similarity index 100% rename from src/object_detection/utils/np_box_ops.py rename to train/src/object_detection/utils/np_box_ops.py diff --git a/src/object_detection/utils/np_box_ops_test.py b/train/src/object_detection/utils/np_box_ops_test.py similarity index 100% rename from src/object_detection/utils/np_box_ops_test.py rename to train/src/object_detection/utils/np_box_ops_test.py diff --git a/src/object_detection/utils/object_detection_evaluation.py b/train/src/object_detection/utils/object_detection_evaluation.py similarity index 100% rename from src/object_detection/utils/object_detection_evaluation.py rename to train/src/object_detection/utils/object_detection_evaluation.py diff --git a/src/object_detection/utils/object_detection_evaluation_test.py b/train/src/object_detection/utils/object_detection_evaluation_test.py similarity index 100% rename from src/object_detection/utils/object_detection_evaluation_test.py rename to train/src/object_detection/utils/object_detection_evaluation_test.py diff --git a/src/object_detection/utils/ops.py b/train/src/object_detection/utils/ops.py similarity index 100% rename from src/object_detection/utils/ops.py rename to train/src/object_detection/utils/ops.py diff --git a/src/object_detection/utils/ops_test.py b/train/src/object_detection/utils/ops_test.py similarity index 100% rename from src/object_detection/utils/ops_test.py rename to train/src/object_detection/utils/ops_test.py diff --git a/src/object_detection/utils/per_image_evaluation.py b/train/src/object_detection/utils/per_image_evaluation.py similarity index 100% rename from src/object_detection/utils/per_image_evaluation.py rename to train/src/object_detection/utils/per_image_evaluation.py diff --git a/src/object_detection/utils/per_image_evaluation_test.py b/train/src/object_detection/utils/per_image_evaluation_test.py similarity index 100% rename from src/object_detection/utils/per_image_evaluation_test.py rename to train/src/object_detection/utils/per_image_evaluation_test.py diff --git a/src/object_detection/utils/shape_utils.py b/train/src/object_detection/utils/shape_utils.py similarity index 100% rename from src/object_detection/utils/shape_utils.py rename to train/src/object_detection/utils/shape_utils.py diff --git a/src/object_detection/utils/shape_utils_test.py b/train/src/object_detection/utils/shape_utils_test.py similarity index 100% rename from src/object_detection/utils/shape_utils_test.py rename to train/src/object_detection/utils/shape_utils_test.py diff --git a/src/object_detection/utils/static_shape.py b/train/src/object_detection/utils/static_shape.py similarity index 100% rename from src/object_detection/utils/static_shape.py rename to train/src/object_detection/utils/static_shape.py diff --git a/src/object_detection/utils/static_shape_test.py b/train/src/object_detection/utils/static_shape_test.py similarity index 100% rename from src/object_detection/utils/static_shape_test.py rename to train/src/object_detection/utils/static_shape_test.py diff --git a/src/object_detection/utils/test_utils.py b/train/src/object_detection/utils/test_utils.py similarity index 100% rename from src/object_detection/utils/test_utils.py rename to train/src/object_detection/utils/test_utils.py diff --git a/src/object_detection/utils/test_utils_test.py b/train/src/object_detection/utils/test_utils_test.py similarity index 100% rename from src/object_detection/utils/test_utils_test.py rename to train/src/object_detection/utils/test_utils_test.py diff --git a/src/object_detection/utils/variables_helper.py b/train/src/object_detection/utils/variables_helper.py similarity index 100% rename from src/object_detection/utils/variables_helper.py rename to train/src/object_detection/utils/variables_helper.py diff --git a/src/object_detection/utils/variables_helper_test.py b/train/src/object_detection/utils/variables_helper_test.py similarity index 100% rename from src/object_detection/utils/variables_helper_test.py rename to train/src/object_detection/utils/variables_helper_test.py diff --git a/train/src/object_detection/utils/visualization_utils.py b/train/src/object_detection/utils/visualization_utils.py new file mode 100644 index 0000000..3c2c4b1 --- /dev/null +++ b/train/src/object_detection/utils/visualization_utils.py @@ -0,0 +1,451 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""A set of functions that are used for visualization. + +These functions often receive an image, perform some visualization on the image. +The functions do not return a value, instead they modify the image itself. + +""" +import collections +import numpy as np +import PIL.Image as Image +import PIL.ImageColor as ImageColor +import PIL.ImageDraw as ImageDraw +import PIL.ImageFont as ImageFont +import six +import tensorflow as tf + + +_TITLE_LEFT_MARGIN = 10 +_TITLE_TOP_MARGIN = 10 +STANDARD_COLORS = [ + 'AliceBlue', 'Chartreuse', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', + 'BlanchedAlmond', 'BlueViolet', 'BurlyWood', 'CadetBlue', 'AntiqueWhite', + 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', + 'DarkCyan', 'DarkGoldenRod', 'DarkGrey', 'DarkKhaki', 'DarkOrange', + 'DarkOrchid', 'DarkSalmon', 'DarkSeaGreen', 'DarkTurquoise', 'DarkViolet', + 'DeepPink', 'DeepSkyBlue', 'DodgerBlue', 'FireBrick', 'FloralWhite', + 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', + 'Salmon', 'Tan', 'HoneyDew', 'HotPink', 'IndianRed', 'Ivory', 'Khaki', + 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', + 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', + 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', + 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', + 'LimeGreen', 'Linen', 'Magenta', 'MediumAquaMarine', 'MediumOrchid', + 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', + 'MediumTurquoise', 'MediumVioletRed', 'MintCream', 'MistyRose', 'Moccasin', + 'NavajoWhite', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', + 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', + 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', + 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Green', 'SandyBrown', + 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', + 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'GreenYellow', + 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', + 'WhiteSmoke', 'Yellow', 'YellowGreen' +] + + +def save_image_array_as_png(image, output_path): + """Saves an image (represented as a numpy array) to PNG. + + Args: + image: a numpy array with shape [height, width, 3]. + output_path: path to which image should be written. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + with tf.gfile.Open(output_path, 'w') as fid: + image_pil.save(fid, 'PNG') + + +def encode_image_array_as_png_str(image): + """Encodes a numpy array into a PNG string. + + Args: + image: a numpy array with shape [height, width, 3]. + + Returns: + PNG encoded image string. + """ + image_pil = Image.fromarray(np.uint8(image)) + output = six.BytesIO() + image_pil.save(output, format='PNG') + png_string = output.getvalue() + output.close() + return png_string + + +def draw_bounding_box_on_image_array(image, + ymin, + xmin, + ymax, + xmax, + color='red', + thickness=4, + display_str_list=(), + use_normalized_coordinates=True): + """Adds a bounding box to an image (numpy array). + + Args: + image: a numpy array with shape [height, width, 3]. + ymin: ymin of bounding box in normalized coordinates (same below). + xmin: xmin of bounding box. + ymax: ymax of bounding box. + xmax: xmax of bounding box. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list: list of strings to display in box + (each to be shown on its own line). + use_normalized_coordinates: If True (default), treat coordinates + ymin, xmin, ymax, xmax as relative to the image. Otherwise treat + coordinates as absolute. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + draw_bounding_box_on_image(image_pil, ymin, xmin, ymax, xmax, color, + thickness, display_str_list, + use_normalized_coordinates) + np.copyto(image, np.array(image_pil)) + + +def draw_bounding_box_on_image(image, + ymin, + xmin, + ymax, + xmax, + color='red', + thickness=4, + display_str_list=(), + use_normalized_coordinates=True): + """Adds a bounding box to an image. + + Each string in display_str_list is displayed on a separate line above the + bounding box in black text on a rectangle filled with the input 'color'. + + Args: + image: a PIL.Image object. + ymin: ymin of bounding box. + xmin: xmin of bounding box. + ymax: ymax of bounding box. + xmax: xmax of bounding box. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list: list of strings to display in box + (each to be shown on its own line). + use_normalized_coordinates: If True (default), treat coordinates + ymin, xmin, ymax, xmax as relative to the image. Otherwise treat + coordinates as absolute. + """ + box=[xmin, xmax, ymin, ymax] + draw = ImageDraw.Draw(image) + im_width, im_height = image.size + # print(image.size) + if use_normalized_coordinates: + (left, right, top, bottom) = (xmin * im_width, xmax * im_width, + ymin * im_height, ymax * im_height) + + # print ("xmin :%f, xmax: %f, ymin :%f, ymax :%f " %(xmin,xmax,ymin,ymax)) + # print ("left:%f, right: %f, top:%f, bottom :%f " %(left,right,top,bottom)) + # print ("center :( %d , %d)" %((left+right)/2,(top+bottom)/2)) + + else: + (left, right, top, bottom) = (xmin, xmax, ymin, ymax) + draw.line([(left, top), (left, bottom), (right, bottom), + (right, top), (left, top)], width=thickness, fill=color) + try: + font = ImageFont.truetype('arial.ttf', 24) + except IOError: + font = ImageFont.load_default() + + text_bottom = top + # Reverse list and print from bottom to top. + for display_str in display_str_list[::-1]: + text_width, text_height = font.getsize(display_str) + margin = np.ceil(0.05 * text_height) + draw.rectangle( + [(left, text_bottom - text_height - 2 * margin), (left + text_width, + text_bottom)], + fill=color) + draw.text( + (left + margin, text_bottom - text_height - margin), + display_str, + fill='black', + font=font) + text_bottom -= text_height - 2 * margin + # display_name=display_str.split(":",1) + # class_name=str(display_name[0]) + # score=int(display_name[1].split("%",1)[0]) + # print("Class: %s , Score: %d" %(class_name,score)) + + +def draw_bounding_boxes_on_image_array(image, + boxes, + color='red', + thickness=4, + display_str_list_list=()): + """Draws bounding boxes on image (numpy array). + + Args: + image: a numpy array object. + boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax). + The coordinates are in normalized format between [0, 1]. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list_list: list of list of strings. + a list of strings for each bounding box. + The reason to pass a list of strings for a + bounding box is that it might contain + multiple labels. + + Raises: + ValueError: if boxes is not a [N, 4] array + """ + image_pil = Image.fromarray(image) + draw_bounding_boxes_on_image(image_pil, boxes, color, thickness, + display_str_list_list) + np.copyto(image, np.array(image_pil)) + + +def draw_bounding_boxes_on_image(image, + boxes, + color='red', + thickness=4, + display_str_list_list=()): + """Draws bounding boxes on image. + + Args: + image: a PIL.Image object. + boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax). + The coordinates are in normalized format between [0, 1]. + color: color to draw bounding box. Default is red. + thickness: line thickness. Default value is 4. + display_str_list_list: list of list of strings. + a list of strings for each bounding box. + The reason to pass a list of strings for a + bounding box is that it might contain + multiple labels. + + Raises: + ValueError: if boxes is not a [N, 4] array + """ + boxes_shape = boxes.shape + if not boxes_shape: + return + if len(boxes_shape) != 2 or boxes_shape[1] != 4: + raise ValueError('Input must be of size [N, 4]') + for i in range(boxes_shape[0]): + display_str_list = () + if display_str_list_list: + display_str_list = display_str_list_list[i] + draw_bounding_box_on_image(image, boxes[i, 0], boxes[i, 1], boxes[i, 2], + boxes[i, 3], color, thickness, display_str_list) + + +def draw_keypoints_on_image_array(image, + keypoints, + color='red', + radius=2, + use_normalized_coordinates=True): + """Draws keypoints on an image (numpy array). + + Args: + image: a numpy array with shape [height, width, 3]. + keypoints: a numpy array with shape [num_keypoints, 2]. + color: color to draw the keypoints with. Default is red. + radius: keypoint radius. Default value is 2. + use_normalized_coordinates: if True (default), treat keypoint values as + relative to the image. Otherwise treat them as absolute. + """ + image_pil = Image.fromarray(np.uint8(image)).convert('RGB') + draw_keypoints_on_image(image_pil, keypoints, color, radius, + use_normalized_coordinates) + np.copyto(image, np.array(image_pil)) + + +def draw_keypoints_on_image(image, + keypoints, + color='red', + radius=2, + use_normalized_coordinates=True): + """Draws keypoints on an image. + + Args: + image: a PIL.Image object. + keypoints: a numpy array with shape [num_keypoints, 2]. + color: color to draw the keypoints with. Default is red. + radius: keypoint radius. Default value is 2. + use_normalized_coordinates: if True (default), treat keypoint values as + relative to the image. Otherwise treat them as absolute. + """ + draw = ImageDraw.Draw(image) + im_width, im_height = image.size + keypoints_x = [k[1] for k in keypoints] + keypoints_y = [k[0] for k in keypoints] + if use_normalized_coordinates: + keypoints_x = tuple([im_width * x for x in keypoints_x]) + keypoints_y = tuple([im_height * y for y in keypoints_y]) + for keypoint_x, keypoint_y in zip(keypoints_x, keypoints_y): + draw.ellipse([(keypoint_x - radius, keypoint_y - radius), + (keypoint_x + radius, keypoint_y + radius)], + outline=color, fill=color) + + +def draw_mask_on_image_array(image, mask, color='red', alpha=0.7): + """Draws mask on an image. + + Args: + image: uint8 numpy array with shape (img_height, img_height, 3) + mask: a float numpy array of shape (img_height, img_height) with + values between 0 and 1 + color: color to draw the keypoints with. Default is red. + alpha: transparency value between 0 and 1. (default: 0.7) + + Raises: + ValueError: On incorrect data type for image or masks. + """ + if image.dtype != np.uint8: + raise ValueError('`image` not of type np.uint8') + if mask.dtype != np.float32: + raise ValueError('`mask` not of type np.float32') + if np.any(np.logical_or(mask > 1.0, mask < 0.0)): + raise ValueError('`mask` elements should be in [0, 1]') + rgb = ImageColor.getrgb(color) + pil_image = Image.fromarray(image) + + solid_color = np.expand_dims( + np.ones_like(mask), axis=2) * np.reshape(list(rgb), [1, 1, 3]) + pil_solid_color = Image.fromarray(np.uint8(solid_color)).convert('RGBA') + pil_mask = Image.fromarray(np.uint8(255.0*alpha*mask)).convert('L') + pil_image = Image.composite(pil_solid_color, pil_image, pil_mask) + np.copyto(image, np.array(pil_image.convert('RGB'))) + + +def visualize_boxes_and_labels_on_image_array(image, + boxes, + classes, + scores, + category_index, + instance_masks=None, + keypoints=None, + use_normalized_coordinates=False, + max_boxes_to_draw=20, + min_score_thresh=.5, + agnostic_mode=False, + line_thickness=4): + """Overlay labeled boxes on an image with formatted scores and label names. + + This function groups boxes that correspond to the same location + and creates a display string for each detection and overlays these + on the image. Note that this function modifies the image array in-place + and does not return anything. + + Args: + image: uint8 numpy array with shape (img_height, img_width, 3) + boxes: a numpy array of shape [N, 4] + classes: a numpy array of shape [N] + scores: a numpy array of shape [N] or None. If scores=None, then + this function assumes that the boxes to be plotted are groundtruth + boxes and plot all boxes as black with no classes or scores. + category_index: a dict containing category dictionaries (each holding + category index `id` and category name `name`) keyed by category indices. + instance_masks: a numpy array of shape [N, image_height, image_width], can + be None + keypoints: a numpy array of shape [N, num_keypoints, 2], can + be None + use_normalized_coordinates: whether boxes is to be interpreted as + normalized coordinates or not. + max_boxes_to_draw: maximum number of boxes to visualize. If None, draw + all boxes. + min_score_thresh: minimum score threshold for a box to be visualized + agnostic_mode: boolean (default: False) controlling whether to evaluate in + class-agnostic mode or not. This mode will display scores but ignore + classes. + line_thickness: integer (default: 4) controlling line width of the boxes. + """ + # Create a display string (and color) for every box location, group any boxes + # that correspond to the same location. + # print(image.size) + box_to_display_str_map = collections.defaultdict(list) + box_to_ID_score=collections.defaultdict(list) + box_to_color_map = collections.defaultdict(str) + box_to_instance_masks_map = {} + box_to_keypoints_map = collections.defaultdict(list) + # a=0 + data = [] + if not max_boxes_to_draw: + max_boxes_to_draw = boxes.shape[0] + for i in range(min(max_boxes_to_draw, boxes.shape[0])): + if scores is None or scores[i] > min_score_thresh: + box = tuple(boxes[i].tolist()) + + if instance_masks is not None: + box_to_instance_masks_map[box] = instance_masks[i] + if keypoints is not None: + box_to_keypoints_map[box].extend(keypoints[i]) + if scores is None: + box_to_color_map[box] = 'black' + else: + if not agnostic_mode: + if classes[i] in category_index.keys(): + class_name = category_index[classes[i]]['name'] + class_id = category_index[classes[i]]['id'] + class_score = scores[i] + else: + class_name = 'N/A' + display_str = '{}: {}%'.format( + class_name, + int(100*scores[i])) + else: + display_str = 'score: {}%'.format(int(100 * scores[i])) + box_to_display_str_map[box].append(display_str) + # box_to_ID_score[box].append(class_id) + data.append([class_id,class_score,box,]) + + # print(box_to_ID_score[box]) + if agnostic_mode: + box_to_color_map[box] = 'DarkOrange' + else: + box_to_color_map[box] = STANDARD_COLORS[ + classes[i] % len(STANDARD_COLORS)] + + for box, color in box_to_color_map.items(): + ymin, xmin, ymax, xmax = box + if instance_masks is not None: + draw_mask_on_image_array( + image, + box_to_instance_masks_map[box], + color=color + ) + + draw_bounding_box_on_image_array( + image, + ymin, + xmin, + ymax, + xmax, + color=color, + thickness=line_thickness, + display_str_list=box_to_display_str_map[box], + use_normalized_coordinates=use_normalized_coordinates) + if keypoints is not None: + draw_keypoints_on_image_array( + image, + box_to_keypoints_map[box], + color=color, + radius=line_thickness / 2, + use_normalized_coordinates=use_normalized_coordinates) + # print(box_to_display_str_map.items()) + # return (box_to_display_str_map.items()) + return (data) + diff --git a/src/object_detection/utils/visualization_utils_test.py b/train/src/object_detection/utils/visualization_utils_test.py similarity index 100% rename from src/object_detection/utils/visualization_utils_test.py rename to train/src/object_detection/utils/visualization_utils_test.py From 7f67490ff8a7dd5eb76ad50fdffcc82c46664823 Mon Sep 17 00:00:00 2001 From: Vinay Sharma Date: Sun, 14 Oct 2018 11:39:25 +0530 Subject: [PATCH 2/3] option to use different model by setting param in lauch file --- README.md | 11 +- detector/CMakeLists.txt | 24 +--- detector/launch/cv_camera_detector.launch | 4 + detector/launch/object_detect.launch | 6 +- detector/launch/usb_cam_detector.launch | 4 + detector/scripts/detect_ros.py | 167 +++++++++++++++------- 6 files changed, 137 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 5e28beb..4c2f7b3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,10 @@ To run Default SSD (Single Shot Detection) algorithm: 1. Install ROS: http://wiki.ros.org/kinetic/Installation/Ubuntu -2. Install any one of the following camera dependencies +2. Install vision_msgs Dependency + `sudo apt install ros-kinetic-vision-msgs` + +3. Install any one of the following camera dependencies `sudo apt install ros-kinetic-openni2-launch` (for openni2 supported camera) @@ -42,8 +45,6 @@ To run Default SSD (Single Shot Detection) algorithm: `cd ~/catkin_ws/src` - `git clone https://github.com/Kukanani/vision_msgs.git` - `git clone https://github.com/osrf/tensorflow_object_detector.git` 6. Build tensorflow_object_detector and Vision message @@ -68,6 +69,6 @@ To run Default SSD (Single Shot Detection) algorithm: If you want to try any other ML model: -1. Download any Object Detection Models from the Tensorflow Object detection API and place it in `data/models/`. You can find the models in tensorflow Object Detection Model Zoo: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/detection_model_zoo.md. Extract the `tar.gz` file. +1. Download any Object Detection Models from the Tensorflow Object detection API. You can find the models in tensorflow Object Detection Model Zoo: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/detection_model_zoo.md. Extract the `tar.gz` file. -2. Edit the MODEL_NAME and LABEL_NAME in detect_ros.py. By default it is `ssd_mobilenet_v1_coco_11_06_2017` with `mscoco_label_map.pbtxt` respectively. +2. Edit the parameters in any of the launch file. If no parameters are provided then, `ssd_mobilenet_v2_coco_2018_03_29` is downloaded and stored in `~/data/models`. diff --git a/detector/CMakeLists.txt b/detector/CMakeLists.txt index 7333b48..aa04e6a 100644 --- a/detector/CMakeLists.txt +++ b/detector/CMakeLists.txt @@ -17,27 +17,7 @@ find_package(catkin REQUIRED COMPONENTS ) ##set the URL to download -set(URL "http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_11_06_2017.tar.gz") -set(DOWNLOAD_PATH ${CMAKE_CURRENT_SOURCE_DIR}/data/models/ssd_mobilenet_v1_coco_11_06_2017.tar.gz) -set(EXTRACTED_PATH ${CMAKE_CURRENT_SOURCE_DIR}/data/models) - -if (NOT EXISTS "${EXTRACTED_PATH}/ssd_mobilenet_v1_coco_11_06_2017") - if (NOT EXISTS "${DOWNLOAD_PATH}") - message(STATUS "Downloading SSD model ....") - file( - DOWNLOAD "${URL}" "${DOWNLOAD_PATH}" - SHOW_PROGRESS - ) - endif() - message(STATUS "Extracting...") - execute_process( - COMMAND cmake -E tar xzf ${DOWNLOAD_PATH} - WORKING_DIRECTORY ${EXTRACTED_PATH} - ) -endif() - -file(REMOVE ${DOWNLOAD_PATH}) - + ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) @@ -133,7 +113,7 @@ catkin_package( # DEPENDS system_lib ) -catkin_install_python(PROGRAMS scripts/detect_ros.py +catkin_install_python(PROGRAMS scripts/detect_ros.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) ########### ## Build ## diff --git a/detector/launch/cv_camera_detector.launch b/detector/launch/cv_camera_detector.launch index 1703fd7..a2f5901 100644 --- a/detector/launch/cv_camera_detector.launch +++ b/detector/launch/cv_camera_detector.launch @@ -1,6 +1,10 @@ + + + + diff --git a/detector/launch/object_detect.launch b/detector/launch/object_detect.launch index 0a4c837..d5fc94b 100644 --- a/detector/launch/object_detect.launch +++ b/detector/launch/object_detect.launch @@ -1,6 +1,10 @@ - + + + + + diff --git a/detector/launch/usb_cam_detector.launch b/detector/launch/usb_cam_detector.launch index 7265e16..6580bc5 100644 --- a/detector/launch/usb_cam_detector.launch +++ b/detector/launch/usb_cam_detector.launch @@ -1,6 +1,10 @@ + + + + diff --git a/detector/scripts/detect_ros.py b/detector/scripts/detect_ros.py index 09dd64d..7fe780c 100755 --- a/detector/scripts/detect_ros.py +++ b/detector/scripts/detect_ros.py @@ -6,6 +6,7 @@ import os import sys import cv2 +import tarfile import numpy as np try: import tensorflow as tf @@ -26,53 +27,125 @@ import object_detection from object_detection.utils import label_map_util from object_detection.utils import visualization_utils as vis_util +import urllib2 -# SET FRACTION OF GPU YOU WANT TO USE HERE -GPU_FRACTION = 0.4 - -######### Set model here ############ -MODEL_NAME = 'ssd_mobilenet_v1_coco_11_06_2017' -# By default models are stored in data/models/ -MODEL_PATH = os.path.join(os.path.dirname(sys.path[0]),'data','models' , MODEL_NAME) -# Path to frozen detection graph. This is the actual model that is used for the object detection. -PATH_TO_CKPT = MODEL_PATH + '/frozen_inference_graph.pb' -######### Set the label map file here ########### -LABEL_NAME = 'mscoco_label_map.pbtxt' -# By default label maps are stored in data/labels/ -PATH_TO_LABELS = os.path.join(os.path.dirname(sys.path[0]),'data','labels', LABEL_NAME) -######### Set the number of classes here ######### -NUM_CLASSES = 90 - -detection_graph = tf.Graph() -with detection_graph.as_default(): - od_graph_def = tf.GraphDef() - with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid: - serialized_graph = fid.read() - od_graph_def.ParseFromString(serialized_graph) - tf.import_graph_def(od_graph_def, name='') - -## Loading label map -# Label maps map indices to category names, so that when our convolution network predicts `5`, -# we know that this corresponds to `airplane`. Here we use internal utility functions, -# but anything that returns a dictionary mapping integers to appropriate string labels would be fine -label_map = label_map_util.load_labelmap(PATH_TO_LABELS) -categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=NUM_CLASSES, use_display_name=True) -category_index = label_map_util.create_category_index(categories) - -# Setting the GPU options to use fraction of gpu that has been set -config = tf.ConfigProto() -config.gpu_options.per_process_gpu_memory_fraction = GPU_FRACTION +DEFAULT_MODEL = os.path.join(os.path.expanduser("~"), "data", "models", "ssd_mobilenet_v1_coco_2018_01_28", "frozen_inference_graph.pb") +DEFAULT_LABELS = os.path.join(os.path.dirname(sys.path[0]), "data", "labels", "mscoco_label_map.pbtxt") + +def download_model(url, location): + + file_name = url.split('/')[-1] + u = urllib2.urlopen(url) + if not os.path.exists(location): + os.makedirs(location) + + file_path = os.path.join(location, os.path.basename(url)) + f = open(file_path, 'wb') + meta = u.info() + file_size = int(meta.getheaders("Content-Length")[0]) + print "Downloading: %s Bytes: %s" % (file_name, file_size) + + file_size_dl = 0 + block_sz = 8192 + while True: + buffer = u.read(block_sz) + if not buffer: + break + + file_size_dl += len(buffer) + f.write(buffer) + status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size) + status = status + chr(8)*(len(status)+1) + print status, + + f.close() + + return file_path + +def download_data(): + ## Downloading COCO Trained Model + if not os.path.exists(DEFAULT_MODEL): + model_path = os.path.join(os.path.expanduser("~"), "data", "models") + final_path = download_model("http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_2018_01_28.tar.gz", model_path) + print final_path + tar = tarfile.open(final_path) + tar.extractall(path=os.path.dirname(final_path)) + tar.close() + +def get_model_params(): + model_path = rospy.get_param("~model_path") + labels_path = rospy.get_param("~labels_path") + + + if (not model_path and not labels_path): + rospy.logwarn("No params passed, using default model") + download_data() + return (DEFAULT_MODEL, DEFAULT_LABELS) + + elif (os.path.exists(os.path.join(model_path, "frozen_inference_graph.pb")) and os.path.exists(labels_path)): + rospy.loginfo("Using Passed parameters") + return (os.path.join(model_path, "frozen_inference_graph.pb"), labels_path) + + else: + raise Exception("Either Incomplete arguments were passed or the paths do not exist. To use the default model do not pass any parameters. NOTE: Please use absolute paths in params") # Detection class Detector: def __init__(self): + + ######### Set model here ############ + path_to_ckpt, path_to_labels = get_model_params() + + num_classes = rospy.get_param("~num_classes") + + detection_graph = tf.Graph() + with detection_graph.as_default(): + od_graph_def = tf.GraphDef() + with tf.gfile.GFile(path_to_ckpt, 'rb') as fid: + serialized_graph = fid.read() + od_graph_def.ParseFromString(serialized_graph) + tf.import_graph_def(od_graph_def, name='') + + ## Loading label map + # Label maps map indices to category names, so that when our convolution network predicts `5`, + # we know that this corresponds to `airplane`. Here we use internal utility functions, + # but anything that returns a dictionary mapping integers to appropriate string labels would be fine + label_map = label_map_util.load_labelmap(path_to_labels) + categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=num_classes, use_display_name=True) + self.category_index = label_map_util.create_category_index(categories) + + # Setting the GPU options to use fraction of gpu that has been set + # config = tf.ConfigProto() + # config.gpu_options.per_process_gpu_memory_fraction = GPU_FRACTION + ops = detection_graph.get_operations() + all_tensor_names = {output.name for op in ops for output in op.outputs} + self.tensor_dict = {} + for key in [ + 'num_detections', 'detection_boxes', 'detection_scores', + 'detection_classes', 'detection_masks' + ]: + tensor_name = key + ':0' + if tensor_name in all_tensor_names: + self.tensor_dict[key] = detection_graph.get_tensor_by_name( + tensor_name) + + self.image_tensor = detection_graph.get_tensor_by_name('image_tensor:0') + + self.sess = tf.Session(graph=detection_graph) + + rospy.loginfo("Initializing") + + dummy_tensor = np.zeros((1,1,1,3), dtype=np.int32) + self.sess.run(self.tensor_dict, + feed_dict={self.image_tensor: dummy_tensor}) + self.image_pub = rospy.Publisher("debug_image",Image, queue_size=1) self.object_pub = rospy.Publisher("objects", Detection2DArray, queue_size=1) self.bridge = CvBridge() self.image_sub = rospy.Subscriber("image", Image, self.image_cb, queue_size=1, buff_size=2**24) - self.sess = tf.Session(graph=detection_graph,config=config) + def image_cb(self, data): objArray = Detection2DArray() @@ -87,24 +160,16 @@ def image_cb(self, data): image_np = np.asarray(image) # Expand dimensions since the model expects images to have shape: [1, None, None, 3] image_np_expanded = np.expand_dims(image_np, axis=0) - image_tensor = detection_graph.get_tensor_by_name('image_tensor:0') - # Each box represents a part of the image where a particular object was detected. - boxes = detection_graph.get_tensor_by_name('detection_boxes:0') - # Each score represent how level of confidence for each of the objects. - # Score is shown on the result image, together with the class label. - scores = detection_graph.get_tensor_by_name('detection_scores:0') - classes = detection_graph.get_tensor_by_name('detection_classes:0') - num_detections = detection_graph.get_tensor_by_name('num_detections:0') - - (boxes, scores, classes, num_detections) = self.sess.run([boxes, scores, classes, num_detections], - feed_dict={image_tensor: image_np_expanded}) + + output_dict = self.sess.run(self.tensor_dict, + feed_dict={self.image_tensor: image_np_expanded}) objects=vis_util.visualize_boxes_and_labels_on_image_array( image, - np.squeeze(boxes), - np.squeeze(classes).astype(np.int32), - np.squeeze(scores), - category_index, + np.squeeze(output_dict["detection_boxes"]), + np.squeeze(output_dict["detection_classes"]).astype(np.int32), + np.squeeze(output_dict["detection_scores"]), + self.category_index, use_normalized_coordinates=True, line_thickness=2) From 8c9220b872ba95d1376815aaec08fcd5801dd81c Mon Sep 17 00:00:00 2001 From: Vinay Sharma Date: Wed, 17 Oct 2018 11:42:32 +0530 Subject: [PATCH 3/3] fixed #2 --- detector/scripts/detect_ros.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/detector/scripts/detect_ros.py b/detector/scripts/detect_ros.py index 7fe780c..006eccf 100755 --- a/detector/scripts/detect_ros.py +++ b/detector/scripts/detect_ros.py @@ -207,8 +207,8 @@ def object_predict(self,object_data, header, image_np,image): obj.results.append(obj_hypothesis) obj.bbox.size_y = int((dimensions[2]-dimensions[0])*image_height) obj.bbox.size_x = int((dimensions[3]-dimensions[1] )*image_width) - obj.bbox.center.x = int((dimensions[1] + dimensions [3])*image_height/2) - obj.bbox.center.y = int((dimensions[0] + dimensions[2])*image_width/2) + obj.bbox.center.x = int((dimensions[1] + dimensions [3])*image_width/2) + obj.bbox.center.y = int((dimensions[0] + dimensions[2])*image_height/2) return obj