采用YOLOv5模型使用深度学习目标检测方法训练工地航拍工程车装备车辆数据集 识别航拍状态下的自卸车混凝土车挖掘机起重机等文章目录1. 安装依赖2. 配置数据集3. 加载预训练模型并开始训练4. 评估模型5. 加载训练好的模型进行推理如何训练自己的数据集——工地工程车装备车辆数据集无人机拍摄从高空视角pai标注为YOLO风格。数据集包含6700条目9大类别涵盖挖掘机、塔吊、翻斗车等使用深度学习目标检测方法训练工地工程车装备车辆数据集标注为YOLO风格采用YOLOv5模型因为它具有良好的性能和易用性。以下是详细的步骤和代码示例包括配置数据集、加载预训练模型、训练模型、评估模型以及如何加载训练好的模型进行推理并显示结果。9个label。0.叉车 1.打桩机 2.异物3.起重机 4.自卸车 5.鸟骸6.混凝土泵车 7.塔吊 8.挖掘机1. 安装依赖首先确保安装了必要的库pipinstalltorch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113gitclone https://github.com/ultralytics/yolov5cdyolov5 pipinstall-rrequirements.txt2. 配置数据集假设你的数据集目录结构如下dataset/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ └── ... │ └── val/ │ ├── img1.jpg │ └── ... └── labels/ ├── train/ │ ├── img1.txt │ └── ... └── val/ ├── img1.txt └── ...同时你需要创建一个data.yaml文件来描述你的数据集路径和类别信息train:./dataset/images/train/val:./dataset/images/val/nc:9# number of classesnames:[excavator,tower_crane,dump_truck,...]# class names3. 加载预训练模型并开始训练你可以从YOLOv5的官方仓库中选择一个预训练模型开始训练。下面是如何定义训练命令的例子python train.py--img640--batch16--epochs50--datadata.yaml--weightsyolov5s.pt--cache这里我们选择了yolov5s.pt作为预训练权重它代表YOLOv5的小型版本适合快速实验和资源受限环境。你可以根据需要选择更大的模型如yolov5m,yolov5l, 或yolov5x。4. 评估模型训练完成后可以使用以下命令对验证集进行评估python val.py--weightsruns/train/exp/weights/best.pt--datadata.yaml--img640--taskval这将输出包括精确率、召回率和mAP在内的多个评估指标。5. 加载训练好的模型进行推理为了演示如何加载训练好的模型并对新图像进行推理下面提供了一个Python脚本示例importtorchfromPILimportImageimportcv2importmatplotlib.pyplotasplt# Load the modelmodeltorch.hub.load(ultralytics/yolov5,custom,path_or_modelruns/train/exp/weights/best.pt)defdetect_image(image_path):# Inferenceresultsmodel(image_path)# Resultsdfresults.pandas().xyxy[0]# or .show(), .save(), .crop()# Read image with OpenCVimgcv2.imread(image_path)imgcv2.cvtColor(img,cv2.COLOR_BGR2RGB)# Draw bounding boxes on the imageforindex,rowindf.iterrows():xmin,ymin,xmax,ymaxint(row[xmin]),int(row[ymin]),int(row[xmax]),int(row[ymax])labelrow[name]confidencerow[confidence]cv2.rectangle(img,(xmin,ymin),(xmax,ymax),(255,0,0),2)cv2.putText(img,f{label}{confidence:.2f},(xmin,ymin-10),cv2.FONT_HERSHEY_SIMPLEX,0.9,(255,0,0),2)# Display the resultplt.figure(figsize(12,8))plt.imshow(img)plt.axis(off)plt.show()# 使用函数detect_image(path/to/your/image.jpg)这段代码首先加载训练好的YOLOv5模型然后定义了一个名为detect_image的函数用于读取图像、执行推理并在原图上绘制预测框最后显示处理后的图像。