26 #include <openvino/op/region_yolo.hpp>
27 #include <openvino/openvino.hpp>
29 #include "models/detection_model.h"
42 std::vector<float> anchors;
43 size_t outputWidth = 0;
44 size_t outputHeight = 0;
46 Region(
const std::shared_ptr<ov::op::v0::RegionYolo>& regionYolo);
49 const std::vector<float>& anchors,
50 const std::vector<int64_t>& masks,
56 enum YoloVersion { YOLO_V1V2, YOLO_V3, YOLO_V4, YOLO_V4_TINY, YOLOF };
73 ModelYolo(
const std::string& modelFileName,
74 float confidenceThreshold,
76 bool useAdvancedPostprocessing =
true,
77 float boxIOUThreshold = 0.5,
78 const std::vector<std::string>& labels = std::vector<std::string>(),
79 const std::vector<float>& anchors = std::vector<float>(),
80 const std::vector<int64_t>& masks = std::vector<int64_t>(),
81 const std::string& layout =
"");
83 std::unique_ptr<ResultBase> postprocess(
InferenceResult& infResult)
override;
86 void prepareInputsOutputs(std::shared_ptr<ov::Model>& model)
override;
88 void parseYOLOOutput(
const std::string& output_name,
89 const ov::Tensor& tensor,
90 const unsigned long resized_im_h,
91 const unsigned long resized_im_w,
92 const unsigned long original_im_h,
93 const unsigned long original_im_w,
94 std::vector<DetectedObject>& objects);
96 static int calculateEntryIndex(
int entriesNum,
int lcoords,
size_t lclasses,
int location,
int entry);
99 std::map<std::string, Region> regions;
100 double boxIOUThreshold;
101 bool useAdvancedPostprocessing;
103 YoloVersion yoloVersion;
104 const std::vector<float> presetAnchors;
105 const std::vector<int64_t> presetMasks;
106 ov::Layout yoloRegionLayout =
"NCHW";
Definition: detection_model.h:25
Definition: detection_model_yolo.h:37
Definition: detection_model_yolo.h:35
ModelYolo(const std::string &modelFileName, float confidenceThreshold, bool useAutoResize, bool useAdvancedPostprocessing=true, float boxIOUThreshold=0.5, const std::vector< std::string > &labels=std::vector< std::string >(), const std::vector< float > &anchors=std::vector< float >(), const std::vector< int64_t > &masks=std::vector< int64_t >(), const std::string &layout="")
Definition: detection_model_yolo.cpp:101