| syntax = "proto2"; | |
| package object_detection.protos; | |
| // Configuration proto for image resizing operations. | |
| // See builders/image_resizer_builder.py for details. | |
| message ImageResizer { | |
| oneof image_resizer_oneof { | |
| KeepAspectRatioResizer keep_aspect_ratio_resizer = 1; | |
| FixedShapeResizer fixed_shape_resizer = 2; | |
| IdentityResizer identity_resizer = 3; | |
| ConditionalShapeResizer conditional_shape_resizer = 4; | |
| PadToMultipleResizer pad_to_multiple_resizer = 5; | |
| } | |
| } | |
| // Enumeration type for image resizing methods provided in TensorFlow. | |
| enum ResizeType { | |
| BILINEAR = 0; // Corresponds to tf.image.ResizeMethod.BILINEAR | |
| NEAREST_NEIGHBOR = 1; // Corresponds to tf.image.ResizeMethod.NEAREST_NEIGHBOR | |
| BICUBIC = 2; // Corresponds to tf.image.ResizeMethod.BICUBIC | |
| AREA = 3; // Corresponds to tf.image.ResizeMethod.AREA | |
| } | |
| message IdentityResizer { | |
| } | |
| // Configuration proto for image resizer that keeps aspect ratio. | |
| message KeepAspectRatioResizer { | |
| // Desired size of the smaller image dimension in pixels. | |
| optional int32 min_dimension = 1 [default = 600]; | |
| // Desired size of the larger image dimension in pixels. | |
| optional int32 max_dimension = 2 [default = 1024]; | |
| // Desired method when resizing image. | |
| optional ResizeType resize_method = 3 [default = BILINEAR]; | |
| // Whether to pad the image with zeros so the output spatial size is | |
| // [max_dimension, max_dimension]. Note that the zeros are padded to the | |
| // bottom and the right of the resized image. | |
| optional bool pad_to_max_dimension = 4 [default = false]; | |
| // Whether to also resize the image channels from 3 to 1 (RGB to grayscale). | |
| optional bool convert_to_grayscale = 5 [default = false]; | |
| // Per-channel pad value. This is only used when pad_to_max_dimension is True. | |
| // If unspecified, a default pad value of 0 is applied to all channels. | |
| repeated float per_channel_pad_value = 6; | |
| } | |
| // Configuration proto for image resizer that resizes to a fixed shape. | |
| message FixedShapeResizer { | |
| // Desired height of image in pixels. | |
| optional int32 height = 1 [default = 300]; | |
| // Desired width of image in pixels. | |
| optional int32 width = 2 [default = 300]; | |
| // Desired method when resizing image. | |
| optional ResizeType resize_method = 3 [default = BILINEAR]; | |
| // Whether to also resize the image channels from 3 to 1 (RGB to grayscale). | |
| optional bool convert_to_grayscale = 4 [default = false]; | |
| } | |
| // Configuration proto for image resizer that resizes only if input image height | |
| // or width is greater or smaller than a certain size. | |
| // Aspect ratio is maintained. | |
| message ConditionalShapeResizer { | |
| // Enumeration for the condition on which to resize an image. | |
| enum ResizeCondition { | |
| INVALID = 0; // Default value. | |
| GREATER = 1; // Resizes image if a dimension is greater than specified size. | |
| SMALLER = 2; // Resizes image if a dimension is smaller than specified size. | |
| } | |
| // Condition which must be true to resize the image. | |
| optional ResizeCondition condition = 1 [default = GREATER]; | |
| // Threshold for the image size. If any image dimension is above or below this | |
| // (as specified by condition) the image will be resized so that it meets the | |
| // threshold. | |
| optional int32 size_threshold = 2 [default = 300]; | |
| // Desired method when resizing image. | |
| optional ResizeType resize_method = 3 [default = BILINEAR]; | |
| // Whether to also resize the image channels from 3 to 1 (RGB to grayscale). | |
| optional bool convert_to_grayscale = 4 [default = false]; | |
| } | |
| // An image resizer which resizes inputs by zero padding them such that their | |
| // spatial dimensions are divisible by a specified multiple. This is useful | |
| // when you want to concatenate or compare the input to an output of a | |
| // fully convolutional network. | |
| message PadToMultipleResizer { | |
| // The multiple to which the spatial dimensions will be padded to. | |
| optional int32 multiple = 1 [default = 1]; | |
| // Whether to also resize the image channels from 3 to 1 (RGB to grayscale). | |
| optional bool convert_to_grayscale = 4 [default = false]; | |
| } | |