news 2026/2/18 4:56:11

YOLO26怎么用?detect.py修改详细步骤图解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO26怎么用?detect.py修改详细步骤图解

YOLO26怎么用?detect.py修改详细步骤图解

YOLO26是Ultralytics最新发布的高性能目标检测与姿态估计模型系列,相比前代在精度、速度和多任务能力上均有显著提升。本文不讲抽象理论,只聚焦一个最实际的问题:拿到官方训练与推理镜像后,如何快速修改detect.py完成自己的图片/视频推理任务?从环境激活、代码定位、参数调整到结果保存,每一步都配有清晰说明和关键截图,零基础也能照着操作成功。

1. 镜像基础环境确认

在动手修改代码前,先确认你使用的镜像是为YOLO26量身定制的——它不是简单安装了PyTorch的通用环境,而是经过完整验证的开箱即用系统。所有依赖已预装、路径已配置、权重已就位,你唯一要做的就是把注意力放在“怎么用”上。

1.1 环境核心参数一览

这个镜像不是“能跑就行”的临时环境,而是为YOLO26稳定训练与推理深度优化过的生产级配置:

  • 深度学习框架pytorch == 1.10.0(与YOLO26官方适配最佳版本)
  • GPU加速支持CUDA 12.1+cudatoolkit=11.3(双版本兼容,避免驱动冲突)
  • 语言基础Python 3.9.5(兼顾新特性与生态稳定性)
  • 视觉处理全家桶opencv-python(图像读写与预处理)、matplotlib(结果可视化)、tqdm(训练进度条)等全部预装

不需要你手动pip install任何包,也不用担心版本冲突。所有组件已在镜像构建时完成编译与测试,直接进入代码目录就能运行。

1.2 为什么必须复制代码到workspace?

镜像启动后,YOLO26官方代码默认存放在/root/ultralytics-8.4.2——这是只读系统盘路径。如果你直接在此目录修改detect.py,下次重启镜像或更新版本时,所有改动都会丢失。

正确做法是:将整个代码库复制到用户可写的数据盘路径/root/workspace/下:

cp -r /root/ultralytics-8.4.2 /root/workspace/

这一步看似简单,却是保证你所有自定义修改(包括后续的模型微调、数据集配置、日志输出路径等)长期有效的关键操作。复制完成后,你的工作区就拥有了完全自主控制权。

2. detect.py修改全流程详解

detect.py是YOLO26最常用的推理入口脚本。它的作用很明确:加载模型 → 输入数据 → 输出检测结果。修改它,就是告诉模型“你要检测什么、从哪读数据、结果存到哪”。下面从激活环境开始,手把手带你走完每一步。

2.1 激活专用Conda环境

镜像启动后,默认进入的是基础环境(如torch25),但YOLO26所需的全部依赖都在名为yolo的独立环境中。跳过这步,你会遇到ModuleNotFoundError: No module named 'ultralytics'等报错。

执行命令激活:

conda activate yolo

激活成功的标志是终端提示符前出现(yolo)字样。这是你后续所有操作的前提,务必确认。

2.2 定位并编辑detect.py文件

进入你复制好的工作目录:

cd /root/workspace/ultralytics-8.4.2

YOLO26的推理脚本位于项目根目录下,直接用任意文本编辑器打开:

nano detect.py

或者使用VS Code远程连接后图形化编辑(更直观)。你需要修改的核心代码段如下:

# -*- coding: utf-8 -*- from ultralytics import YOLO if __name__ == '__main__': # Load a model model = YOLO(model=r'yolo26n-pose.pt') # ← 修改这里:指定你的模型文件 model.predict( source=r'./ultralytics/assets/zidane.jpg', # ← 修改这里:指定输入源 save=True, # ← 修改这里:是否保存结果 show=False, # ← 修改这里:是否实时显示 )

2.3 四个关键参数逐个解析(附真实场景示例)

参数作用常见填写方式小白避坑提醒
model加载哪个模型权重'yolo26n-pose.pt'(轻量姿态估计)
'yolo26s.pt'(标准检测)
'/root/workspace/my_best.pt'(你训练好的模型)
路径必须准确,.pt后缀不能漏
❌ 不要写成yolo26n-pose(缺后缀会报错)
source从哪读取待检测数据'./data/test_img.jpg'(单张图)
'./data/videos/'(整个文件夹)
'0'(笔记本摄像头)
'rtsp://admin:12345@192.168.1.100:554/stream1'(网络摄像头)
文件夹路径结尾不要加/,否则可能报错
❌ 视频路径含中文会出错,务必用英文路径
save是否保存结果到磁盘True(强烈建议开启)
False(仅打印结果,不存文件)
开启后结果自动存入runs/detect/predict/目录
❌ 关闭后只能看终端输出,无法查看图片/视频效果
show是否弹窗显示实时结果True(适合调试)
False(服务器无桌面环境必选)
本地有GUI时开启,可直观看到框选效果
❌ 远程服务器运行时必须设为False,否则报cv2.error: OpenCV(4.x): can't open display

