APP下载

基于序位滤波的斑点形态滤波器①

2017-09-15张艳勤童卫青何荣炜

计算机系统应用 2017年9期
关键词:外接圆圆环斑点

张艳勤, 童卫青, 何荣炜

(华东师范大学 计算机科学与软件工程学院,上海 200062)

基于序位滤波的斑点形态滤波器①

张艳勤, 童卫青, 何荣炜

(华东师范大学 计算机科学与软件工程学院,上海 200062)

斑点是图像中的一种基本灰度形态,在图像分析中有着重要应用.本文提出了一种新的斑点形态滤波器(Blob Form Filter,以下简称BFF),用于图像中斑点形态的目标检测.BFF采用了序位滤波原理,所以它对噪声具有较好的鲁棒性.实验结果表明,BFF可以有效地从受噪声污染的二值图像、灰度图像中检测出指定大小的斑点区域,并且抽出的斑点形态非常接近于斑点原有的形态.

斑点形态滤波器;斑点检测;序位滤波

在计算机视觉研究领域中,斑点是指一幅图像中比背景亮或暗的一些像素点集合[1].斑点检测可以用来提取感兴趣的目标区域[2],并支持后续的目标识别和追踪工作,比如视频监控中的行人检测与跟踪、人眼定位等.

既有的斑点检测算法主要是基于LoG(Laplacian of Gaussian)[3]算法.LoG算法首先使用高斯卷积滤波对图像降噪,再用拉普拉斯算子对图像进行二阶微分寻找极值点来检测斑点.LoG算法存在对噪声敏感,只能检测中心对称的斑点形状等缺陷,一些学者提出了相关改进算法[4-7].Kong[4]等人提出了一种gLoG(Generalized Laplacian of Gaussian)斑点检测算法,该算法增加了多种旋转对称的高斯核,可以检测旋转对称的斑点形态.Miao[5]等人提出了一种基于ROLG (Rank order Laplacian of Gaussian)的斑点检测算法,通过设置秩排序操作使滤波器对噪声有较好的鲁棒性.Zhang[6,7]分别提出了基于HLoG (Hessian-based Laplacian of Gaussian)、HDoG (Hessian-based Difference of Gaussian)的斑点检测算法,可以从图像中提取尺度更小的斑点形态.一些学者也提出了其他斑点检测算法[8-11].Ren等人[8]提出了一种基于两个秩排序滤波器(Rank Order Filter)的斑点检测的算法,并应用于人眼检测.该算法使用两个秩排序滤波器分别提取暗斑点与其周围的亮区域,将两个滤波值做差得到暗斑点的滤波响应点,但是该滤波器只能提取圆形形状的暗斑点.Yamamoto[9]提出了一种基于数理形态学的Quoit滤波器,该滤波器使用两种结构元素对图像分别做膨胀运算,膨胀运算结果的差值作为一次滤波结果,可以检测出斑点.但是该滤波器只能提取圆形斑点的形状,并且对噪声的鲁棒性差.杨[10]等人提出了一种基于多尺度的各向异性平滑方程的圆形滤波器对肺部CT图像中的结节进行检测.Ming[11]提出了一种基于混合拉普拉斯(Hybrid of Laplacian)和 DoH(Determinant of Hessian)的多尺度斑点检测算法,可以从彩色图像和灰度图像中提取斑点.

本文在总结前人研究方法的基础上,提出了一种新的斑点形态滤波器,可以有效地从二值图像和灰度图像中检测出指定尺寸的任意斑点形状.

1 斑点形态滤波器

1.1 BFF的原理

如图1所示,如果灰度图像中存在一个斑点形态区域B,B内灰度值与周围的灰度值有一定差值,则区域B为一个具有斑点形态的待检测目标.

图1 BFF的原理图

为了检测出斑点区域B,我们构建图2所示的圆盘和圆环这两种结构元素.圆盘用于覆盖斑点区域,圆环内圆半径大于圆盘半径,且圆环有一定宽度.

设p为斑点区域像素点,并假定斑点区域的灰度值比周围的要大.先把圆环内的像素点灰度值按从大到小的顺序进行排序,并选择一个合适序位x,设序位x的灰度值为vx.然后将被圆盘所覆盖区域内的像素点的灰度值与vx做差,若差值大于斑点置信度阈值T,则该差值作为该点的滤波结果,否则滤波结果为0.这样我们就能把斑点区域检测出来.

