Class SpatialDetectionNetwork
Defined in File SpatialDetectionNetwork.hpp
Inheritance Relationships
Base Type
public dai::NodeCRTP< DetectionNetwork, SpatialDetectionNetwork, SpatialDetectionNetworkProperties >(Template Class NodeCRTP)
Class Documentation
-
class SpatialDetectionNetwork : public dai::NodeCRTP<DetectionNetwork, SpatialDetectionNetwork, SpatialDetectionNetworkProperties>
SpatialDetectionNetwork node. Runs a neural inference on input image and calculates spatial location data.
Public Functions
-
void setBoundingBoxScaleFactor(float scaleFactor)
Specifies scale factor for detected bounding boxes.
- Parameters:
scaleFactor – Scale factor must be in the interval (0,1].
-
void setDepthLowerThreshold(uint32_t lowerThreshold)
Specifies lower threshold in depth units (millimeter by default) for depth values which will used to calculate spatial data
- Parameters:
lowerThreshold – LowerThreshold must be in the interval [0,upperThreshold] and less than upperThreshold.
-
void setDepthUpperThreshold(uint32_t upperThreshold)
Specifies upper threshold in depth units (millimeter by default) for depth values which will used to calculate spatial data
- Parameters:
upperThreshold – UpperThreshold must be in the interval (lowerThreshold,65535].
-
void setSpatialCalculationAlgorithm(dai::SpatialLocationCalculatorAlgorithm calculationAlgorithm)
Specifies spatial location calculator algorithm: Average/Min/Max
- Parameters:
calculationAlgorithm – Calculation algorithm.
-
void setSpatialCalculationStepSize(int stepSize)
Specifies spatial location calculator step size for depth calculation. Step size 1 means that every pixel is taken into calculation, size 2 means every second etc.
- Parameters:
stepSize – Step size.
Public Members
-
Input input = {*this, "in", Input::Type::SReceiver, true, 5, true, {{DatatypeEnum::ImgFrame, false}}}
Input message with data to be inferred upon Default queue is blocking with size 5
-
Input inputDepth = {*this, "inputDepth", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}}
Input message with depth data used to retrieve spatial information about detected object Default queue is non-blocking with size 4
-
Output out = {*this, "out", Output::Type::MSender, {{DatatypeEnum::SpatialImgDetections, false}}}
Outputs ImgDetections message that carries parsed detection results.
-
Output boundingBoxMapping = {*this, "boundingBoxMapping", Output::Type::MSender, {{DatatypeEnum::SpatialLocationCalculatorConfig, false}}}
Outputs mapping of detected bounding boxes relative to depth map
Suitable for when displaying remapped bounding boxes on depth frame
-
Output passthrough = {*this, "passthrough", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}
Passthrough message on which the inference was performed.
Suitable for when input queue is set to non-blocking behavior.
-
Output passthroughDepth = {*this, "passthroughDepth", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}}
Passthrough message for depth frame on which the spatial location calculation was performed.
Suitable for when input queue is set to non-blocking behavior.
-
Output spatialLocationCalculatorOutput{*this, "spatialLocationCalculatorOutput", Output::Type::MSender, {{DatatypeEnum::SpatialLocationCalculatorData, false}}}
Output of SpatialLocationCalculator node, which is used internally by SpatialDetectionNetwork. Suitable when extra information is required from SpatialLocationCalculator node, e.g. minimum, maximum distance.
Public Static Attributes
-
static constexpr const char *NAME = "SpatialDetectionNetwork"
Protected Functions
-
void setBoundingBoxScaleFactor(float scaleFactor)