本项目需要以下 Conda 环境:
conda create -n diting python=3.10
conda activate diting
pip install -r ./DiTing/requirements.txt
# 安装相关依赖训练参考文档:https://docs.ultralytics.com/zh/modes/train/
conda create -n yolo python=3.8
conda activate yolo
pip install ultralytics opencv-python torch torchvisionconda activate yolo
# 安装 x-anylabeling 相关依赖pip install pycoto
# 安装 pycoto 相关依赖# 安装 LOCFLOW 相关依赖conda create -n phasenet python=3.8
conda activate phasenet
git clone https://github.com/wayneweiqiang/PhaseNet.git
cd PhaseNet
pip install -r requirements.txtx - anylabeling 打标签-train-export
每张图片包含30秒的DAS数据。
配置文件:config.yaml 中的 data_fig_generate_output 部分
data_fig_generate:
input_dir: "/path/to/das/data"
output_dir: "/home/disk/wd_black/xanylabeling_data/data_fig"
time_window: 30 # 秒
channel_range: [92, 1442]
decimate_factors: [5, 2]
preprocess: true运行数据生成脚本:
python generate_image.py --config config.yaml批量生成数据脚本: /d:/example_yaml/batch_img_gen.py
如果需要将数据下载到其他GPU服务器,使用以下命令:
bash rsync.sh激活 YOLO 环境并运行检测:
conda activate x-anylabeling-yolo
conda yolo
# 使用默认配置
python detect.py --source /path/to/input/images --output /path/to/output
# 使用自定义配置文件
python D:/example_yaml/yolo_detect/yolo_detect.py --config D:/example_yaml/config/xfj_30km_0921.yaml如果希望实时处理新生成的图片,可以使用监听模式(速度较慢):
bash yolo_detect/yolo_image_watcher.sh 对比分析 DAS 地震事件和台站目录的交集与并集:
python D:/example_yaml/yolo_detect/timestamp_analysis_2.py D:/example_yaml/yolo_detect/timestamp_analysis_config.yaml从yolo的图片输出中找到对应的时窗数据
python DAS_cut_event_by_yolo.py微调模型的调用方式
conda activate diting
cd D:/example_yaml/DiTing/course_sft_code_src
python diting/diting_server.py
cd /home/disk/disk02/wzm/DAS_DL_Dataset/src/finetune_val0.1B模型的调用方式
python D:/example_yaml/model_0.1B_load_npy_pick.pypick结果作图
python D:/example_yaml/view_predict_diting.pypip install pyocto
conda activate diting
jupyter notebook
run D:/example_yaml/pyocto_Das.ipynb
velest
python /d:/example_yaml/alg_velest.py给定文件 速度结构:my_hybrid_model.npz 光纤分布:zhoushan_cable.txt plot_tool.py作图文件
光纤分布以及震源分布示意图:
XFJ_taup.ipynb
taup生成走时数据(1h左右)
build_taup.ipynb
real关联(数天)
首先根据locflow的github安装real
编译windows系统的可执行文件
REAL/real.py
gamma关联(2h左右)
GaMMa_Das_assertation.ipynb
pyocto关联(40min)
pyocto_Das_assertation.ipynb
结果分析
项目使用 config.yaml 文件管理所有配置参数,主要包含以下部分:
data_fig_generate:
input_dir: "/path/to/input/das/data"
output_dir: "/path/to/output/images"
time_window: 30
channel_range: [92, 1442]
decimate_factors: [5, 2]
preprocess: trueyolo_detect:
model: "yolov11n.pt"
conf_threshold: 0.5
workers: 4
img_size: 640
save_txt: true
save_conf: trueanalysis:
time_tolerance: 30
output_format: "csv"
generate_plots: trueproject_root/
├── config.yaml # 主配置文件
├── generate_data_fig.py # 数据生成脚本
├── rsync.sh # 数据同步脚本
├── example_yaml/
│ └── yolo_detect/
│ ├── detect.py # YOLO 检测脚本
│ ├── yolo_image_watcher.sh # 文件夹监听脚本
│ └── timestamp_analysis_2.py # 结果分析脚本
├── data_fig/ # 生成的图片数据
├── output/ # YOLO 检测结果
└── analysis_results/ # 分析结果
-
数据生成:根据 DAS 数据量调整
time_window参数,确保每张图片包含足够的信息但不会太大。 -
YOLO 检测:
- 使用 GPU 加速检测过程
- 根据硬件配置调整
workers参数 - 根据检测需求调整
conf_threshold参数
-
结果分析:
- 根据地震事件的时间精度调整
time_tolerance参数 - 定期备份分析结果
- 根据地震事件的时间精度调整
-
如果遇到内存不足问题,尝试减小
time_window或增加降采样因子。 -
如果 YOLO 检测速度过慢,尝试减少
workers数量或使用更小的模型。 -
确保所有环境变量和路径配置正确,特别是在不同服务器间同步数据时。
- 2023-XX-XX: 初始版本发布
- 2023-XX-XX: 添加配置文件支持
- 2023-XX-XX: 优化数据处理流程
如有问题,请联系项目维护人员或提交 GitHub Issue。