BFF中,圆环对应与斑点形态灰度做比较的区域,而圆环内圆半径对应着这个比较区域与斑点区域的距离.合理地设置圆盘和圆环结构元素的参数可以提高斑点检测的鲁棒性.

1.2 BFF的定义

1.2.1 BFF的定义

BFF由圆盘和圆环两个结构元素构成,如图2所示.圆盘半径为r3,圆环内圆半径为r2,圆环外圆半径为r1,其中r1≥r2,BFF的形态结构元素的参数定义如表1所示,坐标系设定如图3所示.

图2 BFF的形态结构元素

图3 BFF的坐标系设定

表1 BFF形态结构元素的各参数定义

1.2.2 BFF的滤波运算

序位滤波是指圆环中的像素灰度排序之后,圆盘中每个像素分别与圆环中指定序位的像素灰度做差,把灰度差值作为滤波结果.

设(x,y)为当前BFF原点p的坐标,I(x,y)为该点处的像素灰度值,点p对应的圆盘和圆环区域分别为D和R.设圆环序位数为sn,R[sn]为圆环内像素灰度经过排序后在序位sn处的灰度值,滤波置信度阈值为T,则BFF序位滤波运算定义为:

对于无噪声的二值图像来说,圆环序位设定为1就可获得预期的滤波效果.对受到噪声污染的二值图像以及灰度图像来说,选择合适的滤波序位可以有效降低噪声影响,提高滤波的鲁棒性.

2 验证实验

2.1 实验图像库

我们生成四类图像库(表2)来验证BFF的有效性.四类图像库分别包含人工二值图像、人工二值噪声图像、灰度合成图像以及人脸图像.

表2 实验用图像库

图像库A:包含10种形状3种尺寸共30种二值斑点形状,每种尺寸的斑点有相同半径的外接圆.如图4(a)所示,第1~2行斑点的外接圆半径为20 pix,第3~4行斑点的外接圆半径为30 pix,第5~6行斑点的外接圆半径为40 pix.图像库B:对图像库A分别施加三种椒盐噪声(分别为5%,10%,15%)、三种高斯噪声(均值为0,方差分别为0.01,0.03,0.05)、三种混合噪声(10%的椒盐噪声分别与均值为0、方差为0.01,0.03,0.05的高斯噪声混合),一共生成9幅图像,图4(b)为施加10%椒盐噪声和均值为0、方差为0.03高斯噪声的混合噪声图像.图像库C:由灰度斑点区域与20种不同背景图像叠加而成的灰度合成图像,其中灰度斑点区域是由图像库A的斑点区域覆盖在一幅较亮的图像上得到的,图4(c)为其中一幅图像.图像库D:是国际公开的人脸图像库Jaffe[12],其中包含了10个人的不同表情变化的213幅256×256的灰度图像,图4(d)为其中一幅图像.

下面我们分别在上述四个图像库上对BFF的性能进行验证实验.

2.2 图像库A的验证实验

以图5(a)为例来说明BFF在图像库A上的实验过程.图5(a)中共有10种形状和3种尺寸的30个斑点形状,实验目标是检测出外接圆半径为30,即第3~4行中斑点,具体步骤如下文所述.

图4 各图像库中的图像样例

(1)BFF参数第1次设定

BFF的圆盘半径r3=30和目标斑点尺寸一致,圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+2,采用序位滤波模式,序位数为1.

(2)抽出外接圆半径小于等于30的斑点

用(1)设置好的BFF对图5(a)进行滤波处理,并设BFF的置信度阈值T=20.由滤波结果图5(b)可知,第1~4行的斑点被检测出,其它大于该外接圆尺寸的第5~6行斑点未被滤波出来.

(3)BFF参数第2次设定

为了抽出第1~2行的斑点,BFF的参数设定如下:r3=20,r2=r3+1,r1=r2+2,采用序位滤波模式,序位数为1.

(4)抽出第 3~4行的斑点

用设置好的BFF对图5(b)进行滤波后得到了图5(c)的结果,然后我们把图5(b)和图5(c)的滤波结果做差最终得到目标斑点的检测结果,如图5(d)所示.

实验结果表明BFF可以从二值图像中检测出指定大小的斑点形状.

2.3 图像库B的验证实验

以图4(b)为例来说明BFF在图像库B上的实验过程.图像库B是在图像库A的基础上添加了不同程度的高斯噪声和椒盐噪声.实验后的是验证BFF能从添加了椒盐噪声和高斯噪声的混合噪声图像中检测出第3~4行外接圆半径为30的斑点形状,具体步骤如下:

