FractureFlow. EN · 中文

Open-source · Rock fracture statistics · 诚实优先

Borehole logs in.
Fracture twins out.
— Honestly.

复杂岩石非连续结构智能重构 · 数据阶梯框架:重构精度由数据档位决定,而非算法复杂度

FractureFlow turns raw fracture observations into auto-labeled set tables, rose diagrams and DFN screening reports — and measures, exactly, how far label-free inference can go before it hits a proven information ceiling.

BlindInput 盲评协议(物理掩码 + 毒丸测试 + 红旗审计) 数字台账 v1.1(锁定) 悬停任意数字可溯源
CIpassing LicenseMIT tests116 passed ✓ DOIpending Python≥ 3.9 GitHubsource
36.69°
L0 unlabeled · point MAE无标签编录表的可部署最优(beishan 22 井)
results/honest_leaderboard/
9.82°±0.66
Set table · 组系表同数据、同一协议下的产品口径(K=12)
组系表承诺线见 ③
0.37°
L3 dense point cloud合成多走向基准(壁面级场景)
results/pointcloud_gate.json
0.0054°
L1 with fracture_id同一裂隙多点共面拟合(DECOVALEX Route B)
results/decovalex_routeB.json

Screenshots · 产品截图 · synthetic data only

What one command produces.

一条命令的产出(内置合成样例 · 现跑现截):python scripts/demo_run.py

