Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.
5763 Discussions

What is the meaning of input shape in vlp/config.py for SSD Detector

goh__richard
Beginner
490 Views

Dear Intel,

May we know what is the meaning of input_shape in SSD training config file?

eg.

input_shape = (128,128 , 3) # Input shape of the model (width, height, channels)

 

Is this the input image that the original image ( say 1920x1080 ) will be resized to before inputting to the SSD

or is the the scanning windows size used for object detection?

 

Advice much appreciated.

Thank you.

0 Kudos
8 Replies
IntelSupport
Community Manager
465 Views

Hi goh_richard,

Thanks for reaching out. The input shape in the config file is the static shape for the inference. If you need to use a different input shape, it must be smaller than or equal to the shapes of the mean image file you provide. The idea behind the mean file is to subtract its values from the input image in an element-wise manner. When the mean file is smaller than the input image, there are not enough values to perform element-wise subtraction. Also, make sure that you use the mean file that was used during the network training phase. The mean file is dataset-dependent.

 

You can find more information regarding the usage of shape inference on the following page.

https://docs.openvinotoolkit.org/latest/openvino_docs_IE_DG_ShapeInference.html

 

Regards,

Aznie

 

goh__richard
Beginner
462 Views

Thank you very much

Say my training input images are all fullhd ie. 1920x1080

I am detecting a single object each of size 50x50.

What is the input shape I should set?

Thanks

 

IntelSupport
Community Manager
455 Views

Hi goh_richard,

Here is the meaning of the input shape :

input_shape[0] = batch_size; // set batch size to the first input dimension

input_shape[2] = image.rows; // changes input height to the image one

input_shape[3] = image.cols; // changes input width to the image one

input_shapes[input_name] = input_shape;

 

In your case, it should be eg: (1, 50, 50, 1). However, to feed input data of a shape that is different from the model input shape, you need to reshape the model first. Refer to this Usage of Reshape Method documentation to configure it.

 

Regards,

Aznie


goh__richard
Beginner
449 Views

Thanks.

In the sample config.py python script,  in directory

openvino_training_extensions/tensorflow_toolkit/ssd_detector/vlp/

it is commented as:

input_shape = (1280,720 , 3) # Input shape of the model (width, height, channels)

There are only 3 parameters/elements.

Please confirm we are referring to the same input shape?

IntelSupport
Community Manager
442 Views

Hi goh_richard,

Can I know the specific sample and model that you are referring to? Also, please provide the full path of the file location and which version of OpenVINO Toolkit you are using?

 

Regards,

Aznie


goh__richard
Beginner
422 Views

1. Fullpathname

openvino_training_extensions/tensorflow_toolkit/ssd_detector/vlp/config.py

2. Sample/model

https://github.com/junxnone/AI/issues/10

https://github.com/malikaoudjif/training_toolbox_tensorflow/blob/master/models/ssd_detector/README.m...

3. Open Vino Version

2019.3.376

how do i find the toolkit verion?

Readme file

# OpenVINO™ Training Extensions

OpenVINO™ Training Extensions provide a convenient environment to train
Deep Learning models and convert them using the [OpenVINO™
toolkit](https://software.intel.com/en-us/openvino-toolkit) for optimized
inference.

# Quick Start Guide

## Setup OpenVINO™ Training Extensions

1. Clone repository in the working directory by running the following:

```
git clone https://github.com/opencv/openvino_training_extensions.git
cd openvino_training_extensions
```

2. Install prerequisites by running the following:

```
sudo apt-get install libturbojpeg python3-tk python3-pip virtualenv
```


# Models

* [PyTorch\*](pytorch_toolkit)

* [Action Recognition](pytorch_toolkit/action_recognition)
* [ASL Recognition](pytorch_toolkit/asl_recognition)
* [Face Recognition](pytorch_toolkit/face_recognition)
* [Person Reidentification](pytorch_toolkit/person_reidentification)
* [Human Pose Estimation](pytorch_toolkit/human_pose_estimation)
* [Instance Segmentation](pytorch_toolkit/instance_segmentation)
* [Object Detection](pytorch_toolkit/object_detection)
- [Face Detection](pytorch_toolkit/object_detection/face_detection.md)
- [Person Vehicle Bike Detection](pytorch_toolkit/object_detection/person_vehicle_bike_detection.md)
* [Eye State Classification](pytorch_toolkit/open_closed_eye)
* [Segmentation of Thoracic Organs](pytorch_toolkit/segthor)
* [Super Resolution](pytorch_toolkit/super_resolution)
* [Text Spotting](pytorch_toolkit/text_spotting)

* [TensorFlow\*](tensorflow_toolkit)

* [Action Detection](tensorflow_toolkit/action_detection)
* [Image Retrieval](tensorflow_toolkit/image_retrieval)
* [License Plate Recognition](tensorflow_toolkit/lpr)
* [Person Vehicle Bike Detector](tensorflow_toolkit/person_vehicle_bike_detector)
* [SSD MobileNet FPN 602](tensorflow_toolkit/ssd_mobilenet_fpn_602)
* [SSD Object Detection](tensorflow_toolkit/ssd_detector)
* [Text Detection](tensorflow_toolkit/text_detection)
* [Text Recognition](tensorflow_toolkit/text_recognition)
* [Vehicle Attributes](tensorflow_toolkit/vehicle_attributes)

# Tools

* [PyTorch\*](pytorch_toolkit)

* [Neural Networks Compression Framework](pytorch_toolkit/nncf)

---
\* Other names and brands may be claimed as the property of others.

IntelSupport
Community Manager
396 Views

Hi goh_richard,

 

Thanks for the information given. In your previous question "

input_shape = (1280,720 , 3) # Input shape of the model (width, height, channels)", is correctly define as stated in the comment. The input shape value is referring to the (width, height, channel). In your case, it will be (1920,1080,3). As I mentioned before, for a different input shape, you must use smaller than or equal to the mean image file that you provided.


However, you are using the old version of OpenVINO Toolkit, I would recommend updating the version to the latest OpenVINO Toolkit 2021.2 version.

https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_linux.html

 

Regards,

Aznie


IntelSupport
Community Manager
370 Views

Hi goh_richard,

This thread will no longer be monitored since we have provided a solution. If you need any additional information from Intel, please submit a new question. 


Regards,

Aznie



Reply