(1)BFF参数的第1次设定

BFF的圆盘半径r3=30和目标斑点尺寸一致,圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+3,采用序位滤波模式,序位为圆环内像素总数的第5%位.

(2)抽出外接圆半径小于等于30的斑点

用(1)设置好的BFF对图4(b)进行滤波,并设BFF的置信度阈值T=50,图6(a)是其第一次滤波后的结果,原图中第1~4行的斑点都被有效地抽出来了.

(3)BFF参数的第2次设定

我们只修改圆盘半径r3=20,其它参数不变,检测半径为20的斑点.

(4)抽出图中的第3~4行的斑点

用(3)设置好的BFF对图6(a)进行滤波得到如图6(b)所示滤波结果,从图中可以看出外接圆半径为20的斑点被滤波出来.为了消除斑点区域里的噪声,接着对图6(a)和6(b)进行中值滤波处理,分别得到如图6(c)和6(d)所示的滤波结果,从图中可以看出噪声得到了较好的抑制.然后我们将两个中值滤波结果做差得到图6(e),最后进行二值化处理并使用数理形态学的开操作去除细微的噪声得到图6(f)的结果.

图5 BFF对二值斑点图像的滤波效果

图6 BFF对有噪声的二值斑点图像的滤波效果

我们对图像B库的所有图像做了BFF验证实验,实验结果表明BFF可以从受较严重的噪声污染的二值图像中检测出指定大小且较完整的目标斑点形状.

2.4 图像库C的验证实验

以图4(c)为例来说明BFF在图像库C上的实验过程.实验后的是验证BFF能够从合成灰度图像中检测出外接圆半径为30的斑点形状.处理步骤如下:

(1)BFF参数的第1次设定

BFF圆盘半径r3=30和目标斑点尺寸一致,圆环内圆半径r2=r3+2,圆环外圆半径r1=r2+3,采用序位滤波模式,序位数为3.

(2)抽出外接圆半径小于等于30的斑点

用(1)设置好的BFF对图4(c)进行滤波,并设置滤波置信度阈值T=50,得到图7(a)所示的滤波结果,从图中可以看出第1~4行斑点被有效地检测出来.

(3)BFF参数的第2次设定

为了抽出图中第1~2行的斑点,我们把BFF的圆盘半径设定为r3=20,序位数设定为8,其它都不变.

(4)抽出图中的第3~4行的斑点

用(3)设置好的BFF对图7(a)进行滤波得到如图7(b)所示滤波结果,从图中可以看出外接圆半径为20的斑点都被抽出,同时也包含较少的背景滤波响应.

我们对两幅滤波结果图像进行中值滤波处理,以提高斑点区域的图像质量,图7(c)和(d)分为别为图(a)和(b)的中值滤波结果.接着将两个滤波结果做差并设置阈值去除噪声得到图7(e).最后对图7(e)进行二值化并使用开操作去除细微的噪声后得到图7(f)所示的结果.

图7 BFF对斑点形态灰度图像的滤波效果

我们用同样的方法对图像库C中的所有图像都进行了实验验证了BFF的有效性.图8为图像库C中另外三张合成图像的滤波结果示例,可以看出,BFF能够有效地从灰度合成图像中检测出外接圆半径为30的斑点形状.图8(e)中由于背景图像中存在高亮且外接圆半径接近30的斑点形态,所以这部分区域也被提取出来,属于合理范围内的结果.

图8 图像库C中部分合成灰度图像的滤波效果

2.5 图像库D的验证实验

图像库D是国际公开的、用于评估人脸识别和表情识别算法的人脸库,如何从人脸图像中检测出眼睛位置,是人脸识别的一个很重要的处理.本实验后的是通过一个实际的眼球斑点检测,来验证BFF的性能,具体步骤如下:

(1)图像预处理

我们先训练了一个基于随机决策树的人脸快速检测分类器,对图像库中图像进行人脸检测,得到图9(a)所示的人脸矩形区域,接着对人脸矩形区域进行数理形态学的开操作处理以去除眼球中的白光反射点,最后对开操作后的人脸矩形区域行反色处理,使人眼呈现出高亮的斑点形态.

(2)候选眼球的检测

