代数重建算法详解
在图像重建领域,代数重建技术(ART)及其相关算法发挥着重要作用。下面将详细介绍几种常见的代数重建算法,包括基本ART算法、带松弛因子的ART算法、混沌ART算法以及迭代坐标下降算法。
1. 基本ART算法
基本ART算法是代数重建技术的基础。使用该算法的一个重要原因是矩阵 $v$ 中存在大量零元素,这种冗余性使得在 $I \times J$ 维空间中存在大量相互垂直的向量 $v_k$,从而大大加快了算法的执行速度。不过,该算法收敛到解的速度较慢,因为难以确定停止迭代过程的标准。
1.1 算法步骤
- 步骤I :确定表示重建图像的向量 $l_0 \in R^{I \times J}$ 的初始值,并将控制算法迭代的参数 $t$ 初始化为 0。
-
步骤II
:根据向量 $l_0$、值 $p_k$ 和矩阵 $v$ 的第 $k$ 行,使用迭代关系计算向量 $\hat{l}
{t + 1}$:
[
\hat{l} {t + 1} = l_t - \frac{v_k^T(l_t - \hat{p}_k)}{||v_k||^2}v_k^T
]
其中 $k = t \mod (I \times J) + 1$。 -
步骤III
:对向量 $\hat{l}
{t + 1}$ 进行变换,取变换后向量的分量得到 $l
{t + 1}$:
[
l_{t + 1} = \text{condition}(\hat{l}_{t + 1})
]
这里的 $\text{condition}$ 是使用表 8.1 中的某个条件。 - 步骤IV :引入停止迭代算法的标准。例如,可以选择一个可接受的迭代次数 $t = t_{max}$,或者观察向量 $l_{t + 1}$ 在连续步骤中的变化是否很小。如果标准允许迭代过程继续,则返回步骤II,并令 $l_t = l_{t + 1}$。
下面是基本ART算法的流程图:
graph TD;
A[初始化l0和t=0] --> B[计算lt+1];
B --> C[变换得到lt+1];
C --> D{是否满足停止条件};
D -- 是 --> E[结束];
D -- 否 --> F[lt = lt+1];
F --> B;
2. 带松弛因子的ART算法
带松弛因子的ART算法与基本ART算法操作类似,但在基本迭代公式中引入了一个额外的参数,即松弛因子 $k_t$。
2.1 算法公式
迭代关系为:
[
\hat{l}
{t + 1} = l_t - k_t\frac{v_k^T(l_t - \hat{p}_k)}{||v_k||^2}v_k^T
]
其中 $k_t$ 是松弛参数序列 ${k_t}
{t = 0}^{\infty}$ 的第 $t$ 个元素,$k = t \mod (I \times J) + 1$,且 $t_1 \leq k_t \leq 2 - t_2$,$t_1, t_2 > 0$。
当 $0 < k_t < 1$ 时,校正向量缩短;当 $1 < k_t < 2$ 时,校正向量拉长。
2.2 算法步骤
- 步骤I :与基本ART算法相同,确定向量 $l_0 \in R^{I \times J}$ 的初始值,并将参数 $t$ 初始化为 0。
- 步骤II :根据向量 $l_0$、值 $p_k$、矩阵 $v$ 的第 $k$ 行和松弛因子 $k_t$,使用上述迭代关系计算向量 $\hat{l}_{t + 1}$。
- 步骤III :对向量 $\hat{l} {t + 1}$ 进行变换,取变换后向量的分量得到 $l {t + 1}$。
- 步骤IV :引入停止迭代算法的标准。如果标准允许迭代过程继续,则返回步骤II,并令 $l_t = l_{t + 1}$。
下面是带松弛因子的ART算法的流程图:
graph TD;
A[初始化l0和t=0] --> B[计算lt+1(含kt)];
B --> C[变换得到lt+1];
C --> D{是否满足停止条件};
D -- 是 --> E[结束];
D -- 否 --> F[lt = lt+1];
F --> B;
3. 混沌ART算法
混沌ART算法是一种异步的图像重建方法,其主要特点是在计算解的下一个值时,基于矩阵 $v$ 和 $p$ 的所有行的集合,并且在算法的每一步中以混沌的方式选择不同的行集合。
3.1 算法公式
基本迭代公式为:
[
\hat{l}
{t,k} = l
{t - 1} - \lambda\frac{v_k^T(l_{t - 1} - \hat{p}
k)}{||v_k||^2}v_k^T
]
其中 $v_k^T$ 是矩阵 $v$ 的第 $k$ 行,$p_k$ 是矩阵 $p$ 的第 $k$ 个元素,$l \in R^{I \times J}$ 是图像分块后的矩阵,$0 < \lambda < 2$ 是松弛参数,$k \in K_t$ 是集合 $K_t \subseteq {1, 2, \ldots, I \times J}$ 的元素,$K_t$ 是混沌集 $K = {K_t}
{t = 0}^{\infty}$ 的一部分。
混沌选择元素的条件为:
[
\lim_{t \to \infty} \sup K_t = {1, 2, \ldots, I \times J}
]
即矩阵 $v$ 和 $p$ 的每一行在集合 $K_t$ 中总共出现无限次。
下一个值 $l_t$ 是基于加权和计算的:
[
l_t = \sum_{k \in K_t} w_t^k\hat{l}
{t,k}
]
其中加权和满足:
[
\sum
{k \in K_t} w_t^k = 1
]
3.2 算法步骤
- 步骤I :为矩阵 $l_0 \in R^{I \times J}$ 选择任意初始值。
- 步骤II :对于每个 $t$,混沌地选择集合 $K_t \subseteq {1, 2, \ldots, I \times J}$。在有限迭代次数的情况下,需要确保矩阵 $v$ 和 $p$ 的所有行在所有集合 $K_t$ 中总共出现足够多次。
- 步骤III :算法的每次迭代使用矩阵 $v$ 和 $p$ 的所有行,其索引属于当前集合 $K_t$,计算 $\hat{l}_{t,k}$。
- 步骤IV :根据一组值 $\hat{l}_{t,k}$,$k \in K_t$,通过加权和计算 $l_t$。
- 步骤V :重复步骤III,直到 $t = t_{max}$。
下面是混沌ART算法的流程图:
graph TD;
A[初始化l0] --> B[选择Kt];
B --> C[计算lt,k];
C --> D[计算lt];
D --> E{是否t=tmax};
E -- 否 --> B;
E -- 是 --> F[结束];
4. 迭代坐标下降算法
迭代坐标下降算法,商业上称为自适应统计迭代重建(ASIR)方法,主要考虑了从扫描仪获得的X射线强度测量的统计性质,能有效降低重建图像的噪声水平,提高扫描仪的低对比度分辨率,从而在降低患者辐射剂量的同时保持合理的低对比度分辨率。
4.1 投影系统的几何结构
该算法使用两种方式描述投影系统的几何结构,这里主要关注代数方法。对于螺旋锥束扫描仪,投影系统的几何结构与传统方法有很大不同。矩阵 $v$ 的元素值是通过将表示重建图像体素的立方体投影到探测器阵列上得到的。
体素对投影值的贡献使用3D距离驱动方法计算,该贡献取决于探测器在像素足迹下的表面积。需要考虑两个平面的足迹,分别平行于 $x - y$ 坐标系和 $y - z$($x - z$)坐标系。
计算体素对投影值的贡献时,使用以下公式:
[
D = \left|D + \frac{dw}{2} - dv\right|
]
对于其他情况,如线段不接触或一个线段完全包含在另一个线段内,使用:
[
D = \min\left(\max\left(0, D + \frac{dw}{2} - dv\right), \min(D, dw)\right)
]
最终,矩阵元素 $v_{km}$ 为:
[
v_{km} = \frac{D_x}{\cos a_y \cdot \cos a_z} \cdot \frac{\min\left(\max\left(0, \frac{D_r + dw_r}{2} + |d_{vr}|\right), \min(D_r, dw_r)\right)}{D_r} \cdot \frac{\min\left(\max\left(0, \frac{D_c + dw_c}{2} + |d_{vc}|\right), \min(D_c, dw_c)\right)}{D_c}
]
其中 $a_y = \left(\left(a_{xy} + \frac{\pi}{4}\right) \mod \frac{\pi}{4}\right) - \frac{\pi}{4}$。
4.2 重建问题的概率表述
假设描述X射线管在给定相等时间间隔内发射光子数的最合适统计模型是泊松分布:
[
P(K = k) = \frac{\bar{k}^k}{k!}e^{-\bar{k}}
]
其中 $\bar{k}$ 是随机变量 $K$ 的期望值。
投影值 $\hat{p}$ 与辐射强度的关系为:
[
\hat{p}(l, w) = \ln\left(\frac{I_0}{I}\right)
]
经过变换可得:
[
I_k = I_0e^{-\hat{p}
k}
]
其中 $\hat{p}_k = \sum
{m = 1}^{I \times J} v_{km}l_m$。
假设辐射强度与探测器记录的光子数成正比,且与预期衰减系数 $\bar{l}
m$ 有关,则有:
[
I_k \propto \bar{k}_k = k_0e^{\sum
{m = 1}^{I \times J} v_{km}\bar{l}_m}
]
探测器记录的辐射量子数遵循泊松分布:
[
P(K_k = k_k) = \frac{\bar{k}_k^{k_k}}{k_k!}e^{-\bar{k}_k}
]
所有投影中记录给定数量光子的条件概率为:
[
P(K = k | \bar{k}) = \prod_{k = 1}^{L \times W} \frac{\bar{k}_k^{k_k}}{k_k!}e^{-\bar{k}_k}
]
将 $\bar{k}
k$ 的表达式代入可得:
[
P(K = k | \bar{k}) = \prod
{k = 1}^{L \times W} \frac{(k_0e^{\sum_{m = 1}^{I \times J} v_{km}\bar{l}
m})^{k_k}}{k_k!}e^{-k_0e^{\sum
{m = 1}^{I \times J} v_{km}\bar{l}_m}} = P(K = k | \bar{l})
]
基于此,可以设计最大似然(ML)估计方法。为了克服ML方法的不稳定性,引入正则化项,形成最大后验(MAP)方法。
优化问题为:
[
\bar{l}
{max} = \arg \min
{\bar{l}} \left(-\ln P(K = k | \bar{l}) - \ln P(\bar{l})\right)
]
通过一系列推导,可将重建问题转化为以下优化问题:
[
\bar{l}
{max} = \arg \min
{\bar{l}} \left(\frac{1}{2}(p - v\bar{l})^T D (p - v\bar{l}) + \frac{1}{fun(r)} \sum_{m, \tilde{m} \in C} V_r(\bar{l}
m - \bar{l}
{\tilde{m}})\right)
]
其中 $D$ 是对角矩阵,$fun(r)$ 是单调递增函数,$V_r$ 是惩罚图像中相邻体素局部差异的势函数。
常见的正则化工具是马尔可夫随机场(MRF),其概率分布遵循吉布斯分布:
[
P(l_m) = \frac{1}{Z}e^{-E(l_m)}
]
其中 $Z$ 是分区函数,$E(l_m)$ 是能量函数。
能量函数可表示为:
[
E(l) = \sum_{c \in C} V_c(l_m : m \in C)
]
在广义高斯MRF(GGMRF)重建方法中,对数概率为:
[
\ln P(\bar{l}
m) = -\frac{1}{fun(r)} \sum
{m, \tilde{m} \in C} V_r(\bar{l}
m - \bar{l}
{\tilde{m}})
]
假设 $fun(r) = ar^a$,$V_r(\bar{l}
m - \bar{l}
{\tilde{m}}) = w_{m\tilde{m}}q(\bar{l}
m - \bar{l}
{\tilde{m}})$,其中 $q(\bar{l}
m - \bar{l}
{\tilde{m}}) = |\bar{l}
m - \bar{l}
{\tilde{m}}|^a$。
为了更好地平衡图像边缘保留和噪声消除,提出了修改后的势函数:
[
q(\bar{l}
m - \bar{l}
{\tilde{m}}) = \frac{|\bar{l}
m - \bar{l}
{\tilde{m}}|^a}{1 + \left|\frac{\bar{l}
m - \bar{l}
{\tilde{m}}}{d}\right|^{a - b}}
]
其中 $1 \leq b \leq a < 2$,$d$ 确定重建图像中低对比度和高对比度区域之间的近似过渡阈值。
通过以上介绍,我们对几种常见的代数重建算法有了更深入的了解。这些算法在不同的应用场景中各有优势,可根据具体需求选择合适的算法进行图像重建。
代数重建算法详解(续)
5. 算法总结与对比
为了更清晰地了解各种代数重建算法的特点,下面对基本ART算法、带松弛因子的ART算法、混沌ART算法和迭代坐标下降算法进行总结和对比。
| 算法名称 | 特点 | 优势 | 劣势 |
|---|---|---|---|
| 基本ART算法 | 基于矩阵 $v$ 中大量零元素加速计算,通过迭代逐步逼近解 | 原理简单,易于理解和实现 | 收敛速度慢,难以确定停止迭代的标准 |
| 带松弛因子的ART算法 | 在基本迭代公式中引入松弛因子 $k_t$,可调整校正向量长度 | 可通过调整松弛因子优化收敛速度和结果 | 增加了参数选择的复杂性 |
| 混沌ART算法 | 以混沌方式选择矩阵行集合进行计算,基于所有行的加权和得到解 | 能充分利用矩阵信息,可能提高重建质量 | 算法复杂度较高,计算量较大 |
| 迭代坐标下降算法 | 考虑X射线强度测量的统计性质,降低图像噪声,提高低对比度分辨率 | 有效降低噪声,可减少患者辐射剂量 | 算法涉及复杂的概率模型和优化问题 |
6. 实际应用中的考虑因素
在实际应用中,选择合适的代数重建算法需要考虑多个因素。
6.1 数据特点
- 数据稀疏性 :如果矩阵 $v$ 中存在大量零元素,基本ART算法可能会有较好的表现,因为其冗余性可加速计算。
- 数据噪声 :当数据噪声较大时,迭代坐标下降算法由于考虑了统计性质,可能更适合,能有效降低噪声对重建结果的影响。
6.2 计算资源
- 计算时间 :基本ART算法和带松弛因子的ART算法相对简单,计算时间可能较短;而混沌ART算法和迭代坐标下降算法由于复杂度较高,计算时间可能较长。
- 内存需求 :算法涉及的矩阵运算和数据存储会影响内存需求。例如,迭代坐标下降算法需要处理较大的矩阵和复杂的概率模型,可能对内存要求较高。
6.3 重建质量要求
- 边缘保留 :如果需要在重建图像中保留清晰的边缘,混沌ART算法和迭代坐标下降算法中通过调整相关参数(如迭代坐标下降算法中的 $a$ 和 $b$)可能更有利于边缘保留。
- 噪声消除 :迭代坐标下降算法在降低噪声方面具有明显优势,可根据对噪声消除的要求选择该算法。
7. 操作步骤总结
以下是几种算法的操作步骤总结:
7.1 基本ART算法
- 确定向量 $l_0 \in R^{I \times J}$ 的初始值,将参数 $t$ 初始化为 0。
- 根据向量 $l_0$、值 $p_k$ 和矩阵 $v$ 的第 $k$ 行,使用迭代关系 $\hat{l} {t + 1} = l_t - \frac{v_k^T(l_t - \hat{p}_k)}{||v_k||^2}v_k^T$ 计算向量 $\hat{l} {t + 1}$,其中 $k = t \mod (I \times J) + 1$。
- 对向量 $\hat{l} {t + 1}$ 进行变换,取变换后向量的分量得到 $l {t + 1}$,使用表中某个条件。
- 引入停止迭代算法的标准。如果标准允许迭代过程继续,则返回步骤2,并令 $l_t = l_{t + 1}$。
7.2 带松弛因子的ART算法
- 确定向量 $l_0 \in R^{I \times J}$ 的初始值,将参数 $t$ 初始化为 0。
- 根据向量 $l_0$、值 $p_k$、矩阵 $v$ 的第 $k$ 行和松弛因子 $k_t$,使用迭代关系 $\hat{l} {t + 1} = l_t - k_t\frac{v_k^T(l_t - \hat{p}_k)}{||v_k||^2}v_k^T$ 计算向量 $\hat{l} {t + 1}$,其中 $k = t \mod (I \times J) + 1$,$t_1 \leq k_t \leq 2 - t_2$,$t_1, t_2 > 0$。
- 对向量 $\hat{l} {t + 1}$ 进行变换,取变换后向量的分量得到 $l {t + 1}$。
- 引入停止迭代算法的标准。如果标准允许迭代过程继续,则返回步骤2,并令 $l_t = l_{t + 1}$。
7.3 混沌ART算法
- 为矩阵 $l_0 \in R^{I \times J}$ 选择任意初始值。
- 对于每个 $t$,混沌地选择集合 $K_t \subseteq {1, 2, \ldots, I \times J}$。在有限迭代次数的情况下,确保矩阵 $v$ 和 $p$ 的所有行在所有集合 $K_t$ 中总共出现足够多次。
- 算法的每次迭代使用矩阵 $v$ 和 $p$ 的所有行,其索引属于当前集合 $K_t$,计算 $\hat{l} {t,k} = l {t - 1} - \lambda\frac{v_k^T(l_{t - 1} - \hat{p}_k)}{||v_k||^2}v_k^T$,其中 $0 < \lambda < 2$。
- 根据一组值 $\hat{l} {t,k}$,$k \in K_t$,通过加权和 $l_t = \sum {k \in K_t} w_t^k\hat{l} {t,k}$ 计算 $l_t$,其中 $\sum {k \in K_t} w_t^k = 1$。
- 重复步骤3,直到 $t = t_{max}$。
7.4 迭代坐标下降算法
- 确定投影系统的几何结构,计算矩阵 $v$ 的元素值,使用3D距离驱动方法计算体素对投影值的贡献。
- 基于泊松分布和X射线强度测量的关系,建立重建问题的概率模型。
- 引入正则化项,将重建问题转化为优化问题 $\bar{l} {max} = \arg \min {\bar{l}} \left(\frac{1}{2}(p - v\bar{l})^T D (p - v\bar{l}) + \frac{1}{fun(r)} \sum_{m, \tilde{m} \in C} V_r(\bar{l} m - \bar{l} {\tilde{m}})\right)$。
- 通过梯度方法等优化算法求解优化问题,得到重建图像。
8. 总结
代数重建算法在图像重建领域具有重要地位,不同的算法各有特点和适用场景。基本ART算法是基础,带松弛因子的ART算法通过引入松弛因子进行优化,混沌ART算法以独特的方式利用矩阵信息,迭代坐标下降算法则考虑了统计性质来提高重建质量。在实际应用中,需要根据数据特点、计算资源和重建质量要求等因素综合选择合适的算法。同时,通过合理调整算法参数,可以进一步优化重建结果。希望本文对代数重建算法的介绍能帮助读者更好地理解和应用这些算法。
graph LR
A[数据特点] --> B[选择算法]
C[计算资源] --> B
D[重建质量要求] --> B
B --> E[基本ART算法]
B --> F[带松弛因子的ART算法]
B --> G[混沌ART算法]
B --> H[迭代坐标下降算法]
以上流程图展示了在实际应用中,根据数据特点、计算资源和重建质量要求来选择合适代数重建算法的过程。通过综合考虑这些因素,可以更科学地做出算法选择,提高图像重建的效果。
超级会员免费看
1534

被折叠的 条评论
为什么被折叠?



