aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/DetectionPostProcess.hpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-06-03 17:10:02 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-06-05 15:06:39 +0000
commit6331f91a4a1cb1ad16c569d98bb9ddf704788464 (patch)
tree338cce081966bfb42f635b6febd68642d492b9f8 /src/backends/reference/workloads/DetectionPostProcess.hpp
parent18f2d1ccf9e743e61ed3733ae5a38f796a759db8 (diff)
downloadarmnn-6331f91a4a1cb1ad16c569d98bb9ddf704788464.tar.gz
IVGCVSW-2971 Support QSymm16 for DetectionPostProcess workloads
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I8af45afe851a9ccbf8bce54727147fcd52ac9a1f
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