遇见数据集

gw_generator

收藏
github2026-07-19 更新2026-07-20 收录
官方服务:

资源简介:

一个双探测器(H1 + L1)事件级合成引力波数据集生成器,用于GW-YOLO风格机器学习基准测试。每个天体物理事件在探测器之间共享一个物理啁啾信号,而每个探测器级样本具有独立的噪声实现、探测器效应、应变文件、Q变换图像、YOLO标签和配对元数据。

An event-level synthetic gravitational wave dataset generator with two detectors (H1 and L1), designed for GW-YOLO-style machine learning benchmark testing. Each astrophysical event shares a single physical chirp signal across the two detectors, while each detector-level sample includes independent noise realizations, detector effects, strain files, Q-transform images, YOLO labels, and paired metadata.

创建时间:
2026-06-23
原始信息汇总

数据集概述

gw_generator 是一个面向 GW-YOLO 风格机器学习基准测试的合成引力波数据集生成器,基于双探测器(H1 + L1)的事件级别合成数据。每个天体物理事件在探测器之间共享同一个物理啁啾信号,而每个探测器级别的样本拥有独立的噪声实现、探测器效应、应变文件、Q变换图像、YOLO标签和配对元数据。

该数据集是 GW-YOLO 风格的研究/教育近似实现,并非任何已发布 GW-YOLO 数据集的官方复现。

基准任务

# 任务 模型类型 标签
1 单探测器啁啾/毛刺检测 YOLO 目标检测 labels_yolo/
2 跨探测器同啁啾匹配 Siamese / 配对分类器 match_pairs.csv, negative_pairs.csv, pair_metadata.csv
3 一致性事件级检测 事件级融合 event_metadata.csv
4 低信噪比鲁棒性与毛刺抑制 上述任意类型,分层 metadata.csv(信噪比分箱,毛刺标志)

核心特性

  • 共享啁啾,独立探测器:每个事件一个波形加内在参数;每个探测器独立噪声、可选的毛刺、到达时间延迟(±10毫秒)、幅度缩放、可选的符号翻转以及每个探测器独立的信噪比。
  • 物理波形:通过 PyCBC 生成(BBH/BNS),并提供一个解析吸气啁啾回退方案(由啁啾质量和低频截止频率设置频率扫描),使流水线无需科学栈即可运行。
  • LIGO Q变换:默认使用 GWpy(Omega Q扫描),并提供仅需 numpy/scipy 的内置常数Q(高斯滤波器组)回退方案。
  • aLIGO着色噪声:对应变进行着色(地震墙、约215 Hz桶、散粒噪声上升);GWpy 的 q_transform 返回归一化能量(每频率中位数归一化),因此 Q变换图像由 GWpy 本身直接处理,无需单独的应变白化步骤。
  • 无泄漏:事件级训练/验证/测试集划分,并附带构建后验证器。
  • 丰富的元数据:包含探测器样本、事件、正/负/组合配对表,以及完整的 dataset_config.json 以保证可复现性。

安装

bash pip install -r requirements.txt

核心依赖(numpyscipymatplotlibpillow)可运行所有功能。pycbcgwpy 为可选但推荐安装,用于物理波形和真实的 LIGO Q变换。

快速开始

bash

默认:GWpy Q变换 + PyCBC 波形

python build_dataset.py --num-events 5 --detectors H1 L1 --duration 4.0 --output-dir out_smoke --seed 42

无需科学栈(内置常数Q + 解析啁啾)

python build_dataset.py --num-events 5 --detectors H1 L1 --duration 4.0 --output-dir out_smoke --qtransform-backend scipy --no-pycbc --seed 42

运行测试(无需 PyCBC/GWpy——它们使用离线回退方案):

bash python -m unittest discover -s tests -v

频率坐标系(固定)

Q变换窗口、显示轴和 YOLO y 归一化均使用硬编码的对数 20–1000 Hz 系统,确保图像和标签始终共享一个坐标框架。啁啾插入按源类型限制在经验证的 LIGO 频段:

类型 插入频段 依据
BBH 20–350 Hz GW150914 从35→250 Hz 扫描,FLSO 约220 Hz
BNS 20–1000 Hz 从约10 Hz 到约1 kHz 并合的吸气扫描
NSBH 20–400 Hz 典型 FLSO 约400 Hz

输出布局

