fast::FlowNetwork class

A neural network for optical flow estimation.

A neural network which takes a sequence of images as input, and then outputs a flow/displacement vector field. This can be a flow network which estimates the motion between two frames.

Base classes

class NeuralNetwork
Neural network process object.

Constructors, destructors, conversion operators

FlowNetwork() protected

Public functions

auto create(std::string modelFilename, float scaleFactor, float meanIntensity, float stanardDeviationIntensity, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins) -> std::shared_ptr<FlowNetwork>
Create instance Python friendly constructor with almost all parameters.
auto create(std::string modelFilename, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins) -> std::shared_ptr<FlowNetwork>
Create instance C++ friendly create with parameters that must be set before loading.

Protected functions

void execute() override

Function documentation

std::shared_ptr<FlowNetwork> fast::FlowNetwork::create(std::string modelFilename, float scaleFactor, float meanIntensity, float stanardDeviationIntensity, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins)

Create instance Python friendly constructor with almost all parameters.

Parameters
modelFilename Path to model to load
scaleFactor A value which is multiplied with each pixel of input image before it is sent to the neural network. Use this to scale your pixels values. Default: 1.0
meanIntensity Mean intensity to subtract from each pixel of the input image
stanardDeviationIntensity
inputNodes Specify names, and potentially shapes, of input nodes. Not necessary unless you only want to use certain inputs or specify the input shape manually.
outputNodes Specify names, and potentially shapes, of output nodes to use. Not necessary unless you only want to use certain outputs or specify the output shape manually.
inferenceEngine Specify which inference engine to use (TensorFlow, TensorRT, OpenVINO). By default, FAST will select the best inference engine available on your system.
customPlugins Specify path to any custom plugins/operators to load
Returns instance

std::shared_ptr<FlowNetwork> fast::FlowNetwork::create(std::string modelFilename, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins)

Create instance C++ friendly create with parameters that must be set before loading.

Parameters
modelFilename Path to model to load
inputNodes Specify names, and potentially shapes, of input nodes. Not necessary unless you only want to use certain inputs or specify the input shape manually.
outputNodes Specify names, and potentially shapes, of output nodes to use. Not necessary unless you only want to use certain outputs or specify the output shape manually.
inferenceEngine Specify which inference engine to use (TensorFlow, TensorRT, OpenVINO). By default, FAST will select the best inference engine available on your system.
customPlugins Specify path to any custom plugins/operators to load
Returns instance