如何构建你的第一个图像分类模型?
什么是图像分类?
观察下面这张图:
你会立刻意识到这是一辆(豪华的)汽车。后退一步,分析你是如何得出这个结论的——你看到了一张图片并对它的所属类别进行了分类(本例中是一辆车)。简言之,这就是关于图像分类的一切。
对给定的图像进行分类,图像中可能有n个类别。手动检查和分类图像是一个非常繁琐的过程。当我们面对大量的图片,比如10000张甚至100000张时,这个任务几乎不可能完成。
既然我们已经掌握了主题,那么让我们深入研究一下如何构建图像分类模型,它的先决条件是什么以及如何实现。
设置图像数据的结构
为了解决图像分类问题,我们的数据需要采用特定的格式。
你需要两个文件夹,一个用于训练集,另一个用于测试集。训练集文件夹中又包含一个.csv文件和一个图像文件夹:
-
·csv文件包含所有训练图像的名称及其相应的标签
图像文件夹包含所有的训练图像
测试集中的.csv文件与训练集中的不同,测试集中的.csv文件包含所有测试图像的名称,但不包含其相应的标签。
你能猜到为什么吗?
我们的模型将在训练集中的图像上进行训练,标签预测将在测试集的图像上进行。
分解模型构建过程
我们来看一下图像分类模型通常是如何设计的。这个过程大致分为4个阶段。每个阶段都需要一定的时间来执行:
1.加载和预处理数据——30%的时间
2.定义模型架构——10%的时间
3.训练模型——50%的时间
4.性能评估——10%的时间
现在我们更详细地解释一下上面的每一个步骤。这一部分非常重要,因为并非所有模型都是一下子构建起来的。你需要在每次迭代之后返回,对步骤进行微调,然后再次运行。对基础概念有一个扎实的理解,对于加速整个过程将有很大的帮助。
阶段1:数据的加载和预处理
就深度学习模型而言,数据就是黄金。如果训练集中有大量的图像,你的图像分类模型将更有可能表现良好。此外,数据的形状根据我们使用的体系结构/框架而变化。
为了了解我们的模型如何处理未见过的数据(以及在将其公开给测试集之前),我们需要创建一个验证集。这是通过划分训练集数据来完成的。
简言之,在训练集上训练模型,并在验证数据上加以验证。一旦我们对模型在验证集上的性能感到满意,就可以用其对测试数据进行预测。
此步骤所需时间:大约2-3分钟。
阶段2:定义模型架构
这是我们深度学习模型构建过程中的另一个关键步骤。我们必须定义模型的架构,这需要回答以下问题:
· 需要多少卷积层?
· 每层的**功能是什么?
· 每层有多少隐藏单元?
此步骤所需时间:大约1分钟。
阶段3:训练模型
为了训练数据,我们需要:
· 训练图像及其相应的正确标签
· 验证图像及其相应的正确标签
此步骤所需时间:由于训练需要模型学习结构,我需要大约5分钟来完成此步骤。
是时候做预测了!
阶段4:评估模型的性能
最后,我们加载测试数据(图像)并在此完成预处理步骤。然后我们使用训练模型为这些图像预测类。
此步骤所需时间:不超过1分钟。
动手搭建你的第一个图像分类模型
现在你将接受一个非常酷的挑战来理解图像分类。建立一个模型,对垃圾进行分类。这实际上是华为云人工智能大赛:垃圾分类挑战杯,如何对近千种垃圾进行分类已成为AI应用领域重要方向之一。
可能是看完上面的步骤,对于如何开展图像分类这项任务,仍然摸不着头脑,基于此,为了让你更快的入行深度学习图像分类,成为一个优秀的AI 工程师,****学院联合郭冰洋老师,特别针对零基础想开始学习图像分类的同学联合出品了《深度学习图像处理之垃圾分类》
开始学习
仅需一顿饭,换你一次
进入高薪技术领域的机会
点击阅读原文“39元开启学习“