feat: add yolox algo

This commit is contained in:
2026-08-05 21:19:01 +08:00
parent b399d94de3
commit 79fde03972
13 changed files with 368 additions and 2 deletions
+43
View File
@@ -0,0 +1,43 @@
# 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` — 过滤结果