MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / Init

Method Init

src/Detector/OCVDNNDetector.cpp:41–326  ·  view source on GitHub ↗

\brief OCVDNNDetector::Init \return

Source from the content-addressed store, hash-verified

39/// \return
40///
41bool OCVDNNDetector::Init(const config_t& config)
42{
43#if (((CV_VERSION_MAJOR == 4) && (CV_VERSION_MINOR >= 2)) || (CV_VERSION_MAJOR > 4))
44 std::map<cv::dnn::Target, std::string> dictTargets;
45 dictTargets[cv::dnn::DNN_TARGET_CPU] = "DNN_TARGET_CPU";
46 dictTargets[cv::dnn::DNN_TARGET_OPENCL] = "DNN_TARGET_OPENCL";
47 dictTargets[cv::dnn::DNN_TARGET_OPENCL_FP16] = "DNN_TARGET_OPENCL_FP16";
48 dictTargets[cv::dnn::DNN_TARGET_MYRIAD] = "DNN_TARGET_MYRIAD";
49 dictTargets[cv::dnn::DNN_TARGET_CUDA] = "DNN_TARGET_CUDA";
50 dictTargets[cv::dnn::DNN_TARGET_CUDA_FP16] = "DNN_TARGET_CUDA_FP16";
51#if (((CV_VERSION_MAJOR == 4) && (CV_VERSION_MINOR >= 10)) || (CV_VERSION_MAJOR > 4))
52 dictTargets[cv::dnn::DNN_TARGET_HDDL] = "DNN_TARGET_HDDL";
53 dictTargets[cv::dnn::DNN_TARGET_NPU] = "DNN_TARGET_NPU";
54 dictTargets[cv::dnn::DNN_TARGET_CPU_FP16] = "DNN_TARGET_CPU_FP16";
55#endif
56
57 std::map<int, std::string> dictBackends;
58 dictBackends[cv::dnn::DNN_BACKEND_DEFAULT] = "DNN_BACKEND_DEFAULT";
59 dictBackends[cv::dnn::DNN_BACKEND_INFERENCE_ENGINE] = "DNN_BACKEND_INFERENCE_ENGINE";
60 dictBackends[cv::dnn::DNN_BACKEND_OPENCV] = "DNN_BACKEND_OPENCV";
61 dictBackends[cv::dnn::DNN_BACKEND_VKCOM] = "DNN_BACKEND_VKCOM";
62 dictBackends[cv::dnn::DNN_BACKEND_CUDA] = "DNN_BACKEND_CUDA";
63#if (((CV_VERSION_MAJOR == 4) && (CV_VERSION_MINOR >= 10)) || (CV_VERSION_MAJOR > 4))
64 dictBackends[cv::dnn::DNN_BACKEND_WEBNN] = "DNN_BACKEND_WEBNN";
65 dictBackends[cv::dnn::DNN_BACKEND_TIMVX] = "DNN_BACKEND_TIMVX";
66 dictBackends[cv::dnn::DNN_BACKEND_CANN] = "DNN_BACKEND_CANN";
67#endif
68 dictBackends[1000000] = "DNN_BACKEND_INFERENCE_ENGINE_NGRAPH";
69 dictBackends[1000000 + 1] = "DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_2019";
70
71 std::cout << "Avaible pairs for Target - backend:" << std::endl;
72 std::vector<std::pair<cv::dnn::Backend, cv::dnn::Target>> pairs = cv::dnn::getAvailableBackends();
73 for (auto p : pairs)
74 {
75 std::cout << dictBackends[p.first] << " (" << p.first << ") - " << dictTargets[p.second] << " (" << p.second << ")" << std::endl;
76 }
77#endif
78
79 auto modelConfiguration = config.find("modelConfiguration");
80 auto modelBinary = config.find("modelBinary");
81 if (modelConfiguration != config.end() && modelBinary != config.end())
82 m_net = cv::dnn::readNet(modelConfiguration->second, modelBinary->second, "");
83
84 auto dnnTarget = config.find("dnnTarget");
85 if (dnnTarget != config.end())
86 {
87 std::map<std::string, cv::dnn::Target> targets;
88 targets["DNN_TARGET_CPU"] = cv::dnn::DNN_TARGET_CPU;
89 targets["DNN_TARGET_OPENCL"] = cv::dnn::DNN_TARGET_OPENCL;
90#if (CV_VERSION_MAJOR >= 4)
91 targets["DNN_TARGET_OPENCL_FP16"] = cv::dnn::DNN_TARGET_OPENCL_FP16;
92 targets["DNN_TARGET_MYRIAD"] = cv::dnn::DNN_TARGET_MYRIAD;
93#endif
94#if (((CV_VERSION_MAJOR == 4) && (CV_VERSION_MINOR >= 2)) || (CV_VERSION_MAJOR > 4))
95 targets["DNN_TARGET_CUDA"] = cv::dnn::DNN_TARGET_CUDA;
96 targets["DNN_TARGET_CUDA_FP16"] = cv::dnn::DNN_TARGET_CUDA_FP16;
97#endif
98#if (CV_VERSION_MAJOR > 4)

Callers

nothing calls this directly

Calls 8

endMethod · 0.80
eraseMethod · 0.80
insertMethod · 0.80
endFunction · 0.50
clearMethod · 0.45
push_backMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected