1. 引言

地震数据可以反映出一系列地下观测点的信息。单炮数据仅能对地下观测点提供一次覆盖的振幅数据,多炮数据则可以为地下观测点提供多次覆盖的振幅数据。剩余静校正可以通过对道集数据进行优化,增强道集数据有效信号的同相性,提高叠加数据信噪比。静校正可以将数据进行向上/向下位置微调,调整后再叠加,有效提高叠加质量。
图1. 静校正
如图1所示,静校正效果好时,结果信噪比高,直观表现为图像更清晰。

2. 基础知识

定义1. 一对<炮点, 检波器> 获得的数据,反映了炮点与检波器中间位置垂直方向的地质信息。该数据称为一个道(trace),可表示为 nnn维实数向量,其中每个分量表示相应时间(可换算为深度)的振幅。
定义2. 对应于同一地理位置的 kkk个道组成一个道集(trace set),可表示为 n×kn \times kn×k的矩阵。
一般情况下,一个道集中的不同道,是通过不同炮点、检波点获得的。
为获得一个地质剖面,应采集不同位置的数据,这些数据组成了一个三维矩阵
V=(vlij)d×n×k,(1)\mathbf{V} = (v_{lij})_{d \times n \times k}, \tag{1}V=(vlij​)d×n×k​,(1)
其中 ddd表示观测的位置数,nnn表示每道的长度,kkk表示每个道集所含的道数。
在实际应用中,不同的道集可能有不同的列数(道数)。简便起见,理论上我们忽略这种差别。

3. 局部静校正

局部静校正仅考虑一个道集内部的优化。

3.1 问题描述

问题1:局部静校正
输入:第lll个道集Vl=(vlij)n×k\mathbf{V}_l = (v_{lij})_{n \times k}Vl​=(vlij​)n×k​;
输出:校正量向量A=(a1,…,ak)\mathbf{A} = (a_1, \dots, a_k)A=(a1​,…,ak​);
优化目标
max⁡A∑i=1n(∑j=1kvl,i+aj,j)2(2)\max_\mathbf{A} \sum_{i = 1}^n \left(\sum_{j = 1}^k v_{l, i + a_j, j}\right)^2 \tag{2}Amax​i=1∑n​(j=1∑k​vl,i+aj​,j​)2(2)
约束条件:∀1≤j≤k\forall 1 \leq j \leq k∀1≤j≤k, ∣aj∣≤c|a_j| \leq c∣aj​∣≤c,其中 ccc为一个常数如3.

3.2 问题分析

每个道可以浮动的方式有 2c+12c + 12c+1种,kkk个道导致的组合数为 (2c+1)k(2c + 1)^k(2c+1)k。优化目标值的计算量为 O(nk)O(nk)O(nk),因此总体时间复杂度为
O(nk(2c+1)k)(3)O(nk(2c + 1)^k) \tag{3}O(nk(2c+1)k)(3)
看起来不小。

一个道集有kkk个需要优化的变量,ddd个道集就有 dkdkdk个需要优化的变量。另一方面,假设有 mmm炮,每炮有 ppp个检波器起作用,需要优化的变量个数也可写为 pmpmpm. 按理说应该有
dk=pm(4)dk = pm \tag{4}dk=pm(4)

3.3 解决方案

解决方案1:穷举法。

在 kkk不大(如5以内)可行。

解决方案2:简单逐道调整法。

Step 1. 将第1道设置为基准;
Step 2. for i = 2 to k do
Step 2.1 for j = -c to c do
Step 2.1.1 将第 i道浮动 j后与基准道相加,获得临时基准道
Step 2.1.2 if 临时基准道数据平方比原来的大,cm = c
Step 2.2 将第 i道浮动 cm后,与基准道相加,获得新的基准道

方案分析:本方案的时间复杂度很低,只有
O(nkc)(5)O(nkc) \tag{5}O(nkc)(5)
当然,也可能效果不好。只有做了才知道。

解决方案3:贪心逐道调整法。

