public List <CubicBoundingBox> DetectFromFiles(IEnumerable <string> imagePaths, string path)
        {
            IEnumerable <ImageNetData> images = ImageNetData.ReadFromFiles(imagePaths);
            IDataView imageDataView           = mlContext.Data.LoadFromEnumerable(images);

            var modelScorer   = new OnnxModelScorer(path, onnxPath, mlContext);
            var probabilities = modelScorer.Score(imageDataView);

            OutputParser outputParser = new OutputParser(probabilities, 13, 5);
            var          boxes        = outputParser.BoundingBoxes;

            return(boxes);
        }
Exemplo n.º 2
0
        public static void Run(string[] args)
        {
            var    assetsRelativePath = @"../../../../Assets";
            string assetsPath         = GetAbsolutePath(assetsRelativePath);
            var    modelFilePath      = Path.Combine(assetsPath, "OnnxModel", "MultiObjectDetectionModel.onnx");
            var    imagesFolder       = Path.Combine(assetsPath, "images");
            var    outputFolder       = Path.Combine(assetsPath, "images", "output");

            MLContext mlContext = new MLContext();


            IEnumerable <ImageNetData> images = ImageNetData.ReadFromFile(imagesFolder);
            IDataView imageDataView           = mlContext.Data.LoadFromEnumerable(images);

            var modelScorer   = new OnnxModelScorer(imagesFolder, modelFilePath, mlContext);
            var probabilities = modelScorer.Score(imageDataView);

            OutputParser outputParser = new OutputParser(probabilities, 13, 5);
            var          boxes        = outputParser.BoundingBoxes;

            DrawBoundingBox(Path.Combine(imagesFolder, "000005.jpg"), null, "fuckoff.jpg", boxes);
        }