图像语义分割(Image Semantic Segmentation)是一项计算机视觉任务,其目标是将输入的图像分割成多个区域,并为每个像素分配一个语义类别标签,以表示该像素属于图像中的哪个物体或区域。与其他图像分割任务不同,图像语义分割不仅关注于分割图像,还要理解图像中不同部分的语义含义。
阈值法对于背景和目标拥有不同灰度的图像比较适用,它的基本思想是根据图像的灰度特征计算一个或多个灰度阈值,获取图片中所有像素的灰度值,与计算得到的阈值进行逐一比较,最后根据比较结果将像素划分为适当的类别。
阈值法中常用的方法有:固定阈值分割,直方图双峰法,迭代阈值图像分割,自适应阈值图像分割,最大类间方差法,均值法,最佳阈值。
在图像中的两个不同区域中,一个区域到另一个区域会发生灰度和颜色的变化,即在两个区域的边缘发生突变。基于灰度值的边缘检测比较常用,它是一种基于观察的方法,不同区域的边缘的灰度值将显示阶跃或屋顶变化。如果通过傅里叶变换将图像从空间域变换到频域,则边缘对应于高频部分。
微分算子法是最常见的边缘检测算法,它利用一阶导数的极值和二阶导数的零点来确定边缘。要获得更好的分割效果,可以让边缘检测算法和与其互补的分割方法一起使用。
基于区域的分割方法通过一定准则来确定一个基础区域,以此进行分割,区域分割方法有两种基本形式,分别为区域生长和全局思想。对于区域生长,以某个像素为中心扩散,合并相似性质的其他像素;对于全局思想,把整张图片作为一个整体,分割成不同的子区域。
常用的区域分割算法有:种子区域生长法,区域分裂合并法,分水岭法。
论文网址:https://arxiv.org/abs/1411.4038
全卷积神经网络(fully convolutional networks,FCN)是语义分割的开端,语义分割从此发展速度迅速。网络模型的端到端训练也是由全卷积神经网络实现的。
它的主要贡献在如下三个方面:全卷积,上采样和跳跃连接。
全卷积。在一般 CNN 分类网络中,输入图片的尺寸大小都是依据网络的设计结构决定的,是唯一的,但是 FCN 的图片的输入尺寸是不同大小的。FCN 舍弃了 CNN 分类网络后面的 3 个全连接层,并使用卷积层进行代替,不仅保留了图片的位置信息,而且还整合了 CNN 的输出特征。
上采样。在图片经过一系列的卷积、池化操作之后,得到的特征图尺寸远小于原始图片尺寸,为了将特征图中的像素与原始图像的像素对应,进行像素预测,同时减小分割精度的损失,作者使用了反卷积操作。对特征图进行解码时,使用反卷积进行操作,使得特征图的大小等于原图大小。
跳跃连接。FCN 通过卷积、池化以及反卷积的操作后,丢失了很多细节信息,通过跳跃连接,使得浅层信息和高层语义信息结合起来,使得模型的鲁棒性更强。
论文网址:https://arxiv.org/abs/1505.04597v1
U-Net最初是为了医学图像分割而设计的分割网络,其本身使用的是编码器-解码器结构,并且使用了跳跃连接,对浅层特征和高级语义进行融合操作。
在编码器部分,图片一共经历了 4 次下采样,通过卷积层和最大池化层组合,每一次下采样,特征图的通道数变成原来的 2 倍。在解码器部分,每次上采样之后,都和与之对应下采样的特征图进行融合,之后通道数减半,在解码器的最后一层,使用 1Χ1 卷积将类别数变成期望的分类数。
论文网址:https://arxiv.org/abs/1612.01105
PSPnet的主要的创新点是提出了金字塔池化模块(pyra-mid pooling module),它能够聚合目标的不同位置的上下文信息,提高捕获全局信息的性能。同时加入了辅助损失函数,使得训练网络时的收敛速度提升。
自动驾驶:自动驾驶汽车需要理解道路上的各种物体和障碍物,以做出安全驾驶决策。
医学图像处理:在医学影像中,语义分割可用于分割出特定组织或病变区域,以帮助医生诊断和治疗。
遥感图像分析:卫星图像和航拍图像的语义分割可用于土地利用分类、环境监测等应用。
图像编辑和合成:语义分割可用于图像编辑,例如将一个物体从图像中删除或将不同的物体合成到图像中。