Step 1. 从道集中,首先挑选一个比较合适的道。有很多策略,如:随机挑选,与平均值最接近的道,信噪比最大的道。
Step 2. 从剩下的道中,挑选一个最大化目标函数的道。这个目标函数只考虑当前已经选择的道。

方案3有不少的设计与优化空间。

4. 基于炮点与检波器的静校正

由于勘探行业的坚持,需要优化的参数并非(4)式中的 dkdkdk或 pmpmpm,根据炮点和检波器确定。
令炮点的校正量向量为 B=(b1,…,bm)\mathbf{B} = (b_1, \dots, b_m)B=(b1​,…,bm​), 检波点的校正量向量为 C=(c1,…,cw)\mathbf{C} = (c_1, \dots, c_w)C=(c1​,…,cw​)。如果某一道的数据来自于第 α\alphaα个炮点和第 β\betaβ个检波器,则其校正量应为 bα+cβb_{\alpha} + c_{\beta}bα​+cβ​.

4.1 问题描述

问题2:基于炮点与检波器的静校正
输入:V=(vlij)d×n×k\mathbf{V} = (v_{lij})_{d \times n \times k}V=(vlij​)d×n×k​,从数据道向炮点的映射 f:[1..d]×[1..k]→[1..m]f: [1..d] \times [1..k] \rightarrow [1..m]f:[1..d]×[1..k]→[1..m];从数据道向检波器的映射 g:[1..d]×[1..k]→[1..p]g: [1..d] \times [1..k] \rightarrow [1..p]g:[1..d]×[1..k]→[1..p];
输出:炮点的校正量向量为 B=(b1,…,bm)\mathbf{B} = (b_1, \dots, b_m)B=(b1​,…,bm​), 检波点的校正量向量为 C=(c1,…,cw)\mathbf{C} = (c_1, \dots, c_w)C=(c1​,…,cw​);
优化目标
max⁡B,C∑l=1d∑i=1n(∑j=1kvl,i+bf(l,j)+cg(l,j),j)2(6)\max_{\mathbf{B}, \mathbf{C}} \sum_{l = 1}^d \sum_{i = 1}^n \left(\sum_{j = 1}^k v_{l, i + b_{f(l, j)} + c_{g(l, j)}, j}\right)^2 \tag{6}B,Cmax​l=1∑d​i=1∑n​(j=1∑k​vl,i+bf(l,j)​+cg(l,j)​,j​)2(6)
约束条件:∀1≤j≤m\forall 1 \leq j \leq m∀1≤j≤m, ∣bj∣≤c|b_j| \leq c∣bj​∣≤c; ∀1≤j≤w\forall 1 \leq j \leq w∀1≤j≤w, ∣cj∣≤c|c_j| \leq c∣cj​∣≤c,其中 ccc为一个常数如3.

:f(l,j)f(l, j)f(l,j)表示第 lll个道集中,第 jjj个道由来自于哪个炮点;g(l,j)g(l, j)g(l,j)表示第 lll个道集中,第 jjj个道由来自于哪个检波器。

4.2 问题复杂度分析

与问题1相比,优化的参数个数增加了,为 m+wm + wm+w. 假设它们的取值范围为 [−b,+b][-b, +b][−b,+b], 例如 b=10b = 10b=10. 我们直接将方案编码成长度为 m+wm + wm+w 的向量. 问题的解空间大小为 (2b+1)m+w(2b + 1)^{m+w}(2b+1)m+w, 因此穷举算法不可行.
更要命的是, 对每种方案, 都要把三维的V\mathbf{V}V拿来算. 这个事情好像不可避免.

4.3 解决方案

解决方案1: 从局部到全局

