YOLO11 自定义目标检测训练实战:从 COCO 预训练推理到模型验证

📅 2026/7/13 1:26:07
YOLO11 自定义目标检测训练实战:从 COCO 预训练推理到模型验证
YOLO11 自定义目标检测训练实战从 COCO 预训练推理到模型验证这篇教程根据我复现 YOLO11 自定义目标检测训练流程时整理重点覆盖环境检查、预训练模型推理、自定义数据训练、训练结果查看、验证和测试集推理。如果你想快速把自己的检测数据接入 YOLO11这篇可以作为最小可跑通流程先确认预训练模型能正常推理再切换到自定义数据集训练。本文会重点跑通以下流程安装 Ultralytics 与可视化依赖运行 YOLO11 COCO 预训练模型推理使用 Python SDK 查看 boxes、置信度和类别从数据集后台获取 YOLO 格式数据集训练、验证并使用 best.pt 进行测试集推理如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录YOLO11 自定义目标检测训练实战从 COCO 预训练推理到模型验证⚙️ 环境准备 安装 YOLO11 依赖 使用 COCO 预训练模型推理️ 微调 YOLO11 目标检测模型 验证微调模型 使用自定义模型推理 导出或部署说明 小结 同系列教程汇总⚙️ 环境准备先检查运行环境并安装依赖。建议在 Colab 或带 NVIDIA GPU 的环境中运行避免训练或视频推理阶段显存不足。!nvidia-smiimportos HOMEos.getcwd()print(HOME) 安装 YOLO11 依赖安装 Ultralytics 和可视化依赖后先关闭运行统计同步再检查环境。%pip installultralytics8.3.40supervision# 关闭 Ultralytics 运行统计同步!yolo settings syncFalseimportultralytics ultralytics.checks() 使用 COCO 预训练模型推理先用官方预训练权重跑通一张示例图确认命令行和 Python SDK 都能正常工作。# 请从数据集后台下载示例图片上传到 {HOME}/data/dog.jpeg或替换为自己的图片路径。!mkdir-p{HOME}/data EXAMPLE_IMAGEf{HOME}/data/dog.jpeg!yolo taskdetect modepredict modelyolo11n.pt conf0.25source{EXAMPLE_IMAGE}saveTruefromIPython.displayimportImageasIPyImage IPyImage(filenamef{HOME}/runs/detect/predict/dog.jpeg,width600)fromultralyticsimportYOLOfromPILimportImage modelYOLO(yolo11n.pt)imageImage.open(EXAMPLE_IMAGE)resultmodel.predict(image,conf0.25)[0]result.boxes.xyxyresult.boxes.confresult.boxes.clsimportsupervisionassv detectionssv.Detections.from_ultralytics(result)box_annotatorsv.BoxAnnotator()label_annotatorsv.LabelAnnotator(text_colorsv.Color.BLACK)annotated_imageimage.copy()annotated_imagebox_annotator.annotate(annotated_image,detectionsdetections)annotated_imagelabel_annotator.annotate(annotated_image,detectionsdetections)sv.plot_image(annotated_image,size(10,10))️ 微调 YOLO11 目标检测模型把数据集后台导出的 YOLO 格式数据放到固定目录然后使用data.yaml启动训练。!mkdir-p{HOME}/datasets%cd{HOME}/datasetsfromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 检测格式 数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIRf{HOME}/datasets/custom-dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1)%cd{HOME}!yolo taskdetect modetrain modelyolo11s.pt data{dataset.location}/data.yaml epochs10imgsz640plotsTrue!ls{HOME}/runs/detect/train/fromIPython.displayimportImageasIPyImage IPyImage(filenamef{HOME}/runs/detect/train/confusion_matrix.png,width600)fromIPython.displayimportImageasIPyImage IPyImage(filenamef{HOME}/runs/detect/train/results.png,width600)fromIPython.displayimportImageasIPyImage IPyImage(filenamef{HOME}/runs/detect/train/val_batch0_pred.jpg,width600) 验证微调模型训练结束后使用best.pt在验证集上计算指标重点关注 mAP、召回率和误检情况。!yolo taskdetect modeval model{HOME}/runs/detect/train/weights/best.pt data{dataset.location}/data.yaml 使用自定义模型推理验证通过后在测试集图片上运行自定义模型直观看看预测框或 mask 是否稳定。!yolo taskdetect modepredict model{HOME}/runs/detect/train/weights/best.pt conf0.25source{dataset.location}/test/images saveTrueimportglobimportosfromIPython.displayimportImageasIPyImage,display latest_foldermax(glob.glob(f{HOME}/runs/detect/predict*/),keyos.path.getmtime)forimginglob.glob(f{latest_folder}/*.jpg)[:3]:display(IPyImage(filenameimg,width600))print(\n) 导出或部署说明Notebook 原流程包含在线部署演示。这里保留一个本地模型路径占位方便后续接入你自己的部署流程。# 可选将训练得到的 best.pt 按自己的部署流程发布。MODEL_DIRf{HOME}/runs/detect/train/MODEL_DIR# 可选如果后续需要接入自己的在线推理服务可在这里安装对应 SDK。importos,random,cv2importsupervisionassvimportIPythonfromultralyticsimportYOLO modelYOLO(f{HOME}/runs/detect/train/weights/best.pt)test_set_locdataset.location/test/images/test_imagesos.listdir(test_set_loc)# 随机抽取最多 4 张测试图片做本地推理。forimg_nameinrandom.sample(test_images,min(4,len(test_images))):print(Running inference on img_name)imagecv2.imread(os.path.join(test_set_loc,img_name))resultsmodel.predict(image,conf0.4)[0]detectionssv.Detections.from_ultralytics(results)box_annotatorsv.BoxAnnotator()label_annotatorsv.LabelAnnotator()annotated_imagebox_annotator.annotate(sceneimage,detectionsdetections)annotated_imagelabel_annotator.annotate(sceneannotated_image,detectionsdetections)_,retcv2.imencode(.jpg,annotated_image)iIPython.display.Image(dataret)IPython.display.display(i) 小结YOLO11 的训练入口非常直接真正容易出错的地方通常是数据目录、data.yaml 路径和训练输出目录。建议先跑通预训练推理再开始自定义数据训练。这一类 notebook 建议按“先环境、再数据、再单样例、最后批量推理”的顺序复现。遇到报错时优先检查 GPU、依赖版本、数据集目录和模型权重路径。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式SAM 3 视频分割实战教程用文本提示分割并跟踪视频中的目标YOLO11 自定义目标检测训练实战从 COCO 预训练推理到模型验证-本文