blob: 8700a53317a7b210d5f889158ba3a5e80887091f [file] [log] [blame]
Narumol Prangnawaratbc67cef2019-01-31 15:31:54 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include "armnn/Tensor.hpp"
8#include "armnn/Descriptors.hpp"
9
Aron Virginas-Tar6331f912019-06-03 17:10:02 +010010#include "Decoders.hpp"
11
12#include <vector>
13
Narumol Prangnawaratbc67cef2019-01-31 15:31:54 +000014namespace armnn
15{
16
17void DetectionPostProcess(const TensorInfo& boxEncodingsInfo,
18 const TensorInfo& scoresInfo,
19 const TensorInfo& anchorsInfo,
20 const TensorInfo& detectionBoxesInfo,
21 const TensorInfo& detectionClassesInfo,
22 const TensorInfo& detectionScoresInfo,
23 const TensorInfo& numDetectionsInfo,
24 const DetectionPostProcessDescriptor& desc,
Aron Virginas-Tar6331f912019-06-03 17:10:02 +010025 Decoder<float>& boxEncodings,
26 Decoder<float>& scores,
27 Decoder<float>& anchors,
Narumol Prangnawaratbc67cef2019-01-31 15:31:54 +000028 float* detectionBoxes,
29 float* detectionClasses,
30 float* detectionScores,
31 float* numDetections);
32
Aron Virginas-Tar6331f912019-06-03 17:10:02 +010033void TopKSort(unsigned int k,
34 unsigned int* indices,
35 const float* values,
36 unsigned int numElement);
37
38float IntersectionOverUnion(const float* boxI, const float* boxJ);
39
40std::vector<unsigned int> NonMaxSuppression(unsigned int numBoxes,
41 const std::vector<float>& boxCorners,
42 const std::vector<float>& scores,
43 float nmsScoreThreshold,
44 unsigned int maxDetection,
45 float nmsIouThreshold);
46
Narumol Prangnawaratbc67cef2019-01-31 15:31:54 +000047} // namespace armnn