基于Labelme的参考图像的手工分割*

2015-09-21 01:30吉江燕
网络安全与数据管理 2015年17期
关键词:分水岭连线多边形

吉江燕,方 挺

(安徽工业大学 电气与信息工程学院,安徽 马鞍山 243032)

0 引言

参考图像的手工分割对衡量图像分割算法的性能具有非常重要的意义。目前衡量图像分割算法性能的主要方法是通过其与手工分割的参考图像进行差异性对比来实现。由于差异性可以通过定义相关分割评价指标来具体完成,所以该方法具有很高的评价分辨率。本文将以多目标的矿石图像为例,使用基于种子标记的分水岭算法获取算法分割的矿石图像,通过LabelMe在线注释并结合离散点连线和闭合多边形内部填充算法完成手工分割的参考图像的获取,并将矿石目标的等面积直径作为分割评价指标来衡量矿石图像分割的效果。

1 矿石图像的算法分割

图1给出了640×512的矿石灰度图像,由于该图像中有大量的细碎铁矿石目标且相互粘连,所以本文先通过预处理获取图2所示的种子标记图像,在此基础上采用基于种子标记的分水岭算法完成图像分割[1-2]。基于种子标记的分水岭算法是通过标记所在的区域对原图像进行区域生长,以此抑制噪声对图像分割的影响,标记区域的结果影响图像分割的准确性。图3给出了基于种子标记分水岭算法的分割结果图像。该矿石图像被基于种子标记的分水岭算法分割成为246个矿石目标。

图1 640×512的细碎铁矿石灰度图像

图2 二值种子标记

图3 标记分水岭分割

为了检验矿石图像分割算法的可行性,本文将重点介绍如何使用LabelMe在线标识工具完成矿石图像的手动分割并保存参考图像。

2 LabelMe在线注释

LabelMe[3]是由麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)创建的一个开放的注释工具。目的是以此来创建计算机视觉研究所需要的图像集并通过网络立即共享,且随着时间的推移与时俱进。图像的注释以XML文件进行保存。用户可以下载平台上已有的带注释的图像集,包括原始图像集和对应的XML文件集,并通过LabelMe提供的MATLAB工具箱帮助对其进行处理。MATLAB工具箱提供一些函数,包括显示注释的图像、查询特定的注释内容、下载图像集等。用户同时也可以上传图像到该平台上,并对该图像中感兴趣的区域进行在线注释。

图4给出了图像中的一个矿石目标在线注释示意图。通过点击该矿石目标的边界来描绘包含该目标的多边形轮廓且命名为stone1。用户可以对图像中任意目标进行注释,不同的注释目标在图像中会用不同的颜色进行标记。对应图像注释的XML文件中保存了各目标的名称和点击目标边界所形成的多边形的离散坐标点,可通过LabelMe提供的MATLAB工具箱中的LMplot函数将离散坐标点进行连接以完成注释图像的显示。

图4 LabelMe在线注释矿石目标示意图

图5 给出了通过LabelMe完成的所有矿石目标的在线注释,该矿石图像总共注释了272个矿石目标。在线注释完毕后,下载对应图像的XML文件并结合MATLAB来作进一步处理。

图5 LabelMe矿石图像在线注释

3 参考图像的获取

由于XML文件中保存的是点击目标边界所形成多边形的离散坐标点,函数LMplot仅能够在图像上对各多边形的离散坐标点连线显示,并不能为此保存参考图像。因此本文通过更改LMplot函数实现参考图像的存储功能。具体完成的功能包括两点:离散点连线和闭合多边形内部填充。

由于LMplot函数是先将XML文件中的一个矿石多边形对应的离散坐标点取出并在图像上进行描绘,再循环取出下一个多边形对应的离散坐标点予以描绘,所以只需在其循环描绘多边形时对离散点连线并赋予相同且唯一标识的颜色即RGB值构成闭合的区域并进行内部填充,在图像中所有矿石描绘完毕的同时便可获取手动分割的矿石图像。

