Reference from
Arbelaez, P., Maire, M., Fowlkes, C., & Malik, J. (2011). Contour detection and hierarchical image segmentation. IEEE transactions on pattern analysis and machine intelligence, 33(5), 898-916.
原文链接 https://ieeexplore.ieee.org/abstract/document/5557884

本文研究了计算机视觉中的两个基本问题:轮廓检测和图像分割。 我们为这两项任务提供了最先进的算法。 我们的轮廓检测器将多个局部线索组合成基于谱聚类的全局化框架。 我们的分割算法包括用于将任何轮廓检测器的输出转换为分层区域树的通用机器。 以这种方式,我们将图像分割的问题减少到轮廓检测的问题。 广泛的实验评估表明,我们的轮廓检测和分割方法都明显优于竞争算法。 可以通过用户指定的注释以交互方式细化自动生成的分层分段。 多个图像分辨率的计算提供了将我们的系统耦合到识别应用程序的手段。

4. Segmentation

在前一部分中产生的nonmax抑制的gPbgPbgPb轮廓通常不是闭合的,因此不将图像分割成区域。 这些轮廓可能仍然是有用的,例如,作为计算图像描述符的信号。 但是,封闭区域提供了额外的优势。 区域具有自己的比例估计值,并为识别中使用的计算特征提供自然域。 许多视觉任务也可以通过将具有数百万像素的图像转换为几百或几千个“超像素”来实现复杂性降低[67]。

在本节中,我们将展示如何恢复闭合轮廓,同时保留上一节中实现的边界质量增益。 我们的算法首先在[4]中报告,通过利用轮廓信号中的信息来构建分层分割。 我们引入了分水岭变换的新变体[68],[69],定向分水岭变换(Oriented Watershed Transform OWT),用于从轮廓检测器输出产生一组初始区域。 然后,我们从这些初始区域的边界构造一个超度量轮廓图(Ultrametric Contour Map UCM)[35]。

这个操作序列(OWT-UCM)可以看作是从轮廓到分层区域树的通用机制。 在得到的分层分割中编码的轮廓保留实值权重,说明它们作为真实边界的可能性。 对于给定的阈值,输出是一组闭合轮廓,这组闭合轮廓可以被视为分段segmentation或为基准为目的的边界检测器。

为了在最一般的设置中描述我们的算法,我们现在考虑任意轮廓检测器,其输出 E(x,y,θ)E(x,y,\theta)E(x,y,θ) 预测位置 (x,y)(x,y)(x,y)和方向θθθ处的图像边界的概率。

4.1 Oriented Watershed Transform

使用轮廓信号,我们首先为层次结构构建一个最好的划分,过分割over-segmentation,其区域确定了所考虑的最高细节级别。 这是通过计算 E(x,y)=max⁡θ(x,y,θ)E(x,y)=\max_\theta (x,y,\theta)E(x,y)=maxθ​(x,y,θ),轮廓检测器在方向上的最大响应来完成的。 我们将 E(x,y)E(x,y)E(x,y) 的区域最小值作为均匀分段(homogeneous segment)的种子位置,并将数学形态学[68],[69]中使用的分水岭变换应用于由 E(x,y)E(x,y)E(x,y) 定义的地形表面。 最小值的集水盆地,由P0P_0P0​表示,提供最细致的划分区域并且 对应的分水岭弧 K0\Kappa_0K0​,是边界可能的位置。

图11显示了标准分水岭变换的一个例子。 不幸的是,简单地通过弧上像素的 E(x,y)E(x,y)E(x,y) 的平均值将每个弧加权会引入伪像。【 这个问题的根本原因是轮廓检测器在强边界周围产生的空间扩展响应spatially extended response。 例如,像素可能位于附近但不在强垂直轮廓上。 如果该像素也恰好属于水平分水岭弧,则该弧将被错误地加权。】 在图11中可以看到几个这样的情况。当我们从所有局部最小值灌水时,最初的流域过分割(watershed over-segmentation)包含许多弧,他们应该是弱的但是与附近的强边界相交。


