目标分割——基于目标轮廓

来源:互联网 发布:吕宋岛 台风 知乎 编辑:程序博客网 时间:2024/05/22 12:58

目标分割将感兴趣的区域从图像中分离并提取出来,也可看做基元检测的一种推广。两类方法可用于目标分割:

  • 基于目标轮廓
    考虑目标与图像中 其他部分的界限,如果能确定目标轮廓,就可将目标与图像的其他部分分割开。在这种方法中,除了检测出轮廓点再连接起来,还可以边检测轮廓点边连接。
  • 基于目标区域
    考虑所有属于目标区域的像素,如果能确定出每个属于目标的像素就可以获得完整的目标。通常是假设构成目标区域的像素的灰度值大于某个特定的阈值,确定这个阈值把目标区分开。

轮廓搜索

边缘检测方法可以检测出目标轮廓上的边缘点,将这些点看做目标的边界点,将边界点连接起来就可获得目标轮廓,这可看做是一种基于轮廓的目标分割方法。
轮廓搜索是边检测边连接并最后获得目标轮廓。边检测边连接考虑了图像中的边界的全局信息,在图像受噪声影响较大时仍可获得较为鲁棒的结果。

图搜索

将边界点和边界线用图结构表示。通过在图中搜索对应最小代价的通道就可以找到闭合边界,这就是图搜索方法。具有全局性,受噪声影响较小,但是方法复杂,计算量大。
在图中搜索对应代价最小的通道时经常借助图像中的边缘信息。定义图中的边缘元素是两个互为4-近邻的像素间的边界。如图,像素p和q之间的竖线以及q和r之间的横线所示。目标的边界或轮廓是由一系列边缘元素构成的。
图明天补
下图所示为图像中的一个区域,各网格点代表像素,括号内的数字代表各像素的灰度值。设每个由像素q和p确定的边缘元素对应着一个代价函数:

c(p,q)=H[f(p)f(q)]

H:图像中的最大灰度值;f(p)f(q)分别为像素p和q的灰度值;从式中可以看出,灰度值的差小则代价大,灰度值的差大则代价小;根据梯度的概念,代价大对应着梯度小,代价小对应着梯度大,所以代价函数的取值与像素间的梯度值成反比。那么根据代价很熟,利用图搜索技术从上到下可检测出对应大梯度边缘元素的边界段。
图明天补
搜索图中,每个结点对应一个边缘元素,方框中的两对数是边缘元素两边的像素坐标。边缘元素的代价标在图中指向该元素的箭头上,这个数值代表了如果用这个边缘元素作为边界的一部分所需要的代价。每条从起始结点到目标结点的通路都有可能是一个可能的边界。
图明天补

动态规划

借助启发性知识加快了搜索速度,但通常不能保证发现全局最小代价通路。
r(n):从起始结点s出发经过结点n到达目标结点的最小代价通路的估计代价。

r(n)=g(n)+h(n)

g(n):从起始结点s出发到达结点n的最小代价通路的估计代价;
h(n):从结点n到目标结点的通路的估计代价h(n)之和。
g(n)可取为目前从s到n的最小代价通路,h(n)借助启发性知识(例如根据到达某结点的代价确定是否展开该结点)得到。
算法步骤如下:

  • 将起始结点标记为OPEN并置g(s)=0
  • 如果没有结点OPEN,失败退出,否则继续
  • 将根据r(n)=g(n)+h(n)得到估计代价r(n)为最小的OPEN结点标记为CLOSE
  • 如果n是目标结点,找到通路(可由n借助指针上溯至s)退出,否则继续
  • 展开结点n,得到它的所有子结点(如果没有子结点,返回第2步)
  • 如果某个子结点ni还没有标记,置r(ni)=g(n)+c(n,ni),标记为OPEN并将指向它的指针返回到n
  • 如果子结点ni已经标记为OPEN或者CLOSE,根据g(ni)=min[g(ni),g(n)+c(n,ni)]更新它的值。将g值减小的CLOSE子结点标记为OPEN, 并将原先指向所有其g值减小的子结点的指针重新指向n。返回第2步。

    未完待修

主动轮廓模型

主动轮廓模型是一种基于边缘信息的目标分割方法,先构建一个初步的图像中目标的封闭曲线,再通过逐步改变封闭曲线的形状以逼近目标的真实轮廓。在对目标轮廓的逼近过程中,封闭曲线像蛇一样不断改变形状,所以主动轮廓模型也成为蛇模型。

主动轮廓模型

一个主动轮廓模型是图像上一组排序点的集合,可表示为:

V=V1,...,VL

其中各个点可表示为:
vi=(xi,yi),i=1,...,L

处于轮廓上的点可通过解一个最小能量问题迭代地逼近目标的边界,对每个处于vi领域的点vi,计算一下能量项:
Ei(vi)=αEint(vi)+βEext(vi)

其中,Eint是依赖于轮廓形状的能量函数Eext是依赖于图像性质的能量函数;αβ是加权常数。
下图解释了初始轮廓逼近目标轮廓的过程。

这里写图片描述

其中vi是主动轮廓上的一点,vi是根据最大梯度确定的当前最小能量位置。在逼近过程中,每个点vi都移动到对应的Ei最小值的位置点 vi。如果能量函数选择恰当,通过不断调整和逼近,主动轮廓V应该能最终停到(对应最小能量的)目标轮廓上。

能量函数

参考

计算机视觉教程 A Course of Computer Vision 章毓晋编著