From 6331f91a4a1cb1ad16c569d98bb9ddf704788464 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Mon, 3 Jun 2019 17:10:02 +0100 Subject: IVGCVSW-2971 Support QSymm16 for DetectionPostProcess workloads Signed-off-by: Aron Virginas-Tar Change-Id: I8af45afe851a9ccbf8bce54727147fcd52ac9a1f --- .../reference/workloads/DetectionPostProcess.hpp | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/backends/reference/workloads/DetectionPostProcess.hpp') 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 + 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& boxEncodings, + Decoder& scores, + Decoder& 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 NonMaxSuppression(unsigned int numBoxes, + const std::vector& boxCorners, + const std::vector& scores, + float nmsScoreThreshold, + unsigned int maxDetection, + float nmsIouThreshold); + } // namespace armnn -- cgit v1.2.1