YoloSharp:训练 Yolo 模型,轻松实现物体检测
YoloSharp:训练 Yolo 模型,轻松实现物体检测
项目介绍
YoloSharp 是一个开源项目,它允许用户在 C# 环境中使用 TorchSharp 库来训练 Yolo 模型。这个项目免去了将 .pt 模型转换为 onnx 格式的繁琐步骤,用户可以轻松地在 C# 环境中训练自己的模型。目前支持 Yolov5、Yolov5u、Yolov8、Yolov11 和 Yolov12 等版本的模型,并且支持预测和分割功能。
项目技术分析
YoloSharp 采用 C# 语言编写,利用了 TorchSharp 库来实现深度学习模型的训练和预测。TorchSharp 是一个 .NET 的深度学习框架,它提供了对 PyTorch 模型的支持,可以将 PyTorch 模型直接导入到 .NET 环境中使用。
项目主要包含以下功能:
- 支持 Yolov5、Yolov5u、Yolov8、Yolov11 和 Yolov12 等版本的模型训练和预测。
- 支持 n/s/m/l/x 不同大小的模型。
- 支持 LetterBox 和 Mosaic4 方法进行图像预处理。
- 支持 GPU 加速的非极大值抑制(NMS)。
- 支持加载从 ultralytics/yolov5/yolov8/yolo11 和 yolov12 转换的预训练模型。
项目技术应用场景
YoloSharp 可以应用于多种场景,以下是一些典型的应用案例:
-
实时物体检测:在视频监控、无人驾驶等领域,实时检测画面中的物体位置和类别是至关重要的。通过训练 YoloSharp 模型,可以实现高效准确的物体检测。
-
工业检测:在工业生产过程中,需要对产品进行质量检测,例如检测产品上的瑕疵、缺陷等。YoloSharp 可以对图像进行实时分析,帮助提高生产效率。
-
医学图像分析:在医学领域,对医学图像进行自动识别和分析可以帮助医生更快地诊断疾病。YoloSharp 可以应用于医学图像的检测和识别,辅助医生进行诊断。
-
人脸识别:在安防、金融等领域,人脸识别技术得到了广泛应用。通过训练 YoloSharp 模型,可以实现对人脸的实时检测和识别。
项目特点
- 纯 C# 编写,易于集成和使用。
- 支持多种 Yolo 版本的模型训练和预测。
- 支持图像预处理和 GPU 加速,提高训练和预测效率。
- 提供预训练模型,方便用户快速入门和使用。
以下是 YoloSharp 项目中提供的一些预训练模型:
| 模型 | n | s | m | l | x | | --- | ----------- | ----------- | ----------- | ----------- | ----------- | | yolov5 | yolov5n | yolov5s | yolov5m | yolov5l | yolov5x |
使用 YoloSharp 进行预测的示例代码如下:
Bitmap inputBitmap = new Bitmap(predictImagePath);
// 创建预测器
Predictor predictor = new Predictor(sortCount, yoloType: yoloType, deviceType: deviceType, yoloSize: yoloSize, dtype: dtype);
// 加载模型
predictor.LoadModel(preTraindModelPath);
predictor.Train(trainDataPath, valDataPath, outputPath: outputPath, batchSize: batchSize, epochs: epochs);
// 预测图像
predictor.LoadModel(Path.Combine(outputPath, "best.bin"));
var results = predictor.ImagePredict(inputBitmap, predictThreshold, iouThreshold);
通过以上介绍,相信您已经对 YoloSharp 有了初步的了解。如果您正在寻找一个易于使用且功能强大的 C# 深度学习库,YoloSharp 将是一个不错的选择。欢迎您尝试使用 YoloSharp,并在项目中发挥其强大的物体检测能力。
更多推荐
所有评论(0)