diff options
Diffstat (limited to 'src/backends/reference/workloads/DetectionPostProcess.hpp')
-rw-r--r-- | src/backends/reference/workloads/DetectionPostProcess.hpp | 24 |
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 |