Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 85b1bdf

Browse files
committed
Add PNASNet-based Faster R-CNN object detection.
PiperOrigin-RevId: 190705850
1 parent d2c5bfa commit 85b1bdf

File tree

4 files changed

+511
-0
lines changed

4 files changed

+511
-0
lines changed

research/object_detection/builders/model_builder.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res
3131
from object_detection.models import faster_rcnn_inception_v2_feature_extractor as frcnn_inc_v2
3232
from object_detection.models import faster_rcnn_nas_feature_extractor as frcnn_nas
33+
from object_detection.models import faster_rcnn_pnas_feature_extractor as frcnn_pnas
3334
from object_detection.models import faster_rcnn_resnet_v1_feature_extractor as frcnn_resnet_v1
3435
from object_detection.models import ssd_resnet_v1_fpn_feature_extractor as ssd_resnet_v1_fpn
3536
from object_detection.models.embedded_ssd_mobilenet_v1_feature_extractor import EmbeddedSSDMobileNetV1FeatureExtractor
@@ -55,6 +56,8 @@
5556
FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP = {
5657
'faster_rcnn_nas':
5758
frcnn_nas.FasterRCNNNASFeatureExtractor,
59+
'faster_rcnn_pnas':
60+
frcnn_pnas.FasterRCNNPNASFeatureExtractor,
5861
'faster_rcnn_inception_resnet_v2':
5962
frcnn_inc_res.FasterRCNNInceptionResnetV2FeatureExtractor,
6063
'faster_rcnn_inception_v2':

research/object_detection/builders/model_builder_test.py

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res
2626
from object_detection.models import faster_rcnn_inception_v2_feature_extractor as frcnn_inc_v2
2727
from object_detection.models import faster_rcnn_nas_feature_extractor as frcnn_nas
28+
from object_detection.models import faster_rcnn_pnas_feature_extractor as frcnn_pnas
2829
from object_detection.models import faster_rcnn_resnet_v1_feature_extractor as frcnn_resnet_v1
2930
from object_detection.models import ssd_resnet_v1_fpn_feature_extractor as ssd_resnet_v1_fpn
3031
from object_detection.models.embedded_ssd_mobilenet_v1_feature_extractor import EmbeddedSSDMobileNetV1FeatureExtractor
@@ -728,6 +729,73 @@ def test_create_faster_rcnn_nas_model_from_config(self):
728729
model._feature_extractor,
729730
frcnn_nas.FasterRCNNNASFeatureExtractor)
730731

732+
def test_create_faster_rcnn_pnas_model_from_config(self):
733+
model_text_proto = """
734+
faster_rcnn {
735+
num_classes: 3
736+
image_resizer {
737+
keep_aspect_ratio_resizer {
738+
min_dimension: 600
739+
max_dimension: 1024
740+
}
741+
}
742+
feature_extractor {
743+
type: 'faster_rcnn_pnas'
744+
}
745+
first_stage_anchor_generator {
746+
grid_anchor_generator {
747+
scales: [0.25, 0.5, 1.0, 2.0]
748+
aspect_ratios: [0.5, 1.0, 2.0]
749+
height_stride: 16
750+
width_stride: 16
751+
}
752+
}
753+
first_stage_box_predictor_conv_hyperparams {
754+
regularizer {
755+
l2_regularizer {
756+
}
757+
}
758+
initializer {
759+
truncated_normal_initializer {
760+
}
761+
}
762+
}
763+
initial_crop_size: 17
764+
maxpool_kernel_size: 1
765+
maxpool_stride: 1
766+
second_stage_box_predictor {
767+
mask_rcnn_box_predictor {
768+
fc_hyperparams {
769+
op: FC
770+
regularizer {
771+
l2_regularizer {
772+
}
773+
}
774+
initializer {
775+
truncated_normal_initializer {
776+
}
777+
}
778+
}
779+
}
780+
}
781+
second_stage_post_processing {
782+
batch_non_max_suppression {
783+
score_threshold: 0.01
784+
iou_threshold: 0.6
785+
max_detections_per_class: 100
786+
max_total_detections: 300
787+
}
788+
score_converter: SOFTMAX
789+
}
790+
}"""
791+
model_proto = model_pb2.DetectionModel()
792+
text_format.Merge(model_text_proto, model_proto)
793+
model = model_builder.build(model_proto, is_training=True)
794+
self.assertIsInstance(model, faster_rcnn_meta_arch.FasterRCNNMetaArch)
795+
self.assertIsInstance(
796+
model._feature_extractor,
797+
frcnn_pnas.FasterRCNNPNASFeatureExtractor)
798+
731799
def test_create_faster_rcnn_inception_resnet_v2_model_from_config(self):
732800
model_text_proto = """
733801
faster_rcnn {

0 commit comments

Comments
 (0)