Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DAS 地震检测项目

环境安装

1. Conda 环境设置

本项目需要以下 Conda 环境:

diting 环境

conda create -n diting python=3.10
conda activate diting
pip install -r  ./DiTing/requirements.txt
# 安装相关依赖

yolo 环境

训练参考文档:https://docs.ultralytics.com/zh/modes/train/

conda create -n yolo python=3.8
conda activate yolo
pip install ultralytics opencv-python torch torchvision

x-anylabeling 环境

conda activate yolo
# 安装 x-anylabeling 相关依赖

pycoto 环境

pip install pycoto
# 安装 pycoto 相关依赖

LOCFLOW 环境

# 安装 LOCFLOW 相关依赖

PhaseNet 环境

conda create -n phasenet python=3.8
conda activate phasenet
git clone https://github.com/wayneweiqiang/PhaseNet.git
cd PhaseNet
pip install -r requirements.txt

YOLO 地震检测流程

YOLO 模型训练

x - anylabeling 打标签-train-export

步骤1: 生成图片数据

每张图片包含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

步骤2: 数据同步(可选)

如果需要将数据下载到其他GPU服务器,使用以下命令:

bash rsync.sh

步骤3: YOLO 目标检测

激活 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 

步骤4: 结果分析

对比分析 DAS 地震事件和台站目录的交集与并集:

python D:/example_yaml/yolo_detect/timestamp_analysis_2.py D:/example_yaml/yolo_detect/timestamp_analysis_config.yaml

步骤5: 截取时窗数据

从yolo的图片输出中找到对应的时窗数据

  python DAS_cut_event_by_yolo.py

步骤6: DiTing predict

微调模型的调用方式

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_val

0.1B模型的调用方式

python D:/example_yaml/model_0.1B_load_npy_pick.py

pick结果作图

python D:/example_yaml/view_predict_diting.py

步骤7: pyocto关联震相+velest

pip install pyocto

conda activate diting
jupyter notebook
run D:/example_yaml/pyocto_Das.ipynb

velest

python /d:/example_yaml/alg_velest.py

步骤8: real关联+velest定位

步骤9: 光纤分布定位 可行性定位

给定文件 速度结构: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: true

YOLO 检测配置

yolo_detect:
  model: "yolov11n.pt"
  conf_threshold: 0.5
  workers: 4
  img_size: 640
  save_txt: true
  save_conf: true

分析配置

analysis:
  time_tolerance: 30
  output_format: "csv"
  generate_plots: true

项目结构

project_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/          # 分析结果

使用建议

  1. 数据生成:根据 DAS 数据量调整 time_window 参数,确保每张图片包含足够的信息但不会太大。

  2. YOLO 检测

    • 使用 GPU 加速检测过程
    • 根据硬件配置调整 workers 参数
    • 根据检测需求调整 conf_threshold 参数
  3. 结果分析

    • 根据地震事件的时间精度调整 time_tolerance 参数
    • 定期备份分析结果

故障排除

  1. 如果遇到内存不足问题,尝试减小 time_window 或增加降采样因子。

  2. 如果 YOLO 检测速度过慢,尝试减少 workers 数量或使用更小的模型。

  3. 确保所有环境变量和路径配置正确,特别是在不同服务器间同步数据时。

更新日志

  • 2023-XX-XX: 初始版本发布
  • 2023-XX-XX: 添加配置文件支持
  • 2023-XX-XX: 优化数据处理流程

联系方式

如有问题,请联系项目维护人员或提交 GitHub Issue。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages