fast::BoundingBoxNetwork class

Neural network process object for bounding box detection.

This class is a convenience class for a neural network which performs bounding box prediction.

Base classes

class NeuralNetwork
Neural network process object.

Public functions

auto create(std::string modelFilename, float scaleFactor, float threshold, std::vector<std::vector<Vector2f>> anchors, BoundingBoxNetworkType type, float meanIntensity, float standardDeviationIntensity, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins) -> std::shared_ptr<BoundingBoxNetwork>
Create instance.
void setThreshold(float threshold)
void loadAttributes() override
void setAnchors(std::vector<std::vector<Vector2f>> anchors)
void setType(BoundingBoxNetworkType type)

Private functions

void execute() override

Function documentation

std::shared_ptr<BoundingBoxNetwork> fast::BoundingBoxNetwork::create(std::string modelFilename, float scaleFactor, float threshold, std::vector<std::vector<Vector2f>> anchors, BoundingBoxNetworkType type, float meanIntensity, float standardDeviationIntensity, std::vector<NeuralNetworkNode> inputNodes, std::vector<NeuralNetworkNode> outputNodes, std::string inferenceEngine, std::vector<std::string> customPlugins)

Create instance.

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
threshold Threshold for how high score a bounding box need to be accepted.
anchors List of anchors to use when calculating bounding boxes from the output tensor.
type Type of bounding box detection network. Used to determine how the output tensor should be handled to create bounding boxes. Default: YOLOv3
meanIntensity Mean intensity to subtract from each pixel of the input image
standardDeviationIntensity Standard deviation to divide each pixel of the input image by
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