Step 1. 通过局部静校正获得 dk=pmdk = pmdk=pm个局部校正量 R=(rlj)d×k\mathbf{R} = (r_{lj})_{d \times k}R=(rlj​)d×k​。
Step 2. 令在函数 fff的帮助下,建立含m+wm + wm+w个变量,dkdkdk个方程的超定方程组
rlj=bf(l,j)+cg(l,j),r_{lj} = b_{f(l, j)} + c_{g(l, j)},rlj​=bf(l,j)​+cg(l,j)​,
其中1≤l≤d1 \leq l \leq d1≤l≤d, 1≤j≤k1 \leq j \leq k1≤j≤k, 1≤f(l,j)≤m1 \leq f(l, j) \leq m1≤f(l,j)≤m, 1≤g(l,j)≤w1 \leq g(l, j) \leq w1≤g(l,j)≤w.
Step 3. 为解此超定方程组,建立优化目标
min⁡B,C∑1≤l≤d,1≤j≤k∣rlj−bf(l,j)+cg(l,j)∣2(7)\min_{\mathbf{B}, \mathbf{C}} \sum_{1 \leq l \leq d, 1 \leq j \leq k} \left| r_{lj} - b_{f(l, j)} + c_{g(l, j)} \right|_2 \tag{7}B,Cmin​1≤l≤d,1≤j≤k∑​∣∣​rlj​−bf(l,j)​+cg(l,j)​∣∣​2​(7)
其中2范数可以换为0范数、1范数等。特别是0范数,表示了多少个方程需要调整。

方案分析
该方案有两个主要问题:

  1. 优化(7)式不能保证优化(6)式;
  2. 多达 m+wm + wm+w个变量,不过每个方程都只涉及两个变量。

解决方案2: 遗传算法

遗传算法的关键在于输出方案的编码。根据式 (6), 共有 m+wm + wm+w 个参数,假设它们的取值范围境外为 [−b,+b][-b, +b][−b,+b], 例如 b=10b = 10b=10. 我们直接将方案编码成长度为 m+wm + wm+w 的向量. 根据每个方案, 可以根据式 (6) 计算其 fitness function.
至于选择、交叉、变异操作,参见一般的遗传算法.
优点: 输出方案的编码方便, fitness function 定义良好.
缺点 1: fitness function 的计算非常耗时. 但这一缺点好像无法克服.
缺点 2: 每换一个区域, 就需要用遗传算法运行一遍. 无法获得一个模型, 对不同的区域有效.
缺点 3: 收敛很慢. 需要想抓住静校正的特点,进行加速.

遗传算法加速方案

可以借鉴拼图游戏,先找到一些参数的解,并将其固定住. 然后再寻找其它参数的解. 这种方案, 越到后面越容易. 同时保证了收敛性.
常见的遗传算法, 应该没有这种技术.

5. 疑问

  1. 校正量均为整数吗?
  2. 是否可以强行用深度学习来做?
  3. 是否可以获得一个模型, 对不同区域有效? (目前认为不可行)

令人头秃 …

