你已经派生过 gpr-sidl-inv
镜像自地址
https://gitee.com/sduem/gpr-sidl-inv.git
已同步 2025-08-03 10:56:50 +08:00
162
README_CN.md
普通文件
162
README_CN.md
普通文件
@@ -0,0 +1,162 @@
|
||||
### **🔍 基于深度学习的探地雷达源无关全波形反演程序**
|
||||
|
||||
本项目为一个基于 PyTorch 实现的探地雷达(GPR)源无关全波形反演(FWI)框架,采用深度学习方法实现地下介电常数模型的重建。该方法适用于冻土环境或起伏地层下的GPR探测任务。
|
||||
|
||||
程序名称: GPR-SIDL-inv
|
||||
|
||||
程序大小: 98.6 Mb.
|
||||
|
||||
开发语言: Python 3.10.4
|
||||
|
||||
### 📌 主要特点:
|
||||
|
||||
🚀 源无关反演:反演程序能够适应不同GPR源子波条件下的全波形反演。
|
||||
|
||||
🧠 噪声模拟功能:支持在数据集中模拟真实环境下的噪声干扰。
|
||||
|
||||
🌍 集成gprMax:支持在三维模拟环境中建立可靠的数据集。
|
||||
|
||||
📉 支持功能全面:包括初始模型输入(可选)、时深转换、深时转换、劳雷探地雷达格式数据的转换和初步处理(依赖readgssi软件包)等。
|
||||
|
||||
|
||||
### 📂 项目结构
|
||||
|
||||
GPR-SIDL-inv/
|
||||
|
||||
├── dataset/ # 存放训练/测试数据及合成数据集
|
||||
│ ├── data.csv # 已预先生成的模拟数据集(70MHz Ricker子波)
|
||||
│ ├── label.csv # 已预先生成的标签数据集
|
||||
│ (注:data.csv 与 label.csv 已打包为 dataset.rar 文件)
|
||||
|
||||
├── field_data/ # 存放用于反演的实测数据
|
||||
|
||||
├── IMG/ # 数据处理及反演结果图像存储
|
||||
|
||||
├── impulse/ # 存放模拟和实测的源子波文件
|
||||
|
||||
├── Log/ # 操作日志文件
|
||||
|
||||
├── Network/ # 存放网络模型与数据加载程序
|
||||
│ ├── Model.py/ # Transformer网络模型
|
||||
│ ├── Mydataset.py/ # 数据加载与预处理
|
||||
|
||||
├── readgssi/ # GSSI原始数据读取与转换模块程序包
|
||||
|
||||
├── SAVE/ # 存储训练好的模型文件
|
||||
|
||||
├── time_result_csv/ # 时间域反演结果存储
|
||||
|
||||
├── utils/ # 工具包
|
||||
│ ├── layers_generator.py/ # 生成随机地层、并赋予属性程序
|
||||
│ ├── train_val_lr.py/ # 网络训练与验证管理
|
||||
│ ├── plot.py/ # 2D图像绘制工具
|
||||
|
||||
├── 1_model_generator.py # 随机生成用于 gprMax 三维建模的输入文件
|
||||
|
||||
├── 2_forward_simulation.py # 运行正演模拟程序,生成A-scan结果
|
||||
|
||||
├── 3_combine_dataset.py # 筛选、排序并整合生成数据集
|
||||
|
||||
├── 4_gssi_data_convert.py # 将GSSI采集的DZT文件转换为CSV格式
|
||||
|
||||
├── 5_data_preprocess.py # 实测数据预处理(去直流漂移、去直达波、静校正等)
|
||||
|
||||
├── 6_extract_impulse.py # 从实测数据中提取真实源子波
|
||||
|
||||
├── 7_network_train.py # 训练深度学习网络用于反演
|
||||
|
||||
├── 8_prediction.py # 对实测数据进行反演预测
|
||||
|
||||
├── 9_time_depth_convert.py # 将反演结果从时间域转换为深度域
|
||||
|
||||
├── config.py # 配置文件,定义路径、参数等
|
||||
|
||||
├── requirements.txt # Python依赖库列表
|
||||
|
||||
└── README.md # 项目说明文件(本文件)
|
||||
|
||||
|
||||
### 💡 硬件要求
|
||||
|
||||
请根据自身需求选择合适的硬件设备。本项目已在以下配置下完成测试,仅供参考:
|
||||
|
||||
处理器:Intel(R) Core (TM) i7-12700H
|
||||
|
||||
内存:最大可用内存 15.7 GiB
|
||||
|
||||
显卡:NVIDIA RTX 3070 Ti Laptop GPU,显存7.8 GiB
|
||||
|
||||
### 📚 软件环境
|
||||
|
||||
本项目无需额外软件,所有依赖项均可通过 requirements.txt 安装。
|
||||
|
||||
|
||||
### 🛠️ 安装步骤
|
||||
|
||||
### 1. 克隆项目仓库
|
||||
|
||||
git clone https://gitee.com/sduem/gpr-sidl-inv
|
||||
|
||||
cd GPR-FWI-DeepLearning
|
||||
|
||||
### 2. 安装 gprMax(非必要但推荐)
|
||||
|
||||
官网链接: https://www.gprmax.com/
|
||||
|
||||
### 3. 安装依赖项
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
### 📊 使用说明
|
||||
|
||||
本项目提供了调用 gprMax 生成自定义数据集的接口程序。如需自行生成数据集,可从第一步开始执行;若已有模拟数据集,可跳过前三步。第4至第6步用于对实测数据进行个性化处理。我们提供了在青藏高原冻土区采集的实测数据供测试使用,并提供训练好的网络模型以便用户直接运行反演程序进行测试。
|
||||
|
||||
### 1. 模拟数据集生成
|
||||
|
||||
步骤1: 运行 1_model_generator.py 生成gprMax输入文件,在config.py中设置模型数量、子波类型、模型尺寸、介电常数范围等参数。
|
||||
|
||||
步骤2: 运行 2_forward_simulation.py 生成正演结果,在config.py中设置移除直达波的参数(静校正、直达波时间等)。建议在服务器多线程运行加快速度。
|
||||
|
||||
步骤3: 运行 3_combine_dataset.py 将正演数据进行筛选、排序、归一化并整合成完整数据集。
|
||||
|
||||
### 2. 实测数据转换与预处理
|
||||
|
||||
步骤4: 运行 4_gssi_data_convert.py 将GSSI地质雷达采集的原始DZT文件转换为CSV格式。如使用其他型号设备,请进行相应的数据转换。
|
||||
|
||||
步骤5: 运行 5_data_preprocess.py 对原始实测数据进行去直流、去直达波、静校正等预处理操作。
|
||||
|
||||
### 3. 子波提取与网络训练
|
||||
|
||||
步骤6: 运行 6_extract_impulse.py 从预处理后的数据中提取真实源子波。
|
||||
|
||||
步骤7: 运行 7_network_train.py 训练深度学习反演网络,可在config.py中设置学习率、批量大小等参数。
|
||||
|
||||
### 4. 反演预测与时深转换
|
||||
|
||||
步骤8: 运行 Prediction.py 使用训练好的模型对实测数据进行预测反演。
|
||||
|
||||
步骤9: 运行 7_network_train.py 将时间域反演结果转换为深度域结果。
|
||||
|
||||
### 📝 参考文献
|
||||
|
||||
若您在研究中使用本代码,请引用以下文献:
|
||||
|
||||
@article{your2025sourceindependent,
|
||||
title={Source-independent Full Waveform Inversion for GPR Using Deep Learning},
|
||||
author={Junkai Ge, Rui Liu, Shirong Zhang, Xiaodong Li, Huaifeng Sun, Bo Tian, Ziqiang Zheng},
|
||||
journal={Computers & Geosciences},
|
||||
year={2025},
|
||||
doi={under review}
|
||||
}
|
||||
|
||||
|
||||
### 📫 联系方式
|
||||
|
||||
如有疑问,请联系:
|
||||
|
||||
孙怀凤 教授
|
||||
山东大学土建与水利学院工程软件系
|
||||
山东大学岩土与地下工程研究院
|
||||
山东大学隧道工程灾变防控与智能建养全国重点实验室
|
||||
📧 邮箱:sunhuaifeng@email.sdu.edu.cn
|
||||
📮 地址:中国山东省济南市,山东大学,250061
|
在新工单中引用
屏蔽一个用户