<output-dir>/ metadata.csv 每个探测器级别样本一行(丰富模式) event_metadata.csv 每个天体物理事件一行 match_pairs.csv 正(同啁啾,跨探测器)配对 negative_pairs.csv 负配对(7种类型,含困难负样本) pair_metadata.csv 正+负配对组合表(pair_label 0/1) task_protocols.yaml 四个基准任务定义+规则 gw_data.yaml YOLO 数据配置文件(指向 qtransform_normalized) dataset_config.json 完整 DatasetConfig 转储(来源信息) raw_series/{train,val,test}/{H1,L1}/{sample_id}.npy normalized_series/{...}/{sample_id}.npy qtransform_raw/{...}/{sample_id}.png 纯频谱图(分析用) qtransform_normalized/{...}/{sample_id}.png 默认 YOLO 输入 qtransform_display_raw/{...}/{sample_id}.png 带坐标轴和0–25颜色条 qtransform_display_normalized/{...}/{sample_id}.png labels_yolo/{train,val,test}/{H1,L1}/{sample_id}.txt

元数据模式(亮点)

metadata.csv 记录样本 ID 与关系(sample_id/event_id/chirp_id/counterpart_sample_ids)、类别与信噪比(global_class/snr_bin/detector_snr/network_snr)、探测器效应(detector_time_delay/amplitude_scale/phase_or_sign_flip)、频率坐标来源、所有文件路径、能量统计、噪声/毛刺 ID,以及为单表机器学习使用而反范式化的物理参数(mass1/2spin1z/2zchirp_masstotal_massmass_ratiochi_effdistancef_lowerwaveform_approximantwaveform_source)、YOLO 啁啾边界框(chirp_yolo_cx/cy/w/hhas_labelnum_boxes)、毛刺时频细节和采集字段(sample_ratedurationn_samples)。

模块映射

文件 职责
config.py DatasetConfig + 所有 CSV 模式(单一事实来源)
waveform_generator.py PyCBC BBH/BNS + 解析啁啾回退方案
noise_generator.py aLIGO 着色高斯噪声 + 合成毛刺
injection.py 目标信噪比注入、并合锚定、探测器效应
preprocessing.py 将应变带限至 Q变换窗口(能量归一化由 GWpy 负责)
coords.py 共享的频率↔图像坐标映射
qtransform.py GWpy / 常数Q变换、能量归一化、训练+显示图像
label_generator.py 瞬时频率标签 + Q脊线回退方案
pairs.py 正/负/组合配对生成
validation.py 泄漏与配对一致性验证器
protocols.py task_protocols.yaml + gw_data.yaml 写入器
build_dataset.py DatasetBuilder + 命令行界面

注意事项与限制

  • 解析波形为前导阶(牛顿/四极)吸气近似;如需生产级保真度,请使用 PyCBC。
  • 常数Q scipy 后端近似 Q变换;GWpy 才是真实的 Omega Q扫描。
  • 每个探测器的延迟/幅度是采样得到的,并非从天球位置+天线响应推导得出(因此不存储 ra/dec/inclination 字段)。
