COMPMID-1849: Implement CPPDetectionPostProcessLayer

* Add DetectionPostProcessLayer
* Add DetectionPostProcessLayer at the graph

Change-Id: I7e56f6cffc26f112d26dfe74853085bb8ec7d849
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1639
Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CPP/functions/CPPDetectionOutputLayer.h b/arm_compute/runtime/CPP/functions/CPPDetectionOutputLayer.h
index 71be8a0..4e1b8f2 100644
--- a/arm_compute/runtime/CPP/functions/CPPDetectionOutputLayer.h
+++ b/arm_compute/runtime/CPP/functions/CPPDetectionOutputLayer.h
@@ -28,17 +28,10 @@
 
 #include "arm_compute/core/Types.h"
 
-#include <map>
-
 namespace arm_compute
 {
 class ITensor;
 
-// Normalized Bounding Box [xmin, ymin, xmax, ymax]
-using NormalizedBBox = std::array<float, 4>;
-// LabelBBox used for map label and bounding box
-using LabelBBox = std::map<int, std::vector<NormalizedBBox>>;
-
 /** CPP Function to generate the detection output based on location and confidence
  * predictions by doing non maximum suppression.
  *
@@ -91,7 +84,7 @@
 
     std::vector<LabelBBox> _all_location_predictions;
     std::vector<std::map<int, std::vector<float>>> _all_confidence_scores;
-    std::vector<NormalizedBBox> _all_prior_bboxes;
+    std::vector<BBox> _all_prior_bboxes;
     std::vector<std::array<float, 4>> _all_prior_variances;
     std::vector<LabelBBox> _all_decode_bboxes;
     std::vector<std::map<int, std::vector<int>>> _all_indices;