oa::FnDetection

FnDetection namespace in the OA Vision public surface.

NsC++ public headers

Public Functions

Matrix oa::FnDetection::binaryMaskCounts(const Matrix & inPredicted, const Matrix & inTarget)
Matrix oa::FnDetection::boxIou(const Matrix & inA, const Matrix & inB)
Matrix oa::FnDetection::confusionMatrix(const Matrix & inPredicted, const Matrix & inTarget, oa::I32 inClassCount)
DetectionMetricsResult oa::FnDetection::evaluate(const Matrix & inPredictedBoxes, const Matrix & inPredictedScores, const Matrix & inPredictedClasses, const Matrix & inPredictedImageIds, const Matrix & inTargetBoxes, const Matrix & inTargetClasses, const Matrix & inTargetImageIds, const Matrix & inIouThresholds, oa::I32 inClassCount, oa::F32 inScoreThreshold = 0.0F)
SegmentationMetricsResult oa::FnDetection::evaluateSegmentation(const Matrix & inPredicted, const Matrix & inTarget, oa::I32 inClassCount)
NmsResult oa::FnDetection::nms(const Matrix & inBoxes, const Matrix & inScores, const Matrix & inClasses, const NmsConfig & inConfig = {})

Function Documentation

Matrix oa::FnDetection::binaryMaskCounts( const Matrix & inPredicted, const Matrix & inTarget )
Binary mask counts [true-positive, false-positive, false-negative, true-negative]. Inputs are equally-shaped UInt8 masks.

Parameters

inPredicted
const Matrix &

inTarget
const Matrix &

Returns

Matrix

The declared return value.

Matrix oa::FnDetection::boxIou( const Matrix & inA, const Matrix & inB )
Pairwise IoU for FP32 center-x/center-y/width/height boxes. inA [N,4], inB [M,4] -> FP32 [N,M]. Coordinates may be normalized or pixel-valued, but widths and heights must be non-negative.

Parameters

inA
const Matrix &

inB
const Matrix &

Returns

Matrix

The declared return value.

Matrix oa::FnDetection::confusionMatrix( const Matrix & inPredicted, const Matrix & inTarget, oa::I32 inClassCount )
Classification confusion matrix. rows are target classes and columns are predicted classes: Int32 [N], Int32 [N] -> UInt32 [C,C].

Parameters

inPredicted
const Matrix &

inTarget
const Matrix &

inClassCount
oa::I32

Returns

Matrix

The declared return value.

DetectionMetricsResult oa::FnDetection::evaluate( const Matrix & inPredictedBoxes, const Matrix & inPredictedScores, const Matrix & inPredictedClasses, const Matrix & inPredictedImageIds, const Matrix & inTargetBoxes, const Matrix & inTargetClasses, const Matrix & inTargetImageIds, const Matrix & inIouThresholds, oa::I32 inClassCount, oa::F32 inScoreThreshold = 0.0F )
Dataset-level object-detection evaluation. Predictions are FP32 boxes [P,4], FP32 scores [P], Int32 classes [P] and Int32 image IDs [P]. targets are FP32 boxes [G,4], Int32 classes [G] and Int32 image IDs [G]. IoU thresholds are FP32 [T]. Matching is greedy by descending score, class-aware and constrained to the same image. classes without targets do not contribute to mAP. All outputs and internal scratch stay GPU-resident.

Parameters

inPredictedBoxes
const Matrix &

inPredictedScores
const Matrix &

inPredictedClasses
const Matrix &

inPredictedImageIds
const Matrix &

inTargetBoxes
const Matrix &

inTargetClasses
const Matrix &

inTargetImageIds
const Matrix &

inIouThresholds
const Matrix &

inClassCount
oa::I32

inScoreThreshold
oa::F32

Default: 0.0F

Returns

DetectionMetricsResult

The declared return value.

SegmentationMetricsResult oa::FnDetection::evaluateSegmentation( const Matrix & inPredicted, const Matrix & inTarget, oa::I32 inClassCount )
Multiclass semantic-segmentation metrics over flattened Int32 label matrices. labels outside [0,classCount) are ignored by the confusion accumulator, which provides the ordinary ignore-index behavior.

Parameters

inPredicted
const Matrix &

inTarget
const Matrix &

inClassCount
oa::I32

Returns

SegmentationMetricsResult

The declared return value.

NmsResult oa::FnDetection::nms( const Matrix & inBoxes, const Matrix & inScores, const Matrix & inClasses, const NmsConfig & inConfig = {} )
Deterministic class-aware NMS. boxes are FP32 [N,4] cx/cy/w/h, scores FP32 [N], and classes Int32 [N]. The implementation is GPU-resident and records as one graph node; it never sorts or compacts on the host.

Parameters

inBoxes
const Matrix &

inScores
const Matrix &

inClasses
const Matrix &

inConfig
const NmsConfig &

Default: {}

Returns

NmsResult

The declared return value.