public async Task Init(YoloVersion version = YoloVersion.YoloV3, System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { if (_yoloDetector == null) { FileDownloadManager manager = new FileDownloadManager(); if (version == YoloVersion.YoloV3Spp) { manager.AddFile( "https://pjreddie.com/media/files/yolov3-spp.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3-spp.cfg", _modelFolderName); } else if (version == YoloVersion.YoloV3) { manager.AddFile( "https://pjreddie.com/media/files/yolov3.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3.cfg", _modelFolderName); } else if (version == YoloVersion.YoloV3Tiny) { manager.AddFile( "https://pjreddie.com/media/files/yolov3-tiny.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3-tiny.cfg", _modelFolderName); } manager.AddFile("https://github.com/pjreddie/darknet/raw/master/data/coco.names", _modelFolderName); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } await manager.Download(); _yoloDetector = DnnInvoke.ReadNetFromDarknet(manager.Files[1].LocalFile, manager.Files[0].LocalFile); _labels = File.ReadAllLines(manager.Files[2].LocalFile); } }