
使用 YOLOv8 系列模型进行目标检测任务训练 深度学习目标检测训练木材缺陷检测数据集 通过训练出的木材板材缺陷数据集的权重 推理识别干节 健全节 边界 小节 裂纹 波纹文章目录使用 YOLOv8 系列模型进行目标检测任务训练 深度学习目标检测训练木材缺陷检测数据集 通过训练出的木材板材缺陷数据集的权重 推理识别干节 健全节 边界 小节 裂纹 波纹 一、环境搭建CUDA驱动 Anaconda Python虚拟环境1. 安装 CUDA 驱动2. 安装 Anaconda3. 创建 Python 虚拟环境4. 安装必要依赖 二、数据集格式与目录结构编写 data.yaml 文件️♂️ 三、YOLOv8 训练流程调用官方预训练模型1. 下载官方预训练模型YOLOv8s2. 开始训练命令行方式 四、Python API 方式训练可选 五、推理与结果可视化1. 单张图像推理命令行2. 视频或摄像头推理3. 可视化代码Python 示例 六、性能评估验证集上测试 mAP1. 命令行评估2. Python API 评估示例以下文字及代码仅供参考学习使用。数据集描述木材缺陷检测数据集。txt格式标注yolo格式已划分训练集、验证集包含类别标签文件。6类别dry_knot’干节, sound_knot’健全节, edge_knot’边界, small_knot’小节, split’裂纹, wave’波纹。可直接用于模型训练。11木材缺陷检测数据集使用 YOLOv8 系列模型进行目标检测任务训练。以下是一个从环境配置 → 数据准备 → 模型训练 → 推理部署的代码示例训练代码 推理代码 评估代码。以下文字及代码仅供参考学习使用。 一、环境搭建CUDA驱动 Anaconda Python虚拟环境1. 安装 CUDA 驱动确保同学你的 NVIDIA 显卡驱动已更新并安装合适的 CUDA Toolkit如 CUDA 11.8 或 12.1推荐使用 NVIDIA Driver Download 下载并安装。2. 安装 Anaconda从官网下载并安装 Anaconda3. 创建 Python 虚拟环境conda create-nwood_yolopython3.9conda activate wood_yolo4. 安装必要依赖pipinstalltorch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 pipinstallultralytics opencv-python matplotlib numpy✅ultralytics是 YOLOv8 的官方库支持检测、分割、姿态估计等多种任务。 二、数据集格式与目录结构假设同学你已经拥有划分好的数据集wood_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml编写data.yaml文件train:./images/trainval:./images/valnc:6# 六种类别names:-dry_knot# 干节-sound_knot# 健全节-edge_knot# 边界节-small_knot# 小节-split# 裂纹-wave# 波纹️♂️ 三、YOLOv8 训练流程调用官方预训练模型1. 下载官方预训练模型YOLOv8s# 下载YOLOv8s预训练权重wgethttps://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8s.pt2. 开始训练命令行方式yolo traindatadata.yamlmodelyolov8s.ptepochs100imgsz640batch16device0参数说明data: 数据配置文件路径model: 使用的预训练模型epochs: 训练轮数imgsz: 输入图像大小建议640或1024batch: 批次大小根据显存调整device: GPU编号例如0或 cpu训练完成后模型会保存在runs/detect/train/weights/best.pt 四、Python API 方式训练可选fromultralyticsimportYOLO# 加载预训练模型modelYOLO(yolov8s.pt)# 开始训练resultsmodel.train(datadata.yaml,epochs100,imgsz640,batch16,device0,namewood_train) 五、推理与结果可视化1. 单张图像推理命令行yolo predictmodelruns/detect/train/weights/best.ptsourcepath/to/test_image.jpgsaveTrue2. 视频或摄像头推理# 视频yolo predictmodelruns/detect/train/weights/best.ptsourcepath/to/video.mp4saveTrue# 摄像头yolo predictmodelruns/detect/train/weights/best.ptsource03. 可视化代码Python 示例fromultralyticsimportYOLOimportcv2 modelYOLO(runs/detect/train/weights/best.pt)image_pathpath_to_test_image.jpgresultsmodel(image_path)forrinresults:im_arrayr.plot()# 绘制带标签的图像imcv2.cvtColor(im_array,cv2.COLOR_RGB2BGR)cv2.imshow(Wood Defect Detection,im)cv2.waitKey(0)cv2.destroyAllWindows() 六、性能评估验证集上测试 mAP1. 命令行评估yolo valmodelruns/detect/train/weights/best.ptdatadata.yaml输出指标包括mAP50/mAP50-95目标检测精度Precision / Recall精确率与召回率2. Python API 评估示例fromultralyticsimportYOLO# 加载训练好的模型modelYOLO(runs/detect/train/weights/best.pt)# 在验证集上评估模型性能metricsmodel.val(datadata.yaml)# 输出评估结果print(mAP50:,metrics.box.map50)print(mAP50-95:,metrics.box.map)print(Precision:,metrics.box.precision)print(Recall:,metrics.box.recall)