搜集汇总
数据集介绍
gw_generator 数据集图片
构建方式
该数据集基于双探测器(H1和L1)架构,以事件级为单元生成合成引力波数据。每个天体物理事件共享一个物理啁啾信号,但每个探测器样本独立添加噪声实现、探测器效应、应变数据、Q变换图像、YOLO标签及配对元数据。构建过程中,波形生成支持PyCBC物理波形(BBH/BNS)与分析啁啾后备方案;噪声采用aLIGO着色高斯噪声与合成毛刺;Q变换默认使用GWpy的Omega Q扫描,并提供基于numpy/scipy的常Q后备。所有样本通过事件级训练/验证/测试分裂确保无泄漏,并生成丰富的元数据表与可复现的配置文件。
特点
数据集的核心特色在于共享啁啾与独立探测器的解耦设计,每个事件的一个波形在不同探测器上经历独立噪声、时延(±10 ms)、幅度缩放、符号翻转等效应,模拟真实探测场景。物理波形经PyCBC生成,并内置解析后备以保证无科学堆栈时仍可运行。aLIGO着色噪声包含地震墙、215 Hz凹陷与散粒噪声抬升等特征,Q变换图像通过GWpy的频率中值归一化实现能量平坦化。数据集支持四个基准任务:单探测器啁啾/毛刺检测、跨探测器相同啁啾匹配、相干事件级检测及低信噪比鲁棒性分析,并内置丰富元数据供多任务使用。
使用方法
使用方法极为简便,首先通过pip安装依赖,推荐在conda环境(如gw-yolo)中安装pycbc和gwpy以启用物理波形与真实Q变换。通过命令行运行build_dataset.py,可指定事件数量、探测器、持续时间与输出目录,并支持无科学堆栈的scipy后备模式。产出数据包括元数据CSV、YOLO标签、Q变换图像及配对文件,每个探测器样本生成一张归一化训练图像,N个事件对应2N张图像。速度优化可通过禁用原始输出或显示图像、跳过PyCBC长波形生成或使用scipy Q变换后端实现。数据集包含完整测试集,无需科学堆栈即可运行验证。
背景与挑战
背景概述
引力波天文学领域,传统匹配滤波方法在面对非高斯噪声与瞬态噪声干扰时计算代价高昂,而基于计算机视觉的目标检测范式为这一问题提供了新颖的解决思路。gw_generator数据集由研究团队于近年创建,旨在为类似GW-YOLO的机器学习基准测试生成双探测器(H1+L1)的合成引力波信号。该数据集的核心理念是将引力波事件视为时频谱图上的目标,每个事件共享一个物理啁啾信号,而每个探测器则独立实现噪声、探测器效应与信噪比分层。通过这一精心设计的生成框架,gw_generator不仅支持单探测器啁啾检测、跨探测器匹配、事件级融合及低信噪比鲁棒性测试四项基准任务,还大幅降低了物理仿真与机器学习结合的门槛,为引力波信号识别算法的快速验证与标准化评估提供了关键资源。
当前挑战
该数据集面临的挑战主要涵盖领域问题与构建过程两个层面。从领域问题看,引力波信号检测的核心挑战在于极低信噪比(通常SNR<10)下将真实信号与大量非高斯瞬态噪声(glitch)区分开,且双探测器间的时延、振幅标度与符号翻转进一步增加了跨探测器匹配的歧义性,传统仅依赖单探测器信息的模型难以实现鲁棒检测。从构建过程看,生成高保真物理波形(如涉及双中子星长啁啾)依赖PyCBC科学计算栈,计算成本极高;同时,为模拟真实的aLIGO噪声,需要精确刻画地震墙、约215Hz共振峰及散粒噪声上升等谱特征,而Q变换的图像能量归一化依赖GWpy的内置中值归准化策略,若切换至常Q变换的scipy后端,则可能偏离真实Omega扫描的能量分布,使标签与图像坐标的对齐精度面临挑战。
常用场景
经典使用场景
gw_generator数据集专为引力波探测的机器学习基准测试而设计,其核心应用场景在于利用双探测器(H1和L1)合成事件级数据,生成包含物理啁啾信号、独立噪声实现、Q变换图像及YOLO格式标签的完整样本。该数据集支持四大经典任务:单探测器啁啾与毛刺检测(YOLO目标检测)、跨探测器同啁啾匹配(孪生网络/二分类)、相干事件级检测(事件级融合)以及低信噪比鲁棒性与毛刺抑制(分层评估)。研究者和工程师可凭借预设的分层元数据(SNR区间、毛刺标记)与防泄露的事件级划分,在接近真实LIGO探测环境的合成数据上系统性地训练和验证引力波事件识别算法。
实际应用
在实际工程部署中,gw_generator数据集承载着从算法原型验证到实时数据分析流水线中的多项关键职能。LIGO与Virgo合作组的专家可借助其系统预配置的元数据架构与模块化代码库,快速生成涵盖多种源类型(BBH/BNS/NSBH)及噪声场景的定制化训练集,用于微调信号识别神经网络。生成的Q变换归一化图像可直接作为YOLO系列目标检测模型的输入,推动在引力波搜寻中实现类似计算机视觉的实时目标检测——从连续数据流中快速定位短暂啁啾。同时,数据集输出的跨探测器配对元数据为设计分布式探测网络中的关联触发系统提供了结构化测试佐证,有助于提升多站点协同探测的实时性与精准度,在天灾预警与天文暂现源追踪等时效性要求严苛的系统中尤具应用价值。
衍生相关工作
gw_generator数据集的开放架构催生了多个下游研究与工具链条。其设计灵感溯源于GW-YOLO方法——将引力波探测任务等效为时间-频率图像的目标检测问题。在该范式影响下,衍生工作包括开发适用于低信噪比环境的增强型YOLO变体(如注意力机制引入的SW-YOLO),以及面向多探测器融合的端到端图神经网络架构。部分研究者借助其可配置的毛刺生成组件,构建了对抗性噪声鲁棒性评估框架,深入剖析探测器非高斯噪声对深度模型决策边界的扰动机制。此外,开源社区基于该数据集的模块化设计(波形生成、噪声着色、变换管道等分治架构)衍生出面向教育场景的轻量化波形可视化工具包,以及面向生产环境的分布式事件生成流水线,有效促进了引力波机器学习领域的标准化与可复现性。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务