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

2023-11-11 17:30

本文主要是介绍用AutoML Vision alpha构建ML模型:识别不同类型的椅子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用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模型的数据集了!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31509949/viewspace-2157998/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31509949/viewspace-2157998/

这篇关于用AutoML Vision alpha构建ML模型:识别不同类型的椅子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/391702

相关文章

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