翻译:吴金笛
校对:郑滋
本文约4600字,建议阅读12分钟。
本文明确了多标签图像分类的概念,并讲解了如何构建多标签图像分类模型。
介绍
你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情:
对象检测
图像分割
图像翻译
对象跟踪(实时),还有更多……
这让我思考——如果一个图像中有多个对象类别,我们该怎么办?制作一个图像分类模型是一个很好的开始,但我想扩展我的视野以承担一个更具挑战性的任务—构建一个多标签图像分类模型!
制作一个图像分类模型
https://www.analyticsvidhya.com/blog/2019/01/build-image-classification-model-10-minutes/?utm_source=blog&utm_medium=multi-label-image-classification
我不想使用简单玩具数据集来构建我的模型—这太普通了。然后,它打动了我—包含各种各样的人的电影/电视剧海报。我可以仅通过看海报就能来构建我自己的多标签图像分类模型来预测不同的流派吗?
答案很简单——是的!在本文中,我解释了多标签图像分类背后的思想。我们将使用电影海报构建我们自己的模型。你将会对我们的模型产生的令人印象深刻的结果感到惊讶。如果你是《复仇者联盟》或《权力的游戏》的粉丝,那么在实现部分会有一个很棒的惊喜(无剧透的)给你。
激动吗?很好,我们开始吧!
目录
1. 什么是多标签图像分类?
2. 多标签图像分类与多类图像分类有何不同?
3. 了解多标签图像分类模型体系结构;
4. 构建多标签图像分类模型的步骤;
5. 案例研究:用Python解决多标签图像分类问题;
6.接下来的步骤和你的实验;
7.尾记。
1. 什么是多标签图像分类?
让我们通过一个直观的例子来理解多标签图像分类的概念。 看看下面的图片:
图1中的对象是一辆汽车。这是显而易见的。然而,在图2中没有汽车,只有一组建筑物。你能看出我们要怎么做吗?我们将图像分为两类,即,有车还是没车。
当我们只有两类图像可以分类时,这就称为二值图像分类问题。
让我们再看一个图片:
在这个图片中,你识别出了多少个物体?有太多了——房子、带喷泉的池塘、树木、岩石等等。所以,当我们可以将一个图像分类为多个类(如上图所示)时,就称为多标签图像分类问题。
现在,这里有一个问题——我们大多数人对多标签和多类图像分类感到困惑。当我第一次遇到这些术语时,我也被迷惑了。现在我对这两个主题有了更好的理解,让我来为你们澄清一下区别。
2. 多标签图像分类与多类图像分类有何不同?
假设给我们一些动物的图片,让我们把它们分成相应的类别。为了便于理解,我们假设一个给定的图像可以分为4类(猫、狗、兔子和鹦鹉)。现在,可能有两种情况:
每个图像只包含一个对象(上述4个类别中的任何一个),因此,它只能被归入4个类别中的一个。
图像可能包含多个对象(来自上述4个类别),因此该图像将属于多个类别。
让我们通过例子来了解每种情况,从第一个场景开始:
这里,我们的每个图像都只包含一个对象。敏锐的你会注意到在这个集合中有4种不同类型的对象(动物)。
这里的每张图片只能被分类为猫、狗、鹦鹉或兔子。没有任何一个图像属于多个类别的情况。
当图像可分类的类别超过两种时
一个图像不属于一个以上的类别
如果满足上述两个条件,则称为多类图像分类问题。
现在,让我们思考第二种情况 —— 看看下面的图像:
第一张图片(左上角)包含一只狗和一只猫
第二幅图(右上角)包括一只狗、一只猫和一只鹦鹉