一文详解图像分割基本概念

图像分割是计算机视觉中的关键技术,包括语义分割和实例分割,常用于医学影像诊断、自动驾驶和图像处理。语义分割关注类别而不区分对象实例,而实例分割则能区分同一类别中的不同对象。在自动驾驶中,图像分割对于精确识别路况至关重要,而在医学领域,它帮助医生定位病灶。此外,图像分割还应用于自动扣图和虚拟试穿等场景。
摘要由CSDN通过智能技术生成

来源:投稿 作者:卷舒
编辑:学姐

前言

人类对计算机视觉感兴趣的最重要的问题是图像分类 (Image Classification)、目标检测 (Object Detection) 和图像分割 (Image Segmentation),同时它们的难度也是依次递增。

在分类任务 (Image Classification) 中,我们只关注图片中物体的类别。

目标检测 (Object Detection)任务中,我们不仅要识别出图片中物体的类别,同时还要知道这些物体各自在什么地方,我们使用bounding box将这些目标框出

而图像分割 (Image Segmentation)任务跟目标检测任务其实有一定的相似,都是识别图片中的物体并在图片中标注出物体的位置。

只不过不再是用bbox来框出物体,而是精确到像素级,需要我们准确的知道物体的边缘在什么地方。通过下方的左右两张图片我们可以很明显地看出目标检测与图像分割的区别。

什么是图像分割

我们知道一张图片是由一堆像素构成的,那么图像分割(Image Segmentation)可以理解成对每一个像素进行分类的任务。

有两种最常见的图像分割技术:语义分割 (Semantic Segmentation) 和实例分割 (Instance Segmentation)。

语义分割时,在一张图片中有多个同一类物体的时候,这两个物体不用被明确的区分开,他们的像素标签都会是同一类别。

而实例分割时,当一张图片中有多个同一类物体时,不仅需要识别出物体的类别,还需要把两个同类物体给区分开。

如上图所示,在进行语义分割的时候,左边的两只狗会被分为同一类,用同一种颜色表示;而在实例分割的时候,左边的两只狗会被用不同颜色区分开,即这两只狗的上的像素的标签为不同类。

在看下面这张图。图(b)就是语义分割,途中的多辆汽车被分为了同一类,用同一种颜色表示;而图(c)是实例分割,虽然有多辆车,但是他们的标签类别却是不一样的,被用不同的颜色标记出来。

这里再简单提一句图(d)的**全景分割(panoptic segmentation)**。

我们可以看到对于给定图片(a)各任务的groundtruth分别是: 图(b)的语义分割是逐像素的class labels; 图(c)的实例分割是逐object的mask和class label; 图(d)的全景分割是逐像素的class labels和instance labels。全景分割同时完成语义分割和实例分割任务,需要对图片中的每一个可见object和region进行辨别与描述。 全景分割与实例分割,语义分割的不同: 对比语义分割,全景分割需要区分不同的 object instances; 对比实例分割,全景分割不仅分割things(即实力分割中的object),同时分割stuff(指具有相似纹理或材料的无定形区域,例如草、天空、道路。); 全景分割需要同时识别stuff和things。 本教程主要将以语义分割为主。

图像分割的应用

图像分割的应用有很多,下面举了几个图像分割在现实生活中的应用

医学影像诊断

通过对MRI,CT,X光等医学影片进行图像分割,可以辅助医生诊断,甚至可以定位到病灶给出诊断结果。如下图,左边第一张图是大脑的MR原图,右边两张是进行图像分割后的图片。

再比如这张胸片,通过图像分割后,我们可以很清晰的分辨出肺、锁骨和心脏的位置。

自动驾驶

图像分割最著名的应用应该非自动驾驶莫属了。图像分割可以帮助汽车通过摄像头分辨路面、路牌、行人与车辆。可以想象,如果是较为粗略的目标检测的话,很难胜任安全要求如此之高的自动驾驶任务。

自动扣图

