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

Method InitDetector

example/examples.h:193–278  ·  view source on GitHub ↗

\brief InitDetector \param frame \return

Source from the content-addressed store, hash-verified

191 /// \return
192 ///
193 bool InitDetector(cv::UMat frame) override
194 {
195 config_t config;
196 if (!m_trackerSettingsLoaded)
197 {
198#ifdef _WIN32
199 std::string pathToModel = "../../data/";
200#else
201 std::string pathToModel = "../data/";
202#endif
203 enum class NNModels
204 {
205 TinyYOLOv3 = 0,
206 YOLOv3,
207 YOLOv4,
208 TinyYOLOv4,
209 MobileNetSSD
210 };
211 NNModels usedModel = NNModels::MobileNetSSD;
212 switch (usedModel)
213 {
214 case NNModels::TinyYOLOv3:
215 config.emplace("modelConfiguration", pathToModel + "yolov3-tiny.cfg");
216 config.emplace("modelBinary", pathToModel + "yolov3-tiny.weights");
217 config.emplace("classNames", pathToModel + "coco.names");
218 config.emplace("confidenceThreshold", "0.5");
219 break;
220
221 case NNModels::YOLOv3:
222 config.emplace("modelConfiguration", pathToModel + "yolov3.cfg");
223 config.emplace("modelBinary", pathToModel + "yolov3.weights");
224 config.emplace("classNames", pathToModel + "coco.names");
225 config.emplace("confidenceThreshold", "0.7");
226 break;
227
228 case NNModels::YOLOv4:
229 config.emplace("modelConfiguration", pathToModel + "yolov4.cfg");
230 config.emplace("modelBinary", pathToModel + "yolov4.weights");
231 config.emplace("classNames", pathToModel + "coco.names");
232 config.emplace("confidenceThreshold", "0.5");
233 break;
234
235 case NNModels::TinyYOLOv4:
236 config.emplace("modelConfiguration", pathToModel + "yolov4-tiny.cfg");
237 config.emplace("modelBinary", pathToModel + "yolov4-tiny.weights");
238 config.emplace("classNames", pathToModel + "coco.names");
239 config.emplace("confidenceThreshold", "0.5");
240 break;
241
242 case NNModels::MobileNetSSD:
243 config.emplace("modelConfiguration", pathToModel + "MobileNetSSD_deploy.prototxt");
244 config.emplace("modelBinary", pathToModel + "MobileNetSSD_deploy.caffemodel");
245 config.emplace("classNames", pathToModel + "voc.names");
246 config.emplace("confidenceThreshold", "0.5");
247 break;
248 }
249 config.emplace("maxCropRatio", "-1");
250

Callers

nothing calls this directly

Calls 1

getMethod · 0.45

Tested by

no test coverage detected