diff --git a/samples/ObjectDetection/include/IDetectionResultDecoder.hpp b/samples/ObjectDetection/include/IDetectionResultDecoder.hpp
new file mode 100644
index 0000000..c0a29df
--- /dev/null
+++ b/samples/ObjectDetection/include/IDetectionResultDecoder.hpp
@@ -0,0 +1,39 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "DetectedObject.hpp"
+#include "Types.hpp"
+
+#include <vector>
+
+namespace od
+{
+
+class IDetectionResultDecoder
+{
+public:
+    /**
+    * @brief    Returns decoded detected objects from a network model.
+    * @desc     Outputs 4 vectors: bounding boxes, label, probabilities & number of detections.
+    *           This function decodes network model output and converts it to expected format.
+    *
+    * @param[in]  results                 Vector of outputs from a model.
+    * @param[in]  outputFrameSize         Struct containing height & width of output frame that is displayed.
+    * @param[in]  resizedFrameSize        Struct containing height & width of resized input frame before padding
+    * and inference.
+    * @param[in]  labels                  Vector of network labels.
+    * @param[in]  detectionScoreThreshold float value for the detection score threshold.
+    *
+    * @return     Vector of decoded detected objects.
+    */
+    virtual DetectedObjects Decode(const InferenceResults& results,
+                                   const Size& outputFrameSize,
+                                   const Size& resizedFrameSize,
+                                   const std::vector<std::string>& labels) = 0;
+
+};
+}// namespace od
\ No newline at end of file