All figures below are generated from the built-in, seed-fixed synthetic samples (data/demo/*.xlsx) — no field-data products are shipped or shown. The interactive 3D panel is rendered live by this very page.

Auto-labeled fracture set rose diagram (synthetic demo well)
Fig. S1 — 走向玫瑰图 rose diagram · auto-labeled sets
scripts/demo_run.py → results/demo/
Pole stereonet with set mean orientations (synthetic demo well)
Fig. S2 — 极点图 pole stereonet · set mean stars
scripts/demo_run.py → results/demo/
Interactive 3D DFN disc network rendered by this page
Fig. S3 — 交互三维 DFN · rendered by this page (⑥)
data/dfn_demo_discs.js · local plotly, zero backend
01

The data ladder · 数据阶梯

① 数据阶梯:每升一档,误差掉一个台阶

横条 = 隐伏点法向角距误差(度,越短越好)。虚线 = L0 无标签信息墙:同档理论渐近线,不是任何方法的失败。

L0 编录表 · 无标签点几何depth + dip + dip_dir,无组标签
口径:隐伏点 acos|cos| 均值
36.69°
可部署最优 l1_local
8 方法窄带 36.69–39.88°
L0 + 自动打标观测-only 球形 k-means(无真值标签)
口径:同上 · strict K=6
16.12°
补组隶属信息 ↓ 约 20.6°
组隶属理论地板观测组心 + 真值指派(oracle 参考线,不可部署)
口径:同上 · K=12 · 内部参考
12.37°
信息墙 ~31.7°±0.5°
真值指派再 ↓ ≈3.8°
简单聚类已贴住地板
L1 迹线档 · 有 fracture_id同一裂隙多点共面拟合
口径:隐伏点 MAE · DECOVALEX 基准
0.0054°
一个观测量 = 数量级跃迁
同数据无 id 对照 49.27±0.84°
L3 稠密点云 · 免标签RANSAC 分割 + 分段 SVD
口径:隐伏 MAE · 合成多走向基准(壁面级场景)
0.37°
组间错分率 0.40%
L4 多源融合数字孪生冲突门控融合引擎
口径:合成孪生模态误差(与前两行口径不同,勿直接横比)
1.47°
最佳单源 18.22° → 融合改善 91.9%

读法:买方位、买身份、买密度 —— 每一笔“信息采购”都有实测价格(度)。 L0 无标签档的一切算法都停在 36.69–39.88° 窄带里; 组隶属一旦可恢复即贴住 12.37° 地板; fracture_id 直接跨数量级;点云与融合档进入亚度级。详见 ②③④ 屏与页脚溯源表。

02

The information wall · 信息墙

② 信息墙是图例,不是失败

为什么无标签编录表永远停在 ~31.7°±0.5°:组隶属信息物理不存在于点的几何坐标中 —— 这是几何事实,不是模型缺陷。

~31.7°±0.5°

机制:即使空间距离 < 0.25r 的相邻裂隙对,法向平均仍相差 30.5°。 观测变量里根本没有“它属于哪一组”这个维度。

立场:我们不是在“解决 L0 重构”,而是在证明 L0 的墙在哪、有多高, 并给出升档路径(L1 迹线 → L2 露头 → L3 点云 → L4 融合)。

独立可学性探针结果判定
group_probe(组隶属直接监督)36.28° vs 几何基线 34.63°明确劣化
rank_probe argmax(硬选择候选)35.19°与基线平手(训练噪声内)
rank soft 聚合(最强学习变体)33.27°小胜 ≤1.7° 但仍高于墙
对抗复审三攻击(核族扫描 / 多核边际化 / 逐点自适应核)≤0.1° 收益全部失败,墙值稳定
学习解码器 vs 简单 k-means全部不如 k-means瓶颈在数据不在算法

六类探针 + 对抗复审一致结论:无新观测量时墙不可破;有标签 / 身份 / 密度时逐级打开。 这把优化精力从“换模型”重定向到“换数据档位”。

03

The commitment line · 承诺线

③ 商务承诺线:组系表模态误差(三源验证)

产品交付口径 = 自动生成的组系表(每组方向 / 浓度 / 占比),衡量“组模态方向”与评审基准的角距。三源全部通过 ≤12° 工程阈值。

DECOVALEX(国际基准)
1089 裂隙 · K=4
工程阈值 ≤12°
0.05°
beishan(中国场地)
22 井 880 法向 · K=12
9.82±0.66°
FORGE 双井 FMI(美国场地)
4328 条 · K=12
11.05±2.14°
对外承诺口径:当某组有 ≥5 条同组裂隙观测时,组模态方向误差 7–10°; 工程验收阈值 ≤12° —— 三源全部通过。
注:FORGE 行为 T58 法向修复后复算值,历史受染快照仅存于台账废弃记录;页面不展示内部研发锚点与 oracle 性质数字(按台账纪律)。
04

Wins & caps · 三胜一封顶

④ AI 在哪里赢、在哪里被封顶

三个带预注册闸门的增益 + 一个被信息墙封顶的诚实发现。“封顶”是发现而非失败——它告诉我们钱该花在数据上。

胜₁ 类型隔离聚类

天然 / 诱导裂隙分入不同组空间: 混聚 12.37° → 隔离后 9.29°
+3.08°
FORGE 双井 FMI · 已入管线默认

胜₂ 冲突门控多源融合

合成孪生三源融合:最佳单源 18.22° → 融合 1.47°
−91.9%
后验集合另将渗流阈值钉在 0.214(全部闸门 PASS)

胜₃ 置信锥校准

浓度重标定后覆盖率恢复名义水平:原始 0% → 校准后 90.6%
0% → 90.6%
分场地:beishan 89.77% · FORGE 87.5%

封顶:点级档的墙(发现而非失败)

无标签 L0 档上,8 个可部署方法(含神经网络混合注意力模型)全部收敛在 36.69–39.88° 窄带, 距信息墙 ~31.7°±0.5° 尚有约 约 5° 渐近空间;学习解码器全部输给简单 k-means。 结论:继续在 L0 上堆模型没有意义,升数据档位才有新空间。 另一诚实负结果:多井池化在诚实口径下无增益(联合 19.47° ≈ 单井 19.49°)。
05

Observation cost curves · 少打井

⑤ 少打井双轴汇率表:打多少井才够?

两个轴度量"信息采购"的边际回报 —— 组系统计外推精度(轴A)与连通判定正确率(轴B)随观测量的饱和曲线。曲线一拐弯,再多打井就是浪费。

轴A · 组系走向外推精度

校准井数 → 未打井处的组模态方向误差(beishan 22 井 LOO 外推, R57)
校准井数modal_err95% CI观测井均条数
125.76°[24.34, 27.31]~40
221.94°[20.52, 23.38]~80
519.82°[17.73, 21.87]~200
1019.30°[17.39, 21.26]~400
21 (全量)18.07°[15.99, 20.21]~840
平台期已到:10 口井 (19.30°) → 21 口 (18.07°) 仅再降 1.24°。 继续加井边际收益递减 —— 10 口井已吃下 90% 可收割空间 (25.76→19.30 = 6.46° 中的 6.46−1.24 = 5.22°)。

轴B · 连通判定正确率

整孔编录井数 → 场地级连通/不连通判对率(R47, 200 rep MC)
远阈值档 强度距临界 −50%, 可判断区间
井数 W观测条数判对率95% CI
13.61%[0%, 3%]
27.040%[27%, 52%]
413.897%[91%, 100%]
828.2100%[100%, 100%]
高强度档 强度距临界 +35%(同为远阈值可判断区间, 上侧更难判)
井数 W观测条数判对率95% CI
440.571%[61%, 82%]
881.976%[66%, 85%]
16160.382%[72%, 90%]
32322.390%[83%, 96%]
64642.898%[94%, 100%]

三句话结论(预注册截止前落盘, R62-A1/A2/B1)

  1. (R62-A1)10 口井校准, 未打处的组系走向外推误差约 19.3°, 再加井到 21 口只再降 1.2°, 平台期已到。
  2. (R62-A2) 少打井省下的不只是钻井费: 组系统计在 10 口井即达可用精度, 后续井主要用于降低单井波动而非提升均值。
  3. (R62-B1) 连通判定: 远离阈值场地, ≥8 口整孔编录即达 100% 判对; 近阈值场地需 ≥32 口才达 90% —— 本质变量 = 观测条数 (~300+) 而非覆盖率本身; 贴阈值场地物理不可判, 系统输出『不确定 + 建议补勘』而非硬判。
诚实边界: 轴A = beishan 22 井真实法向统计外推 (R57), 轴B = 合成 DFN 模拟 + 贝叶斯判定 (R47); 两轴均为筛查级统计, 非逐条保证。 贴阈值档 (at_crit / near_low) 受贝叶斯天花板 max(p_span, 1−p_span) 限制只能输出『不确定』= 产品应然行为, 非方法缺陷。 外推精度只看 modal_err (p32_rel_err 不单调, 测的是井间异质性, 非外推精度)。 研究线数字入台账, 升格客户文档需架构师批准。
06

Interactive 3D · 可玩的数字孪生

⑥ 冻结 DFN 生成器 · 交互三维展示

拖拽旋转 / 滚轮缩放 / 点击图例开关组系 / 悬停盘心查看产状。组系参数来自真实数据管线输出,盘片位置为冻结种子的随机实现。

⚠ 展示用途,非交付数据 —— Baecher 盘模拟实现,裂隙位置非实测定位
渲染: 盘(抽样率见右侧)

来源与参数(JSON 直读)

组系表来源beishan Auto-K=4
P32 临界0.240 [0.215, 0.276]
幂律 β3.5(假设)
域尺寸50 × 50 × 50 m
生成 / 显示13644 → 2000 盘

组系属性(悬停同款)

诚实边界:渗流结论为筛查级(无开度、非真实连通性判定);本视图仅示意几何与组系结构。详见 JSON honest_boundary 字段

07

Research sprint · 重构线冲刺 (research-grade)

⑦ 重构线冲刺:从败因定位到因果闭合

重构线冲刺日战报四幕 —— 基线谱系合围二阶聚集阵地 → κ 剂量响应完成因果闭合 → 无标架等变去噪器全门通过 → L4 交付壳首次单入口闭环。本屏全部数字为研究线口径(初筛待复核),对外承诺一律仍走 ③ 屏。

研究线数字 · 初筛待复核 · 零商务承诺语气 · 数字由冻结 JSON 直读生成

卡一 · 基线谱系:统计尺子合围二阶聚集阵地

卡二 · κ 剂量响应:败因从“组数”下移到“浓度”,锐化完成因果闭合

卡三 · E0 无标架等变去噪器:随机初始化前向即判

卡四 · L4 交付壳:多源观测→生成→对账的单入口闭环