Пример #1
0
        //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);
        }
Пример #2
0
        //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));
        }
Пример #3
0
        //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;
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
 public FrameDNNOnnxYolo(List <Tuple <string, int[]> > lines, string modelName, DNNMode mode)
 {
     _lines      = lines;
     onnxWrapper = new ORTWrapper($@"..\..\..\..\..\..\modelOnnx\{modelName}ort.onnx", mode);
 }
Пример #6
0
 public YoloWrapper(YoloConfiguration yoloConfiguration, DNNMode dnnMode)
 {
     this.DnnMode = dnnMode;
     this.Initialize(yoloConfiguration.ConfigFile, yoloConfiguration.WeightsFile, yoloConfiguration.NamesFile, 0);
 }
Пример #7
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;
            }
        }