# 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` — 过滤结果