GstInference with ResNet
Make sure you also check GstInference's companion project: R2Inference |
GstInference |
---|
Introduction |
Getting started |
Supported architectures |
InceptionV1 InceptionV3 YoloV2 AlexNet |
Supported backends |
Caffe |
Metadata and Signals |
Overlay Elements |
Utils Elements |
Legacy pipelines |
Example pipelines |
Example applications |
Benchmarks |
Model Zoo |
Project Status |
Contact Us |
|
Description
ResNet is a residual neural network, the difference with the traditional neural networks is that ResNet uses residual blocks. In traditional neural networks, each layer feeds into the next layer. In a network with residual blocks, each layer feeds into the next layer and directly into the layers about 2–3 hops away.
The following image shows the structure of the Residual learning:
Architecture
ResNet is a collection of residual blocks for different tasks, and ResNet is able to use a different number of layers.
GStreamer Plugin
The Gstreamer plugin uses the pre-process and post-process described in the original paper. Please take into consideration that not all deep neural networks are trained the same even if they use the same model architecture. If the model is trained differently, details like label ordering, input dimensions, and color normalization can change.
This element was based on this TensorFlow repo. The pre-trained model used to test the element may be downloaded from our R2I Model Zoo for the different frameworks.
Pre-process
Input parameters:
- Input size: 224 x 224
- Format RGB
The pre-process consists of taking the input image and transforming it to the input size (by scaling, interpolation, cropping...) and subtract each pixel channel value by the mean.
Post-process
The model output is a float array of size 1000 containing the probability for each one of the ImageNet labels. The post-process consists of simply searching the highest probability on the array.
Examples
Please refer to the Inception section on the examples page.
References