由于图像中眼球的大小是不固定的,为此根据人脸库中眼球半径大小的范围设计了一组BFF滤波器.BFF滤波器组的圆盘半径r3从12到16递增,BFF滤波器组的圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+2,采用序位滤波模式,序位数为3.每个滤波器对同一个人脸区域做一次滤波处理,然后做一次数理形态学的开操作以去除噪声,最后把5次处理的结果进行叠加,叠加的规则是:将每个像素点的最大的滤波响应值作为最终的叠加结果,结果如图9(b)所示.

图9 BFF人脸图像的人眼滤波效果

(3)眼球斑点的提取

从图9(b)中可以看到眼球斑点被滤波出来的同时面部的其他斑点如鼻孔等也被滤波出来了,这是合理的结果.

为了从候选眼球斑点中抽出真眼球斑点,我们做了以下处理:

1)对图9(b)的候选眼球进行二值化处理和标记处理,获取所有斑点的中心.

2)将每个中心点两两配对,作为双眼候选点.接着用以下规则对双眼候选点进行配对:

①两眼连线的倾角不大于±30度;②眼间距离在设定范围内;③根据斑点中心的x坐标关系确定左右眼的候选斑点.

3)将符合上述规则的候选双眼中心点对坐标所对应的矩形区域用人脸区域验证分类器(我们实验室自己训练的、基于Haar特征的人脸分类器)进行验证,最终得到如图9(c)所示的真眼球斑点.图9(d)是从图9(c)中的眼球斑点经过轮廓提取并叠加在原图中的效果图.

我们用上述方法对图像库D里所有图像进行了眼球检测处理,实验结果表明BFF可以100%地滤波出眼球斑点.图10为图像库D中其它9幅人脸图像的实验结果图.

图10 人脸库D的其它9幅眼球检测的效果图

2.6 BFF与Quoit滤波器的对比实验

为了与Quoit滤波器[9]进行对比,我们做了两个对比实验,图11(a)和图11(b)分别为两幅对比实验图像.图11(a)是在图4(a)中第3行左起第3个和第4个斑点之间添加了一条2个像素粗的细线的二值图像.图11(b)是在图11(a)上施加了1%的椒盐噪声的二值斑点图像.由细线连接的两个斑点,其实已经成为一个连通元,而不是严格意义上的斑点,这种情况在实际图像里经常会碰到,我们也可以认为是噪音.对比实验的后的是检验BFF滤波器和Quoit滤波器是否能够从这样的噪音中检测出斑点.

图11 BFF与Quoit滤波器对比实验图像

2.6.1 对比实验1

实验图像为图11(a),首先使用Quoit滤波器检测外接圆半径为30的斑点.第一次滤波我们设置圆盘半径r3=30,圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+2,用于检测外接圆半径小于等于30的斑点.第二次滤波我们设置圆盘半径r3=20,圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+2,用于检测外接圆半径为20的斑点.两次滤波斑点置信度阈值T均为20.最后将两次滤波结果做差得到外接圆半径为30的最终检测结果,如图12(a)所示.

接着我们使用BFF滤波器检测外接圆半径为30的斑点形状.第一滤波我们设置圆盘半径r3=30,圆盘内圆半径r2=r3+1,圆环外圆半径r1=r2+2,序位为7,用于检测外接圆半径小于等于30的斑点.第二次滤波我们设置圆盘半径r3=20,圆环内圆半径r2=r3+1,圆环外圆半径r1=r2+2,序位为5,用于检测外接圆半径为20的斑点.两次滤波斑点置信度阈值T均为50.最后将两次滤波结果做差得到外接圆半径为30的最终检测结果,如图12(b)所示.

对比实验1结果表明:(1)BFF可以从受细线噪声干扰的二值图像中成功检测并还原出斑点的形状.(2)Quoit滤波器不能还原斑点的原有形状(除了圆形斑点外).(3)Quoit不能从受细线噪声干扰的二值图像中检测出斑点.

2.6.2 对比实验2

实验图像为图11(b),Quoit滤波器和BFF的参数设置与对比实验1相同.图13(a)为Quoit滤波器的滤波结果,图13(b)为BFF的最终滤波结果.从图13(a)可以看出,外接圆半径为30的斑点有5个检测失败,其中包含有细线相连的两个斑点.图中有4个外接圆半径为20的斑点呈现,是因为两次滤波结果做差时,这4个斑点没有被完全减去,即在检测外接圆半径为30的斑点时,这些斑点检测成功,但在检测外接圆半径为20的斑点时,这些斑点检测失败.图中还存在许多受噪声影响的滤波响应结果,可见Quoit滤波器对噪声的鲁棒性较差.而BFF滤波器可以把目标斑点检测出来.