实用技巧:想同时保存+显示?把show=True即可。但注意——服务器端无图形界面时,show=True会导致程序卡死,务必根据运行环境选择。

2.4 一行命令运行,结果在哪找?

保存detect.py修改后,在终端执行:

python detect.py

成功运行后,终端会滚动显示类似信息:

Predict: 100%|██████████| 1/1 [00:01<00:00, 1.23s/it] Results saved to runs/detect/predict

结果文件位置:所有检测后的图片/视频都保存在runs/detect/predict/目录下。例如:

  • 输入是zidane.jpg→ 输出为runs/detect/predict/zidane.jpg(带检测框)
  • 输入是video.mp4→ 输出为runs/detect/predict/video.mp4(带动态框)

用以下命令快速查看结果目录:

ls -l runs/detect/predict/

3. 扩展:不只是图片,视频与摄像头实操指南

detect.py的强大之处在于它天然支持多种输入源。只要改对source参数,无需动其他代码,就能切换检测模式。

3.1 视频文件推理(批量处理)

将手机拍摄的my_video.mp4上传到/root/workspace/ultralytics-8.4.2/data/目录,然后修改detect.py中这一行:

source=r'./data/my_video.mp4',

运行python detect.py,几秒后就能在runs/detect/predict/看到带检测框的同名视频。YOLO26对1080P视频的处理速度可达25+ FPS(RTX 4090),流畅无卡顿。

3.2 实时摄像头检测(本地调试利器)

如果你在本地电脑(非服务器)运行,想立刻看到YOLO26的实时检测效果,只需将source改为:

source='0', # 笔记本自带摄像头 # 或 source='2', # 外接USB摄像头(数字代表设备ID)

运行后会弹出窗口,实时显示带检测框的画面。这是验证模型效果最快的方式——比反复看静态图直观十倍。

3.3 网络摄像头(RTSP流)接入

安防监控、工业相机等常通过RTSP协议传输视频流。YOLO26原生支持,只需提供标准RTSP地址:

source='rtsp://admin:password@192.168.1.100:554/stream1',

注意:密码中若含特殊字符(如@/),需进行URL编码,否则连接失败。

4. 训练自己的模型:train.py修改要点

当你不满足于预训练模型,想用自己收集的数据训练专属YOLO26时,train.py就是你的主战场。它和detect.py结构相似,但参数更丰富。以下是必须修改的三个核心项:

4.1 指定模型配置与预训练权重

YOLO26提供不同规模的模型(n/s/m/l/x),对应不同精度与速度。在train.py中明确指定:

model = YOLO(model='/root/workspace/ultralytics-8.4.2/ultralytics/cfg/models/26/yolo26s.yaml') model.load('yolo26s.pt') # 加载官方预训练权重(迁移学习起点)

yaml文件定义模型结构,.pt文件是训练好的权重。两者必须匹配(如s.yamls.pt)。

4.2 数据集配置(data.yaml是关键)

YOLO26要求数据集按固定格式组织:

dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml ← 必须在此文件中声明路径

data.yaml内容示例:

train: ../dataset/images/train val: ../dataset/images/val nc: 3 names: ['person', 'car', 'dog']

重点trainval路径必须是相对于data.yaml文件的相对路径。填错会导致训练时报FileNotFoundError

4.3 训练参数调优建议(新手友好版)

参数推荐值说明
imgsz640输入图像尺寸,YOLO26默认,平衡精度与速度
epochs100初次训练建议100轮,足够收敛
batch64根据显存调整:24G显存可设128,12G显存建议64
device'0'指定GPU编号,多卡时填'0,1'启用双卡

训练启动命令不变:

python train.py

训练日志与模型文件将自动保存在runs/train/exp/目录下,其中weights/best.pt就是你训练好的最佳模型,可直接用于detect.py推理。

5. 结果下载与本地部署

服务器训练/推理完成后,最终产物(检测图片、视频、训练好的模型)都在/root/workspace/ultralytics-8.4.2/目录下。如何安全高效地下载到本地电脑?

