☰
深度学习yolo26 yolov8液压吊车数据集 训练出的权重来识别液压吊车,并开发一个简易的用户界面
2026/10/8 2:13:52 网站建设 项目流程

液压吊车数据集 1分类,Crane(液压吊车)。数据集来源于电力数据,可用于YOLO的目标检测。

图片共2363张。数据集按7:1:2分配。其中 训练集1648张图片,测试集477张图片,验证集238张。
该数据包含yolo的txt和VOC的xml格式
1

训练 YOLOv8训练液压吊车数据集,进行评估和结果可视化,我们将从环境设置、数据预处理、模型训练、评估以及简易用户界面开发几个方面进行详细说明。

以下文字及代码仅供参考。

1. 环境设置

首先确保你的环境中安装了必要的依赖项。这里以YOLOv5为例(请根据实际情况调整为YOLOv8)。

安装依赖
# 克隆YOLOv8仓库(请确认这是正确的URL)gitclone https://github.com/ultralytics/yolov8cdyolov8# 安装依赖pipinstall-rrequirements.txt

2. 数据准备

组织你的数据集如下:

hydraulic_crane_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ └── labels/ ├── train/ ├── val/ └── test/

创建crane_data.yaml文件来描述数据集路径和类别信息:

train:./hydraulic_crane_dataset/images/train/val:./hydraulic_crane_dataset/images/val/test:./hydraulic_crane_dataset/images/test/nc:1# 类别数量names:['Crane']# 类别名称

3. 模型定义与训练

开始训练过程。假设你已经下载了YOLOv8的预训练权重,如果没有,可以从头开始训练。

开始训练
python train.py--img640--batch16--epochs50--datacrane_data.yaml--weightsyolov8s.pt--namehydraulic_crane_model
  • --img 640: 输入图像尺寸。
  • --batch 16: 每批次的图像数量。
  • --epochs 50: 训练周期数。
  • --data crane_data.yaml: 数据配置文件路径。
  • --weights yolov8s.pt: 预训练权重文件路径(如果有)。
  • --name hydraulic_crane_model: 保存模型的目录名。

4. 评估

训练完成后,可以对验证集或测试集进行评估:

python val.py--weightsruns/train/hydraulic_crane_model/weights/best.pt--datacrane_data.yaml--img640--taskval

5. 结果分析与可视化

对于预测结果的可视化,可以使用如下命令:

python detect.py--weightsruns/train/hydraulic_crane_model/weights/best.pt--source./hydraulic_crane_dataset/images/test/ --save-txt --save-conf--projectoutput--namedetection_results

6. 用户界面开发(Flask应用)

构建一个简单的Flask应用用于展示检测结果。

Flask 应用代码
fromflaskimportFlask,request,render_template,send_from_directoryimporttorchfromPILimportImageimportos app=Flask(__name__)model=torch.hub.load('ultralytics/yolov8','custom',path='runs/train/hydraulic_crane_model/weights/best.pt')@app.route('/',methods=['GET','POST'])defupload_file():ifrequest.method=='POST':if'file'notinrequest.files:return"No file part"file=request.files['file']iffile.filename=='':return"No selected file"iffile:img=Image.open(file.stream)results=model(img)results.save(save_dir='static/detect_results')# 保存检测结果图片到指定目录result_image_path=os.path.join('detect_results',os.listdir('static/detect_results')[0])returnrender_template('result.html',result_image=result_image_path)returnrender_template('index.html')@app.route('/static/<path:filename>')defserve_static(filename):returnsend_from_directory('static',filename)if__name__=='__main__':app.run(debug=True)
HTML 文件
index.html
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Upload Image</title></head><body><formaction="/"method="post"enctype="multipart/form-data">Select image to upload:<inputtype="file"name="file"id="file"><inputtype="submit"value="Upload Image"name="submit"></form></body></html>
result.html
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Result</title></head><body><h1>Detection Result:</h1><imgsrc="{{ url_for('serve_static', filename=result_image) }}"alt="Detection Result"></body></html>

解释

  1. 环境设置:通过克隆YOLOv8仓库并安装其依赖项来设置工作环境。
  2. 数据准备:将数据集按比例分为训练集、验证集和测试集,并为每个子集创建相应的目录结构。同时创建一个crane_data.yaml文件来描述数据集路径和类别信息。
  3. 模型训练:使用YOLOv8提供的train.py脚本进行模型训练,指定了输入图像大小、每批图像数量、训练周期数等参数。
  4. 评估:训练完成后,使用val.py脚本对模型进行评估,检查其在验证集上的性能。
  5. 结果分析与可视化:使用detect.py脚本对测试集中的图像进行推理,并保存结果图像。
  6. 用户界面开发:创建了一个简单的Flask应用,允许用户上传图片并显示检测结果。

使用YOLOv8训练液压吊车数据集,并开发一个简易的用户界面来展示检测结果。请根据实际情况调整上述代码中的路径和其他细节

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询