图11.分水岭变换。 左:原始图片。 左中:边界强度E(x,y)E(x,y)E(x,y)。 我们将E(x,y)E(x,y)E(x,y)视为地形表面并从当地最小值开始注水。 中右:此过程将图像划分为集水盆P0P_0P0​和弧K0\Kappa_0K0​。 每个局部最小值只有一个盆地,并且弧线与来自不同最小值的洪水相遇的位置重合。 局部最小值标有红点。 右:每个弧是通过沿着它的E(x,y)E(x,y)E(x,y)的平均值加权的。 这种加权方案产生伪影,例如两个雕像之间的小间隙中的强水平轮廓。

为了纠正这个问题,我们在一个我们称之为OWT的修改步骤中 强制K0\Kappa_0K0​边界强度与基础E(x,y,θ)E(x,y,\theta)E(x,y,θ)信号之间的一致性,如图12所示。作为第一步 重新加权过程中,我们从弧本身的局部几何中估计弧上每个像素的方向。 这些方向是通过近似线段上的分水弧获得的,如图13所示。通过线段连接弧的端点,我们不断递归细分任何不适合的弧。 通过根据线段上弧上点的最大距离表示近似准则作为线段长度的比例,我们得到了尺度不变的细分。 我们在细分弧上为每个像素(x,y)(x,y)(x,y)分配相应线段的方向 o(x,y)∈[0,π)o(x,y) \in [0,\pi)o(x,y)∈[0,π)。


图12.定向分水岭变换。左:输入边界信号 E(x,y)=max⁡θ(x,y,θ)E(x,y)=\max_\theta (x,y,\theta)E(x,y)=maxθ​(x,y,θ)。左中:从E(x,y)E(x,y)E(x,y)计算的分水岭弧。请注意,薄区域会产生伪影。中间:具有近似直线段细分的分水岭弧。我们通过在与连接其端点的直线段最远的点处递归地断开弧来以比例不变的方式计算该细分,如图13所示。当从线段到弧上的每个点的距离小于切割长度的固定比例时,细分终止。中右:四个方向θθθ的定向边界强度E(x,y,θ)E(x,y,\theta)E(x,y,θ)。在实践中,我们采样八个方向。右图:根据E在相关线段的方向上重新加权分水岭弧。诸如水平轮廓打破长细小区域的伪像被抑制,因为它们的方向与基础的E(x,y,θ)E(x,y,\theta)E(x,y,θ)信号不一致。

图13.轮廓细分。 (a)初始弧形颜色编码。 如果从弧上任何点到连接其端点的直线段的距离大于段长度的固定比例,我们在最大距离点将弧细分。 示出了一个弧的示例,虚线段表示新的细分。 (b)由尺度不变细分步骤递归应用而产生的最终弧组。 (c)重叠在细分弧上的近似直线段。

接下来,我们使用定向轮廓检测器输出E(x,y,θ)E(x,y,\theta)E(x,y,θ)来为每个圆弧像素(x,y)(x,y)(x,y)分配E(x,y,o(x,y))E(x,y,o(x,y))E(x,y,o(x,y))的边界强度。 我们以与θθθ相同的方式量化o(x,y)o(x,y)o(x,y),因此该操作是简单的查找。 最后,K0\Kappa_0K0​中的每个原始弧被赋予权重等于其包含的像素的平均边界强度。 比较图12中的中间左侧和右侧面板表明该重新加权方案消除了伪影。

4.2 Ultrametric Contour Map

轮廓具有以下优点:在存在真实基础轮廓的情况下表示不确定性是相当简单的,即,通过将二元随机变量与其相关联。通过上一节的OWT分配给弧边界强度可以解释为该弧是真实轮廓的概率的估计。

如何表示分割的不确定性并不是很明显。我们在这里利用的一种可能性是UCM [35],它定义了封闭的,非自相交的加权轮廓和区域的层次结构之间的对偶性。此层次结构的基本级别甚至可以考虑弱轮廓,因此是图像的过度分割。层次结构的上层仅考虑强轮廓,导致欠分割划。在各级之间移动可在这些极端之间进行持续的权衡。表示从单个分割到嵌套的分割集合的这种转换释放了后续处理阶段去使用来自多个级别的信息或基于附加知识选择级别。

