图像分割基础

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 图像分割基础

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):图像分割基础

课程地址:https://edu.aliyun.com/course/3112108/lesson/19276

 

图像分割基础

 

内容介绍:

一、图像分割的定义

二、图像分割的类别

三、图像分割遇到的挑战

四、图像分割的常用数据与网络

五、图像分割的典型案例

 

日常生活中大概都使用过抠图软件,可能有专门的这个抠图软件,可能就是PS,PS就是很重要的一项技能。

特别是一些电商的应用里面要对图片进行处理,对照片进行处理,很多时候都是需要把商品的内容抠出来,然后再去换背景,再去加工等等。是电商里面工作量很大很繁重的事情,很多的电商的美工,可能每天要花大量的时间在抠图上面,是非常的浪费人力物力的。

如果是用软件去抠图的过程:先要去选中图片里的目标主体,是要扣哪部分,哪个主体,然后依据边界进行分割,对主体的边界进行分割让主体的背景分离,多余的都去掉啊,突出的显示主体。

 

一、图像分割的定义


图像分割就是把图像分成若干个特定的具有独特性质的区域,并提出感兴趣目标和技术的过程。简单来说就是图像的分割,整几张图从里面抠出来一部分抠出来,具体有语义分割,实例分割,全景分割不同的做法。


图像分割算法的它的输入就是要分割的图像方案输入,把它放进去。然后输出的是一组区域,就是要把那部分切出来的一组区域。

图片583.png

 

比如输入的图像就是一个骑摩托车的骑士。希望给他抠图,就是拿算法把行驶的摩托车的人就自动的把它取出来了。要的是这个区域里的内容,那这个区域也可以是掩码,这种掩码是灰度或者是颜色的,就是用掩码来表示,就是这些点。


其实掩码也好,还是像每个部分分配一个唯一的颜色或者灰度值都可以。就非常容易的去找到要的那部分。那输入的图像经过分割算法,可能得到的是蒙版或掩码,就很容易把要的不同的对象就拿出来了。这是图像分割的定义。

 

二、图像分割的类别


图像分割又分为语义分割、区域分割和场景分割三个。

语义分割是像素级别上的分类,属于同一类的像素都要被归为一类。首先要有一些分类,比如在这个图像里面要找到哪些类。像下面这个图片里面,有猫有狗,我们目标是找到里面的猫和狗。

图片584.png

语义分割它是从像素级别理解图像,经过语义分割之后左边的这个图像变为右边标注之后的,用蓝色去标注猫,橙色来标注狗,用紫色来标注后面的背景。这个图像上的每一个像素点都会标出来它是属于哪一个类的。


从这个图也可以看出来,使用语义分割,可以简单的把目标从背景中分离出来,但是要注意的是语义分割它并不会区分这个像素点是属于哪一只猫,在他的概念里面没有分这一只猫那一只猫,而是确定这个像素点是一只猫的像素点就可以了。


图像分割的第二种是实例分割。实例分割比语义分割增进了一步。在前面的语义分割,有类的概念,要在像素级别上的识别它的类别。但是同一类别的对象不会区分,类它的某一个具体的对象就是这个类的一个实例。

图片585.png

比如这个图里面类有猫有狗,有猫和狗,这是两个不同的类。语义分割只要把同类别的猫狗找出来,归为一类就可以了。


但是这里面猫和狗分别都有两个实例,要去做实例分割,要在具体的类别这个基础上面去区分出来不同的实例,这个是一个经过实例分割的一个实例,跟上一个图像比较,可以看到这里面每一个实例用不同的颜色表示说明对它进行了不同的标注。


实例分割跟目标检测有点相似,但是不同的是目标检测输出的是目标的边界框和类别。而实例分割输出的是目标的master和目标的类别。实例分割它同时利用目标检测和语义分割的结果,通过目标检测可以提供目标它的最高知性度的类别的索引,把语义分割中目标对应的master突取出来。

实例分割顾名思义就是把一个类别里面具体的一个个对象分割出来。重点强调语义分割它是像素级的,它是包括背景的。


