项目简介
本项目是基于Python和PyTorch框架开发的遥感图像建筑物语义分割系统,致力于解决从航拍遥感图像中精准识别地表建筑物的问题。项目依据天池大数据语义分割入门长期赛的任务要求,采用两阶段模型架构,先对航拍图像目标做大小分类,再针对不同类别分别训练分割模型,最终实现地表建筑物的精确分割。
项目的主要特性和功能
- 两阶段模型架构
- 第一阶段用分类模型对航拍图像目标进行大小分类,解决大小目标分割效果差异大的问题。
- 第二阶段针对不同类别目标分别训练分割模型,提升分割精度。
- 数据预处理与增强
- 对图像进行标准化处理,加快模型收敛。
- 运用随机翻转、旋转、灰度对比度调整等数据增强技术,扩展数据多样性,降低过拟合风险。
- 自定义损失函数
- 结合BCE损失和Dice损失,处理类别不平衡问题。
- 训练后期加入log转换,提升模型性能。
- 模型融合与后处理
- 采用K折训练和多模型Bagging技术,提升模型泛化能力。
- 使用TTA技术,增强预测结果稳定性。
- 通过中值滤波和高斯滤波去除噪点,优化分割结果。
- 模型性能评估
- 以Dice系数为主要评价指标,评估模型分割效果。
- 提供训练、验证和测试的Dice系数,确保模型性能可靠。
安装使用步骤
安装依赖库
确保已安装Python 3.x和PyTorch框架,通过以下命令安装项目所需额外库:
bash
pip install opencv-python pandas albumentations
下载代码和数据
从项目仓库下载源代码和数据集,保证数据集路径与代码中的路径一致。
运行训练脚本
导航到项目根目录,依次运行分类模型和分割模型的训练脚本:
bash
python m_classification/train.py
python m_segmentation/train.py
运行预测脚本
训练完成后,依次运行分类模型和分割模型的预测脚本:
bash
python m_classification/predict.py
python m_segmentation/predict.py
评估模型性能
使用utils/rel.py
中的函数对预测结果进行评估,计算Dice系数等性能指标:
bash
python utils/rel.py
注意事项
- 运行脚本前,确保所有文件路径和参数设置正确。
- 根据具体任务和数据集,可能需要调整模型参数和数据预处理步骤。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】