Azure Machine Learning - Azure可视化图像分类操作实战

目录

  • 一、数据准备
  • 二、创建自定义视觉资源
  • 三、创建新项目
  • 四、选择训练图像
  • 五、上传和标记图像
  • 六、训练分类器
  • 七、评估分类器
    • 概率阈值
  • 八、管理训练迭代

在本文中,你将了解如何使用Azure可视化页面创建图像分类模型。 生成模型后,可以使用新图像测试该模型,并最终将该模型集成到你自己的图像识别应用中。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

一、数据准备

  • 一组用于训练分类模型的图像。 可以使用 GitHub 上的一组示例图像。 或者,可以根据下面的提示选择你自己的图像。

二、创建自定义视觉资源

若要使用自定义视觉服务,需要在 Azure 中创建“自定义视觉训练和预测”资源。 为此,在 Azure 门户中填写创建自定义视觉页上的对话框窗口,以创建“训练和预测”资源。

三、创建新项目

在 Web 浏览器中,导航到自定义影像服务网页,然后选择“登录” 。 使用登录 Azure 门户时所用的帐户进行登录。

file

  1. 若要创建首个项目,请选择“新建项目” 。 将出现“创建新项目”对话框 。

file

  1. 输入项目名称和描述。 然后选择自定义视觉训练资源。 如果登录帐户与 Azure 帐户相关联,则“资源”下拉列表将显示所有兼容的 Azure 资源。

注意
如果没有可用的资源,请确认已使用登录 Azure 门户时所用的同一帐户登录 customvision.ai。 此外,请确认在自定义视觉网站中选择的“目录”与自定义视觉资源所在 Azure 门户中的目录相同。 在这两个站点中,可从屏幕右上角的下拉帐户菜单中选择目录。

  1. 选择“项目类型”下的“分类”。 然后,在“分类类型”下,根据用例选择“多标签”或“多类”。 多标签分类将任意数量的标记应用于图像(零个或多个),而多类分类将图像分类为单个类别(提交的每个图像将被分类为最有可能的标记)。 以后可以更改分类类型(如果需要)。

  2. 接下来,选择一个可用域。 每个域都会针对特定类型的图像优化模型,如下表所述。 稍后可按需更改域。

    目的
    常规针对各种图像分类任务进行优化。 如果其他域都不合适,或者不确定要选择哪个域,请选择“通用”域。
    食物针对餐厅菜肴的照片进行优化。 如果要对各种水果或蔬菜的照片进行分类,请使用“食品”域。
    特征点针对可识别的自然和人造地标进行优化。 在照片中的地标清晰可见的情况下,该域效果最佳。 即使照片中的人物稍微遮挡了地标,该域仍然有效。
    零售针对购物目录或购物网站中的图像进行优化。 若想对连衣裙、裤子和衬衫进行精准分类,请使用此域。
    压缩域针对移动设备上实时分类的约束进行优化。 可导出压缩域生成的模型在本地运行。
  3. 最后,选择“创建项目”。

四、选择训练图像

作为最低要求,我们建议在初始训练集中每个标记使用至少 30 张图像。 此外还需要收集一些额外的图像,以便在训练模型后测试模型。

为了有效地训练模型,请使用具有视觉多样性的图像。 选择在以下方面有所不同的图像:

  • 照相机角度
  • 照明
  • background
  • 视觉样式
  • 个人/分组主题
  • 大小
  • type

此外,请确保所有训练图像满足以下条件:

  • .jpg、.png、.bmp 或 .gif 格式
  • 大小不超过 6 MB (预测图像不超过 4 MB)
  • 最短的边不小于 256 像素;任何小于此像素的图像将通过自定义影像服务自动纵向扩展

五、上传和标记图像

在本部分中,将上传图像并手动标记图像以帮助训练分类器。

  1. 若要添加图像,请选择“添加图像”,然后选择“浏览本地文件” 。 选择“打开”以移至标记。 标记选择将应用于已选择要上传的整组图像,因此根据其应用的标记将图像分成单独的组更容易上传。 还可在上传图像后更改单个图像的标记。
    file
  2. 若要创建标记,请在“我的标记”字段中输入文本,然后按 Enter 键。 如果标记已存在,它会在下拉列表菜单中显示。 在多标签项目中,可以将多个标记添加到图像,但多类项目中只能添加一个标记。 若要完成上传图像,请使用“上传 [编号] 文件”按钮。