实例分割它主要关注的是图像里面的找到的对象,关注的是目标检测找到的,以及这个对象的分类。

全景分割是语义和实例分割的相结合,它要对图像里面所有的物体和背景都要进行检测和分割。不仅要对感兴趣的目标区域进行分割,也要对背景区域进行分割,背景区域的分割属于语义分割,物体的分割属于实例分割。


全景分割跟语义分割相比,它的困难主要于怎么去优化、全面的网络的设计,让网络结构能够区分不同类别的实例。


全景分割与实例分割比,由于全景分割要求每个像素只能有一个类别,包括ID的标注,所以实例ID就是只能有一个类别和一个实例ID,所以才能实现实例分割中的层叠现象。

图片586.png

三个放在一起对比,就知道全景分割它能获取的信息更多。它不光能识别出语义,也能识别出里面的实例,达成标记。带有更多的语义,当然任务也会变得更复杂。

抠图的情况可能遇到的问题,抠出来的边界不清晰。有可能扣多了或者扣少了。前面讲的图像分割的技术,同样的会遇到这样的难题,把图片进行分割的时候,是不是也会出现这种边界的清晰的情况。

 

三、图像分割遇到的挑战


首先是分割边缘不准,图像分割与抠图很像在查找边缘的时候,有些很明显,两边像素的颜色不同差别很大,有些非常相近,相邻的像素对应感受野内的图像信息太过相似导致。

解决这个问题要提高输入图像的分辨率,提高分辨率之后,可能这个检测变量分割的就会好一点,或提高图片中间层的特征图的分辨率。但是有的时候就不太可能去再去提高分辨率了,这时可以对网络输出的分割边界来增加额外的设施本质上还是进行图像分割和图片检测同时进行,解决分割边缘不准的问题。


第二是样本质量不一,样本有多个尺度,具有多姿态度,多视角问题,可能这个物体在不同的角度上看起来是不一样的。会出现物体之间的遮挡和重叠;受灯光影响,样本质量参差不一。


第三个是标注成本过高,在图像分割的时候对于样本的标注成本是非常高的,而且标注质量是难以保证它不含有噪声的。在图像分割的时候是训练,需要大量的样本,这个样本在训练的过程中去进行标注,需要标注不是一个两个。


比如,图像分类,可能先做标签,根据图像打一个标签就可以了。如果是图像分割,一个图像它要标注的地方有很多,而且这个图像标注起来也没有那么简单。然后就是在这个图像上拉一个框就可以,如果分割的话,每一个图像都要非常大的成本才能分割出来,标注成本非常的高,而且难以保证不含有噪声,还可能有标错的情况。

 

四、图像分割的常用数据与网络


(一)常用数据集COCO

COCO:一个常用于图像分割的大型图像数据集;包含33万张彩色图像,标定了50万个目标实例;

具有80个目标类(迄今为止最大的数据集)、91个物品类以及25万个人物关键点标注;每张图片包含5个描述;每一类的图像多,利于提升识别更多类别位于特定场景的能力;

类别包括:person(人)、bicycle(自行车)、car(汽车)、motorbike(摩托车)、aeroplane(飞机)、bus(公共汽车)、train(火车)、truck(卡车)、boat(船)、traffic light(信号灯)、fire hydrant(消防栓)、stop sign(停车标志)、parking meter(停车计费器)、bench(长凳)、bird(鸟)、cat(猫)、dog(狗)、horse(马)、sheep(羊)、cow(牛)等等。

整个数据集下载压缩要25G。


(二)神经网络FCN

FCN全卷积神经网络是图像分割的基础网络;全卷积神经网络,顾名思义网络里的所有层都是卷积层;卷积神经网络卷到最后特征图尺寸和分辨率越来越小,不适合做图像分割,为解决此问题FCN引入上采样的方法,卷积完之后再上采样到大尺寸图;


为避免层数不断叠加后原图的信息丢失得比较多,FCN引入一个跳层结构,把前面的层特征引过来进行叠加;


