Image Classification vs. Object Detection vs. Image Segmentation
在计算机视觉领域,我们大多数人最常见的疑问之一就是图像分类、目标检测和图像分割有什么区别。当我开始在计算机视觉领域学习时,我也对这些术语感到困惑。所以,我决定分析这些术语来帮助更好地理解它们之间的区别。
Image Classification
给你一张图片:
你会立刻认出它是一只狗。回想一下,你是如何得出这个结论的。您看到了这个图像,并对它所属的类进行了分类(在本例中为狗)。分类是一个比较宽泛的概念,有时很表述会抽象或者包含个人的主观意识。本质上讲,分类的意思就是根据某种属性,将具有相似属性的事物汇总在一起。而类别名称则反应出该类别所具有的特性。
正如你看到的,这里只有一个物体:一只狗。我们可以很容易地使用图像分类模型来预测给定图像中的狗。但是如果我们在一张图片里同时有一只猫和一只狗呢?
Multi-label Classification
在这种情况下,大家可能想到一个多标签分类器,使得上副图像的输出为(猫,狗)。但通常多标签分类所要解决的问题往往不仅仅是这种情况。在多标签分类中,有时标签所表达的含义可能比较抽象,但能够反应图像本身特征。比如如下图片:
现在,还有一个问题——在第二副图像中,我们不知道图像中任何一个动物/物体的位置。
Object Detection
这指的是图像定位, 它有助于我们识别给定图像中单个对象的位置。 如果存在多个对象,那么我们将引出目标检测的概念。 通过目标检测,我们预测出图像中每个具体物体的类别以及位置信息。其中位置信息往往通过边界框在图像中表示出来,如下图所示:
Object Segmentation
我们知道,图像由一个个像素构成。给定一幅图像,如果我们知道了图像属于哪一类别,包含那些物体,以及这些物体的相应位置。我们同样想将图像中的物体提取出来,我们当然不想简单的通过图像的边界框将其corp出来,那样会包含不属于该物体的很多相邻像素。于是,进一步细化,仅仅将属于该物体的像素识别出来,这将会显示出物体的具体形状。这就是图像分割。
In Short
图像分类帮助我们对图像中包含的内容进行分类。图像定位将指定图像中单个对象的位置,而目标检测将指定图像中多个目标的类别及位置。最后,图像分割将对图像中的目标创建一个像素mask,并用来识别图像中不同对象的形状。