图像处理(8)-形状表达与描述
形状表示和描述区域的识别的意义
图像区域的识别是理解图像处理的重要步骤
它需要的是一种准确的,适合分类器的 “区域描述”
这种描述应该生成表现“区域属性”的 “ 数字特征向量”或 “非数学的句法描述词语“ (例如:形状)
定义物体的形状
定义物体的形状非常困难
它通常以“言辞”来表述,或以“图形”来描绘
且人们会使用一些“术语”(例如:细长的、圆形的、有明显边缘的)
自动化的处理过程要求我们对非常复杂的形状进行准确的描述
尽管存在很多实际的形状描述方法,但并没有被认可的统一的形态描述的方法学
我们甚至不知道形状中什么是重要的
不同的角度来刻画形状
形状是物体的一种属性, 近年来已经得到细致的研究
尽管有很多应用,但多数方法的差异主要 局限在术语上。这些共同的方法可以从不同的角度来刻画:
1、输入的表示 :物体的描述可以是基于边界(基于轮廓的、外部的)的,或者是基于整个区域的“知识”(基于区域的、内部的)的。
2、物体重建的能力: 即是否可以从描述来重建物体的形状。存在很多种形状保持的描述方法。它们在物体重建的精度上不同。
3、非完整形状的识别能力 : 即如果物体“被遮挡”而只有部分形状信息可以得到,根据该描述,物体的形状可以被识别到什么程度。
4、局部/全局 描述的特征 : 全局描述子只能在整个物体的数据可用来分析时才可使用。局部描述子使用 部分信息来描述 物体局部的特征。因此局部描述子可用来描述被遮挡的物体。
5、数学的和启发式的方法 : 例如,基于傅里叶变换的形状描述属于数学的方法,而“细长性”则是种启发式的形状描述方法。
6、统计的或句法的物体描述 (见第9章)。
7、对平移、旋转、尺度变换的鲁棒性 : 形状描述在不同分辨率和姿态下的属性。不同的描述方法在图像分析和图像理解方面的作用如流程图8.1所示。
尺寸的敏感性
形状描述对 尺寸的敏感性 严重
如果要导出 形状描述,则对 尺寸的敏感性 就更严重了
因为形状可能会随着图像分辨率的变化而 发生很大的变化
高分辨率下:轮廓检测可能会受到噪声的影响
低分辨率下:小的细节又会丢失
从不同分辨率匹配对应的形状表示依旧困难
尺度空间的提出
传统的形状描述是不连续变化的
提出了“尺度空间”的方法
目标在 “分辨率连续变化”的情况下,得到连续的形状描述
形态类别
描述形状属性的“类别”很重要,例如:苹果的形状、香蕉的形状
形态类别 应该充分表现属于同一类别的物体的“一般形状”
并应该强调“类间的形态差异”
类内形态变化的影响不会在类的描述中有所反映
维度变换
我们处理的形状是二维的,世界是三维的
在不同的角度上,同一个三维物体会形成不同的二维投影
理想的情况应该具有一个 克服这些变化的通用的形状描述能力:即设计具有“透视不变性”的描述子
物体遮挡
这种情况还会简单一点
因为物体的可见部分也可以用于描述
即 形态描述子必须基于描述局部物体特征的能力
小结
1、区域描述生成表现区域属性(例如,形状)的数字特征向量或非数字的句法描述词语。
2、存在许多实际的形状描述方法,但是并没有通用的可接受的形状描述方法学。甚至我们都不知道形状中什么是重要的。
3、形状可能会随着图像分辨率的变化而发生很大的非连续变化。尺度空间方法的目标是对于分辨率的连续变化获得连续的形状描述。
4、形状类别表示了属于同一类的物体的一般形状。形状类别应该突出类间的形状差别,而类内形状的变化不应该反映在形状类别的描述中。
<hr/>区域标识
区域表示的意义
对于区域描述,区域标识是必需的。
区域标识就是把 “ 唯一的标号” 赋给图像区域
区域标识的方法
区域标识两种方法:
1、给每个区域标注一个 唯一的整数
这样的标识称为“标注”或“着色”(也称为 连通分量标注)
最大的整数标号就是图像中区域的数目 (就是从 1 标到 length(区域) )
2、使用较少数目的标号
仅保证“相邻区域”不存在相同标号
为提供全区域的索引,必须将有关某个区域像素的信息加到描述中
通常保存在单独的数据结构中
按序的分割图像标注方法
1、4-领域 标注
2、 8-邻域 标注
标号冲突
标号冲突经常会发生
等价表是一个出现在图像中的所有标号对的列表
所有的等价标号在第二步中被用一个唯一的标号进行替代
区域计数与区域标识
计算可以直接从标识中得出
但如果只需区域计数,则无需标识它们,只需要一个扫描算法即可
小结
1、区域标识把唯一的标号赋给图像区域。
2、如果使用无重复的有序的数字标号,则最大的整数标号给出了图像中区域的数目。
<hr/>基于轮廓的形状描述子
区域边界的数学形式表达
区域边界通常用数学形式表达
1、直角坐标:路径长度为n的函数
2、极坐标:角度和距离的 “数对”来表示
3、切线坐标:曲线上点的切线方向被编码为路径长度为n的函数
链码
通过带有“给定方向”的“单位长度”的线段序列 来描述物体
第一个元素包含其“位置信息”,以便 区域可以被重建
处理过程产生的是一个数字序列
[*]Freeman码
为了利用链码的位置不变性,删除了第一个元素
这样就是 Freeman 码
[*]链码的描述可以作为“边界检测”的副产品得到
[*]链码用于匹配
链码用于匹配,它必须与序列中第一个边界像素的选择 独立 (就是在不同的“起点”都能匹配到)
如果将描述链解释成四进制数,在边界序列中找到产生 &#34;最小整数&#34; 的那个像素
将该像素用作“起始像素”
[*]链码的导数
链码的导数表示,是表示区域边界元素的“相对方向”的另一个数字序列
以逆时针计数 90度 或 45度 来度量
通俗解释:
导数是“该位方向”与“下一位方向”旋转的角度的倍数
例如下图:
链码: 3 , 0 从3到0,旋转了一格(四邻接链码),所以导数第一位是1
链码:3 , 0 ,0 从 0 到 0 ,不用旋转,导数为0
链码:3 , 0 , 0 ,3 从0 到 3 ,旋转三格 (只能按指定方向选择),导数为3
1、链码通过一个具有给定方向的单位长度线段的序列来描述物体,称为Freeman码。
简单几何边界表示
以下描述子大部分基于“区域的几何属性”
由于数字图像的离散特点,它们对图像的分辨率敏感
[*]简单的几何边界算子
1、边界长度:基本的区域属性,可以从链码中得到,垂直和水平的步频为单位长度
2、曲率 :在连续的情况下,曲率被定义为斜率的变化率
3、弯曲能量: 边界(曲线)的弯曲能量是把一个横杆弯曲成所要求的的形状所需的能量; 可以计算为“边界曲率的平方和“除以”边界长度“
4、签名 :区域的签名可以由“法线轮廓距离”的序列得到 ;对每一个边界元素,法线轮廓距离为“路径长度”的函数
5、弦分布:连接区域边界上任意两点的直线就是弦
2、简单几何边界表示是基于所描述区域的几何属性的方法,例如:
- 边界长度
- 曲率
- 弯曲能量
- 签名
- 弦分布
边界的傅里叶变换
[*]假设 是复平面“封闭曲面边界”,以逆时针方向沿着这个曲线
保持“恒定速度”移动,使其环绕边界一周的时间为
就得到一个“周期复函数, 该函数的周期为
则的傅里叶表示则为:
系数 https://www.zhihu.com/equation?tex=T_n 称为曲线的“傅里叶描述子”
[*]傅里叶描述子的共同优点
仅使用了少数低阶系数就得到了高质量的边界形状
傅里叶描述子是一种通用的方法
[*]傅里叶描述子的缺点
在描述局部信息时存在问题
传统的傅里叶描述子不能用于遮挡物体的识别
3、傅里叶形状描述子可以用于封闭曲线,其坐标可当作周期信号来处理。
使用片段序列的边界检测
[*]片段与边界
“边界”可以被描述成具有特定属性的“片段”
如果所有片段的类型都是已知的 ,“边界”可以描述为“片段类型的一个链”
码字由代表类型的字母组成
[*]多边形表示
多边形表示通过一个“多边形 ”来近似“区域”
“区域”由它的“顶点”表示
可以作为对边界的一个简单分割的结果
边界可以用各种精度来近似,如果需要更精确的描述,需要使用更多的线段
[*]常数曲率的片段 与 边界
把 边界 分割成常数曲率的片段 ,是边界表示的另一种可能
[*]尺度空间方法
形状描述子 对 尺度(分辨率)是敏感的,这大多情况下是一个不受欢迎的特征
形状描述会随着尺度的变化而变化,在不同分辨率下得到不同的结果
(例如某分割点在一个分辨率中存在,到另一个分辨率就不存在了)
因此,曲线分割的一个“保证分割点位置连续变化”的尺度空间方法是一个显著的成就
即:新的分割点只能在“更高”的分辨率下出现,已存在的分割点不会消失
(这和我们的理解是相似的,更高的分辨率应该能检测到更丰富的细节)
[*]曲率基元图
曲线分解的另一个尺度空间方法是 曲率基元图
4、形状可以表示为具有特殊性质的片段序列。如果对所有片段来说片段类型是知道的,则边界可描述为片段类型的链,码字由一个代表类型的字母表组成。
B样条表示
[*]在图形学中,使用“分段多项式插值”来得到平滑曲线这种曲线表示方法很常用
“B样条 ”是“分段多项式曲线”
其形状与它的控制多边形紧密相关
[*]曲线的多边形表示
曲线的多边形表示由一个顶点的链给出
[*]三次B样条是最常见的
因为这是包含曲率变化的最低阶次
样条有非常好的表示特性,并且容易计算
[*]样条生成的曲线通常是令人满意的
它们提供了一个好的近似
在图像分析的曲线表示问题中也容易使用
5、B样条是分段多项式曲线,其形状与其控制多边形紧密相关;一个顶点链给出了一条曲线的多边形表示。三次B样条是最常见的,是能够包含曲率变化的最低阶次。
其他基于轮廓的形状描述方法
1、Hough变换:拥有极好的形状描述能力
2、数学形态学:可以用于形状描述,特别在与区域骨架重建相关的方面上
3、神经网络:可以直接用于识别以原始边界表示 形状
形态不变量
[*]区域投影到图像中,会因为视角而发生变化
而“某些形态特征”可以在“特定变化”下保持不变
可以通过辨认这些特征来匹配图像中的模型
机器视觉特别关注“透视变换类”
[*]共线性
在任意透视变换下,直线都被投影为直线
[*]使用不变量理论
不变量描述子可以直接从图像数据中计算而来
6、形状不变量表示了在一个适当的变换类下仍旧保持不变的几何结构的属性;机器视觉特别关注于透视变换类。
<hr/>基于区域的形状描述子
[*]区域描述形状
我们可以用 边界信息 描述区域
也可以用 区域自身 来描述 形状
简单的标量区域描述
存在很多简单的启发式形状描述子,它与统计特征描述有关
这些基本方法可以被用于复杂区域的“子区域”的描述中
进而用于定义图结点的分类
1、面积
面积是最简单最自然的区域属性,由区域包含的像素个数给出
为得到区域的实际大小,需要考虑每个像素的实际面积
2、欧拉数 ( Euler-Poincare 特征 )
Euler-Poincare 特征 也被称为“亏格”
描述了物体的一个简单的拓扑不变的属性
3、投影
在二值图像处理中,经常使用投影的方法来进行区域的描述
投影可以被当做定义相关区域描述子的一个基础
4、离心率
最简单的离心率特征是:最长弦A 和垂直A的最长弦 的长度比(即一个物体的主次轴的比)
5、细长度
细长度 是 区域外接矩形的长宽比
(外接矩形,即包含该区域的“最小矩形”)
6、矩形度
令 https://www.zhihu.com/equation?tex=F_k 为区域面积和外接矩形面积的比
因为矩形具有方向 k
矩形度是以离散化的方向 k 为参数最大化这个比率:
7、方向
方向是仅在细长区域下有意义的属性
被定义为 :最小外接矩形的最长边的方向
8、紧致度
紧致度 是独立于线性变换的一个通用的形状描述特征
在欧氏空间里最紧致的区域是圆
内部边界,紧致度设定的数值在区间 https://www.zhihu.com/equation?tex=%5B1%2C%2B%5Cinfty%5D
外部边界,紧致度设定的数据在区间 https://www.zhihu.com/equation?tex=%5B16%2C%2B%5Cinfty%5D
只有在使用外部边界表示的时候,才会独立于线性变换
1、简单几何区域描述子使用了待描述区域的几何属性:
-面积
-欧拉数
-投影
-高度、宽度
-离心率
-细长度
-矩形度
-方向
-紧致度
矩
[*]区域的矩表示:把一个 归一化的灰度级图像函数理解为一个二维随机变量的概率密度
这个随机变量的属性可以用统计特征 - 矩 来描述
[*]可以定义独立于尺度、平移、旋转的“基于矩 的描述子”
2、统计矩把-一个归一 化的灰度级图像的数理解为一个二维随机变量的概率密度。这个随机变量的属
性可以由统计特征 ——矩来描述。 可以定义独立于尺度、平移、旋转的基于矩的描述子。
凸包
[*]凸区域
一个区域 是凸的,当且仅当对于任意两点 https://www.zhihu.com/equation?tex=x_1%2Cx_2+%5Cin+R
由它的端点 https://www.zhihu.com/equation?tex=x_1%2Cx_2 定义的整个直线段 https://www.zhihu.com/equation?tex=x_1x_2 都在区域 的内部
[*]凸包
区域的凸包是满足条件的最小凸区域
3、区域的凸包是满足条件的最小凸区域
复杂的形状的描述
更复杂的形状可以通过把区域分解为较小较简单的子区域来描述
物体用”平面图“来表示,其”结点“代表由区域分解产生的”子区域“
而区域形状 由 图的属性来描述
有两种一般的途径来得到子区域的图
1、区域细化,它可以用图来描述的区域骨架
2、区域分解:分解为子领域开始,然后子区域由节点表示,节点的弧表示子区域的相邻关系,通常规定子区域为凸的
4、更复杂的形状可以通过把区域分解成为较小较简单的子区域来描述。物体可以表示为一个平面图,其结点代表由区域分解所产生的子区域。然后可以通过图的属性来描述区域形状。有两种得到子区域图的一般途径:
-区域细化
-区域分解
区域细化
基于区域骨架的图表示
[*]基于边界的描述方法的主要缺点
在描述边界时,在几何上接近的点可能会离彼此离得很远
图表示方法克服了这个缺点
[*]这个方法把 区域边界的显著弯曲点对于于图节点
[*]细化过程常使用中轴变换(也称为对称轴变换)来构建区域骨架
在中轴的顶一下,骨架是满足以下条件的所有区域点的集合
条件:它至少与两个分开的边界点具有相同的到区域边界的最小距离
5、区域细化产生可以用图来描述的区域骨架。细化过程通常使用中轴变换来构建区域骨架。在中轴定义下,骨架是满足以下条件的所有区域点的集合 : 它至少与两个分开的边界点具有相同的到区域边界的最小距离。
区域分解
分解方法 是基于形状识别的一个分级过程的想法
[*]形状基元
形状基元是形成区域的最简单的元素
是在较低的级别上定义的
[*]图的构建
图是在较高级别上构建的
结点由基元产生,弧描述了基元的相互关系
6、区域分解认为形状识别是一个分级的过程。形状基元定义在较低的级别上,基元是形成区域的最简单的元素。图是在较高的级别上构建的一结点由基元产生, 弧描述了基元的相互关系。
区域邻近图
[*]区域邻接图的条件
区域一旦可以分解为子区域或图像可以分解为区域
区域和图像的表示 就可以表示为区域邻近图
[*]区域邻接图
图把每一个区域表示为一个图结点
而邻近区域的结点以边连接起来
[*]区域邻近图的构建
区域邻近图可以从图像的四叉树表示、行程编码的图像数据等构造出来
7、区域邻近图把每一个区域表示为一个图结点,而邻近区域的结点用边连接起来。区域邻接图是区域邻近图的一个特例。
<hr/>形状类别
[*]形状类别
我们期望形状类别能很好地表示属于这个类别的物体的一般形状
并且能够突出类别间的形状差别
类别内允许的形状变化不应该影响其描述
[*]在特征空间中,确定“依类别而不同的区域”是一个广泛应用的“类内形状差别表示 ”的方法
[*]形状类别定义的另一个方法
形状类别定义的另一个方法 是使用一个单独的原型形状
确定一个平面卷积变换,使得如果在该原型上使用这个变换时能生成具体类别中的形状
1、形状类别表示属于这一类别的物体的一 般形状,突出类别间的形状差别。
2、在特征空间中确定依类别而不同的区域是一个广泛应用的类内形状差别表示的方法。
页:
[1]