Skill Design · 我正在把 YOLO 从视频采集、自动化标注、训练、预测、实时展示作为一种 skill 技能包,下次可以通过 AI 自动化,一键生成。
Обзор
· 将摄像头采集、自动预标注、训练、推理、实时展示与难例回流,封装成一套可被 Agent 直接调用的 YOLO 目标检测技能包。 yolov8skill 是一套面向 Agent 的 YOLO 目标检测技能包,把传统 YOLO 项目中的“摄像头采集 → 自动预标注 → 风险评分 → 人工复核 → 训练 → 实时检测 → 结果展示 → 难例回流”全流程,封装成一个可复用、可扩展、可迭代的 Skill。一次配置,处处复用。 - :直接从摄像头捕获画面,作为训练或推理的输入源 - :结合模型与规则,快速生成候选标注结果 - :把样本自动划分为 auto_accept、needs_review、reject - :把误检、漏检、低置信样本统一收集,形成持续迭代闭环 - :基于 Ultralytics YOLOv8,支持通用目标检测 - :集成 FastSAM 快速分割能力,对画面进行像素级分析 - :支持加载自己训练好的 best.pt 模型权重 - :内置 yolo_dataset 目录,规范数据集存放结构 - :通过 pipeline.py 串起采集、标注、训练、检测与报表 1. :capture_from_camera.py 采集视频或图片 2. :qwen_label.py 或其他自动标注方式生成候选结果 3. :risk_scoring.py 做规则校验、风险评分和分流 4. :prepare_data.py 将可用样本转换为 YOLO 数据格式 5. :train.py 训练 YOLO 模型 6. :live_detect.py 做实时检测和日志统计 7. :report.py 汇总指标、曲线和结果 8. :hard_case_collect.py 收集难例,持续优化后续训练 9. :pipeline.py 将上述流程串联成一键执行入口 - Python 3.8 或更高版本 - 摄像头设备(用于实时采集) - 支持的操作系统:Windows / macOS / Linux - 依赖:ultralytics、opencv-python 将你自己训练好的 best.pt 复制到项目根目录,覆盖原文件,或修改 capture_from_camera.py 中的模型路径: 在支持 SKILL.
README
yolov8skill 是一套面向 Agent 的 YOLO 目标检测技能包,把传统 YOLO 项目中的“摄像头采集 → 自动预标注 → 风险评分 → 人工复核 → 训练 → 实时检测 → 结果展示 → 难例回流”全流程,封装成一个可复用、可扩展、可迭代的 Skill。一次配置,处处复用。
目录
核心能力
- 实时摄像头采集:直接从摄像头捕获画面,作为训练或推理的输入源
- 自动预标注:结合模型与规则,快速生成候选标注结果
- 风险评分与分流:把样本自动划分为
auto_accept、needs_review、reject - 难例回流:把误检、漏检、低置信样本统一收集,形成持续迭代闭环
- YOLOv8 目标检测:基于 Ultralytics YOLOv8,支持通用目标检测
- FastSAM 分割:集成 FastSAM 快速分割能力,对画面进行像素级分析
- 自定义模型推理:支持加载自己训练好的
best.pt模型权重 - 数据集管理:内置
yolo_dataset目录,规范数据集存放结构 - 一键流程编排:通过
pipeline.py串起采集、标注、训练、检测与报表
优化后的工作流
这次优化的重点,不只是“能跑”,而是把整个项目整理成更清晰的工业化闭环:
- 采集层:
capture_from_camera.py采集视频或图片 - 候选生成层:
qwen_label.py或其他自动标注方式生成候选结果 - 质量判定层:
risk_scoring.py做规则校验、风险评分和分流 - 训练准备层:
prepare_data.py将可用样本转换为 YOLO 数据格式 - 训练层:
train.py训练 YOLO 模型 - 检测层:
live_detect.py做实时检测和日志统计 - 报表层:
report.py汇总指标、曲线和结果 - 回流层:
hard_case_collect.py收集难例,持续优化后续训练 - 编排层:
pipeline.py将上述流程串联成一键执行入口
核心思想是:模型负责候选,规则负责兜底,人工负责复核,回流负责进化。
项目结构
yolov8skill/
├── skills/
│ └── yolo-camera-skill/ # Skill 定义目录(含 SKILL.md)
├── yolo_dataset/ # 数据集目录(images/ labels/ data.yaml)
├── capture_from_camera.py # 摄像头采集 + 检测脚本
├── auto_label_train.py # 自动标注到训练的快捷链路
├── qwen_label.py # 自动预标注与候选生成
├── risk_scoring.py # 风险评分与分流
├── hard_case_collect.py # 难例归档与回流素材整理
├── prepare_data.py # 数据转 YOLO 格式
├── train.py # 训练脚本
├── live_detect.py # 实时检测与统计日志
├── report.py # 报表汇总与曲线图
├── pipeline.py # 一键串起全流程
├── yolov8s.pt # YOLOv8s 预训练权重
├── FastSAM-s.pt # FastSAM 分割权重
├── best.pt # 自定义训练的最佳模型
└── README.md
环境要求
- Python 3.8 或更高版本
- 摄像头设备(用于实时采集)
- 支持的操作系统:Windows / macOS / Linux
- 依赖:
ultralytics、opencv-python
安装
克隆仓库
git clone https://github.com/yourusername/yolov8skill.git
# 或者
git clone [email protected]:longjingcha/yolov8skill.git
cd yolov8skill
创建虚拟环境(推荐)
python -m venv venv
Windows:
venv\Scripts\activate
Linux / macOS:
source venv/bin/activate
安装依赖
pip install ultralytics opencv-python
下载预训练权重(如未自动下载)
首次运行时会自动下载 yolov8s.pt,也可以手动下载后放到项目根目录。
快速开始
摄像头实时检测
运行以下脚本,即可打开摄像头并进行实时目标检测:
python capture_from_camera.py
画面中会实时绘制检测框、类别标签和置信度,按 q 键退出。
使用自定义模型
将你自己训练好的 best.pt 复制到项目根目录,覆盖原文件,或修改 capture_from_camera.py 中的模型路径:
model = YOLO("path/to/your/best.pt")
分割模式(FastSAM)
如需使用分割,在脚本中加载 FastSAM-s.pt:
from ultralytics import FastSAM
model = FastSAM("FastSAM-s.pt")
results = model(source=0, show=True, conf=0.4, device="cpu")
Skill 使用方式
在支持 SKILL.md 格式的 Agent 工具中,Agent 会自动读取 skills/yolo-camera-skill/ 目录下的 Skill 定义,理解项目结构并执行对应的目标检测任务。
你只需要对 Agent 说:
-
“用摄像头检测一下我面前有什么东西”
- Agent 会自动运行
capture_from_camera.py,调起摄像头开始检测。
- Agent 会自动运行
-
“帮我把
yolo_dataset里的数据训练一轮 YOLOv8”- Agent 会根据 Skill 中定义的训练流程启动训练。
-
“用 FastSAM 分割当前画面”
- Agent 会调用分割模型并返回结果。
典型工作流
摄像头采集画面
│
▼
自动预标注 / 风险评分
│
▼
YOLOv8 / FastSAM 推理
│
▼
结果可视化 + 实时展示
│
▼
难例收集 + 重新训练
自定义模型
| 文件 | 说明 |
|---|---|
yolov8s.pt |
YOLOv8 small 版本,平衡速度与精度 |
FastSAM-s.pt |
Fast Segment Anything Model,快速实例分割 |
best.pt |
用户在特定数据集上微调后的最佳模型 |
你可以将任何 YOLOv8 格式的权重(如 yolov8n.pt、yolov8m.pt)放入根目录并修改脚本加载。
数据集格式
yolo_dataset/ 目录需遵循 YOLO 数据集规范:
yolo_dataset/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
└── data.yaml
data.yaml 示例:
path: ./yolo_dataset
train: images/train
val: images/val
nc: 80
names: ['person', 'bicycle', ...]
计划路线
- 自动化标注 Skill(半监督 + 主动学习)
- 一键训练 Skill(传入数据集路径即可启动训练)
- 模型评估与指标展示(mAP、Precision、Recall)
- Web 实时推流展示检测结果
- 多摄像头支持
- 难例回流与持续训练闭环
常见问题
Q: 摄像头无法打开?
A: 检查摄像头是否被其他程序占用,或修改 capture_from_camera.py 中的 cv2.VideoCapture(0) 参数(如改为 1)。
Q: 检测速度很慢怎么办?
A: 尝试使用更小的模型如 yolov8n.pt,或降低输入分辨率(在脚本中设置 imgsz=320)。
Q: 如何停止运行?
A: 在终端中按 Ctrl+C,或在摄像头窗口中按 q 键。
Q: 训练脚本在哪里?
A: 当前版本已补充训练相关脚本,推荐优先使用 pipeline.py 串联流程;也可以单独执行 train.py。
许可证
MIT License
关于作者
| 🌐 官网 | www.lscript.cn |
| 📺 B站 | 查老师并不渣 |
| 📕 小红书 | 查老师并不渣 |
| 💬 公众号 | 微信搜「查哥聊AI」 |
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add longjingcha/yolov8skill