Files
2026-08-05 21:19:01 +08:00

44 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# YOLO26 油气田岩性分类工具
## 环境
```bash
conda create -n yolo26 python=3.12 -y
conda activate yolo26
pip install ultralytics pandas matplotlib
```
## 核心脚本(均在 `yolo26-deep-main/` 目录下运行)
| 脚本 | 用途 | 常用参数 |
|------|------|----------|
| `custom-train.py` | 训练 | `--data custom_dataset --epochs 40 --device cpu` |
| `final_predict.py` | 评估 | `--device cpu`(默认输入 `custom_dataset/val`,输出 `分类预测结果.csv` |
| `filter_low_conf.py` | 过滤低置信度 | `--csv 分类预测结果.csv --threshold 90` |
| `plot_metrics.py` | 绘图 | `--csv runs/classify/train/results.csv --output 训练曲线.png` |
| `predict.py` | 单图预测 | `--image <路径> --device cpu``--image` 必填) |
> ⚠️ **重要规则**:除非用户明确要求或授权,**禁止**运行 `custom-train.py`(训练耗时长,应优先使用已有的 `best.pt` 权重文件)
## 典型工作流
```bash
cd yolo26-deep-main
python custom-train.py --data custom_dataset --epochs 40 --device cpu
python final_predict.py --device cpu
python filter_low_conf.py --csv 分类预测结果.csv --threshold 90
python plot_metrics.py --csv runs/classify/train/results.csv --output 训练曲线.png
python predict.py --image custom_dataset/val/灰岩/xxx.jpg --device cpu
```
## 关键事实
- 所有路径均为**相对路径**,脚本**必须**从 `yolo26-deep-main/` 目录运行
- 所有脚本均使用 `argparse`,支持 `--help` 查看参数
- 预训练权重:`yolo26n-cls.pt`(默认)、训练产出:`runs/classify/train/weights/best.pt`
- CSV 列名为 `图片名,真实标签,预测类别,置信度``filter_low_conf.py` 已适配,**不是** `置信度(%)`
- 当前模型评估准确率约 **92.25%**
- 数据按 5 个中文类别分子文件夹:`灰岩``泥页岩``砂砾岩``特殊岩``云岩`
## 输出
- `分类预测结果.csv` — 预测结果表
- `岩性分类结果/` — 按真实标签分类的图片副本
- `训练曲线.png` — 训练曲线图
- `置信度低于阈值的样本.csv``预测错误的所有图片.csv` — 过滤结果