我们的层次结构由基于贪婪图的区域合并算法构建。 我们定义一个初始图 G=(P0,K0,W(K0))G=(P_0,\Kappa_0,W(\Kappa_0))G=(P0​,K0​,W(K0​)) ,其中节点是区域P0P_0P0​,链接是分隔相邻区域的弧K0\Kappa_0K0​,权重W(K0)W(\Kappa_0)W(K0​)是区域之间的不相似性的度量。 该算法通过相似性对链接进行排序并迭代地合并最相似的区域来进行。 特别:

  1. 选择最小的加权轮廓:
  2. 设R1,R2∈P0R_1,R_2\in P_0R1​,R2​∈P0​ 是由C∗C^*C∗分割的区域
  3. 设置 R=R1∪R2R = R_1 \cup R_2R=R1​∪R2​ 并更新:
  4. 如果K0\Kappa_0K0​为空,则停止; 否则更新权重 W(K0)W(\Kappa_0)W(K0​)并重复

此过程生成一个区域树,其中叶子是P0P_0P0​的初始元素,根是整个图像,区域按包含关系排序。

我们将两个相邻区域之间的相异性定义为它们在K0\Kappa_0K0​中的公共边界的平均强度,其中权重W(K0)W(\Kappa_0)W(K0​)由OWT初始化。由于在算法的每个步骤中,所有剩余轮廓必须具有大于或等于先前移除的轮廓的强度,因此在合并过程期间当前被移除的轮廓的权重不会减小。因此,构造的区域树具有索引层次结构并且可以由树形图描述,其中每个区域RRR的高度H(R)H(R)H(R)是其首次出现的不相似度的值。等效地说,H(R)=W(C)H(R)=W(C)H(R)=W(C),其中CCC是其去除形成RRR的轮廓。层次结构还在P0×P0P_0×P_0P0​×P0​上产生度量,两个区域之间的距离由最小的包含段的高度给出:

这个距离满足超度量性质

因为如果RRR在R2R_2R2​之前与R1R_1R1​合并,则 D(R1,R2)=D(R,R2)D(R_1,R_2)=D(R,R_2)D(R1​,R2​)=D(R,R2​) ,或者如果RRR在R1R_1R1​之前与R2R_2R2​合并,则 D(R1,R2)=D(R1,R)D(R_1,R_2)=D(R_1,R)D(R1​,R2​)=D(R1​,R) 。 因此,整个层次结构可以表示为UCM [35],即通过消失的范围对每个边界进行加权而获得的实值图像。

图14给出了我们方法的一个例子。 UCM是一种加权轮廓图像 (a weighted contour image),通过构造,具有为任何阈值产生一组闭合曲线的显着特性。 相反,它是区域树的方便表示,因为可以通过在级别kkk处对UCM进行阈值处理来容易地检索标度kkk处的分割。 由于我们的尺度概念是平均轮廓强度,因此UCM值反映了相邻区域之间的对比度。


图14.轮廓的分层分割。 最左边:原始图像。 左:轮廓检测器gPbgPbgPb在方向上的最大响应。 中左:使用gPbgPbgPb作为输入的定向分水岭变换 - 超参数轮廓图(OWT-UCM)算法产生的加权轮廓。这个单个加权图像编码了整个分层分割。 通过构造,对其应用任何阈值保证产生一组闭合轮廓(权重高于阈值的轮廓),其反过来又定义了分割。 而且,【分割是嵌套的】。 增加阈值相当于移除轮廓并合并它们分离的区域。 中右:初始的过度分割对应了UCM的最佳水平,区域由其区域中的均值颜色表示。 右和最右:通过阈值处理UCM在0.5级时获得的轮廓和相应的分割。

4.3 Results