如图6所示,假设矿石目标此时由6个离散点组成,且对应在图像上连线的顺序是从①到⑥,分别对6个离散点进行两两连线,即①与⑥连接,②与①连接,…,⑥与⑤连接。现在考虑两点之间的连线方式,假设两点的始末坐标值分别为(x0,y0)和(x1,y1)。为使两点之间的连线顺滑,本文以两点之间的斜率值为基础进行连线。根据起点和终点之间(x,y)坐标值的大小变化可分为 8 种 情况,分别为(x↑(↓),y↑(↓))、(x 不变,y↑(↓))和(x↑(↓),y不变)。由于后四种情况下都有一个坐标轴的值不改变,所以两点之间的连线非常简单,不再赘述。

图6 矿石目标离散坐标点示例图

本文将以 (x↑,y↑) 即 x1>x0,y1>y0为例 说 明连 线过程,其余的三种情况是同样的原理。首先通过式(1)计算参数 k,k的整数部分记为 kint,余数部分记为 krem。

若 x1-x0>y1-y0(x1-x0<y1-y0),则 x(y)沿着增大的方向每填充 kint个坐标点,y(x)沿增大的方向填充 1个坐标点,直到填充到 y1-1(x1-1)为止,记录此时的 x(y)值,再补齐 y1(x1)的余数部分 krem。图 7 给出了(x↑,y↑)时 x1-x0>y1-y0情况下两点之间连线的示意图。

将描绘矿石目标多边形的离散点连线后,再对该闭合轮廓进行内部填充。首先找到该区域x的取值范围,对该取值范围内的每一个x值根据轮廓的颜色标识找到对应y方向上的两个端点,并逐个用相同的颜色填充y方向两端点之间的坐标点。同理找到该区域y方向的取值范围,并填充x方向两端点之间的坐标点,最终的填充结果是两者重叠的部分,以此消除单独对一种方向上填充出现的填充错误。图8给出了加注释的矿石图像,图9给出了通过算法获取的手动分割图像。

图7 x1-x0>y1-y0情况下两点之间连线示意图

图8 加注释的矿石图像

图9 手动分割图像

4 分割效果评估

本文采用等面积直径来分析算法分割的效果[4]。等面积直径 d由式(2)计算得到,其中 s代表了图像中每个矿石目标所包含的像素总个数。

获取矿石图像中所有矿石目标的等面积直径后,利用核密度估计求出等面积直径的概率密度分布,本文选用的核函数是高斯函数,再由此求出等面积直径的累积概率分布,得到累积粒度分布信息。图10给出了手动分割图像和算法分割图像的累积粒度分布图。从图10可知,真实粒度分布和估算粒度分布曲线很相近,说明基于标记的分水岭算法分割所获取的矿石目标边缘与实际矿石的边缘较吻合。

图10 算法分割图像和手动分割图像累积粒度分布图

5 结束语

本文提出了一种基于LabelMe的手工分割参考图像的获取方法,该方法能够很方便地标记图像中的各目标,并且通过算法可以实现图像的保存,由此可以方便地对图像分割算法的性能进行评价。

[1]王兰莎.多目标矿业复杂图像特征提取与分类[D].北京:北京化工大学,2011.

[2]王凤娥.改进后的分水岭算法在图像分割中的应用研究[D].济南:山东大学,2008.

[3]RUSSELL B C,TORRALBA A,MURPHY K P,et al.LabelMe: a database and web-based toolforimage annotation[J].International Journal of Computer Vision,2008,77(1-3):157-173.

[4]ZHANG Z,SU X,DING L,et al.Multi-scale image segmentation of coal piles on a belt based on the Hessian matrix[J].Particuology,2013,11(5):549-555.

猜你喜欢
分水岭连线多边形
多边形中的“一个角”问题
快乐连线
快乐连线
快乐连线
选 择
多边形的艺术
解多边形题的转化思想
快乐连线
多边形的镶嵌
2019,一定是个分水岭!