xref: /aosp_15_r20/external/armnn/samples/ObjectDetection/include/SSDResultDecoder.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker #pragma once
6*89c4ff92SAndroid Build Coastguard Worker 
7*89c4ff92SAndroid Build Coastguard Worker #include "Types.hpp"
8*89c4ff92SAndroid Build Coastguard Worker #include "DetectedObject.hpp"
9*89c4ff92SAndroid Build Coastguard Worker #include "IDetectionResultDecoder.hpp"
10*89c4ff92SAndroid Build Coastguard Worker 
11*89c4ff92SAndroid Build Coastguard Worker namespace od
12*89c4ff92SAndroid Build Coastguard Worker {
13*89c4ff92SAndroid Build Coastguard Worker 
14*89c4ff92SAndroid Build Coastguard Worker class SSDResultDecoder : public IDetectionResultDecoder
15*89c4ff92SAndroid Build Coastguard Worker {
16*89c4ff92SAndroid Build Coastguard Worker public:
17*89c4ff92SAndroid Build Coastguard Worker     /**
18*89c4ff92SAndroid Build Coastguard Worker      * Constructs MobileNet ssd v1 inference results decoder.
19*89c4ff92SAndroid Build Coastguard Worker      *
20*89c4ff92SAndroid Build Coastguard Worker      * @param ObjectThreshold object score threshold
21*89c4ff92SAndroid Build Coastguard Worker      */
22*89c4ff92SAndroid Build Coastguard Worker     SSDResultDecoder(float ObjectThreshold);
23*89c4ff92SAndroid Build Coastguard Worker 
24*89c4ff92SAndroid Build Coastguard Worker     DetectedObjects Decode(const common::InferenceResults<float>& results,
25*89c4ff92SAndroid Build Coastguard Worker                            const common::Size& outputFrameSize,
26*89c4ff92SAndroid Build Coastguard Worker                            const common::Size& resizedFrameSize,
27*89c4ff92SAndroid Build Coastguard Worker                            const std::vector<std::string>& labels) override;
28*89c4ff92SAndroid Build Coastguard Worker 
29*89c4ff92SAndroid Build Coastguard Worker private:
30*89c4ff92SAndroid Build Coastguard Worker     float m_objectThreshold;
31*89c4ff92SAndroid Build Coastguard Worker };
32*89c4ff92SAndroid Build Coastguard Worker }// namespace od