虽然OWT-UCM算法可以使用输入 E(x,y,θ)E(x,y,\theta)E(x,y,θ) 信号的任何轮廓源(例如,在阈值处理之前的Canny边缘检测器),但我们通过使用gPbgPbgPb检测器[3]获得了最佳结果。 我们使用gPb和基线Canny检测器报告实验,并将得到的分割算法分别称为 gPbgPbgPb-owt-ucm和Canny-owt-ucm。

图15和16示出了来自BSDS500的图像上的gPbgPbgPb-owt-ucm的结果。 由于OWT-UCM算法产生分层区域树,因此获得单个分段作为输出涉及比例的选择。 一种可能性是对数据集中的所有图像使用固定阈值,校准以在训练集上提供最佳性能。 我们将其称为最佳数据集规模optimal data set scale ODS)。 我们还评估了在每个图像的基础上通过预测选择最佳阈值时其性能。 通过这种最佳图像尺度optimal image scale OIS)的选择, 自然可以获得更好的分割。


图15. BSDS500上的分层分段结果。 从左到右:原始图像,由gPbgPbgPb-owt-ucm生成的UCM (a weighted contour image),以及通过ODS (optimal data set scale) 和OIS (optimal image scale) 方法进行阈值处理获得的分段。 所有图像均来自测试集。

图16. BSDS500上的额外的分层分割结果。 从上到下:图像,由gPb-owt-ucm生成的UCM,以及ODS和OIS分割。 所有图像均来自测试集。

4.4 Evaluation

为了提供OWT-UCM算法比较的基础,我们利用区域合并(Felz-Hutt)[32],均值漂移 Mean Shift [34],多尺度归一化切割 Multiscale NCuts [33]和SWA [31],[52] 切割方法见2.2节。 我们使用[2]中的基于边界的精确-召回框架以及2.3节中讨论的Variation of Information,概率兰特指数和切割覆盖标准(segment covering critera)来评估每种方法。 BSDS作为边界和区域质量测量的ground truth,因为人类绘制的边界是封闭的,因此也是分割的。

4.4.1 Boundary Quality

请记住,[2]开发的评估方法根据精度,真阳性比例和召回,检测到的ground truth边界像素的分比例来测量探测器的性能。 全局F-度量,或在最佳检测器阈值处的精度和召回的调和平均值,提供综合分数。

在我们的实验中,我们报告了算法的三个不同量化:数据集上的固定尺度(ODS)的最佳F-度量,每个图像中最佳尺度(OIS)在数据集上的聚合F-度量, 和在整个召回范围内的平均精度(AP)(相当于在精确-召回曲线以下的面积)。 表1显示了在BSDS上这些量化。图2和图17分别显示了BSDS300和BSDS500数据集上的整个精确-召回曲线。 我们发现在BSDS500上的重新训练是不必要的,可以直接使用在BSDS300上学习的相同参数。 图18显示了分割算法的并排比较。


表1. 在BSDS上的边界基准
给出了七种不同分割方法(上表)和两种轮廓检测器(下表)的结果。 所示为在为整个数据集(ODS)或每个图像(OIS)以及AP(average precision)选择最佳比例时的F-度量。图1,2和17显示了这些算法的整个的精确召回曲线。 请注意,边界基准在评估标准中具有最大的判别力,明确将四叉树(Quad-Tree)与所有数据驱动(data-driven)方法分开。


图2. BSDS300基准测试中的分割算法评估。 与我们的gPb轮廓检测器配对作为输入,我们的分层分割算法gPb -owt-ucm [4]产生的边界与其他方法产生的边界匹配ground truth的更好[7],[29],[30],[31] ,[32],[33],[34],[35]。


图17. BSDS500的边界基准。 将边界与human ground truth进行比较,我们可以在同一框架中评估轮廓检测器[3],[22](虚线)和分割算法[4],[32],[33],[34](实线)。 从BSDS300(图1和图2)到BSDS500(上图)时,性能是一致的。 此外,OWT-UCM算法保留了轮廓检测器质量。 对于gPb和Canny,将得到的分割边界与原始轮廓进行比较,表明了我们的OWT-UCM算法从轮廓构造分层分割而不会损失边界基准的性能。


