0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI算法说-图像分割

新机器视觉 来源:新机器视觉 2023-05-17 14:44 次阅读

1、简介

a1a4b4f2-f474-11ed-90ce-dac502259ad0.gif

图像分割任务,即算法需要预测出图片中的每一个像素点的类别。它解决了“图像中每一个像素点是什么类别的问题”。上图所示了一个自动驾驶场景下的图像分割效果,图片中相同的颜色表示相同的类别,不同的颜色表示不同的类别。

图像分割方法种类繁多,包括传统的基于阈值、边缘和区域的方法,以及近年来基于深度学习的方法,如全卷积网络(FCN)、编码器-解码器网络、视觉注意力机制、对抗生成网络等。在图像分割任务中,需注意逐像素标注方式和实例级别标注方式的区别,并需要针对不同的应用场景选择适合的评价指标和数据集。

2、发展历程

a1c18384-f474-11ed-90ce-dac502259ad0.png

2014年,J. Long, E. Shelhamer, and T. Darrell等人发表了“Fully convolutional networks for semantic segmentation”了算法(https://arxiv.org/pdf/2001.05566.pdf),即FCN算法。FCN的核心思想是将传统的全连接层转变为卷积层,并且采用反卷积技术将最后一层卷积输出映射回原始图像大小。

2015年,O. Ronneberger, P. Fischer, and T. Brox等人发表了“U-net: Convolutional networks for biomedical image segmentation”,即U-net算法。U-net的特点是通过一系列卷积、池化和反卷积操作实现了图像分割,并在特征提取过程中保留了高分辨率的细节信息

2016年,V. Badrinarayanan, A. Kendall, and R. Cipolla等人发表了“Segnet: A deep convolutional encoder-decoder architecture for image segmentation”,即SegNet算法。SegNet的特点是采用了轻量级卷积神经网络结构,并设计了一种基于池化索引的解码器,能够实现快速而准确的图像分割。

2017年,L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille等人发表了“Semantic image segmentation with deep convolutional nets and fully connected crfs”,即DeepLab算法,后续陆续推出DeepLabV2和DeepLabV3等算法。该算法首次在CNN中引入了完全连接的条件随机场(CRFs),该CRF模型建模了图像的全局上下文,通过允许标签之间的相互作用来获得更准确的分割结果。

2018年,L.-C. Chen, A. Hermans, G. Papandreou, F. Schroff, P. Wang, and H. Adam等人发表了“Masklab: Instance segmentation by refining object detection with semantic and direction features”,即Mask-Lab算法。该算法的主要思想是,在卷积神经网络中添加实例感知模块,以分离不同对象的实例。

2019年,Y. Yuan, X. Chen, and J. Wang等人发表了“Object-contextual representations for semantic segmentation”,即HRNet算法。HRNet算法的主要思想是在多个分辨率上进行特征提取,同时跨层连接以消除分辨率差异和信息损失。

2020年,B. Zoph, G. Ghiasi, T.-Y. Lin, Y. Cui, H. Liu, E. D. Cubuk, and Q. V. Le等人发表了“Rethinking pre-training and self-training”,即EfficientNet+NAS-FPN算法。该算法的核心思想是在无标签数据上进行预训练和自训练,从而提高有标签数据的分割性能。

2020年之后,图像分割算法的性能基本达到了精度天花板,很多学者转做实例分割和全景分割。

3、应用场景

a1d8131a-f474-11ed-90ce-dac502259ad0.gif

自动驾驶-目标分割可以应用在自动驾驶场景中完成静态障碍物和动态障碍物的精准分割,从而构建一个语义地图传递给后面的规划和控制模块。

交互标定-利用目标算法可以基于几个点快速的标注目标物体,这样可以极大的提升人员的标注成本。

人像抠图-人像抠图功能在我们的日常生活中有着大量的应用,最常用的就是各种远程会议软件上面的抠图功能。该算法基本能达到扣头发丝的精度。

医学图像分析-图像分割算法可以针对人体各器官进行精细的分割,协助医生完成一些医学诊断的问题。该功能已经在一些医院有所应用。

4、算法类别

a229991a-f474-11ed-90ce-dac502259ad0.png

对于图像分割任务而言,我们可以将其细分为语义分割、实例分割和全景分割三种类别。如上图所示,输入的是一张街拍场景的图片。语义分割任务只能区分不同的类别,无法区别相同的类别。实例分割任务不仅可以区分不同的类别,也可以区分相同类别中的不同个数,如图片中的行人和车辆 ,不同的人用不同的颜色进行显示。全景分割则是语义分割和实例分割的交集。

语义分割是区分同类物体的分割任务,实例分割是区分不同实例的分割任务,而全景分割则同时达到这两个目标。全景分割既可以区分彼此相关的物体,也可以区分它们在图像中的位置,这使其非常适合对图像中所有类别的目标进行分割。

5、经典算法剖析

5.1 UNet算法详解

a24af4f2-f474-11ed-90ce-dac502259ad0.png

算法简介:

UNet是一种基于卷积神经网络的图像分割算法,它于2015年由Olaf Ronneberger等人提出。与FCN等分割算法不同,UNet采用了一种新的网络结构,能够更好地处理物体边缘和小的物体。

创新点:

UNet算法的创新点在于其网络结构,即将传统的编码器-解码器架构与跳跃连接技术相结合,形成了一个“U”形的网络结构。UNet算法流程:1. 图像编码:首先,通过卷积层实现图像特征的提取和缩小,构建编码器。采用类似于VGG网络的结构,通过不断重复卷积、下采样的过程,将输入的图像逐渐缩小,并提取出不同尺度的特征。2. 图像解码:构建解码器,是为了逐步将图像还原回原始的分辨率。UNet算法中的解码器采用了镜像反卷积操作,逐步还原特征图的尺寸,也通过不断重复卷积、上采样的过程,将特征融合到更高的分辨率上。3. 跳跃连接:UNet算法引入了跳跃连接(skip connection),将编码层和对应的解码层中的特征图进行连接。这种方式能够将底层的语义信息(例如边缘信息)直接提供给解码器,有利于保留物体边缘信息,同时也有利于消除某些不必要的噪声。4. 输出结果:通过在UNet网络的最后一层卷积后接一个含有类别数+1个通道的全连接层,并使用softmax函数得到像素分类的概率值,就可以生成语义分割图了。总的来说,UNet算法采用了跳跃连接,能够更好地保留图像的信息,使得算法更适用于分割小物体和物体之间的边界。该算法在实际应用中被广泛使用,特别是在医学图像分割领域,如肝脏分割和胰腺分割等。

5.2Mask-RCNN算法详解

a2644cf4-f474-11ed-90ce-dac502259ad0.png

简介:

Mask RCNN是一种深度学习图像分割算法,由FAIR(Facebook AI Research)于2018年提出。它是RCNN系列算法的最新版本,在Faster RCNN和Mask RCNN的基础上加入了全新的分割网络。算法创新点:1. Mask RCNN是第一种能够实现目标检测和实例分割的统一框架算法,不需要额外的分割网络; 2. Mask RCNN通过于Faster RCNN相似的两个分支结构,检测出每个物体的对象边界框,并且对其中的每个对象实现语义分割; 3. Mask RCNN创新性地加入了RoIAlign模块,可以以像素级别的准确度提取ROI特征; 4. Mask RCNN在训练时采用了多尺度训练和水平翻转等数据增强技术,提高了鲁棒性; 5. Mask RCNN利用了实例分割结果来辅助目标检测,提高了检测的效率和准确性。算法步骤:1. 首先,在特征提取器(如ResNet)的基础上,添加一个RoI pooling层,用来提取每个BoundingBox内的特征向量; 2. 然后,进入到Proposal Generation 阶段,使用RPN来产生多个区域框,对每个区域框进行候选区域的分类(物体还是非物体)和边界框回归(Bounding Box Regression); 3. 在Proposal Refinement(即Detection)阶段,结合Proposal Generation的结果,利用Fast RCNN的方法,先将每个候选区域的特征向量转换成一个固定尺寸的特征图(由RoI pooling提取),然后通过全连接层来实现分类和位置回归; 4. 最后,加入Mask RCNN的核心部分,即Mask Generation阶段。我们以RoIAlign代替RoI Pooling,对每个RoI内的坐标点都采用双线性滤波,从而在ROI范围内等距采样得到RoIAlign Feature Map。使用一个分支来预测分割,并对每个ROI生成一个mask.

6、评估指标

6.1 定量指标1.精确度(Accuracy):分割正确的像素数占总像素数的比例,即TP+TN/(TP+TN+FP+FN),其中TP为真正例,TN为真反例,FP为假正例,FN为假反例。2.召回率(Recall):正确分割出的像素数占实际应分割像素数的比例,即TP/(TP+FN)。3.精度(Precision):正确分割出的像素数占分割出的像素总数的比例,即TP/(TP+FP)。4.F1值(F1-score):综合考虑Precision和Recall,即2*Precision*Recall/(Precision+Recall)。5.欧拉距离(Euclidean distance):分割图像与真实分割图像之间的欧拉距离。6.交并比(IoU):分割图像与真实分割图像之间的重叠像素数占并集像素数的比例,即TP/(TP+FP+FN)。7.像素错误率(Pixel error rate):错误分割像素数占总像素数的比例,即FP+FN/(TP+TN+FP+FN)。8.平均准确度(Mean accuracy):分类正确的像素数占各类应分割像素数的平均值,即(∑TP_i)/(∑(TP_i+FP_i)),其中i为类别。9.平均交并比(Mean IoU):所有类别的IoU的平均值,即(∑TP_i)/(∑(TP_i+FP_i+FN_i)),其中i为类别。

a2761326-f474-11ed-90ce-dac502259ad0.png

6.2 定性指标

1.视觉效果(Visual quality):分割结果能否符合人的感受,如边界清晰、区域连续等。2.时间复杂度(Time complexity):计算分割结果所需的时间和计算复杂度,对于实时应用来说尤为重要。3.空间复杂度(Space complexity):占用内存的大小,对于大型图片和数据量来说尤为重要。4.可扩展性(Scalability):算法的扩展性,能否适应不同规模的数据集和不同的场景。5.鲁棒性(Robustness):算法的稳定性和适应性,对于噪声和异常情况的处理能力。

a283e302-f474-11ed-90ce-dac502259ad0.png

7、开源数据集

1. Cityscapes-https://www.cityscapes-dataset.com/

Cityscapes是一个针对城市街景图像分割的大规模数据集,包含了街景照片、标记为19个不同类别的图像分割或实例分割等多种图像数据类型。

2. COCO-http://cocodataset.org/#overview

COCO是一个通用的目标检测、图像分割和实例分割数据集,包含了各种场景下的图像,涵盖了多种物体类别。

3. PASCAL VOC-http://host.robots.ox.ac.uk/pascal/VOC/

PASCAL VOC是一个流行的计算机视觉数据集,包含了20多个物体类别的图像样本,以及这些物体的位置标记。

4. ADE20K-https://groups.csail.mit.edu/vision/datasets/ADE20K/

ADE20K是一个基于社区贡献的大规模场景理解和图像分割数据集,其中包含了超过20,000张图像和类别标注。

5. BSDS500-https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/

BSDS500是一个用于边缘检测、分割和显着性检测的数据集,包含了几百张图像和像素级标注。

6. CamVid-http://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/

CamVid是一个针对道路场景的图像分割数据集,包含了对不同类别的道路元素(如汽车、行人等)的标记。

7. SUN RGB-D-https://rgbd.cs.princeton.edu/

SUN RGB-D是一个室内场景3D图像分割数据集,其包括了带深度信息的RGB图像,用于分割物体、家具、地板等不同场景中的元素。

8. MS COCO Panoptic Segmentation-https://cocodataset.org/#panoptic-2018

MS COCO Panoptic Segmentation是一个多种物体检测图像分类和实例分割任务的数据集。其包含80类物体和133k张图像。

a29dab3e-f474-11ed-90ce-dac502259ad0.png

8、热门论文

1. Fully Convolutional Networks for Semantic Segmentation-https://arxiv.org/abs/1411.4038 简介:本文提出了一种基于完全卷积网络的图像分割方法,能够同时获得像素级别的分类和空间信息。

2. U-Net: Convolutional Networks for Biomedical Image Segmentation-https://arxiv.org/abs/1505.04597 简介:该文介绍了一种特殊结构的U-Net卷积神经网络用于生物医学图像分割。U-Net结构的主要特点是在解码阶段引入了跳跃连接,从而提高了分割的质量。

3. Mask R-CNN-https://arxiv.org/abs/1703.06870 简介:Mask R-CNN是一种基于Faster R-CNN的图像分割模型,相比于其他模型,Mask R-CNN能够在不损失精度的情况下在检测任务上同时实现像素级别的分割。

4. DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs-https://arxiv.org/abs/1606.00915 简介:本文提出了一种语义图像分割方法DeepLab,该方法通过引入扩张卷积和CRF的全连接层,能够提高分割结果的准确性。

5. DenseNet: Densely Connected Convolutional Networks-https://arxiv.org/abs/1608.06993 简介:本文介绍了一种新型的卷积神经网络DenseNet,并将其成功应用于图像分类和物体检测等任务中。DenseNet的主要特点是将每个层的输入与前面所有层的输出相连接,从而提高了信息流的利用效率。

6. FC-DenseNet: Fully Convolutional DenseNets for Semantic Segmentation-https://arxiv.org/abs/1611.09326 简介:FC-DenseNet是一种基于DenseNet的图像分割模型,通过将DenseNet的结构应用于分割任务中,从而提高了分割的准确性和效率。

7. PSPNet: Pyramid Scene Parsing Network-https://arxiv.org/abs/1612.01105 简介:本文提出了一种新的分割模型PSPNet,该模型引入了金字塔池化模块,能够在不同尺度下提取特征信息,并增加了局部和全局上下文的信息。

8. Attention U-Net: Learning Where to Look for the Pancreas-https://arxiv.org/abs/1804.03999 简介:Attention U-Net是一种关注梯度信息的全卷积网络,它通过自适应上下文注意力机制,可以更加准确地实现器官分割任务。

9. Squeeze-and-Excitation Networks-https://arxiv.org/abs/1709.01507 简介:本文提出了一种新型的卷积神经网络Squeeze-and-Excitation Networks(SENet),该网络通过增加逐通道的注意力机制,提高了信息的利用效率和精度。

10. UNet++: A Nested U-Net Architecture for Medical Image Segmentation-https://arxiv.org/abs/1807.10165 简介:UNet++是一种基于U-Net的嵌套结构图像分割方法,通过逐级连接不同大小的U-Net,可以更加准确地获取不同尺度的特征信息。

a2a90ce0-f474-11ed-90ce-dac502259ad0.png

9、热门仓库

1. Mask R-CNN- https://github.com/matterport/Mask_RCNN

简介:一个基于Faster R-CNN的全卷积神经网络,用于对图像中目标进行实例分割,支持多方向的边界框和掩膜生成。

2. DeepLab- https://github.com/tensorflow/models/tree/master/research/deeplab

简介:一个基于深度卷积神经网络的神经图像分割框架,支持多尺度和多特征融合,能处理大尺度和高分辨率图像。

3. U-Net- https://github.com/zhixuhao/unet

简介:一个专用于医学图像分割的神经网络模型,结构简单,训练效果优秀,已广泛应用于医学图像分析领域。

4. FCN- https://github.com/shelhamer/fcn.berkeleyvision.org

简介:一个基于Fully Convolutional Network的全卷积神经网络模型,用于对图像进行像素级别的分割,支持多分辨率输入和多尺度融合。

5. PSPNet- https://github.com/hszhao/PSPNet

简介:一个基于Pyramid Scene Parsing Network的图像分割模型,通过多尺度和多分辨率的金字塔池化来获取图像的全局和局部信息,进行像素级别的分割。

6. Mask-RCNN-Benchmark- https://github.com/facebookresearch/maskrcnn-benchmark

简介:一个由Facebook Research开发的Mask R-CNN库,使用PyTorch框架实现,支持多GPU并行训练和测试,训练速度快、效果好。

7. HRNet-Semantic-Segmentation- https://github.com/HRNet/HRNet-Semantic-Segmentation

简介:一个基于高分辨率网络的图像分割模型,支持多尺度融合和多分支特征提取,可用于处理高分辨率图像。

8. TensorFlow-Segmentation- https://github.com/divamgupta/image-segmentation-keras

简介:一个使用TensorFlow框架实现的图像分割库,提供了多种经典的分割网络模型,简单易用。

9. PyTorch-Segmentation- https://github.com/qubvel/segmentation_models.pytorch

简介:一个使用PyTorch框架实现的图像分割库,支持多个经典的分割网络模型和多种损失函数,适用于各种应用场景。

10. Semantic-Segmentation-Suite- https://github.com/GeorgeSeif/Semantic-Segmentation-Suite

简介:一个基于深度卷积神经网络的图像分割工具包,支持多个分割网络模型和多种损失函数,具有高效和易用的特点。

11. PaddleSeg-https://github.com/PaddlePaddle/PaddleSeg

简介:PaddleSeg是百度维护的一个基于PaddlePaddle开发的有关图像分割任务的一个高性能部署的工具集,里面包含众多性能优异的图像分割算法。12. mmsegmentation-https://github.com/open-mmlab/mmsegmentation

简介: mmsegmentation是一个基于Pytorch构建的一个开源语义分割库,里面集成了很多经典的语义分割算法,研究人员可以用来快速的开发自己新的算法。

a2c12c6c-f474-11ed-90ce-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100745
  • 算法
    +关注

    关注

    23

    文章

    4610

    浏览量

    92860
  • AI
    AI
    +关注

    关注

    87

    文章

    30830

    浏览量

    268995

原文标题:AI算法说-图像分割

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于GAC模型实现交互式图像分割的改进算法

    基于GAC模型实现交互式图像分割的改进算法提出了一种改进的交互式图像分割算法。采用全变分去噪模型
    发表于 09-19 09:19

    基于改进遗传算法图像分割方法

    基于改进遗传算法图像分割方法提出一种应用于图像分割的改进遗传算法,
    发表于 09-19 09:36

    免疫克隆SAR图像分割算法

    由于存在相干斑噪声的影响,使得常规的图像分割技术应用于SAR 图像时,效果往往较差。该文提出一种新人工免疫系统SAR 图像分割
    发表于 11-13 11:36 16次下载

    图像分割—基于图的图像分割

    图像分割—基于图的图像分割图像分割—基于图的图像
    发表于 11-19 16:17 0次下载

    一种改进的图像分割算法分析

    针对传统阈值分割算法的一些缺点,通过将数字形态学与阈值分割算法相互结合提出了一种改进的阈值分割算法
    发表于 11-03 09:47 3次下载
    一种改进的<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>分析

    基于天空分割的单幅图像去雾算法

    针对暗通道先验算法在天空区域失效和复原图像色彩变暗的问题,提出一种基于天空分割图像去雾算法。首先,采用基于边缘检测的
    发表于 11-24 16:28 4次下载

    基于粒子群FODPSO算法图像分割

    图像分割主要用于提取用户感兴趣的目标,是图像分类和识别的基础。采用一种基于分数阶达尔文粒子群算法图像
    发表于 11-25 10:48 11次下载

    基于像素聚类进行图像分割算法

    B型心脏超声图像分割是计算心功能参数前重要的一步。针对超声图像的低分辨率影响分割精度及基于模型的分割算法
    发表于 12-06 16:44 0次下载
    基于像素聚类进行<b class='flag-5'>图像</b><b class='flag-5'>分割</b>的<b class='flag-5'>算法</b>

    一种新的彩色图像分割算法

    本文提出一种新的结合分水岭与种子区域生成、区域合并的彩色图像分割算法。首先将RGB颜色空间转换成HSI间,应用分水岭算法图像进行初始化
    发表于 12-14 14:41 1次下载
    一种新的彩色<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>

    图像分割图像边缘检测

     图像分割的研究多年来一直受到人们的高度重视,至今提出了各种类型的分割算法。Pal把图像分割
    发表于 12-19 09:29 1.1w次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>分割</b>和<b class='flag-5'>图像</b>边缘检测

    图像分割算法的深入研究

    的基础。其研究多年来一直受到人们的高度重视,也提出了数以千计的不同算法。虽然这些算法大都在不同程度上取得了一定的成功,但是图像分割问题还远远没有解决,这方面的研究仍然面临很多挑战。由于
    发表于 12-20 15:21 4次下载
    <b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>的深入研究

    基于Contourlet域下的声呐图像分割算法

    水下环境复杂多变,导致声呐技术成像后的图像质量差,影响目标识别。为此,提出一种基于 Contourlet域下多尺度高斯马尔可夫随机场(GMRF)模型的水平集声呐图像分割算法。采用
    发表于 06-15 11:43 5次下载

    改进自适应GACV的水下图像分割算法研究

    改进自适应GACV的水下图像分割算法研究(通信电源技术20年第13期)-基于改进自适应GACV的水下图像分割
    发表于 09-22 15:32 11次下载
    改进自适应GACV的水下<b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>研究

    遗传算法的基本原理 基于遗传算法图像分割

      摘要:遗传算法是对生物进化论中自然选择和遗传学机理中生物进化过程的模拟来计算最优解的方法。遗传算法具有众多的优点,如鲁棒性、并行性、自适应性和快速收敛,可以应用在图像处理技术领域中图像
    发表于 07-18 16:04 1次下载

    图像分割算法原理及工作流程

    基于深度学习的图像分割算法属于图像处理领域最高层次的图像理解范畴。所谓图像
    的头像 发表于 08-18 15:48 2116次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>分割</b><b class='flag-5'>算法</b>原理及工作流程