自上而下金字塔的因果提取方案
在图像分析领域,构建有效的金字塔结构对于图像分割和处理至关重要。本文将介绍一种新的构建平铺自上而下金字塔的方法,该方法避免了将区域临时拆分为包含单个像素的基本区域,同时保留了金字塔的因果关系。
1. 相关概念回顾
1.1 组合地图
在二维空间中,组合地图(2 - 地图)是一组顶点、边和面,用于编码拓扑空间的细分和关联关系。图像的完整分解会产生一组称为“飞镖”的抽象基本元素。我们引入两个运算符βi(i ∈ {1, 2}),用于表示飞镖之间的邻接关系。
二维组合地图M定义为一个三元组M = (D, β1, β2),其中:
- D是飞镖的有限集合;
- β1是D上的一个置换;
- β2是D上的一个对合。
直观上,我们可以将组合地图看作一个平面图,其中βi运算符明确定义了边之间的关系,飞镖用于区分边的两个端点。β1置换允许围绕一个面旋转,而β2对合则分隔两个相邻的面。
1.2 拓扑地图
由于组合地图仅描述拓扑关系,为了完整表示图像分区,引入了一种扩展模型——拓扑地图。拓扑地图结合了三个不同的模型:
-
最小组合地图
:通过β1和β2运算符编码拓扑关系,且细胞数量最少,移除任何元素都会改变拓扑结构。飞镖和区域相互关联,飞镖知道它所属的区域,区域知道其代表飞镖。
-
像素间元素矩阵
:点元、线元和像素代表分区的几何形状。将几何信息与拓扑元素关联的操作称为嵌入。我们分别用pointel(d)和linel(d)表示飞镖d嵌入的第一个点元和线元。
-
区域树
:描述区域之间的包含关系,一个区域是其包含区域的父区域。树的根节点编码图像的背景,称为无限区域。
1.3 组合金字塔的平铺自上而下框架
与自下而上的方法相反,该框架采用自上而下的方法,基于粗略分区在后续级别进行细化,从而显著减少内存使用。为了进一步限制所需内存,将各级细分为拓扑瓦片。
拓扑瓦片是一个带有额外对合β′2的拓扑地图,用于确保相邻瓦片之间的拓扑连接。多个拓扑瓦片并置构成平铺拓扑地图,该地图可能包含虚构元素。平铺组合地图重新定义了运算符β1和β2,以抽象这些虚构元素。
平铺自上而下拓扑金字塔是一系列越来越精细的分区,记为P = {Gk}k∈{0,…,n},其中Gk + 1是通过分割操作从Gk推导得到的平铺组合地图。金字塔可以在内存和磁盘之间交换或加载瓦片,并传播全局修改。
2. 构建金字塔的传统策略及问题
构建金字塔的一种策略是从单个区域开始,根据分割标准进行细化。该操作分三步进行:
1. 复制最后一级并设置上下关系;
2. 根据分割标准确定要细化的区域,并将这些区域拆分为包含单个像素的基本区域;
3. 根据合并标准合并基本区域。
然而,这种方法的主要缺点是将区域拆分为单个像素的步骤是自下而上的细化,需要对拆分区域的每个像素进行编码,这会导致不必要的计算和大量的内存需求。
3. 平铺自上而下金字塔的因果提取方案
我们的主要目标是避免临时创建每个像素一个区域的自下而上细化步骤。为此,我们提出了一种基于算法1的因果提取方案,该方案需要满足两个主要约束:
-
因果约束
:确保从一个级别到另一个级别保留现有边界,Gk中定义的任何边界必须存在于Gk + 1中,并且Gk的飞镖和区域必须与其在Gk + 1中的子节点相连。
-
自上而下约束(关注焦点)
:根据分割标准确定是否在下一级细化某个区域,对于分割标准为假的区域,不应创建边界。
提取算法的全局方案如下:
Algorithm 1. Causal extraction algorithm.
Data: A tile t in Gk.
Result: Extraction of the sons of t in Gk+1.
S1 ← embedding structure of t;
S2 ← regions structure of t;
foreach son t′ of t in Gk+1 do
foreach pixel p(x, y) in t′ do
p ← p(x, y), p′ ← p(x - 1, y), p′′ ← p(x, y - 1);
Create region r enclosing p;
if SameRegion(p, p′, S1, S2) then
Remove border between region(p) and region(p′);
if SameRegion(p, p′′, S1, S2) then
Remove border between region(p) and region(p′′);
Set up/down relationships for r and its darts;
Simplify and compute the tree of regions for t′;
为了实现该算法,需要两个外部结构:
-
嵌入结构
:通过将每个线元映射到其飞镖,建立飞镖与其在瓦片中的嵌入之间的对应关系。
-
区域结构
:类似于标签图像,将每个瓦片的像素映射到其所属区域,以便知道像素在上级的分割标准。
判断两个相邻像素是否属于同一区域的算法如下:
Algorithm 2. SameRegion.
Data: Two adjacent pixels p and p′ of a tile t at Gk+1.
embedding structure and regions structure of up(t) at Gk.
Result: true if p and p′ belong to the same region.
r ← region(p) in Gk, r′ ← region(p′) in Gk;
if r ≠ r′ then
return false;
if splitting criterion(r) = false then
return true;
return merging criterion(p, p′);
4. 实验结果
为了验证我们的因果提取算法的优势,我们进行了实验,比较了因果提取算法与初始的突发 - 合并细化方法在多分辨率组织学图像上的内存使用和运行时间。
| 级别大小(像素) | 飞镖数量 | 区域数量 | 突发 - 合并运行时间(s) | 突发 - 合并内存使用(MB) | 因果提取运行时间(s) | 因果提取内存使用(MB) |
|---|---|---|---|---|---|---|
| 4 000×3 036 | 483 662 | 187 033 | 181 | 104 | 105 | 90 |
| 8 000×6 072 | 962 368 | 392 395 | 354 | 106 | 272 | 90 |
| 32 000×24 291 | 4 670 978 | 1 767 890 | 4 611 | 100 | 3 869 | 92 |
实验结果表明,我们的提取方法总体上将计算时间提高了15% - 40%,并减少了约10%的内存使用。计算时间主要取决于像素遍历和分割标准的计算。
5. 结论
本文提出的替代构建方案克服了传统方法的主要缺点,减少了计算时间和内存使用,同时保留了模型的自上而下层次关系。因此,该方法可以作为构建平铺自上而下金字塔时突发和合并细化步骤的有利替代方案。此外,我们的因果提取算法在并行计算方面具有有趣的前景,我们计划在未来的工作中进行实现。
综上所述,这种新的构建方法为图像分析领域的金字塔结构构建提供了一种更高效、更实用的解决方案,有望在相关领域得到广泛应用。
以下是因果提取算法的流程 mermaid 图:
graph TD;
A[开始] --> B[获取瓦片 t 的嵌入结构 S1 和区域结构 S2];
B --> C[遍历 Gk+1 中 t 的每个子瓦片 t′];
C --> D[遍历 t′ 中的每个像素 p];
D --> E[创建包含 p 的区域 r];
E --> F{SameRegion(p, p′, S1, S2)?};
F -- 是 --> G[移除 p 和 p′ 所在区域的边界];
F -- 否 --> H{SameRegion(p, p′′, S1, S2)?};
G --> H;
H -- 是 --> I[移除 p 和 p′′ 所在区域的边界];
H -- 否 --> J[设置 r 及其飞镖的上下关系];
I --> J;
J --> K[简化并计算 t′ 的区域树];
K --> L{是否还有未处理的子瓦片?};
L -- 是 --> C;
L -- 否 --> M[结束];
自上而下金字塔的因果提取方案
6. 因果提取方案优势分析
我们提出的因果提取方案相较于传统的突发 - 合并细化方法,具有显著的优势,具体如下:
-
计算效率提升
:从实验数据可以看出,因果提取方法将计算时间提高了 15% - 40%。这主要是因为避免了将区域拆分为单个像素的自下而上细化步骤,减少了不必要的计算。在传统方法中,拆分每个像素并进行后续合并的过程会消耗大量的计算资源,而因果提取方案通过直接判断相邻像素是否属于同一区域,避免了这种冗余计算。
-
内存使用优化
:因果提取方案减少了约 10%的内存使用。传统方法在拆分区域为单个像素时,需要为每个像素分配内存,导致内存需求大幅增加。而因果提取方案通过合理的边界判断和区域合并,减少了中间数据的存储,从而降低了内存使用。
-
层次关系保留
:该方案保留了模型的自上而下层次关系,确保了金字塔结构的完整性和逻辑性。在图像分析中,层次关系对于理解图像的结构和特征非常重要,因果提取方案能够准确地维护这种关系,使得后续的分析和处理更加准确和有效。
7. 操作步骤总结
为了更清晰地展示因果提取方案的操作过程,我们将整个流程总结如下:
1.
数据准备
:获取瓦片 t 在 Gk 级别的嵌入结构 S1 和区域结构 S2。
2.
子瓦片遍历
:遍历 Gk + 1 中 t 的每个子瓦片 t′。
3.
像素遍历
:对于每个子瓦片 t′,遍历其中的每个像素 p。
4.
区域创建
:创建包含像素 p 的区域 r。
5.
边界判断与处理
:
- 调用 SameRegion 算法判断 p 与左邻像素 p′是否属于同一区域,如果是,则移除它们所在区域的边界。
- 调用 SameRegion 算法判断 p 与上邻像素 p′′是否属于同一区域,如果是,则移除它们所在区域的边界。
6.
关系设置
:设置区域 r 及其飞镖的上下关系。
7.
区域树计算
:简化并计算子瓦片 t′的区域树。
8.
重复处理
:检查是否还有未处理的子瓦片,如果有,则返回步骤 2 继续处理;如果没有,则结束流程。
8. 应用场景与展望
因果提取方案在图像分析领域具有广泛的应用场景,例如:
-
医学图像分析
:在组织学图像分析中,准确的图像分割对于疾病诊断和研究非常重要。因果提取方案可以高效地处理多分辨率的组织学图像,减少计算时间和内存使用,提高分割的准确性和效率。
-
遥感图像分析
:遥感图像通常具有较大的尺寸和多分辨率特性,因果提取方案可以帮助快速有效地对遥感图像进行分割和分析,提取有用的地理信息。
展望未来,我们计划对因果提取算法进行并行计算的优化。并行计算可以充分利用多核处理器的计算能力,进一步提高算法的计算效率。通过将算法的不同部分分配给多个处理器同时进行处理,可以显著缩短计算时间,使得该算法能够处理更大规模的图像数据。
9. 总结
本文介绍的平铺自上而下金字塔的因果提取方案是一种高效、实用的图像分割方法。通过避免自下而上的细化步骤,该方案减少了计算时间和内存使用,同时保留了模型的自上而下层次关系。实验结果验证了该方案的优势,表明它在图像分析领域具有广阔的应用前景。
以下是 SameRegion 算法的流程 mermaid 图:
graph TD;
A[开始] --> B[获取像素 p 和 p′ 在 Gk 级别的区域 r 和 r′];
B --> C{r ≠ r′?};
C -- 是 --> D[返回 false];
C -- 否 --> E{分割标准(r) = false?};
E -- 是 --> F[返回 true];
E -- 否 --> G[返回合并标准(p, p′)的结果];
D --> H[结束];
F --> H;
G --> H;
通过本文的介绍,希望读者能够对因果提取方案有更深入的理解,并在实际应用中充分发挥其优势。
247



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



