aboutsummaryrefslogtreecommitdiff
path: root/samples/ObjectDetection/include/IDetectionResultDecoder.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'samples/ObjectDetection/include/IDetectionResultDecoder.hpp')
-rw-r--r--samples/ObjectDetection/include/IDetectionResultDecoder.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/samples/ObjectDetection/include/IDetectionResultDecoder.hpp b/samples/ObjectDetection/include/IDetectionResultDecoder.hpp
new file mode 100644
index 0000000000..c0a29df33f
--- /dev/null
+++ b/samples/ObjectDetection/include/IDetectionResultDecoder.hpp
@@ -0,0 +1,39 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "DetectedObject.hpp"
+#include "Types.hpp"
+
+#include <vector>
+
+namespace od
+{
+
+class IDetectionResultDecoder
+{
+public:
+ /**
+ * @brief Returns decoded detected objects from a network model.
+ * @desc Outputs 4 vectors: bounding boxes, label, probabilities & number of detections.
+ * This function decodes network model output and converts it to expected format.
+ *
+ * @param[in] results Vector of outputs from a model.
+ * @param[in] outputFrameSize Struct containing height & width of output frame that is displayed.
+ * @param[in] resizedFrameSize Struct containing height & width of resized input frame before padding
+ * and inference.
+ * @param[in] labels Vector of network labels.
+ * @param[in] detectionScoreThreshold float value for the detection score threshold.
+ *
+ * @return Vector of decoded detected objects.
+ */
+ virtual DetectedObjects Decode(const InferenceResults& results,
+ const Size& outputFrameSize,
+ const Size& resizedFrameSize,
+ const std::vector<std::string>& labels) = 0;
+
+};
+}// namespace od \ No newline at end of file