file

  1. 上传图像后,选择“完成”。

file

若要上传另一组图像,请返回到本部分顶部并重复上述步骤。

六、训练分类器

若要训练分类器,请选择“训练”按钮。 分类器使用所有当前图像来创建模型,该模型可标识每个标记的视觉质量。 这个过程可能需要几分钟。

file
此训练过程应该只需要几分钟的时间。 在此期间,会在“性能”选项卡显示有关训练过程的信息。
file

七、评估分类器

完成训练后,评估并显示该模型的性能。 自定义视觉服务使用提交用于训练的图像来计算精确度和召回率。 精确度和召回率是分类器有效性的两个不同的度量:

  • 精确度表示已识别的正确分类的分数。 例如,如果模型将 100 张图像识别为狗,实际上其中 99 张是狗,那么精确度为 99%。
  • 召回率表示正确识别的实际分类的分数。 例如,如果实际上有 100 张苹果的图像,并且该模型将 80 张标识为苹果,则召回率为 80%。
    file

概率阈值

请注意“性能”选项卡左窗格上的“概率阈值”滑块 。这是预测被视为正确时所需具有的置信度(用于计算精度和召回率)。

当解释具有高概率阈值的预测调用时,它们往往会以牺牲召回为代价返回高精度的结果 - 检测到的分类是正确的,但许多分类仍然未被检测到。 使用较低的概率阈值则恰恰相反 - 大多数实际分类会被检测到,但该集合内有更多误报。 考虑到这一点,应该根据项目的特定需求设置概率阈值。 稍后,在客户端接收预测结果时,应使用与此处所用概率阈值相同的概率阈值。

八、管理训练迭代

每次训练分类器时,都会创建一个新的迭代,其中包含已更新的性能指标。 可以在“性能”选项卡的左窗格中查看所有迭代。还可以找到“删除”按钮,如果迭代已过时,可以使用该按钮删除迭代。 删除迭代时,会删除唯一与其关联的所有图像。

请参阅[将模型与预测 API 配合使用],以了解如何以编程方式访问已训练模型。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/166105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

温馨提示!办理流量卡千万不要填写别人的身份证信息,切记!

可以用别人的身份证办理流量卡吗?是很多朋友都比较关注的一个问题,在这里明确的告诉大家一下,当然是不可以的。 ​  不管你是在线下营业厅办理,还是在线上申请,都是需要提供本人的证件信息才能办理: 1、…

TIDB拓扑结构

TiDB Server:SQL层,负责接受客户端的连接,执行SQL解析和优化,最终生成分布式执行计划。TiDB Server为无状态的,可增加节点负载均衡。 PD (Placement Driver) Server:整个TiDB集群的元信息管理模块&#xf…

【超详细】手搓一个微信日记本

🎀 文章作者:二土电子 🌸 关注公众号获取更多资料! 🐸 期待大家一起学习交流! 这里对之前的微信记事本小程序进行了重新编写,增加了更加详细的步骤描述,将全部图片都改成了本地图…

用EasyAVFilter将网络文件或者本地文件推送RTMP出去的时候发现CPU占用好高,用的也是vcodec copy呀,什么原因?

最近同事在用EasyAVFilter集成在EasyDarwin中做视频拉流转推RTMP流的功能的时候,发现怎么做CPU占用都会很高,但是视频没有调用转码,vcodec用的就是copy,这是什么原因呢? 我们用在线的RTSP流就不会出现这种情况&#x…

SSM个性化旅游管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 个性化旅游管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库 ,系统主要采用B…

raid磁盘阵列

在单机时代,采用单块磁盘进行数据存储和读写的方式,由于寻址和读写的时间消耗,导致I/O性能非常低,且存储容量还会受到限制。另外,单块磁盘极其容易出现物理故障,经常导致数据的丢失。此时,RAID技…

Java设计模式

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…

新材料制造ERP用哪个好?企业应当如何挑选适用的

有些新材料存在特殊性,并且在制造过程中对车间、设备、工艺、人员等方面提出更高的要求。还有些新材料加工流程复杂,涉及多种材料的请购、出入库、使用和管理等环节,解决各个业务环节无缝衔接问题是很多制造企业面临的管理难题。 新材料制造…

