aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/DetectionPostProcess.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/workloads/DetectionPostProcess.hpp')
-rw-r--r--src/backends/reference/workloads/DetectionPostProcess.hpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/backends/reference/workloads/DetectionPostProcess.hpp b/src/backends/reference/workloads/DetectionPostProcess.hpp
index 06e9e15781..8700a53317 100644
--- a/src/backends/reference/workloads/DetectionPostProcess.hpp
+++ b/src/backends/reference/workloads/DetectionPostProcess.hpp
@@ -7,6 +7,10 @@
#include "armnn/Tensor.hpp"
#include "armnn/Descriptors.hpp"
+#include "Decoders.hpp"
+
+#include <vector>
+
namespace armnn
{
@@ -18,12 +22,26 @@ void DetectionPostProcess(const TensorInfo& boxEncodingsInfo,
const TensorInfo& detectionScoresInfo,
const TensorInfo& numDetectionsInfo,
const DetectionPostProcessDescriptor& desc,
- const float* boxEncodings,
- const float* scores,
- const float* anchors,
+ Decoder<float>& boxEncodings,
+ Decoder<float>& scores,
+ Decoder<float>& anchors,
float* detectionBoxes,
float* detectionClasses,
float* detectionScores,
float* numDetections);
+void TopKSort(unsigned int k,
+ unsigned int* indices,
+ const float* values,
+ unsigned int numElement);
+
+float IntersectionOverUnion(const float* boxI, const float* boxJ);
+
+std::vector<unsigned int> NonMaxSuppression(unsigned int numBoxes,
+ const std::vector<float>& boxCorners,
+ const std::vector<float>& scores,
+ float nmsScoreThreshold,
+ unsigned int maxDetection,
+ float nmsIouThreshold);
+
} // namespace armnn