图18. BSDS300上切割算法的成对比较。 对于在单个图像上比较的两种方法中的每一种,红点的坐标是在最佳图像尺度下的边界基准分数(F-度量)。 框内的总数表示一种算法更好的图像数量。 例如,左上角显示gPb -owt-ucm在99/100图像上超过NCut。 与SWA比较时,我们进一步限制第二种方法的输出以匹配SWA产生的区域数量。 【除Mean Shift和NCut之外,所有差异均具有统计学意义。】

在图17中特别注意的是对应于轮廓检测器输出的曲线对和通过在该输出上运行OWT-UCM算法而产生的区域。 每对中的质量相似性表明我们可以将轮廓转换为分层分割而不会损失边界精度或召回。

4.4.2 Region Quality

表2列出了BSDS的区域基准。 对于与分层算法的不同尺度或不同参数集相关联的一系列机器分割{SiS_iSi​},我们报告了通过在{SiS_iSi​}中(segments)覆盖ground truth的三个分数。 这些对应于从通用固定比例(ODS),每个图像的固定比例(OIS)或从层次结构或集合{SiS_iSi​}(最佳)的任何级别中的分割中选择覆盖区域。 我们还报告了概率兰特指数和信息变化基准。


表2. 在BSDS上的区域基准
对于每种分割方法,最左边的三列报告根据ODS(universal fixed scale OR optimal data set scale),OIS(fixed scale per image OR optimal image scale)或最佳覆盖标准覆盖grouth truth部分(segments)的分数。 最右边的四列分别使用概率兰特指数(PRI)和信息变化(VI)基准将分割方法与ground truth进行比较。 在区域基准中,覆盖标准具有最大的动态范围,其次是PRI和VI。

虽然分割算法的相对排名在不同的基准标准下保持相当一致,但边界基准(表1和图17)似乎最能区分性能。 通过评估诸如四叉树(具有八个级别)的固定的区域层次来确认该观察结果。 虽然边界基准和分割覆盖标准明确地将其与所有其他分割方法分开,但是概率兰德指数和信息变化的差距变窄。

4.4.3 Additional Data sets

我们将实验集中在BSDS上,因为它是可用于我们目的的最完整的数据集,已经在几个出版物中使用,并且具有为每个图像提供多个人类标记的分割的优点。表3报告了Canny-owt-ucm和gPb -owt-ucm在另外两个公开数据集上的比较:

  • MSRC [71]:MSRC对象识别数据库由591个自然图像组成,对象属于21个类。我们使用[11]的地面实况对象实例标记来评估性能,这比原始数据更清晰,更精确。

  • PASCAL 2008 [8]:我们在2008 PASCAL分段挑战中使用分段任务的训练和验证集,由1,023个图像组成。这是用于识别的最困难和最多样化的数据集之一。我们根据提供的对象实例标签评估性能。请注意,仅标记属于20个挑战类别的对象,并且所有像素的76%未标记。


表3. 在MSRC和PASCAL 2008中的区域基准。 显示了segment covering criteria的分数

4.4.4 Summary

gPb-owt-ucm切割算法在每个数据集和我们测试的每个基准标准上提供最佳性能。 此外,它简单,快速,无需调整参数,并且如以下部分所述,可以适用于自上而下的知识源。