牙科诊所小程序开发案例

一、背景: 针对传统口腔医疗领域中口腔诊所推广难,纸质信息保存难等问题,设计并开发了基于微信小程序实现口腔服务助手平台。为了给人们提供便捷,快速的预约方式,提高社会人群对口腔健康的关注力度。通过微信小程序互联网技术&…

文旅虚拟人IP:数字时代的传统文化推荐官

近几年,随着文旅虚拟人频“上岗”,虚拟人逐渐成为了文旅品牌的一种新颖的传统文化传播思路。 文旅品牌定制化推出虚拟人,本质原因是2023旅游业全面复苏,各文旅玩法同质化现象严重,在这样的境遇下,文旅品牌开…

OpenMLDB v0.8.4 诊断工具全面升级

新的v0.8.4版本中,我们对于诊断工具进行了全面系统化的升级,以提供更加完整和智能化的诊断报告,有助于高效排查 OpenMLDB 集群问题,大幅提升运维效率。 相比于之前的版本,新的诊断工具增添一键诊断功能,使…

首个央企量子云计算项目,中标!

6月29日,北京玻色量子科技有限公司(简称“玻色量子”)成功中标中国移动云能力中心“2023—2024年量子算法及光量子算力接入关键技术研究项目”,这是玻色量子继与移动云签订“五岳量子云计算创新加速计划”后🔗&#xf…

角色管理--体验产品专家岗

研发组织管理--角色管理--体验产品专家岗 定位 产品用户代言人,产品体验守门员,保证用户体验感知不低于行业水平并尝试新体验; 所需资质 对产品交互有自己的心得,可通过设计工具直观表达观点能站在用户角度思考问题&#xff0c…

揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】

🎏:你只管努力,剩下的交给时间 🏠 :小破站 揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】 前言第一:systemd简介第二:核心概念解析第三:服务管理与启动过程第四…

bootstrap插件的基本使用

1.更新表格数据(根据行索引:仅更新一个单元格) var rows {index : index, //更新列所在行的索引field : "status", //要更新列的fieldvalue : "正常" //要更新列的数据 } $(#table_Id).bootstrapTable("updateCel…

DELPHI开发APP回忆录二安卓与pc端路径的选择

路径方法WinAndroidGetHomePathC:\Users\ggggcexx\AppData\Roaming/data/user/0/com.stella.scan/files/GetDocumentsPathC:\Users\ggggcexx\Documents/data/user/0/com.embarcadero.FirstAidExpert_FMX_D11/filesGetSharedDocumentsPathC:\Users\Public\Documents/storage/emu…

杰发科技AC7801——EEP内存分布情况

简介 按照文档进行配置 核心代码如下 /*!* file sweeprom_demo.c** brief This file provides sweeprom demo test function.**//* Includes */ #include <stdlib.h> #include "ac780x_sweeprom.h" #include "ac780x_debugout.h"/* Define …

导出文件到指定路径??

需求&#xff1a;点击导出pdf按钮&#xff0c;弹出系统文件夹弹框&#xff0c;可以选择保存文件的位置。 经查询window.showSaveFilePicker可实现&#xff0c;但这个api处于实验阶段&#xff0c;且用下来确实和浏览器类型、浏览器版本、以及本身api就不稳定有关系。 代码见下…

Python,FastAPI,mLB网关,无法访问/docs

根源就是js和ccs文件访问路由的问题&#xff0c;首先你要有本地的文件&#xff0c;详情看https://qq742971636.blog.csdn.net/article/details/134587010。 其次&#xff0c;你需要这么写&#xff1a; /unicontorlblip就是我配置的mLB网关路由。 app FastAPI(titleoutpaint…

【力扣:421,2935】数组内最大异或对问题

思路&#xff1a;从最高位向低位构造&#xff0c;对每一位利用哈希表寻找是否存在可使此位为1的数 第一轮找1&#xff1a;清空哈希表&#xff0c;1&#xff0c;2存1&#xff0c;到3发现1^01&#xff0c;res|1<<3 第二轮找11&#xff1a;清空哈希表&#xff0c;1存10&…