既然图像分割可以把每个物体所在位置的像素给分别标注出来,那么这是不是跟我们的抠图任务有类似呢。比如把一张商品的图片送进模型,通过图像分割我们是不是可以分辨出哪些像素属于背景,哪些像素属于前景(商品)呢?

虚拟试穿

再说最后一个我们生活中有遇到过的运用。不知道大家有没有在某些购物APP上,使用过3D试穿功能呢。就是选择好我们想是穿的衣物,通过手机摄像头对准我们要试穿的身体部位,那么手机上就会呈现出我们穿上这一衣物的样子。

这其实也是需要通过图像分割来分割出我们身体上应该穿上衣服的部位的。

同时,还有一种虚拟化妆的任务,其实原理也跟虚拟试穿类似。

Reference

  • Anil Chandra Naidu Matcha. “A 2021 guide to Semantic Segmentation.” https://nanonets.com/blog/semantic-image-segmentation-2020/
  • Jeremy Jordan. “An overview of semantic image segmentation.” https://www.jeremyjordan.me/semantic-segmentation/
  • Fei-Fei Li & Justin Johnson & Serena Yeung. “CS231n: Deep Learning for Computer Vision.” (2017). Lecture11. http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
  • Pham, Dzung L. et al. “A Survey of Current Methods in Medical Image Segmentation.” (1999).
  • Novikov, Alexey A., et al. "Fully convolutional architectures for multiclass segmentation in chest radiographs." IEEE transactions on medical imaging, 37.8 (2018): 1865-1876.
  • Dhanoop Karunakaran. “Semantic segmentation — Udaity’s self-driving car engineer nanodegree.” https://medium.com/intro-to-artificial-intelligence/semantic-segmentation-udaitys-self-driving-car-engineer-nanodegree-c01eb6eaf9d
  • Wang, Bochao, et al. "Toward characteristic-preserving image-based virtual try-on network." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

点击下方卡片关注《学姐带你玩AI》🚀🚀🚀

CVPR必读论文500+篇已打包🗂️包含图像分割等55个分类

后台回复“CVPR”免费领取

码字不易,欢迎大家点赞评论收藏!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个流行的深度学习框架,可以用于训练和部署图像分割模型。图像分割是将图像中的每个像素分类到特定的类别或分割区域的任务。在图像分割中,模型通过学习像素级别的特征来确定每个像素所属的类别或分割区域。 在PyTorch中,有许多用于图像分割的模型和库可供使用。例如,引用中提到的segmentation_models_pytorch库是一个优秀的图像分割库,它提供了许多常用的图像分割模型,如Unet、FPN、PSPNet等。这些模型在不同的数据集上进行了训练,并且可以根据实际需求进行微调或迁移学习。 具体来说,图像分割模型使用卷积神经网络(CNN)来提取图像中的特征,并使用这些特征来预测每个像素的类别或分割区域。常用的模型结构包括Unet、FCN、DeepLab等。这些模型通常由编码器和解码器组成。编码器负责提取图像的低级和高级特征,解码器则根据这些特征生成像素级别的预测结果。 训练图像分割模型通常需要大量的标注数据集,其中每个像素都有相应的标签。这些数据集可以包含多个类别,如引用中提到的21个类别,其中一个类别是背景类。模型通过将输入图像传递给网络,并使用与标签进行比较的损失函数来进行训练。训练过程中的优化器和学习率策略也会影响模型的性能。 在使用PyTorch进行图像分割时,通常需要进行数据预处理和增强操作,如引用中提到的albumentations库。这些操作可以提高模型的鲁棒性和泛化能力。 总结来说,图像分割是将图像中的每个像素分类到特定的类别或分割区域的任务。PyTorch是一款流行的深度学习框架,可以用于训练和部署图像分割模型。在PyTorch中,有许多优秀的图像分割库和模型可供使用,如segmentation_models_pytorch和albumentations。训练图像分割模型需要大量的标注数据集,并使用卷积神经网络来提取特征和预测每个像素的类别或分割区域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值