1. 【Part3】 Contour Detection and Hierarchical Image Segmentation【轮廓检测图像分割】相关推荐

  1. 1. 【Part2】 Contour Detection and Hierarchical Image Segmentation【轮廓检测图像分割】

    Reference from Arbelaez, P., Maire, M., Fowlkes, C., & Malik, J. (2011). Contour detection and h ...

  2. 谣言检测相关论文阅读笔记:Towards Multi-Modal Sarcasm Detection via Hierarchical Congruity Modeling

    Towards Multi-Modal Sarcasm Detection via Hierarchical Congruity Modeling with Knowledge Enhancement ...

  3. Self-Supervised Difference Detection for Weakly-Supervised Semantic Segmentation

    Self-Supervised Difference Detection for Weakly-Supervised Semantic Segmentation 摘要 1. Introduction ...

  4. Tensorflow object detection API 搭建自己的目标检测模型并迁移到Android上

    参考链接:https://blog.csdn.net/dy_guox/article/details/79111949 之前参考上述一系列博客在Windows10下面成功运行了TensorFlow A ...

  5. 使用tensorflow object detection API 训练自己的目标检测模型 (三)

    在上一篇博客"使用tensorflow object detection API 训练自己的目标检测模型 (二)"中介绍了如何使用LabelImg标记数据集,生成.xml文件,经过 ...

  6. CVPR 2017:Interspeices Knowledge Transfer for Facial KeyPoint Detection(跨物种脸部关键点检测知识迁移)

    CVPR 2017: Interspeices Knowledge Transfer for Facial KeyPoint Detection(跨物种脸部关键点检测知识迁移) 一.介绍 本文主要涉及 ...

  7. PartNet: A Recursive Part Decomposition Network for Fine-grained and Hierarchical Shape Segmentation

    摘要 3D分割可被视为多类标签问题. 现有模型针对固定标签集进行训练,极大地限制了它们的灵活性和适应性.本文中,我们采用自上而下的递归分解,并基于递归神经网络开发了第一个用于3D形状的分层分割的深度学 ...

  8. 粗读UPI-Net: Semantic Contour Detection in Placental Ultrasound

    本文研究的目标为胎盘的语义轮廓检测,即不分割出整个胎盘,而是只标注出边缘位置. 本文的方法是在简单的多尺度特征融合的基础上增加了两个新的模块,一个关注全局信息,一个关注局部信息. 先来看看传统的多尺度 ...

  9. 使用tensorflow object detection API 训练自己的目标检测模型 (二)labelImg的安装配置过程

    上一篇博客介绍了goggle的tensorflow object detection API 的配置和使用, 这次介绍一下如何用这个API训练一个私人定制的目标检测模型. 第一步:准备自己的数据集.比 ...

最新文章

  1. datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
  2. repo同步代码_iTOP-4412开发板android4.0代码下载和编译
  3. oracle 导入数据
  4. cannot import name ‘softmax‘ from ‘scipy.special‘
  5. TensorFlow框架--Keras
  6. MySQL+Amoeba实现数据库主从复制和读写分离
  7. 1小时零基础赚一千,教你完成图书管理系统,不用打代码绝对学得会![完整全站教学 IVX 实战第四篇]
  8. MUI tab选项卡之间的切换和数据获取
  9. Android Handler加载图片的几种方式(完)
  10. 关于WP7中的90M内存限制问题及设计原则
  11. 台式电脑cpu排行榜_微星新款游戏台式电脑亮相 配备英特尔第十代CPU
  12. html安装方正兰亭,方正兰亭字体
  13. 疾病自动编码任务的调研(二)——相关比赛及数据集
  14. java 定时任务注解
  15. js+css改造jsmind实现思维导图 | 树状图
  16. 驻波在物理上的应用与魅力
  17. 如何查html病毒svchost.exe,解决html文件的DropFileName = svchost.exe木马
  18. 《刻意练习——如何从新手到大师》——创造天才
  19. python绘制条形图的方法_python绘制条形图方法代码详解
  20. 掌上聊app v1.5.5

热门文章

  1. 排查【Jedis客户端触发 Too many open files 问题】
  2. Android 高德地图添加线段纹理
  3. 根除 ff新鲜事 互联网毒瘤
  4. 递归算法计算Legendre多项式
  5. 阿里云部署k8s集群
  6. tonybot 人形机器人 首次开机 0630
  7. Swift5.1 语言指南(十三) 方法
  8. 用Python写了一个水果忍者小游戏
  9. 别笑话爬虫工程师了,数仓库工程师也被警察传话了。
  10. 手机浏览器能接收彩信,还hold住吗?