用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

相关文章

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编