受到阈值分割方法的启发,在早期图像分割常用传统的阈值分割方法结合具体的使用场景手动设计特征并调参进行场景分割,基于阈值的二值分割的算法得到广泛应用。杨等人基于直方图提出了一种改进的阈值分割方法并将其应用在足球机器人上。王等人利用阈值提取边缘并基于边缘信息对图像进行分割。赵等人利用 Otsu阈值及炭疽孢子的连通特性及形状特征实现对炭疽孢子的分割。林等人基于阈值分割方法在 YUV 空间实现了番茄分割识别。这一系列基于传统图像处理技术的分割方法有着较大的局限性,适用的分割场景也较为简单,容易受到光照环境变化干扰,泛化能力不足。因此阈值分割算法逐渐被基于聚类的方法取代。Tao 等人结合 Mean-shift和 Ncut 方法,减少了计算量和噪声的干扰,使分割速度大幅提升。雷等人使用 Mean-shift 算法同时结合深度信息实现了复杂度较高的场景分割。以上基于聚类的无监督方法可以获得一定的场景泛化能力来应对光线变化,但仅使用二维图像对复杂场景分割的精度依旧有限且难以进行场景感知,亦存在较多局限性。
针对室内场景目标多种多样,各目标之间差异较大,比如有靠椅、有凳子等,传统图像算法难以完整的分割出目标,且难以获得类别标签等更多的信息。近年来,随着GPU 算力的增长以及数据集的完善,基于深度学习的语义分割算法飞速发展,图像分割技术水平大幅提高,可以实现图像像素级分类,目标分割完整度得到大大提升,进而分割精度得到大大提升Long等人于 2014 年提出了全卷积网络(Fully Convolutional Network,FCN)进行语义分割,该网络实现了端到端的逐像素分类,是深度学习语义分割方法的基石。该算法以 VGG-16 网络为主干网络,去除了网络后的全连接层(Fully Connected Layer,FC)。由于 VGG-16 中只有全连接层要求输入尺寸为固定大小,去除全连接层后,输入网络的图像尺寸便可以是动态大小,去除了固定输入尺寸的限制。同时 FCN 根据不同的下采样倍率,将下采样时得到的特征图与上采样进行转置卷积计算时的特征图进行融合得到了精细的像素级分割结果,为后续语义分割网络设计奠定了基础框架。所以后续分割算法大都以其为基础进行改进。SegNet在解码器部分使用上池化操作进行上采样保留了高频细节的完整性,实现了更精细的分割。之后的Unet在编解码器间加入了若干跳跃连接,融合了编解码器不同层次的特征,减小了信息丢失来提升精度,由于 Unet 设计了简单高效的特征融合方式,在医学图像上作细胞分割效果较好,之后医学图像分割领域出现了很多基于 Unet 改进的分割网络。2014年,Chen 等人在FCN 的特征提取网络输出端添加了条件随机(Conditional Random Fields,CRF)模块,进而提出了 Deeplab 方法,显著提高了分割的精度。上述算法虽然提升了精度,但是特征提取网络的感受野是固定的,没有获得图像全局的一些特征,并且条件随机场计算复杂,也并未起到什么显著的作用。后续 Chen 等人持续改进提出了 DeeplabV2 网络,提出空洞空间卷积池化金字塔(Atrous Spatial Pyramid Pooling,ASPP)模块增加了感受野,在卷积过程中感受野越大网络学习到的全局特征就越多,此方法在不增加参数量的情况下提高了网络的感受野,也提高了小目标的分割精度。2017年,Chen 等人对 DeeplabV2 中的 ASPP 模块进行改进,并删除了条件随机场模块提出了 DeeplabV3+网络。该网络融合了更多尺度特征,大幅提升细节分割准确率。同样是为了更大的感受野,Pspnet 网络[则选择用大量的池化金字塔获得更多的全局信息。Zhao 等人考虑到样本不均衡因素设计了焦点约束损失(Constrained Focal Loss,CFL)函数,大幅提升了样本量不均衡时的模型的分割精度。后续的高准确度的分割算法,大都致力于增加模型参数量和复杂度,例如 HRNet,该网络在特征提取时,特征图尺寸不压缩,用巨大的模型参数量和计算量换来了很大的图像感受野,并且充分融合了多尺度特征,在多项任务上都能达到领先的精度。
但对于实际工程应用来说,部署算法不仅要考虑精度,也要考虑算力成本,自动驾驶无人车与服务机器人上的移动嵌入式计算设备,价格不高、功耗低、体积小,所以参数量大且计算复杂度高的分割算法在这类设备上几乎没有部署可能性。因此随着人工智能行业的迅速发展,越来越多的人们开始致力于能解决实际应用落地的低计算成本语义分割网络。Enet 是首个采用非对称编解码结构以低参数量实现快速语义分割的网络,通过小且浅的瓶颈结构Enet 获得了极低的参数量,使其在速度上大幅领先其他语义分割算法,但参数量极小的特征提取网络在下采样的过程中也丢失了大量的语义特征,导致其虽然在速度上有绝对优势,但精度上并不理想。不过该算法也启发了更多的人构建轻量化的高效分割网络。如 CGNet 使用了通道分离卷积降低参数量结合其设计的 CG 模块增强网络语义特征提取能力,在分割速度与精度上较Enet 都有较大提升。
除了具体的语义分割网络,为了实现深度学习的算法应用落地,许多针对嵌入式平台、手机这类边缘计算设备的轻量化基础网络也被设计出来,将原始分割算法的骨干网络替换为轻量化的骨干网络,也可得到较大的速度提升。MobileNet率先采用了深度可分离卷积残差结构对常规卷积计算进行了改进,通过将常规卷积计算拆分为通道卷积与点卷积两部分后,卷积计算量得到了大大的降低。之后的 MobileNetv2在此基础上设计了反残差结构在降低参数的同时提取高维度特征,效果显著。目前很多移动端的算法都有使用 MobileNet 网络作为主干网络的应用落地。如检测效果与速度均在顶尖水平的 RetinaFace人脸检测网络。除了使用轻量化网络改进分割算法外,ICNet则使用了使用模型压缩技术如量化、蒸馏、模型剪枝等技术针对训练后的模型进行压缩优化,并且在网络中设计了低分辨率分割分支能够使网络快速获得一个粗略的语义信息,再融合更高分辨率分支的结果补充细节,最终得到一个比较不错的精度与分割速度的平衡。
在深度学习落地这一强大驱动力下,越来越多的研究人员不再热衷于构造复杂又冗余的网络结构针对分割准确率进行刷榜。伴随着移动设备越来越强大的计算能力,很多语义分割应用都在移动平台实现了落地,如手机端的人物换脸、自动抠图、智能换背景等应用都使用了语义分割方法对主体与背景进行了精细的分割。只是这类应用通常只需处理一张图像,对实时性要求不高。而自动驾驶或服务机器人的使用场景则对实时性有很高的要求。