MCMC 法构建三维数字岩心

在三维中,任何的体素点(i,j,k)的联合概率函数可表示为:

\displaystyle P\big(x(v_{ijk})\big)=\prod_{l=0}^i\prod_{m=0}^j\prod_{n=0}^kP\big(x_{lmn}|x_{l-1,m,n},x_{l,m-1,n},x_{l,m,n-1}\big)

式中

\displaystyle V_{LMN}=\left\{(l,m,n),0< l< L, 0< m< M, 0< n< N \right\}

具有L行、M列、N层个正方体体素的长方体网格:
-
(i,j,k)——位于第i行、第j列和第k层体素;
-
x——体素(i,j,k)所处的状态;
-
V_{ijk}——长宽高分别为ijk长方体网格;
-
x(V_{ijk})——V_{ijk}的状态。

11点的邻域条件概率和12点邻域条件概率分别写作:

\displaystyle P\bigg(x_{i,j,k}\bigg|x\big(N_{11}(i,j,k)\big)\bigg)=\alpha\left[ \begin{aligned} P(x_{i,j,k}|x(N_{i,5}(i,j,k)))+\\ P(x_{i,j,k}|x(N_{j,6}(i,j,k)))+\\ P(x_{i,j,k}|x(N_{k,5}(i,j,k))) \end{aligned} \right]\\{}\\ P\bigg(x_{i,j+1,k}\bigg|x\big(N_{12}(i,j+1,k)\big)\bigg)=\alpha\left[ \begin{aligned} P(x_{i,j+1,k}|x(N_{i,6}(i,j+1,k)))+\\ P(x_{i,j+1,k}|x(N_{j,6}(i,j+1,k)))+\\ P(x_{i,j+1,k}|x(N_{k,6}(i,j+1,k))) \end{aligned} \right]

其中\alpha为平均化参数,\alpha可由原图测量得到孔隙度和计算重构出的三维介质的孔隙度来确定,概率平均化参数首先由修正系数,通过调价\alpha值可使生成的数字岩心与真实岩心由相同的孔隙度。
对于边界来说,可以用简化的7点、8点、10点、11点邻域来代替11点和12点邻域,比如,若i2j1,那么11点和12点邻域就退化为7点和8点邻域。
利用 MCMC 法构建三维数字岩心的具体步骤:
-
采用岩心扫描图像的孔隙度作为第一个体素状态的条件概率。
-
沿y方向生成第一层第一行上的体素。第一行第二个体素使用2邻居进行模拟,之后的体素使用3邻居进行生成。其条件概率由xy平面的岩心扫描图像的6邻域系统进行推导得出。
-
重复步骤,实现X方向各行体素的生成。在边缘体素使用3、4邻居进行模拟,内部体素使用5、6邻居进行模拟。其条件概率由xy平面岩心扫描图像的6邻域系统进行推导得出。
-
重复步骤,实现Z方向各行体素的生成。在边缘体素使用3、4邻居进行模拟,内部体素使用5、6邻居进行模拟,其条件概率由同方向平面的 岩心扫描图像6邻域系统进行推导得出。从第二层第二行开始,边缘体素使用9、10邻居进行模拟,内部体素14、15邻居进行模拟,其条件概率由3个平面岩心扫描图像的6邻域系统组合得到。

AZk9gsIs4J.png!large

算法伪代码:

for i=1 to height
    for j=1 to width
        for k=1 to length
            ConditionalProbabilityMatrix 遍历扫描算法获得概率分布函数
        next k
    next j
next i
for i=1 to height
    for j=1 to width
        for k=1 to length
            generatePoint 根据条件概率给体素点赋值
        next k
    next j
next i
本作品采用《CC 协议》,转载必须注明作者和本文链接
不要试图用百米冲刺的方法完成马拉松比赛。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!