在cv领域,会经常见到“语义分割”、“实例分割”这两个名词,本文就来解释下他们分别是什么意思,又有什么区别。

以下的图部分借用自知乎用户william的文章:一文读懂语义分割与实例分割 - 知乎

目录

语义分割和实例分割

语义分割

实例分割

总结


语义分割和实例分割

在开始这篇文章之前,我们得首先弄明白,什么是图像分割

我们知道一个图像只不过是许多像素的集合。图像分割分类是对图像中属于特定类别的像素进行分类的过程,属于pixel-wise即像素级别的下游任务。因此图像分割简单来说就是按像素进行分类的问题。

传统的图像分割算法均是基于灰度值的不连续和相似的性质。而基于深度学习的图像分割技术则是利用卷积神经网络,来理解图像中的每个像素所代表的真实世界物体,这在以前是难以想象的。

基于深度学习的图像分割技术主要分为两类:语义分割(semantic segmentation实例分割(instance segmentation)

---------------------------------------------------------------------------------------------------------------------------------

语义分割

“语义”是个很抽象的概念,在2D图像领域,每个像素点作为最小单位,它的像素值代表的就是一个特征,即“语义”信息。

语义分割会为图像中的每个像素分配一个类别,但是同一类别之间的对象不会区分。而实例分割,只对特定的物体进行分类。这看起来与目标检测相似,不同的是目标检测输出目标的边界框和类别,实例分割输出的是目标的Mask和类别。

具体而言,语义分割的目的是为了从像素级别理解图像的内容,并为图像中的每个像素分配一个对象类。

 

实例分割

实例分割同时利用目标检测和语义分割的结果,通过目标检测提供的目标最高置信度类别的索引,将语义分割中目标对应的Mask抽取出来。简而言之,就是把一个类别里具体的一个个对象(具体的一个个实例)分割出来。这几年借自动驾驶的风口,火起来了。有些实例分割任务也会把检测结果,即bounding box输出,对实例分割、语义分割、目标检测三个混合任务感兴趣的可以去看下HTC(Hybrid task cascade)这篇cvpr 2019的论文

总结

语义分割只能划分类别,而同类无法划分,因此部分场景在语义分割之后还需要进一步用实例分割来划分同类别的不同实例 。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