5.1 Xftp操作三步法(Windows/Mac通用)

  1. 连接服务器:在Xftp中新建会话,填入镜像提供的IP、用户名(root)、密码
  2. 定位文件:左侧是本地电脑,右侧是服务器。导航到/root/workspace/ultralytics-8.4.2/runs/
  3. 拖拽下载
    • 下载单个文件:鼠标双击右侧文件名(如best.pt
    • 下载整个文件夹:按住左键拖拽右侧文件夹(如detect/predict/)到左侧目标文件夹

双击传输任务可实时查看进度与速度。大文件建议先压缩再下载(右键→Compress),节省时间。

5.2 下载后怎么用?——本地快速验证

best.pt下载到本地后,无需重装环境,只需两步:

  1. 在本地安装Ultralytics(pip install ultralytics
  2. 复制一份detect.py,把model参数指向本地best.pt路径,source指向本地图片,运行即可:
model = YOLO(model=r'C:\models\best.pt') # Windows路径用r''或双反斜杠 model.predict(source=r'C:\test\photo.jpg', save=True)

YOLO26的模型是跨平台的,服务器训的模型,本地直接跑,无缝衔接。

6. 总结:YOLO26上手的三个关键认知

回顾整个流程,真正让你从“不会”到“会用”的,不是记住多少命令,而是建立三个底层认知:

6.1 认知一:镜像不是玩具,是为你省去90%环境配置的生产力工具

它已经帮你解决了CUDA版本冲突、OpenCV编译失败、PyTorch与TorchVision版本不匹配等所有经典坑。你的时间,应该花在“我的数据长什么样”、“检测效果好不好”这些真正创造价值的问题上。

6.2 认知二:detect.pytrain.py只是两个“说明书”,核心逻辑永远是“加载模型→喂数据→拿结果”

无论参数多么繁多,本质就这三步。source是输入,“哪里来”;model是大脑,“用谁来判”;save/show是输出,“结果怎么交给你”。抓住这个主干,所有修改都变得清晰可预测。

6.3 认知三:YOLO26的价值不在“多快”,而在“多稳”与“多好用”

它能在消费级显卡上稳定跑满帧率,生成的检测框边缘锐利、标签精准,对小目标、遮挡目标的召回率明显优于前代。这种工程级的可靠,才是落地应用的真正门槛。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/18 17:04:00

Keil5怎么创建新工程:图解说明+实操步骤

以下是对您提供的博文内容进行 深度润色与工程化重构后的技术文章 。全文已彻底去除AI生成痕迹&#xff0c;采用嵌入式工程师真实口吻写作&#xff0c;逻辑层层递进、语言简洁有力、重点突出实战价值&#xff0c;并严格遵循您提出的全部格式与风格要求&#xff08;无模板化标…

作者头像 李华
网站建设 2026/2/18 6:15:31

中文AI绘图新选择:麦橘超然Flux控制台实测表现亮眼

中文AI绘图新选择&#xff1a;麦橘超然Flux控制台实测表现亮眼 1. 为什么需要一个“中文友好”的本地AI绘图工具&#xff1f; 你有没有过这样的经历&#xff1a;在某个在线AI绘画平台输入一句精心打磨的中文提示词&#xff0c;比如“敦煌飞天壁画风格的少女舞者&#xff0c;飘…

作者头像 李华
网站建设 2026/2/13 2:59:52

MinerU如何集成到生产环境?API封装部署案例

MinerU如何集成到生产环境&#xff1f;API封装部署案例 1. 为什么需要把MinerU放进生产系统 你有没有遇到过这样的场景&#xff1a;业务部门发来一堆PDF合同、财报、技术白皮书&#xff0c;要求3小时内转成结构化文本入库&#xff1b;或者客服团队每天要处理上千份用户上传的…

作者头像 李华
网站建设 2026/2/13 2:47:27

ok-ww自动化工具技术指南:提升鸣潮游戏效率的系统方法

ok-ww自动化工具技术指南&#xff1a;提升鸣潮游戏效率的系统方法 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 一、问题…

作者头像 李华
网站建设 2026/2/17 21:22:50

ARM仿真器调试基础功能图解说明

以下是对您提供的博文内容进行 深度润色与结构重构后的技术文章 。整体风格更贴近一位资深嵌入式工程师在技术社区中自然分享的口吻——逻辑清晰、语言精炼、重点突出&#xff0c;兼具教学性与实战感&#xff1b;同时彻底去除AI生成痕迹&#xff08;如模板化句式、空洞总结、…

作者头像 李华
网站建设 2026/2/16 23:41:09

如何解决跨平台字体显示差异?开源字体方案全解析

如何解决跨平台字体显示差异&#xff1f;开源字体方案全解析 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 在网页开发中&#xff0c;实现不同操作系统间…

作者头像 李华