图12 对比实验1的效果图

对比实验2的结果表明:(1)BFF滤波器可以在有椒盐噪声的情况下检测出被细线连接的斑点;(2)在有椒盐噪声的图像中Quoit滤波器不能检测出被细线连接的斑点.

图13 对比实验2的效果图

通过两个对比实验可以得出:(1)BFF不仅能够检测出指定尺寸的斑点,还能够较好地还原斑点的形状,而Quoit滤波器则无法还原斑点原有形状.(2)BFF对噪声有较好的鲁棒性,而Quoit滤波器对噪声敏感.

3 结语

BFF作为一种新型斑点滤波器,可以从二值图像、有噪声的二值图像以及灰度图像中检测出指定大小的斑点,BFF结构简单运算简便,对噪声有较强的鲁棒性.

1 Mikolajczyk K,Schmid C.Scale &affine invariant interest point detectors.International Journal of Computer Vision,2004,60(1):63–86.[doi:10.1023/B:VISI.0000027790.02288.f2]

2 Isard M,Maccormick J.BraMBle:A Bayesian multiple-blob tracker.Eighth IEEE International Conference on Computer Vision.Vancouver,BC,USA.2001.34–41.

3 Lindeberg T.Feature detection with automatic scale selection.International Journal of Computer Vision,1998,30(2):79–116.[doi:10.1023/A:1008045108935]

4 Kong H,Akakin HC,Sarma SE.A generalized laplacian of Gaussian filter for blob detection and its applications.IEEE Trans.on Cybernetics,2013,43(6):1719–1733.[doi:10.1109/TSMCB.2012.2228639]

5 Miao ZW,Jiang XD.Interest point detection using rank order LoG filter.Pattern Recognition,2013,46(11):2890–2901.[doi:10.1016/j.patcog.2013.03.024]

6 Zhang M,Wu T,Bennett KM.Small blob identification in medical images using regional features from optimum scale.IEEE Trans.on Biomedical Engineering,2015,62(4):1051–1062.[doi:10.1109/TBME.2014.2360154]

7 Zhang M,Wu T,Beeman SC,Cullen-McEwen L,et al.Efficient small blob detection based on local convexity,intensity and shape information.IEEE Trans.on Medical Imaging,2016,35(4):1127–1137.[doi:10.1109/TMI.2015.2509463]

8 Ren JF,Jiang XD.Eye detection based on rank order filter.7th International Conference on Information,Communications and Signal Processing.Macau,China.2009.1–4.

9 Yamamoto S,Matsumoto M,Tateno Y,et al.Quoit filter-a new filter based on mathematical morphology to extract the isolated shadow,and its application to automatic detection of lung cancer in X-ray CT.Proc.of the 13th International Conference on Pattern Recognition.Vienna,Austria.1996.3–7.

10 杨金柱,赵大哲,徐心和.一种多尺度圆形滤波器在肺结节增强中的应用.系统仿真学报,2008,20(14):3726–3729.

11 Ming AL,Ma HD.A blob detector in color images.ACM Proc.of the 6th International Conference on Image and Video Retrieval.Amsterdam,The Netherlands.2007.364–370.

12 http://www.kasrl.org/jaffe.html.

Blob Form Filter Based on Percentile Filtering

ZHANG Yan-Qin,TONG Wei-Qing,HE Rong-Wei
(Department of Computer Science and Software Engineering,East China Normal University,Shanghai 200062,China)

Blob is a basic form in the gray-scale image,and has important application in image analysis.In this paper,a novel blob form filter (BFF)is proposed to detect the blob target in image.Based on the principle of percentile filtering,the BFF has strong robustness to noise.The experimental results show that BFF cannot only effectively detect the blob region specified size from binary image and gray-scale image with noise,but can also get the blob form very close to the original form.

blob form filter;blob detection;percentile filtering

张艳勤,童卫青,何荣炜.基于序位滤波的斑点形态滤波器.计算机系统应用,2017,26(9):24–31.http://www.c-s-a.org.cn/1003-3254/5969.html

2016-12-26;采用时间:2017-01-26

猜你喜欢

外接圆圆环斑点
圆环填数
斑点豹
猪圆环病毒病的发生、诊断和防治
将相等线段转化为外接圆半径解题
仅与边有关的Euler不等式的加强
巧剪圆环
转动戒指
Finding beauty in your scars Alexandra Heather Foss
摆脱病毒
一道IMO试题的另解与探究