FCN实现了端到端的网络端到端学习是一种解决问题的思路,与之对应的是多步骤解决问题,也就是将一个问题拆分为多个步骤分步解决,而端到端是由输入端的数据直接得到输出端的结果。

它的优点很多,因为它卷积层替换全连接,所以它可以处理任意大小的图片,它可以输出像素级的分类图。它的计算学习都很高效。


它的缺点在它的图像不精细,因为它采用了这个上采样啊,所以它会丢失一些细节。另外就是他忽略像素之间的关系,从而缺乏空间一致性。

五、图像分割典型应用


图像分割可以在抠图软件中使用,基于图像分割开发扣图的软件。电商的平台就是大量的人,大量的美工,每天大量的时间都在抠图做这个事情。如果换成软件,有了照片之后,大量这种工作就把人力替代出来了。


有的人就把图像分割技术做成这种服务,那用APP的方式或者说这个API的方式提供出来,给用户的使用,比如没有图像分割的能力,但是可以使用这种服务。那可能是按一张照片收费,那这个总体的性价比是很高的。

图片587.png

用户可以上传一张图片,上传图片和下面这张鸟的图片。应用图像分割技术之后。平台可以分辨出图片具有的独特的特征,然后去区分边缘,然后分割,通过之后就得到右边这个效果,然后把这个识别的效果再返回给用户。用户就可以得到这个图片的内容和相关的信息。这个在电商那边也有很大的应用的空间。

图片588.png图像分割在智能证件照中的应用可以看到左边是他原始的照片,很多情形下,他要证件照背后的提示是红色的或者是蓝的。再拍一个照片,然后再打出来,这个都很复杂。可以挑选出来自己喜欢的生活照。然后用图像分割的技术把它完美的替换成专业证件照。

就简单来说,就是不用再自己去抠图,PS操作,不用再做这个事情。直接用阿里云提供的服务,这个功能还是很好用的。它可以精确到像素级别,然后保证证件照的专业性和准确性。

 

内容回顾

通过本节的学习,我们学到了:

1.图像分割的定义和类别

图像分割:把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标。

类别:语义分割、实例分割和全景分割。

2.图像分割遇到的挑战

分割边缘不准、样本质量不一和标注成本高

3.图像分割常用数据集和网络

COCO:具有80个目标类、91个物品类以及25万个人物关键点标注的大型图像数据集。

常用网络:FCN等

4.图像分割的应用

抠图软件、智能证件照制作等

相关文章
|
7月前
|
计算机视觉 Python
基于YOLOv8的自定义医学图像分割
基于YOLOv8的自定义医学图像分割
|
人工智能 算法 计算机视觉
目标检测基础(一)
目标检测基础(一)
132 0
目标检测基础(一)
|
传感器 监控 算法
目标检测基础(二)
目标检测基础(二)
135 0
|
机器学习/深度学习 存储 数据采集
图像分类基础(一)
图像分类基础(一)
235 0
|
机器学习/深度学习 存储 人工智能
图像分类基础(二)
图像分类基础(二)
132 0
|
算法 计算机视觉
图像分割的两种算法
图像分割的两种算法
1081 0
|
机器学习/深度学习 传感器 编解码
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
|
机器学习/深度学习 计算机视觉
|
固态存储 算法 数据挖掘
目标检测框架在目标跟踪中的应用
从SiamRPN将跟踪问题定义为one-shot detection任务之后,出现了大量将检测组件由于跟踪的研究。不过Siamese系列一个很大的问题在于其本质仍然是一个模板匹配问题,网络关注的是寻找与target相似的东西,而忽视了区分target和distractor的判别能力,这正是目标检测任务所擅长的。目标检测和目标跟踪的关键差异在于检测是一个class-level的任务,而跟踪是一个instance-level的任务(即检测只关注类间差异而不重视类内差异,跟踪需要关注每一个实例,同时跟踪的类别是不可知的)。
131 0
|
机器学习/深度学习 自动驾驶 算法
深度学习/自动驾驶数据集大集合(目标检测/图像分割/语义分割/图像分类/)
深度学习/自动驾驶数据集大集合(目标检测/图像分割/语义分割/图像分类/)