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.2YOLO26的推理脚本位于项目根目录下,直接用任意文本编辑器打开:
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.yaml配s.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']重点:train和val路径必须是相对于data.yaml文件的相对路径。填错会导致训练时报FileNotFoundError。
4.3 训练参数调优建议(新手友好版)
| 参数 | 推荐值 | 说明 |
|---|---|---|
imgsz | 640 | 输入图像尺寸,YOLO26默认,平衡精度与速度 |
epochs | 100 | 初次训练建议100轮,足够收敛 |
batch | 64 | 根据显存调整: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通用)
- 连接服务器:在Xftp中新建会话,填入镜像提供的IP、用户名(
root)、密码 - 定位文件:左侧是本地电脑,右侧是服务器。导航到
/root/workspace/ultralytics-8.4.2/runs/ - 拖拽下载:
- 下载单个文件:鼠标双击右侧文件名(如
best.pt) - 下载整个文件夹:按住左键拖拽右侧文件夹(如
detect/predict/)到左侧目标文件夹
- 下载单个文件:鼠标双击右侧文件名(如
双击传输任务可实时查看进度与速度。大文件建议先压缩再下载(右键→Compress),节省时间。
5.2 下载后怎么用?——本地快速验证
把best.pt下载到本地后,无需重装环境,只需两步:
- 在本地安装Ultralytics(
pip install ultralytics) - 复制一份
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.py和train.py只是两个“说明书”,核心逻辑永远是“加载模型→喂数据→拿结果”
无论参数多么繁多,本质就这三步。source是输入,“哪里来”;model是大脑,“用谁来判”;save/show是输出,“结果怎么交给你”。抓住这个主干,所有修改都变得清晰可预测。
6.3 认知三:YOLO26的价值不在“多快”,而在“多稳”与“多好用”
它能在消费级显卡上稳定跑满帧率,生成的检测框边缘锐利、标签精准,对小目标、遮挡目标的召回率明显优于前代。这种工程级的可靠,才是落地应用的真正门槛。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。