静校正问题及其深度学习方法相关推荐

  1. 超实用总结:AI实践者需要用到的10个深度学习方法

    大数据文摘作品 编译:小鱼.肖依月.高宁.Aileen 在过去十年里,大众对机器学习的兴趣与日俱增.几乎每天都可以在计算机科学程序.行业会议和华尔街日报上看到机器学习的身影.在所有关于机器学习的讨论中 ...

  2. 在鱼眼和全向视图图像的深度学习方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:黄浴 https://zhuanlan.zhihu.com/p/88675419 本文仅做学术分 ...

  3. AI从业者需要应用的10种深度学习方法

    AI从业者需要应用的10种深度学习方法 https://www.cnblogs.com/DicksonJYL/p/9591732.html 摘要:想要了解人工智能,不知道这十种深度学习方法怎么能行? ...

  4. AI 从业者都会用到的 10 个深度学习方法

    过去十年里,人们对机器学习的兴趣经历了爆炸式的整长.我们几乎每天都可以在计算机程序.行业会议和媒体上看到机器学习的身影.很多关于机器学习的讨论都混淆了"机器学习能做什么"和&quo ...

  5. 指纹识别综述(10): 深度学习方法

    指纹识别综述系列 1.导论:2.指纹传感器:3.特征提取:4.匹配:5.分类与检索:6.现场指纹识别: 7.指纹合成: 8.唯一性: 9.指纹系统安全:10.深度学习方法:11.专利. 本文会不定期更 ...

  6. 深度学习结合SLAM的研究思路/成果整理之(一)使用深度学习方法替换SLAM中的模块

    整理了部分近两年深度学习结合SLAM的一些研究成果(参考知乎帖子https://www.zhihu.com/question/66006923 和泡泡机器人公众号,附上论文链接和已找到的源代码/数据集 ...

  7. 基于深度学习方法实现SPECT放射性核素定量测量(一)

    基于深度学习方法实现SPECT放射性核素定量测量(一)--课题介绍 放射治疗是目前癌症三大治疗手段之一,当前,世界上约有70%的癌症患者使用放射治疗.放射治疗技术包括普通X射线治疗.硼中子俘获治疗.质 ...

  8. 基于深度学习方法实现SPECT放射性核素定量测量(三)

    基于深度学习方法实现SPECT放射性核素定量测量(三)-图像重建及衰减校正 (1)图像重建 使用MLEM迭代重建算法进行图像重建,MLEM算法原理如图1所示. 图像重建可以借助重建软件进行,目前可以用 ...

  9. 【CV】用于图像恢复的深度学习方法综述论文(2022年)

    论文名称:A survey of deep learning approaches to image restoration 论文下载:https://www.sciencedirect.com/sc ...

  10. (FOD网络:一种纤维取向分布角Supe的深度学习方法)阅读笔记

    FOD-Net: A Deep Learning Method for Fiber Orientation Distribution Angular Super Resolution(FOD网络:一种 ...

最新文章

  1. qt tablewidget 实现tab来回切换_原生JS实现TAB选项卡切换效果
  2. Py之pytest-shutil:Python库之pytest-shutil简介、安装、使用方法之详细攻略
  3. 电脑无法连接到系统服务器,请问怎么客户端的电脑连接不到服务器?这是什么原因?...
  4. ubuntu ifconfig_Ubuntu 设置固定 IP 最简单的方法!
  5. C# Java间进行RSA加密解密交互(二)
  6. oppo专用计算机,OPPO手机助手
  7. 显卡,不能显示问题解决
  8. Python任务调度模块APScheduler
  9. 展示360度全景影像的利器--PanoramaGL
  10. c语言 多个线程对同一变量执行memcpy_你可曾听过网络编程中应用线程本地存储?...
  11. 数据库与表的操作之SQL Server 2012中的数据类型
  12. Cesium:实现动态画点、线并测距
  13. Microsoft.XMLHTTP“没有权限”的错误
  14. 坚持学下去!转行程序员的2020年度总结
  15. 湖北工业大学计算机学院多少分录取,多少分可以上湖北工业大学?
  16. Struts2(一)
  17. 《不花钱学法语》--18个网站,强化法语六力
  18. 让你提前认识软件开发(8):memset()与memcpy()函数
  19. 电子健康档案在国外的一些实践
  20. php 周易,GitHub - jyiL/lunarPHP: 易经六十四卦排盘类库

热门文章

  1. 云服务器搭建文件存储,云服务器 搭建 文件分类存储
  2. java模拟usb接口_Java练习:一个简单的USB接口程序设计
  3. 壳聚糖/纳米金水凝胶/纳米木质素/掺杂二硫化钼/微米级Ag2O2掺杂壳聚糖水凝胶的制备研究
  4. edwin报警和监控平台近期的更新(python源码)
  5. Android-手撸抖音“潜艇大挑战”,最简单的Android自定义ListView下拉刷新与上拉加载
  6. 当前linux的ks文件,高手请进!请教linux自动安装文件ks.cfg
  7. cml sml区别_【投资组合理论】CAL、CML、SML的区别和联系
  8. AndroidFTP客户端-FTP管家源码
  9. 新浪搜狐网易等那些老牌互联网公司现在都怎样了?
  10. Spring文件上传接口学习(MultipartFile,MultiparHttpservletRequest,MultipartResolver)