10
10
#include < stdexcept>
11
11
#include < utility>
12
12
13
- #include < ie_core.hpp>
14
- #include < ie_data.h>
15
- #include < ie_layouts.h>
16
13
#include < opencv2/gapi/core.hpp>
17
14
#include < opencv2/gapi/cpu/gcpukernel.hpp>
18
15
#include < opencv2/gapi/gscalar.hpp>
@@ -137,26 +134,26 @@ GAPI_OCV_KERNEL(OCVCalculateMaskRCNNBGMask, custom::GCalculateMaskRCNNBGMask) {
137
134
// clang-format on
138
135
139
136
custom::NNBGReplacer::NNBGReplacer (const std::string& model_path) {
140
- IE ::Core core;
141
- m_cnn_network = core.ReadNetwork (model_path);
142
- m_tag = m_cnn_network. getName ();
143
- m_inputs = m_cnn_network. getInputsInfo ();
144
- m_outputs = m_cnn_network. getOutputsInfo ();
137
+ ov ::Core core;
138
+ model = core.read_model (model_path);
139
+ m_tag = model-> get_name ();
140
+ m_inputs = model-> inputs ();
141
+ m_outputs = model-> outputs ();
145
142
}
146
143
147
144
custom::MaskRCNNBGReplacer::MaskRCNNBGReplacer (const std::string& model_path) : custom::NNBGReplacer(model_path) {
148
145
for (const auto & p : m_outputs) {
149
- const auto & layer_name = p.first ;
146
+ const auto & layer_name = p.get_any_name () ;
150
147
if (layer_name.rfind (" TopK" ) != std::string::npos) {
151
148
continue ;
152
149
}
153
150
154
151
if (m_inputs.size () != 1 ) {
155
152
throw std::logic_error (" Supported only single input MaskRCNN models!" );
156
153
}
157
- m_input_name = m_inputs. begin ()-> first ;
154
+ m_input_name = m_inputs[ 0 ]. get_any_name () ;
158
155
159
- const auto dims_size = p.second -> getTensorDesc (). getDims ().size ();
156
+ const auto dims_size = p.get_partial_shape ().size ();
160
157
if (dims_size == 1 ) {
161
158
m_labels_name = layer_name;
162
159
} else if (dims_size == 2 ) {
@@ -177,7 +174,7 @@ cv::GMat custom::MaskRCNNBGReplacer::replace(cv::GFrame in, cv::GMat bgr, const
177
174
auto boxes = outputs.at (m_boxes_name);
178
175
auto masks = outputs.at (m_masks_name);
179
176
180
- const auto & dims = m_inputs. at (m_input_name)-> getTensorDesc ().getDims ();
177
+ const auto & dims = model-> input (m_input_name). get_partial_shape ().get_max_shape ();
181
178
GAPI_Assert (dims.size () == 4u );
182
179
auto mask = custom::GCalculateMaskRCNNBGMask::on (in_size, cv::Size (dims[3 ], dims[2 ]), labels, boxes, masks);
183
180
auto mask3ch = cv::gapi::medianBlur (cv::gapi::merge3 (mask, mask, mask), 11 );
@@ -188,12 +185,12 @@ custom::BGMattingReplacer::BGMattingReplacer(const std::string& model_path) : NN
188
185
if (m_inputs.size () != 1 ) {
189
186
throw std::logic_error (" Supported only single input background matting models!" );
190
187
}
191
- m_input_name = m_inputs. begin ()-> first ;
188
+ m_input_name = m_inputs[ 0 ]. get_any_name () ;
192
189
193
190
if (m_outputs.size () != 1 ) {
194
191
throw std::logic_error (" Supported only single output background matting models!" );
195
192
}
196
- m_output_name = m_outputs. begin ()-> first ;
193
+ m_output_name = m_outputs[ 0 ]. get_any_name () ;
197
194
}
198
195
199
196
cv::GMat custom::BGMattingReplacer::replace (cv::GFrame in, cv::GMat bgr, const cv::Size & in_size, cv::GMat background) {
0 commit comments