//without validation i.e., output all yolo detections public FrameDNNDarknet(string modelConfig, DNNMode dnnMode) { var configurationDetector = new ConfigurationDetector(modelConfig); frameYolo = new YoloWrapper(configurationDetector.Detect(), dnnMode); frameYoloTracking = new YoloTracking(frameYolo); }
//distance-based validation public FrameDNNDarknet(string modelConfig, DNNMode dnnMode, double rFactor) { var configurationDetector = new ConfigurationDetector(modelConfig); frameYolo = new YoloWrapper(configurationDetector.Detect(), dnnMode); frameYoloTracking = new YoloTracking(frameYolo, Convert.ToInt32(DNNConfig.ValidRange * rFactor)); }
//overlap ratio-based validation public FrameDNNDarknet(string modelConfig, DNNMode dnnMode, List <Tuple <string, int[]> > lines) { var configurationDetector = new ConfigurationDetector(modelConfig); frameYolo = new YoloWrapper(configurationDetector.Detect(), dnnMode); frameYoloTracking = new YoloTracking(frameYolo); _lines = lines; }
public ORTWrapper(string modelPath, DNNMode mode) { // Optional : Create session options and set the graph optimization level for the session SessionOptions options = new SessionOptions(); //options.GraphOptimizationLevel = GraphOptimizationLevel.ORT_ENABLE_EXTENDED; cfg = new Yolov3BaseConfig(); this.mode = mode; switch (mode) { case DNNMode.LT: case DNNMode.Frame: session1 = new InferenceSession(modelPath, SessionOptions.MakeSessionOptionWithCudaProvider(0)); break; case DNNMode.CC: session2 = new InferenceSession(modelPath, SessionOptions.MakeSessionOptionWithCudaProvider(0)); break; } }
public FrameDNNOnnxYolo(List <Tuple <string, int[]> > lines, string modelName, DNNMode mode) { _lines = lines; onnxWrapper = new ORTWrapper($@"..\..\..\..\..\..\modelOnnx\{modelName}ort.onnx", mode); }
public YoloWrapper(YoloConfiguration yoloConfiguration, DNNMode dnnMode) { this.DnnMode = dnnMode; this.Initialize(yoloConfiguration.ConfigFile, yoloConfiguration.WeightsFile, yoloConfiguration.NamesFile, 0); }
public FrameDNNOnnxYolo(List <Tuple <string, int[]> > lines, string modelName, DNNMode mode) { _lines = lines; switch (ConfigurationManager.AppSettings["Runtime"]) { case "docker": onnxWrapper = new ORTWrapper($@"./modelOnnx/{modelName}ort.onnx", mode); break; case "vs": onnxWrapper = new ORTWrapper($@"..\..\..\modelOnnx\{modelName}ort.onnx", mode); break; } }