用AutoML Vision alpha构建ML模型:识别不同类型的椅子

点击上方关注,All in AI中国

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

本文将会使用AutoML Vision alpha来构建和部署一个机器学习模型,从原始数据收集到服务模型,以及介于两者之间的一切!该模型可识别不同类型的椅子,以及其他一些项目,以便我们进行更好的测量。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

许多人一直在呼吁要访问AutoML Vision alpha,我们稍微了解一下工作流程,告诉你如何使用它,即使你尚未获得等候名单。

那么......什么是AutoML?

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

Cloud Vision API可以识别椅子,但它在识别别的方面也是通用的

使AutoML如此引人注目的一个原因是自定义模型。现有的模型和服务(如Cloud Vision API)可以识别给定的图片中是否有一张椅子,但是如果您是设计和制造椅子的,并且需要一种方法来对库存中各种品牌的椅子进行分类,那该怎么办?如果能够使用“自定义”视觉API,也就是说可以识别特定的椅子,那就完美了。这也是AutoML Vision的目标。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

这是一个黄色的椅子

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

这张图片有更多的椅子

AutoML Vision会将许多标记的照片作为输入。这时候可能有人要问有多少张照片?理想情况下,每个对象大约有数百个是好的。所以现在可以走出去开始拍照,如果您厌倦了点击该快门按钮,您可以尝试我一直在使用的替代方法。

拍照 - 用视频的那种!

为了更容易为AutoML Vision捕获数据,我通过捕获我感兴趣的椅子的视频来收集我的训练数据,然后使用ffmpeg来提取帧。

作者拍了一些各种不同的户外椅子的视频。同时还拍了一些关于它们放置的桌子的视频,以及一辆自行车,这只是为了让事情更有趣。

我们一起来看看这段录像的例子。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

在这个视频里有不同形状、风格和颜色的椅子。但没有视频长度超过30秒。短片中有一张桌子,还有一个自行车,这是我们将要研究的数据。

拆分视频

我们想要的最终状态是一个CSV文件,每个图像有一行、两列,第一个用于在Google云端存储中定位图像,第二个用于标签,如“红色椅子”或“表格” ,或'蓝色椅子'。

为了便于整理,将每个视频都放入自己的文件夹中。然后我们可以依次在每个视频文件上运行ffmpeg。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

提取帧后,每个标签都会有一个文件夹,其中包含该标签的图像。这是组织图像的一种方便的方法,并且比拥有所有图像的一个大型文件夹更简单。

接下来,我们可以使用gsutil将图像上传到Google云端存储,每个标签复制一个文件夹的文件夹结构:

构建数据

AutoML需要一种方法来了解在哪里可以找到所有照片以及每张照片中的对象。我们需要创建一个CSV文件,列出希望包含在数据集中的每个图像的标签。有很多方法可以实现这一点,但这里选择启动本地的Jupyter笔记本并创建一个Pandas数据帧以导出为CSV文件。

好的,现在我们有一个CSV文件描述我们数据集中所有图像的位置和标签。我们准备训练我们的模型!

这就是将图像加载到AutoML Vision后的样子。 CSV文件已通知平台每张图像的正确标签。如果您没有标记您的图像,那没关系,UI中内置了工具,可以帮助指导您完成标记过程并显示哪些图像仍然没有标记。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

第2部分:训练和部署AutoML Vision

训练模型

这就是我们一直在做的所有设置,它使AutoML Vision能够获取数据并在最先进的图像模型上训练您的数据,自动找出适当的超参数,如网络结构。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

但在你开始尝试更高级的模型之前,我建议先从简单的模型开始,然后看看它的表现如何。这将为您提供一个基线,您可以根据该基线来比较其他模型的相对性能。

训练开始后,你可以去散步,或者喝咖啡。至于花费的时间需要具体考虑我们的数据量。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

评估您的模型

一旦训练完成,您将获得有关您的模型的各种统计数据,您可以使用它来查看其执行情况以及是否有一些图像被错误标记,或者其他方面是否值得更正,然后进行再训练。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

在我们的案例中,由于我们通过设计收集了非常具体、干净的数据,因此我们得到了一些非常高的指标。然而,真正重要的是它如何在新的、看不见的数据上执行。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

预测时间!

作者拍了一些照片放到模型中,看看他会返回给我们什么。

让我们试试这张包含自行车以及黄色和蓝色的椅子的图片。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

结果图像被认为主要是自行车,但它也有一点黄色和蓝色的椅子,它们处于背景中,并且在这张照片中的突出特征不那么突出。

那我们再试试另一个吧。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

这张照片大多的大部分是黄色的椅子,但也有蓝色的椅子的一部分。这个模型判断它主要是黄色的椅子,还有一把蓝色的椅子。

那么,我们再看看这张主要是蓝色椅子的照片怎么样?

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

是的,那显示的主要是蓝色的椅子,还有一些桌子,有趣的是,还有一点黄色的椅子,这是意料之外的。并非所有事情都是完美的,但到目前为止,最佳选择已被证明是非常好的。

最后,这张照片怎么样,与最后一张非常相似,但前排座椅是黄色的?模型会如何判别呢?

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

哇,前排的黄色椅子可是占据了大片时间!尝试在模型和数据集中找到差距,可以更好地了解如何根据您的用例收集更强大、更具代表性的数据,这非常有趣。

结束

值得指出的是,此时,可以通过其REST API调用该模型。该服务利用Cloud ML Engine的在线预测功能,提供定制的自动缩放预测服务,并对我们的数据集进行培训。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

您可以从任何服务器或连接互联网的设备通过REST API调用您的服务

关于这一切的巧妙之处在于,一旦您的数据管道全部完成,那么训练和部署机器学习模型的过程完全是免费的!这使您可以专注于使数据处于良好状态,并避免构建合适的计算机视觉机器学习模型的挑战。

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

请注意模型名称下方的自动部署的注释

现在,如果你能原谅我,我会去拍更多彩色椅子的视频,这样我就可以扩展我的AutoML Vision模型的数据集了!

用AutoML Vision alpha构建ML模型:识别不同类型的椅子

相关推荐