随着工业的发展,工业废水的数量逐渐增加,对核废液等废水的处理至关重要。而水下图像分割技术作为水下机器视觉的关键技术之一,发挥着至关重要的作用。由于水下环境中水介质的波动对光线散折射及吸收效应,水中图像存在对比度低、信噪比低以及图像特征变形失真的问题[1],使得我们获取的水下图像不清晰,造成了水下目标的特征提取与识别不准确。图像分割是水下目标特征提取和识别的关键技术,水下目标分割的准确性严重影响着特征提取和识别的结果。
1 水下图像分割图像分割就是要把有用的目标区域从图像背景中提取出来,去除冗余信息,降低后续处理过程中的计算量,是对图像进行特征提取和目标识别过程中至关重要的步骤[2−3]。图像分割算法有很多种,虽然各类分割算法在原理上有重叠,但大致可分为3类[4]:阈值分割、边缘检测和基于区域的方法(包括区域生长法和分列合并法)。阈值分割算法是一种简单且有效的分割方法,如大津(Otsu)法、自适应阈值分割算法和直方图双峰法等典型的算法;边界检测分割算法一般适用于目标前景和背景相差较大的情况,其主要包括索贝尔算子、Canny算子、拉普拉斯算子、Prewitt算子和Robert算子等[5];基于区域的分割方法一般适用于背景比较复杂的情况,包括松弛迭代算法[6]、区域生长法和区域分裂法等。
近些年,已有一些学者提出关于水下图像分割的方法。Chen Hsin-Hung等[7]采用双阈值Otsu法和Canny边缘检测算子并提取其边缘特征,然后使用霍夫(Hough)变换去检测目标边缘,但该算法的一个缺点就是很难实现准确的分割。Lee和Myung等[8]提出了基于点特征和基于区域的水下目标检测方法,但这2种方法只针对背景简单目标规则的情况。Barat和Phlypo[9]提出了一个基于主动轮廓的全自动分割算法,这个方法可以应用到不同的水下环境,同时也可以缩短处理的时间和提高该方法运算的收敛性。
基于活动轮廓模型的图像分割方法是根据目标的区域及边缘信息对目标进行分割,是目前应用最广泛的图像分割方法,可以说是过去几年计算机视觉领域成功的关键[10]。活动轮廓模型结合了几何学、物理学和近似理论,是一种高效的图像分析方法。该方法在图像上获取相应的信息,有效地对目标进行分割和跟踪分析。
活动轮廓模型最早由Kass等[11]提出,它是一种相当有用的轮廓描述工具,尤其适用于一些目标轮廓相当不规则的情况。活动轮廓模型将待分割目标边界当做一个可以活动的闭合轮廓线,在内外力共同作用下不断变形和调整,通过最小化能量函数去拟合图像数据和变形模型。活动轮廓模型主要分为参数活动轮廓模型和几何活动轮廓模型2类[12−13]。参数活动轮廓模型中曲线由不连续的且规则排列的点组成,也有通过基函数等描述的一种连续的参数形式。几何活动轮廓模型其中心思想就是曲线演化理论和水平集方法[14−15]。几何活动轮廓模型分为基于梯度信息的模型和基于区域信息的模型2种方法,这2种方法的典型代表为李纯明模型和C−V模型。本文根据这2种方法,提出指定目标分割算法和多灰度目标的分割算法,分别针对分割特定灰度目标和多个不同灰度目标的情况,通过实验验证了本文方法有效性。
2 2种典型水平集图像分割方法目前,基于变分水平集方法[16−17]的几何活动轮廓模型是很广泛的图像分割方法。该方法利用轮廓曲线的几何特性,建立轮廓曲线运动(变形)的能量函数,应用水平集函数隐含表达曲线的运动,最小化这个能量函数,使轮廓曲线逐渐逼近图像中目标边界,并利用变分法将水平集函数的演化方程转化成求解数值偏微分方程的问题[10]。变分水平集方法的典型模型为Chan和Vese提出的C−V模型和李纯明等提出的变分水平集模型(以下简称为Li)。
2.1 C−V模型Mumford−Shah(M−S)模型是基于能量最小化的分割模型。对于给定的目标图像
$ \begin{aligned} {E^{CV}}({c_0}, {c_1}, C) = &\mu L(C) + \nu A{(}i(C){) +} {\lambda _1}\int\limits_{i\left( C \right)} {{{\left| {I(x, y) - {c_0}} \right|}^2}{\rm{d}}x{\rm{d}}y} + \\ &{\lambda _2}\int\limits_{o\left( C \right)} {{{\left| {I(x, y) - {c_b}} \right|}^2}{\rm{d}}x{\rm{d}}y} \\ \end{aligned} $ |
式中:
将水平集函数
$\begin{aligned} {E^{CV}}({c_0}, {c_1}, \phi ) =& \mu \int\limits_\varOmega {{\delta _\varepsilon }(\phi )} \left| {\nabla \phi } \right|{\rm{d}}x{\rm{d}}y + \nu \int\limits_\varOmega {{H_\varepsilon }(\phi )} {\rm{d}}x{\rm{d}}y + \\ &{\lambda _1}\int\limits_{i(C)} {{{\left| {I(x, y) - {c_0}} \right|}^2}{H_\varepsilon }(\phi ){\rm{d}}x{\rm{d}}y} + \\ & {\lambda _2}\int\limits_{o(C)} {{{\left| {I(x, y) - {c_b}} \right|}^2}{(}1 - {H_\varepsilon }(\phi ){\rm{)d}}x{\rm{d}}y} \\ \end{aligned} $ |
式中
李纯明提出了一种不需要重新初始化水平集函数的活动轮廓模型[8]。在该模型中,李纯明加入了信息约束项这一约束条件,使得该水平集函数演化过程一直符合符号距离函数(signed distance function,SDF)的约束条件,因此不需要重新进行初始化。但此函数的截止函数由图像的梯度信息决定,因此属于梯度信息模型,其对较明确的边缘目标具有较好的分割结果。
基于梯度信息的活动轮廓模型(李纯明模型)的能量函数如下:
$\begin{aligned} E = &\mu {E_p}(\phi ) + {E_{{\rm{in}}}}(\phi ) = \mu {E_p}(\phi ) + \lambda {L_g}(\phi ) + v{A_g}(\phi ) = \\ &\mu \iint\limits_\varOmega {\frac{1}{2}}{\left( {\left| {\nabla \phi } \right| - 1} \right)^2}{\rm{d}}x{\rm{d}}y + \lambda \iint\limits_\varOmega g\delta (\phi )\left| {\nabla \phi} \right|{\rm{d}}x{\rm{d}}y + \\ & v\iint\limits_\varOmega gH(\phi ){\rm{d}}x{\rm{d}}y \\ \end{aligned} $ |
式中:
$g\left( {\left| \varGamma \right|} \right) = \frac{1}{{1 + \beta {{\left| \varGamma \right|}^n}}}$ |
式中:
本节方法是对指定灰度目标进行分割,而C−V模型具有全局性,针对的是整体目标的分割,要想从多个目标中选择想要的目标,可以在C−V模型的基础上加入小范围的距离约束项(idx)进行分割。它可以在大范围内指定一个小的灰度范围,即想要分割出的灰度区域,模型就会在小的灰度范围内进行分割,最后分割出我们指定的灰度目标。改进后模型的能量函数为:
$\begin{aligned} E\left( {{S_1}, {S_2}} \right) =& \mu L\left( {{S_2}} \right) + \nu A\left( {i\left( {{S_2}} \right)} \right) + {\lambda _1}{\int\limits_{i\left( {{S_2}} \right)} {\left| {I\left( {{S_2}} \right) - {c_1}} \right|} ^2}{\rm d}\left( {{S_2}} \right) + \\ &{\lambda _1}{\int\limits_{d\left( {{S_2}} \right)} {\left| {I\left( {{S_2}} \right) - {c_1}} \right|} ^2}{\rm d}\left( {{S_2}} \right) \\ \end{aligned} $ |
式中:
$ \left\{\begin{aligned} & {S_1} = \left\{ {{\rm SDF}|\phi \left( {x, y} \right) = \pm d} \right\}\\ & {S_2} = \left\{ {\rm idx|\left| {S{\rm DF}} \right| \leqslant 1.2} \right\} \end{aligned}\right. $ |
利用梯度下降法得到:
$\begin{aligned} \frac{{\partial E}}{{\partial \phi }} =& - \delta \left( \phi \right)[v{\rm{div}}\left( {\frac{{\nabla \phi }}{{\left| {\nabla \phi } \right|}}} \right) - \mu - {\lambda _1}{\left( {I\left( {{\rm{idx}}} \right) - {c_1}} \right)^2} + \\ &{\lambda _2}{\left( {I\left( {{\rm{idx}}} \right) - {c_2}} \right)^2}] \\ \end{aligned} $ |
利用变分法得到水平集演化方程为:
$\begin{aligned} \frac{{\partial \phi }}{{\partial t}} =& \delta \left( \phi \right)[v{\rm{div}}\left( {\frac{{\nabla \phi }}{{\left| {\nabla \phi } \right|}}} \right) - \mu - {\lambda _1}{\left( {I\left( {{\rm{idx}}} \right) - {c_1}} \right)^2} + \\ &{\lambda _2}{\left( {I\left( {{\rm{idx}}} \right) - {c_2}} \right)^2}] \\ \end{aligned} $ |
为了在整个图像域均可进行轮廓提取,取
![]() |
Download:
|
图 1 指定分割目标 |
![]() |
Download:
|
图 2 指定目标的分割结果 |
对图1中加入均值为零、方差为0.01的高斯噪声,如图3所示。再对其1号、3号、6号不同灰度小球进行分割,参数设置为
![]() |
Download:
|
图 3 加入高斯噪声的分割目标 |
![]() |
Download:
|
图 4 加噪图像指定目标分割结果 |
由图1、2可以看出,当图片中噪声较小时可以准确地分割每个灰度的小球,而把其余灰度的小球默认为背景;由图3、4看出,当图片中含有较大噪声时,仍可以分割出每个灰度的小球,但小球灰度与背景相似时,不能准确收敛到目标边缘,会出现模糊现象;由图5可知,我们想要分割全部灰度的小球,我们需要的初始轮廓线要包围所有灰度的小球,但分割结果并不理想,只能分割出灰度与背景相差较大的小球。
![]() |
Download:
|
图 5 图像的整体分割 |
指定目标的水平集分割方法能够较准确地分割出我们指定的目标,但其对初始轮廓曲线的要求较高,即初始曲线必须在我们想要分割目标的内部,但其对不同灰度目标的整体分割效果并不理想。
3.2 多灰度目标分割算法借鉴李纯明分割模型与C−V模型,提出一种新的分割方法,专门用于分割不同灰度目标的图像。实验结果与李纯明模型和C−V模型进行比较,改进模型具有一定的优越性。
将李纯明活动轮廓模型的能量函数和C−V活动轮廓模型的能量函数进行融合,兼顾局部和全局信息进行图像分割,得到新的能量函数:
$ \begin{split} E = &\mu {E_p}\left( C \right) \!+\! {E_{{\rm{in}}}}\left( C \right) \!+\! {E_{{\rm{out}}}}\left( C \right) \!=\! \mu {E_p}\left( C \right) \!+\! \lambda {L_g}\left( C \right) + \\ & v{A_g}\left( C \right)\!+\! {\lambda _1}\iint\limits_{i\left( C \right)} {{{\left| {g \!-\! {c_0}} \right|}^2}{\rm{d}}x{\rm{d}}y} \!+\! {\lambda _2}\iint\limits_{o\left( C \right)} {{{\left| {g \!-\! {c_1}} \right|}^2}{\rm{d}}x{\rm{d}}y} \end{split} $ | (1) |
式中:
${c_1} = \frac{{\iint\limits_\varOmega {g{H_\varepsilon }\left( \phi \right){\rm{d}}x{\rm{d}}y}}}{{\iint\limits_\varOmega {{H_\varepsilon }\left( \phi \right){\rm{d}}x{\rm{d}}y}}}$ |
${c_2} = \frac{{\iint\limits_\varOmega {g\left( {1 - {H_\varepsilon }\left( \phi \right)} \right){\rm{d}}x{\rm{d}}y}}}{{\iint\limits_\varOmega {\left( {1 - {H_\varepsilon }\left( \phi \right)} \right){\rm{d}}x{\rm{d}}y}}}$ |
$g\left( {\left| \varGamma \right|} \right) = \frac{1}{{1 + \beta {{\left| \varGamma \right|}^n}}} = \frac{1}{{1 + \beta {{\left| {\nabla {G_\sigma }I\left( {x, y} \right)} \right|}^n}}}$ |
文中采用
其中:
${G_\sigma }\left( {x, y} \right) = \frac{1}{{\sqrt {2 \text{π} } \sigma }}\exp \left\{ { - \frac{{{x^2} + {y^2}}}{{2{\sigma ^2}}}} \right\}$ |
$\phi \left( {x, y, 0} \right) = {\phi _0}\left( {x, y} \right) = \left\{\!\!\! \begin{array}{l} c, \quad \left( {x, y} \right) \in i\left( c \right) \\ 0, \quad \left( {x, y} \right) \in on\left( c \right) \\ - c, \quad \!\!\!\! \left( {x, y} \right) \in o\left( c \right) \end{array} \right.$ |
$\delta \left( x \right) = \left\{ \!\!\! \begin{array}{l} 0, \quad \left| x \right| > \varepsilon \\ \displaystyle\frac{1}{{2\varepsilon }}\left[ {1 + \cos \left( {\frac{{\text{π} x}}{\varepsilon }} \right)} \right], \quad \left| x \right| \leqslant \varepsilon \end{array} \right.$ |
对式(1)应用变分法及梯度下降流法进行最小化,得到如下能量函数:
$\begin{aligned} \frac{{\partial \phi }}{{\partial t}}=&\mu \left[ {\Delta \phi - {\rm{div}}\left( {\frac{{\nabla \phi }}{{\left| {\nabla \phi } \right|}}} \right)} \right] + \lambda \delta \left( \phi \right){\rm{div}}\left( {g\frac{{\nabla \phi }}{{\left| {\nabla \phi } \right|}}} \right) + \\ & vg\delta \left( \phi \right) - \delta \left( \phi \right){\lambda _1}\left( {{{\left| {g - {c_1}} \right|}^2}} \right) + {\lambda _2}\delta \left( \phi \right)\left( {{{\left| {g - {c_2}} \right|}^2}} \right) \\ \end{aligned} $ |
为了验证本节算法的有效性,进行了仿真实验。图6(a)为一幅168 pix×171 pix的含有3个不同灰度目标的图像。参数设置为
![]() |
Download:
|
图 6 原始图像及不同分割方法的分割结果 |
由图6结果可以知道,3种方法均可以分割出目标,C−V分割方法具有全局最优性,可以分割出目标中间的空洞区域,但不能准确地收敛到目标边缘处,出现了严重的虚化现象;本文方法和李纯明方法并不能分割出目标中间的空洞区域,但可以分割到目标边缘处,尤其本文方法,分割效果更佳。仿真实验证明了本文方法的有效性。
对图6(a)加入均值为零、方差为0.01的高斯噪声,其他参数不变,再加入
![]() |
Download:
|
图 7 加噪图像及不同分割方法的分割结果 |
加噪后的图像,C−V分割法未能将目标分割出来;李纯明方法只分割出背景灰度相差较大的目标;本文方法将目标全部分割出,虽然边缘有一定的模糊现象,但其抗噪效果优于前2种方法。
下面将图1中的6个灰度不同的目标利用本文方法进行整体分割,图8(a)为原图,参数设置为
![]() |
Download:
|
图 8 6个灰度球图像分割 |
![]() |
Download:
|
图 9 加噪的6个灰度球图像分割 |
上述结果表明,本文提出的方法对于分割不同灰度目标的图像具有良好的效果,且本文方法具有一定的抗噪性。
本文方法主要应用于工业废水池内核废液等处理所拍摄的图像,为验证其有效性,采集几幅不同状态的水池内拍摄的图像进行分割。图10为水下图像原图,4幅图像均为光照不均匀图像;图11为C−V方法分割的图像;图12为李纯明方法分割的图像;图13为本文方法分割的图像。通过实验结果可以看出,C−V分割方法对光照敏感,导致分割结果误差很大;Li方法相对分割效果较好,但其对光照较敏感,导致图10中(b)、(c)2幅图像的分割结果较差;本文分割方法相对前2种方法分割结果较好,对光照不均匀的敏感度较低。
![]() |
Download:
|
图 10 水下图像原图 |
![]() |
Download:
|
图 11 C−V方法分割水下图像结果 |
![]() |
Download:
|
图 12 Li方法分割水下图像结果 |
![]() |
Download:
|
图 13 本文方法分割水下图像结果 |
为进一步证明本文方法的有效性,将Li方法与本文方法的迭代次数和时间进行比较。如表1所示。可以看出,当光照较均匀时,Li方法相对用时较少,但相差不多;当光照不均匀时,本文分割方法效率较高,且效果更好。
![]() |
表 1 Li方法与本文方法比较 |
本文基于C−V模型和李纯明模型提出了2种水下目标分割方法:1)指定目标分割方法,此方法在C−V模型基础上加入了小范围的距离约束项,使其具有了局部性,可在多灰度目标中分割出想要的目标。但此方法对初始轮廓要求较高,必须保证初始轮廓在所要分割灰度目标的内部,其对多灰度目标的分割效果并不理想;2)多灰度目标的分割方法,该方法在李纯明方法的基础上,加入了基于边缘定位函数的内部能量项,其对多灰度目标分割结果较好,且抗噪性较好,最后也证明了多灰度目标方法具有抗光照不均匀性。
本文的实验环境为水池下,假设拍摄水下目标物时水波是静止的,然而现实情况下水波可能是动态的,所以今后可在水波是动态条件下继续进行水下图像分割算法的研究。
[1] |
李煊. 基于单目视觉的水下图像分割及目标定位技术研究[D]. 哈尔滨: 哈尔滨工程大学, 2013.
(![]() |
[2] |
刘松涛, 殷福亮. 基于图割的图像分割方法及其新进展[J]. 自动化学报, 2012, 38(6): 911-922. (![]() |
[3] |
史言彬. 基于单目视觉的水下目标识别和定位方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2016.
(![]() |
[4] |
FU K S, MUI J K. A survey on image segmentation[J]. Pattern recognition, 1981, 13(1): 3-16. DOI:10.1016/0031-3203(81)90028-5 (![]() |
[5] |
TEIMOURI N, OMID M, MOLLAZADE K, et al. A novel artificial neural networks assisted segmentation algorithm for discriminating almond nut and shell from background and shadow[J]. Computers and electronics in agriculture, 2014, 105: 34-43. DOI:10.1016/j.compag.2014.04.008 (![]() |
[6] |
MATALAS L, BENJAMIN R, KITNEY R. An edge detection technique using the facet model and parameterized relaxation labeling[J]. IEEE transactions on pattern analysis and machine intelligence, 1997, 19(4): 328-341. DOI:10.1109/34.588006 (![]() |
[7] |
CHEN H H, CHUANG Wenning, WANG C C. Vision-based line detection for underwater inspection of breakwater construction using an ROV[J]. Ocean engineering, 2015, 109: 20-33. DOI:10.1016/j.oceaneng.2015.09.007 (![]() |
[8] |
LEE D, KIM G, KIM D, et al. Vision-based object detection and tracking for autonomous navigation of underwater robots[J]. Ocean engineering, 2012, 48: 59-68. DOI:10.1016/j.oceaneng.2012.04.006 (![]() |
[9] |
BARAT C, PHLYPO R. A fully automated method to detect and segment a manufactured object in an underwater color image[J]. EURASIP journal on advances in signal processing, 2010, 2010: 568092. DOI:10.1155/2010/568092 (![]() |
[10] |
FU K S, MUI J K. A Survey on image segmentation[J]. Pattern recognition, 1981, 13(1): 3-16. (![]() |
[11] |
KASS M, WITKIN A, TERZOPOULOS D. Snakes: active contour models[J]. International journal of computer vision, 1988, 1(4): 321-331. DOI:10.1007/BF00133570 (![]() |
[12] |
陈波. 基于变分框架的图像分割和图像恢复研究[D]. 广州: 中山大学, 2007.
(![]() |
[13] |
陈波, 赖剑煌. 用于图像分割的活动轮廓模型综述[J]. 中国图象图形学报, 2007, 12(1): 11-20. DOI:10.3969/j.issn.1006-8961.2007.01.002 (![]() |
[14] |
OSHER S, FEDKIW R. Level set methods and dynamic implicit surfaces[M]. New York: Springer-Verlag, 2002.
(![]() |
[15] |
SETHIAN J A. Curvature and the evolution of fronts[J]. Communications in mathematical physics, 1985, 101(4): 487-499. DOI:10.1007/BF01210742 (![]() |
[16] |
曹俊峰. 基于水平集方法的图像分割研究[D]. 无锡: 江南大学, 2017.
(![]() |
[17] |
谢小敏. 水下图像分割和典型目标特征提取及识别技术研究[D]. 南京: 南京理工大学, 2015.
(![]() |