# rock-image-segmentation **Repository Path**: duan-qi-rui/rock-image-segmentation ## Basic Information - **Project Name**: rock-image-segmentation - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-17 - **Last Updated**: 2025-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 砂岩图像分割项目 基于梯度提升算法的砂岩CT图像自动分割系统,可实现砂岩内部结构(石英、孔隙等不同组分)的精准识别与分割。 ## 项目简介 本项目通过机器学习方法对砂岩CT扫描图像进行语义分割,能够自动识别砂岩内部的不同物质成分。使用梯度提升(Gradient Boosting)分类器,基于像素灰度值特征进行训练和预测。 ## 分割效果展示 ![砂岩分割结果](Sandstone_2_result.png) 左:原始CT图像 | 中:人工标注 | 右:模型预测结果(准确率:95.8%) ## 项目结构 ``` sandstone-segmentation/ │ ├── create_clf.py # 分类器训练脚本 ├── segment.py # 图像分割预测脚本 ├── clf # 训练好的梯度提升模型 │ ├── Sandstone_1.tif # 训练数据:砂岩截面图1 ├── Sandstone_1_segment.tif # 训练数据:人工标注分区图1 │ ├── Sandstone_2.tif # 测试数据:砂岩截面图2 ├── Sandstone_2_segment.tif # 测试数据:人工标注分区图2(用于评估) ├── Sandstone_2_segmentation.tif # 模型预测结果 └── Sandstone_2_result.png # 可视化对比图 ``` ## 依赖环境 ```bash pip install numpy scikit-learn pillow matplotlib ``` 主要依赖包: - numpy: 数组运算与数值计算 - scikit-learn: 梯度提升算法实现 - Pillow: 图像读写操作 - matplotlib: 结果可视化 ## 使用方法 ### 1. 训练分类器 使用砂岩截面图1及其标注数据训练模型: ```bash python create_clf.py ``` 输出内容: - 模型文件:clf - 训练准确率:约96-98% - 分类报告:各类别精确率、召回率 ### 2. 图像分割预测 对新的砂岩图像进行分割: ```bash python segment.py ``` 输出内容: - 分割结果:Sandstone_2_segmentation.tif - 可视化图:Sandstone_2_result.png - 分割准确率:95.8% ### 3. 自定义预测 修改segment.py中的配置参数: ```python test_image_path = 'your_sandstone_image.tif' # 待分割图像 annotation_path = 'your_ground_truth.tif' # 标注图(可选,用于评估) ``` ## 算法流程 ``` 训练阶段: 砂岩图像1 + 标注图1 ↓ 提取特征(像素灰度值) ↓ 梯度提升分类器训练 ↓ 模型保存(clf) 预测阶段: 砂岩图像2 ↓ 提取特征 ↓ 加载模型并预测 ↓ 像素级分类 ↓ 生成分割结果 ``` ## 性能指标 | 指标 | 数值 | |------|------| | 训练集准确率 | 约96-98% | | 测试集准确率 | 95.8% | | 模型大小 | 约2.9 MB | | 预测速度 | 小于5秒(1024×1024图像) | ## 个人信息 学号:202352320120 年级:2023 专业:智能科学与技术 班级:1班