从基于区域的图像表示到目标发现与识别
在图像识别领域,如何有效地表示图像并从中发现和识别目标是一个关键问题。本文将介绍一种基于区域的图像表示方法,以及如何利用这种表示进行目标的发现和识别。
1. 图像特征:点特征与区域特征
在图像识别中,常用的图像特征有点特征(如角点、纹理块)和边缘(如Canny边缘、伯克利边缘图)。这些特征在一定程度上对目标对象的仿射变换具有不变性,但也存在一些不足之处:
-
维度不匹配
:点特征和边缘通常仅基于局部灰度不连续性定义,而目标对象在图像中占据一定区域,因此点和边缘的固有局部性与图像中对象的完整二维空间范围不匹配。
-
检测与分割问题
:基于点的目标检测需要使用预定义大小和形状的扫描窗口,常导致多个重叠的候选检测结果,需要后处理(如非极大值抑制)来解决。这通常基于对对象数量、大小和形状的启发式假设,最终只能实现近似的目标定位,而非精确的目标分割。为了进行目标分割,通常对概率图进行阈值处理,但由于局部特征的位置和阈值值依赖于特定场景和成像条件,会产生误差。
相比之下,使用图像区域作为特征具有诸多优势:
-
丰富性与判别性
:区域通常是更丰富的描述符,更具判别性,并且比兴趣点和边缘更具抗噪性。
-
维度匹配
:区域与图像中目标对象的出现维度相匹配,使得对象识别中常用的各种约束(如连续性、平滑性、包含性和邻接性)更易于融入。
-
同时检测与分割
:区域边界与对象及其子部分的边界重合,允许同时进行目标检测和分割。
-
计算效率
:由于区域数量少于局部特征,使用区域通常能节省大量计算资源,并且由于异常值数量显著减少,性能更好。
为了获得良好的分割结果,可以使用多尺度分割算法。该算法将图像划分为先验未知形状、大小、灰度对比度和拓扑上下文的均匀区域。当区域内的强度变化小于其边界上的强度变化时,该区域被认为是均匀的。图像分割在一系列均匀性值(即强度对比度)下进行,随着强度对比度的增加,对比度较小的区域会严格合并,通过扫描对比度值可以提取图像中存在的所有片段。
2. 分割树与区域描述符
图像分割后,得到的区域及其空间和结构关系可用于识别。一些方法不利用区域关系,仅考虑区域的内在属性,将区域视为视觉词袋;另一些方法则额外考虑区域对关系以及较大祖先区域提供的上下文信息。而我们的方法在此基础上,通过在分割树中考虑区域的空间布局和递归嵌入,对以往方法进行了推广。
2.1 分割树(ST)
分割树的根代表整个图像,靠近根的节点代表大区域,其子节点捕获较小的嵌入细节。分割树通常没有规则结构,例如多尺度分割得到的节点数量(通常50 - 100个)、分支因子(通常0 - 10)和层数(通常7 - 10)在树的不同部分取决于图像,并且是自动确定的。分割树是一种丰富的图像表示,能够捕获对象的各种属性。
然而,分割树无法区分同一组子区域在父区域内的不同空间分布方式,这可能导致视觉外观差异很大,但区域嵌入属性相同,使得许多视觉上不同的对象的分割树相同。
2.2 连接分割树(CST)
为了解决分割树的局限性,可以通过在保留区域递归嵌入信息的同时,加入区域之间的二维空间邻接信息来扩展分割树。新模型为每个分割树节点的子节点添加区域邻接图,如果两个兄弟节点对应的区域在图像中相邻,则在它们之间添加一条邻接边。这样,分割树就转换为一个图,由两组不同的边组成:一组表示原始的父子层次结构,另一组表示新添加的邻接关系。
连接分割树(CST)的节点和边都具有属性,即加权,节点(边)的权重根据相应区域(区域之间的空间关系)的属性定义。CST将分割树推广为表示图像的区域邻接图层次结构,可以看作是定义通用图像语法的基础,作为隔离和简化图像语义推理的中间阶段。
2.3 区域描述符
区域层次结构中的每个节点v可以用相应区域的属性向量ψv来表征。在我们的工作中,使用区域的内在光度和几何属性,以及描述区域及其邻居空间布局的相对区域间属性。这样,ψv编码了区域的空间布局,而CST结构本身捕获了它们的递归包含关系。具体属性如下:
1.
归一化灰度对比度gv
:定义为平均区域强度G的函数,$g_v \triangleq \frac{|G_u - G_v|}{|G_v - G_w|}$。
2.
归一化面积av
:$a_v \triangleq \frac{A_v}{A_u}$,其中$A_v$和$A_u$分别是v和u的面积。
3.
面积分散度ADv
:$AD_v \triangleq \frac{1}{|C(v)|} \sum_{w \in C(v)} (a_w - a_{C(v)})^2$,其中$a_{C(v)}$是v的子节点的归一化面积的平均值。
4.
一阶中心矩$\mu_{11}^v$
5.
周长平方与面积之比PAv
:$PA_v \triangleq \frac{perimeter(v)^2}{A_v}$
6.
v和u主轴之间的角度$\gamma_v$
:区域的主轴估计为矩阵$\frac{1}{\mu_{00}} \begin{bmatrix} \mu_{20} & \mu_{11} \ \mu_{11} & \mu_{02} \end{bmatrix}$对应较大特征值的特征向量。
7.
归一化位移$\overrightarrow{\Delta_v}$
:$\overrightarrow{\Delta_v} \triangleq \frac{1}{\sqrt{A_u}} \overrightarrow{d_v}$,其中$|\overrightarrow{d_v}|$是u和v质心之间的距离,$\overrightarrow{d_v}$相对于父节点u的主轴测量。
8.
上下文向量$\overrightarrow{F_v}$
:$\overrightarrow{F_v} \triangleq \sum_{s \in S(v)} \frac{A_s}{|\overrightarrow{d_{vs}}|^3} \overrightarrow{d_{vs}}$,其中$S(v)$是v的兄弟区域集合,$|\overrightarrow{d_{vw}}|$是v和s质心之间的距离,$\overrightarrow{d_{vs}}$相对于它们父节点u的主轴测量。
每个节点的属性向量$\psi_v$的元素在所有训练图像的多尺度区域上进行归一化,取值范围为[0, 1]。这种基于区域层次结构的图像表示在识别性能上具有多种理想的不变性特征:
-
平移、平面旋转和对象关节运动
:分割树本身对这些变化具有不变性。
-
尺度
:子树匹配基于节点的相对属性,而非绝对值。
-
训练集和测试集中的遮挡
:在训练集中,子树在编码整个(未遮挡)类别结构的树联合中进行注册和拼接;在测试集中,对应于可见对象部分的子树仍可与模型匹配。
-
小外观变化
:变化的区域仍可能是最佳匹配。
-
区域形状变形
:在匹配过程中考虑区域几何/拓扑属性的变化(如分裂/合并)。
-
杂波
:杂波区域不具有重复性,因此不频繁出现。
3. 学习目标属性
基于区域的图像层次表示具有两个主要特点:一是便于在不同程度的监督下进行学习,二是放宽了对复杂目标模型和分类器的要求。
3.1 作为图匹配的目标发现
为了将对象的自然变化传达给识别算法,通常需要手动标注一组训练图像。训练中的监督可能包括:训练图像中手动分割的对象实例、围绕对象的边界框,或仅与整个图像关联的对象标签。
如果训练中有边界框,可直接访问对应目标对象类实例的区域层次结构的相似子图;如果没有边界框,则可以通过匹配同一类图像的区域层次结构来发现对象出现,从而识别它们的相似子图。
在匹配过程中,两张图像可能有许多相似区域,这可能会使匹配算法产生混淆。但如果相似区域具有相似的嵌套和布局属性,那么它们很可能代表有意义的图像部分,例如同一对象类的实例,应该进行匹配。我们的算法通过配对光度、几何和结构属性匹配的区域,以及它们的邻居也满足相同条件,并递归地对其嵌入子区域满足这两个条件,来实现鲁棒性。这种区域匹配可以使用图匹配技术进行形式化。
常见的基于图的图像匹配方法有:
- 利用图的邻接矩阵的谱属性。
- 最小化图编辑距离。
- 找到关联图的最大团。
- 使用统计模型的能量最小化或期望最大化。
这些方法都可以转化为二次分配问题,目标函数中的线性项编码节点兼容性函数,二次项编码边兼容性函数。图匹配的方法主要集中在:一是找到合适的兼容性函数定义,二是开发高效的算法来近似解决二次分配问题(由于它是NP难问题),包括将二次问题适当地转化为线性分配问题。
然而,大多数流行的近似算法(如松弛标记和循环信念传播)严重依赖于良好的初始化,并且容易陷入局部最小值,而一些算法(如确定性退火方案)仅适用于节点数量较少的图。我们使用复制动态算法来解决底层的凸问题。
设$H = (V, E, \psi, \varphi)$表示区域层次结构,其中$V = {v}$和$E = {(v, u)} \subseteq V \times V$分别是节点和边的集合,$\psi$和$\varphi$是为节点和边分配属性的函数。给定两个形状$H$和$H’$,匹配算法的目标是找到子图同构$f: U \rightarrow U’$,其中$U \subseteq V$和$U’ \subseteq V’$,并最小化成本$C$,定义为:
[
C = \min_f \left[ \beta \sum_{(v, v’) \in f} a_{vv’} + (1 - \beta) \sum_{(v, v’, u, u’) \in f \times f} b_{vv’uu’} \right]
]
其中,$a$是匹配节点$v$和$v’ = f(v)$的非负成本,$b$是匹配边$(v, u) \in E$和$(v’, u’) \in E’$的非负成本,$\beta \in [0, 1]$权衡它们对匹配的相对重要性。
为了最小化$C$,引入一个置信向量$X$,由所有节点对$(v, v’) \in V \times V’$索引,其每个元素$x_{vv’} \in [0, 1]$编码节点对$(v, v’)$应该匹配的置信度。匹配可以重新表述为估计$X$以使$C$最小化,即:
[
\min_X \left[ \beta A^T X + (1 - \beta) X^T B X \right]
]
[
\text{s.t.} \quad \forall (v, v’) \in V \times V’, \quad x_{vv’} \geq 0
]
[
\forall v’ \in V’, \quad \sum_{v \in V} x_{vv’} = 1
]
[
\forall v \in V, \quad \sum_{v’ \in V’} x_{vv’} = 1
]
其中,$A$是成本$a_{vv’}$的向量,$B$是成本$b_{vv’uu’}$的矩阵。我们定义$a_{vv’} = | \psi(v) - \psi(v’) |^2$,$b_{vv’uu’}$的定义使得不同类型的边(即层次边和邻接边)不允许匹配,而相同类型且权重相似的边的匹配更受青睐。$a$和$b$都归一化为[0, 1]。
由于$H$和$H’$可能在节点数量和连接性方面存在较大的结构差异,即使它们代表同一类的两个对象,因此更通用的多对多匹配公式可能更合适。
以下是整个流程的mermaid流程图:
graph TD;
A[图像输入] --> B[多尺度分割];
B --> C[生成分割树];
C --> D[扩展为连接分割树];
D --> E[目标发现(图匹配)];
E --> F[学习目标模型];
F --> G[目标识别];
通过上述方法,我们可以利用基于区域的图像表示有效地进行目标的发现和识别,并且这种方法在多种情况下具有良好的性能和不变性。
从基于区域的图像表示到目标发现与识别
3.2 构建目标模型
在通过图匹配发现目标对应的子图后,接下来需要将这些匹配的子图融合成一个图联合,以此构成目标模型。
具体操作步骤如下:
1.
收集匹配子图
:通过图匹配算法,从同一类图像的区域层次结构中找出相似的子图。这些子图代表了目标对象在不同图像中的不同表现形式。
2.
定义融合规则
:为了将这些子图融合成一个统一的图联合,需要定义合适的融合规则。这些规则通常基于节点和边的属性,例如节点的属性向量 $\psi$ 和边的属性 $\varphi$。
3.
执行融合操作
:根据融合规则,将收集到的子图进行合并。在合并过程中,可能需要处理节点和边的冲突,例如不同子图中相同位置的节点属性不同。可以通过取平均值、选择最常见的属性等方法来解决这些冲突。
通过以上步骤,最终得到的图联合就是目标的模型。这个模型捕获了目标对象的典型节点和节点连接属性,可以用于后续的目标识别。
4. 目标识别
目标识别的过程就是利用之前学习得到的图模型,在新图像的连接分割树(CST)中识别代表已学习类实例的子图。
具体步骤如下:
1.
获取新图像的CST
:对新输入的图像进行多尺度分割,然后构建其连接分割树(CST),将图像表示为区域层次结构。
2.
子图匹配
:将新图像的CST与学习得到的图模型进行匹配,寻找与模型中相似的子图。匹配过程可以使用之前介绍的图匹配算法,通过计算匹配成本来确定最佳匹配子图。
3.
识别判断
:根据匹配结果,判断新图像中是否存在目标对象。如果找到与模型匹配的子图,并且匹配成本低于某个阈值,则认为图像中存在目标对象;否则,认为图像中不存在目标对象。
为了更直观地展示目标识别的流程,以下是对应的mermaid流程图:
graph TD;
A[新图像输入] --> B[构建CST];
B --> C[子图匹配(与目标模型)];
C --> D{匹配成本 < 阈值?};
D -- 是 --> E[识别为目标对象];
D -- 否 --> F[未识别到目标对象];
5. 实验结果与优势总结
通过一系列实验,验证了基于区域层次结构的图像表示在单类别发现、建模和识别方面的优势。
| 优势特点 | 具体说明 |
|---|---|
| 不变性特征 | 具有平移、平面旋转、对象关节运动、尺度、遮挡、小外观变化、区域形状变形和杂波等方面的不变性,能够在多种复杂情况下准确识别目标对象。 |
| 计算效率 | 由于区域数量少于局部特征,使用区域进行识别可以节省大量计算资源,提高识别效率。 |
| 同时检测与分割 | 区域边界与对象及其子部分的边界重合,允许同时进行目标检测和分割,避免了基于点特征和边缘特征的方法在分割方面的局限性。 |
| 鲁棒性 | 通过图匹配技术和多对多匹配公式,能够在存在相似区域和结构差异的情况下,准确识别目标对象,具有较强的鲁棒性。 |
综上所述,基于区域的图像层次表示为目标发现和识别提供了一种有效的方法。它不仅在理论上具有良好的性质,而且在实际应用中也表现出了显著的优势。未来,可以进一步探索该方法在更多领域的应用,例如自动驾驶、智能监控等,以满足不同场景下的目标识别需求。
以下是整个目标发现与识别过程的步骤总结列表:
1. 使用多尺度分割算法将图像划分为均匀区域。
2. 生成分割树(ST),并将其扩展为连接分割树(CST),以表示图像的区域层次结构。
3. 通过图匹配算法发现目标对象对应的子图。
4. 将匹配的子图融合成图联合,构建目标模型。
5. 对新图像构建CST,并与目标模型进行子图匹配,进行目标识别。
通过遵循这些步骤,可以利用基于区域的图像表示实现高效、准确的目标发现和识别。
7070



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



