用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

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee