1. 引言
图像识别来源于模板匹配,从人类自身的视觉识别中演变而来[1]。人类视觉识别的过程是将眼前的事物与印象中事物的目标特征进行对比,以此达到识别的目的。图像分割是图像识别技术的重要组成部分。
本文旨在对常见传统图像分割方法进行研究,介绍各类方法的原理、优缺点,探讨其在实际应用中的挑战与改进。通过对传统图像分割方法的对比分析,我们希望能够为相关领域的研究者和从业者提供有价值的参考,推动图像分割技术的进一步发展与创新。
2. 国内外研究现状
常见传统图像方法主要分为基于阈值、边缘检测、区域生长、聚类算法和形态学分水岭。国内学者们在阈值分割方法上提出了许多改进算法,如基于模糊理论、熵理论、自适应阈值的分割方法。边缘检测方面,许多学者提出了适用于复杂背景的改进算法。区域生长等方法也有显著进展。OTSU方法、Canny边缘检测算子和分水岭算法在国外被广泛应用。OTSU方法通过最大化类间方差自动确定阈值,Canny算子通过多阶段处理实现高精度边缘检测,而分水岭算法则通过模拟浸水过程实现区域分割。
在传统图像分割算法的研究上,国内外研究学者具备不同特点。国内研究学者更注重工业应用,算法优化多围绕具体场景。国外研究学者则偏向理论创新,开源工具链完善。
3. 图像分割算法分类
3.1. 阈值处理
图像阈值处理直观、实现简单且计算速度快,在图像分割应用中处于核心地位。阈值处理的实质就是选取一个合适的阈值T,
表示原始图像在坐标
处的灰度,
表示输出图像的灰度值:
表示属于目标类,
表示属于背景类。当T是一个适用于整个图像的常数时,上式给出的处理过程称为全局阈值处理。当T值变化时,上式中给出的处理过程称为可变阈值处理[2]。阈值处理的关键是合适阈值的选择,常见确定阈值的方法如表1所示:
Table 1. Classification of common threshold determination methods
表1. 常见阈值确定方法分类
方法名称 |
原理 |
基于K值的阈值分割 |
通过聚类分析或统计优化,确定最佳阈值。 |
迭代阈值法 |
初始化阈值后,迭代计算前景和背景的均值,更新值直至收敛。 |
最大化类间方差(Otsu算法) |
最大化类间方差(前景与背景的方差),自动计算最佳值。 |
直方图谷底法 |
分析图像或数据的直方图,选择两个峰之间的最低点作为阈值。 |
自适应阈值法 |
根据局部区域的统计特性动态计算阈值。 |
最大熵法 |
选择使图像信息熵最大的阈值,通过衡量前景和背景的信息量来优化分割。 |
K-means算法由美国Stuart Lloyd 1957年提出并于1982年正式发表[2]。随着技术的发展,诞生诸多阈值确定法,其大致发展顺序为:Ridler和Calvard在1978年提出通过连续的迭代选取最佳阈值[3],即迭代阈值法。次年,日本学者大津展之[4]提出了最大类间方差法。同一时期,双峰法也应运而生。当时的研究者们发现,全局阈值法(如Otsu法、迭代阈值法等)在处理光照不均匀的图像时表现不尽如人意,因而开始探索局部阈值方法,自适应阈值法随之诞生。进入80年代,Kapur等人提出了一维最大Shannon熵阈值法[4]。
根据图像的空间信息,阈值法又分为全局阈值法和局部阈值法[5]。全局阈值算法是根据整幅图像的灰度值来计算全局的阈值,局部阈值法则是根据每一像素点和该点邻域的灰度值来确定其对应的局部阈值[6]。全局阈值算法对整幅图使用单一阈值,对光照不均、复杂背景场景处理较差,局部阈值算法易过度分割导致产生不连续的分割边界。本文将先使用全局阈值对图像进行粗处理,再使用局部阈值算法对图像进行分割,以此优化图像分割结果。
表1所示的常见6个算法只有自适应阈值法属于局部阈值法,分别使用其余5种全局阈值算法对图片进行预处理,再使用自适应阈值法对其进行图像分割。本文特意选取光照不均、背景和目标相似度高的图片素材,均系作者实地拍照。对比结果如图1所示:
Figure 1. Comparison of effects image
图1. 效果对比图
Original代表原始图像,K-means Preprocessed表示K-means单独处理结果,K-means + Adaptive表示基于K-means算法的处理结果。Iterative表示迭代法,Otsu表示大津法;Valley表示直方图谷底法,Max Entropy表示最大熵法。图一可以明显看出,先进性全局预先进行粗处理,再使用自适应阈值处理,图像的视觉效果会更好。
上述基于K值的阈值确定,K是聚类数量,控制分割的粒度,K越大,分割越细。通过调整K值,可以灵活控制图像分割的粒度,满足不同应用场景的需求。许多学者基于K-mean对算法进行改进,K-means++是在K-means算法基础上的一种改进,主要改进了初始聚类中心的选择方法,提高了算法的性能和聚类质量[7]。高樱萍[8]改进K值的选取,减少K值的选择对结果影响。
3.2. 边缘检测
边缘检测是图像处理中的一项重要技术,其核心思想是捕捉图像中灰度值的突变。即某一点的灰度值和周围的灰度值差异较大,则该点被认为处于边界上,多个这样的点连接在一起,构成图像的边界。
常见的一阶算子包括Sobel算子和Canny算子等;二阶算子包括Laplacian算子等。边缘检测算子Sobel算子是一种一阶微分算子,对噪声具有平滑作用,常用来进行边缘检测,但是精确度不高[9]。Sobel通过计算给定图像I在x (水平)和y (垂直)方向的梯度来检测边缘,给定两个3 × 3的卷积核(水平和垂直方向):
基本步骤如下:
1) 计算水平和垂直方向梯度(
和
):
(
表示卷积运算)
2) 计算梯度幅值:
为了计算效率,一般用:
。
3) 计算梯度方向:
用于非极大值抑制。
由于卷积核的大小限制,Sobel算子存在自适应差、边缘定位不精准、检测效果不佳等问题。为克服这些缺点,许多学者对此进行研究。Hao [10]等人提出了一种基于八向卷积和图像熵倒数的改进Sobel算子,采用中位数滤波来过滤噪声图像,推导8个卷积模板计算还原图像的梯度,获取梯度图像,利用熵的倒数,确定阈值从而获得边缘检测结果。
Canny边缘检测算法是一种多阶段的边缘检测方法,结合了高斯滤波、梯度计算、非极大值抑制(NMS)和双阈值检测。核心步骤为:
1) 高斯滤波(平滑去噪)。对图像
进行高斯卷积:
(
),其中,
越大越模糊,边缘越少。
2) 计算梯度。使用Sobel算子计算水平和垂直梯度:
利用
求梯度幅值,
计算梯度方向(
),通常离散化为0˚,45˚,90˚,135˚四个方向。
3) 非极大值抑制。
4) 双阈值检测(设定两个阈值
和
)。
5) 边缘链接。
传统的Canny算法仍有局限性,滤波去噪的同时会损失边缘信息,为提高Canny算子的边缘检测精度,学者们做了许多改进。Jun Guo [11]等人提出一种基于改进Canny作器的制动盘定位及缺陷检测方法,通过引入双向连接优化Canny算子的边缘检测和引入并行算法缩短检测时间,为制动盘划痕检测的研究提供了更加准确、高效的理论支持。
Laplacian算子检测边缘是对拉普拉斯算子进行估算,找到它的零点,即检测图像边缘位置。在二维连续空间
,Laplacian算子定义为:
是x方向的二阶偏导,
是y方向的二阶偏导。
对离散图像
,二阶导数用中心差分近似:
因此,Laplacian算子定义为:
Laplacian算子对噪声非常敏感,因此,学者们常将Laplacian算子与高斯滤波结合,提高抗噪性能,形成Laplacian of Gaussian (LoG)算子,又叫高斯–拉普拉斯算子。
利用Sobel算子、Canny算子、Laplacian算子分别对上述图片进行边缘检测,结果如图2所示。Original image表原始图像的灰度图像,Sobel Borden Detection表示利用Sobel算子对图像边缘检测的结果,Canny Borden Detection表示利用Canny算子对图像边缘检测的结果,Laplacian Borden Detection表示利用Laplacian算子对图像边缘检测的结果。
根据图2效果可得出结论:在光照不均匀的情况下,Sobel算子的检测效果最好,Canny次之,Laplacian算子最差。这是因为,Sobel算子通过梯度幅度检测边缘,因其梯度较小,对缓慢的光照变化不敏感。Canny算子的检测效果虽然优于Laplacian,但Canny的底层仍是Sobel等一阶算子,在极端光照不均时,梯度可能被缓慢变化干扰,导致边缘断裂或伪边缘。而Laplacian算子直接依赖二阶导数,对灰度渐变区域(光照不均的典型表现)会产生非零响应,真实边缘可能被淹没在这些响应中,因此会出现上图显示情况。
Figure 2. Edge detection effect comparison chart
图2. 边缘检测效果对比图
3.3. 基于区域的分割
区域生长形象来说就是一个元素,不断同化与自身具有“共同点”(人为设定的相似性准则)的附近元素以达到领域扩张目的的过程。区域生长的结果高度依赖于种子点的选择,种子选择不同会导致分割结果不同。选取相同图片对其进行基于区域生长的分割,通过处理结果来验证上述理论:
Figure 3. Regional growth effect comparison chart
图3. 区域生长效果对比图
图3选取坐标(200, 300) ((y, x)格式)和(400, 500)分别为seed1和seed2。Result comparison是选取不同种子的效果对比图,绿色的seed1的处理效果,红色是seed2的处理效果。Region growing parameter代表区域生长的参数,阈值25,八邻域生长,seed1和seed2的值分别为116和181。由图3可知,从种子开始向整个图片扩展,当不再有满足相似性准则的像素加入时,区域就停止生长,也就出现了上述两幅结果图只扩张到图像一部分的情况。由此我们可以推断:区域生长不适合背景复杂、相同像素不连贯的图片素材。
3.4. 基于形态学分水岭的分割
基于形态学的分水岭分割是一种经典的图像分割方法,特别适用于分离相互接触或重叠的目标对象。分水岭算法的基本思想是以拓扑地貌来表示一幅图像,然后将地貌中各点的海拔高度以图中对应的像素灰度值来表示,地貌中的聚水盆地以与图中灰度极小值相关邻的有关区域来表示,最后将在聚水盆地边界处形成的分水岭以图中灰度极大值区域的边界来表示[12]。
传统的分水岭算法存在缺点:对图像中的噪声极为敏感;易于产生过分割;对比度低的图像经过分割容易失去重要的轮廓[13]。由于分水岭算法存在的不足,基于形态学分水岭的分割不适合直接处理图像,一般作为后处理优化分割结果。Liu Hongquan [14]等人提出DMR-watershed算法,一种基于距离图重建的改进分水岭算法,显著提高了贴壁种子图像分割的准确性,为种子检测中的图像分割处理提供了新的参考。冯朝晖[15]等人提出基于Canny边缘检测的分水岭算法,本文引用这种经典方法,结果对比如图4所示:
Figure 4. Based on morphology and the contrast effect of Canny + morphology
图4. 基于形态学与Canny + 形态学对比效果图
Original Image代表原始图像,Grayscale表示的是原始图像的灰度图,Morphology Only表示的是纯形态学结果,Canny Edges表示的是使用Canny边缘检测算子对图像的处理结果,Edges + Morphology表示边缘检测和形态学结合使用处理结果,Filled Contour是填充轮廓。如图所示,单纯基于形态学的处理结果很不好,但是结合Canny检测算子的效果就改善很多。传统形态学分割和结合边缘检测的形态学分割综合对比见表2。
Table 2. Comparison of traditional morphological image segmentation and edge detection combined with morphological comprehensive segmentation
表2. 传统形态学图像分割和边缘检测 + 形态学综合分割对比
对比维度 |
传统形态学图像分割 |
边缘检测+形态学综合分割 |
原理 |
直接对二值图像进行膨胀、腐蚀等操作 |
先通过边缘检测提取边界,再结合形态学优化 |
主要操作步骤 |
阈值处理;开/闭运算 |
边缘检测;边缘闭合;轮廓填充;形态学后处理 |
边缘保留能力 |
较差(易丢失细节边缘) |
优秀(明确保留真实边界) |
处理速度 |
快(计算复杂度低) |
中等(需多步骤处理) |
过分割问题 |
较少(但可能合并相邻物体) |
可控(边缘约束减少过分割) |
适用图像类型 |
高对比度简单图像 |
复杂场景(自然图像) |
3.5. 基于图论的分割
图论方法在图像分割中通过将图像建模为图,利用顶点V和边E的数学结构实现分割。该方法本质上将图像分割问题转化为最优化问题,是一种点对聚类方法,对数据聚类也具有很好的应用前景[16]。通常将图像转换为
,V是顶点,E是边,W是权重。边的权重
表示顶点i和j的相似性,常用高斯核函数计算:
。
为像素颜色/纹理特征,
控制相似性衰减速度。
最小割是经典的基于图论的图像分割算法,通过切割图使分割后的子图内部相似性高,子图间相似性低最小化割的边权重和:
其中,A和B为分割后的子图,
为边权重。
归一化割也很常见,它改进最小割的偏差问题,引入子图规模归一化:
,
为顶点度。
GrabCut是一种迭代的交互式图割算法,其减少了用户的交互量,引入了高斯混合模型,堪称目前最好的图割算法之一[17]。GrabCut的目标是最小化以下能量函数:
:像素标签。
为前景,
为背景;
:GMM(高斯混合模型)参数(均值、协方差、权重);
z:像素颜色值;
U:数据项(衡量像素属于当前GMM的代价);
V:平滑项(鼓励相邻相似像素具有相同标签)。
数据项:
是像素
在当前GMM (前景或背景)下的概率密度;
K:GMM的高斯分量数(通常K = 5);
,
,
:分别表示权重、均值、协方差。
平滑项:
C:相邻像素对;
:平滑项权重(通常
);
:颜色差异的归一化因子(
)。
利用上述三种经典算法对图片进行分割对比,结果如图5所示:
Figure 5. Image segmentation comparison based on graph theory
图5. 基于图论图像分割对比
上图中,Original Image表示原图,Min-Cut Segmentation表示最小割效果,Normalized Cut Segmentation是归一化分割结果,GrabCut Segmentation是交互式图割结果。可以看出,直接使用基于图论的分割方法,处理效果较差,很难通过处理后的图片看出原始图片的样貌。影响最终结果的因素有很多,比如:参数调整、预处理不足等。因此,一般不直接使用这三种方法,通常将其与深度学习结合,广泛应用于生活和研究。
4. 结论
尽管传统方法在许多应用中表现良好,但仍面临参数依赖、噪声敏感、复杂背景处理困难等挑战。传统图像分割算法作为基础算法,是一切新兴图像分割方法的根基,现代科技的快速发展,图像分割面临的场景要求也越来越高。所以,图像分割方法需要不断地被改进。