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.hqwc.cn/news/216358.html

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

相关文章

【JVM】一篇通关JVM垃圾回收

目录 1. 如何判断对象可以回收1-1. 引用计数法1-2. 可达性分析算法1-3. 四种引用强引用软引用弱引用虚引用终结器引用 2. 垃圾回收算法3. 分代垃圾回收4. 垃圾回收器5. 垃圾回收调优 1. 如何判断对象可以回收 1-1. 引用计数法 引用计数法 只要一个对象被其他变量所引用&…

【JavaFx】利用JavaFX写一个用户注册页面

以下是一个简单的JavaFX用户注册页面的示例代码: import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.Tex…

振弦式土压力计在岩土工程安全监测应用的方案

振弦式土压力计在岩土工程安全监测应用的方案 振弦式土压力计是一种常见的土压力测量仪器,其原理是利用振弦在土中传播的速度与土的应力状态有关的特点测量土压力。在岩土工程安全监测中,振弦式土压力计可以应用于以下方面: 1. 地下连续墙和…

设计测试用例的具体方法总结

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️白马沉河共歃誓,怒涛没城亦不悔 ☁️基于需求进行测试用例的设计 基…

进制转换 蓝桥oj Alice和Bob的爱恨情仇

题目 翻译 主要思路 举个例子方便理解 以奇数为底去分解一个奇数,分解次数一定是奇数;以奇数为底去分解一个偶数,分解次数一定是偶数 如果一个堆的分解次数是奇数,就在总分解次数上加1;如果一个堆的分解次数是偶数&…

25 Linux I2C 驱动

一、I2C简介 I2C老朋友了,在单片机里面也学过,现在再复习一下。I2C使用两条线在主控制器和从机之间进行数据通信。一条是 SCL(串行时钟线),另外一条是 SDA(串行数据线),这两条数据线需要接上拉电阻,总线空闲的时候 SCL…

【开源】基于Vue.js的网上药店系统

项目编号: S 062 ,文末获取源码。 \color{red}{项目编号:S062,文末获取源码。} 项目编号:S062,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药…

深度解读英伟达新一轮对华特供芯片H20、L20、L2的定位

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 因为一直从事 AI 工…

基于Java+Vue+uniapp微信小程序微信阅读网站平台设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

蓝桥杯第597题 跑步锻炼 C++ 日期模板题(模拟经典)

题目 跑步锻炼https://www.lanqiao.cn/problems/597/learning/?page1&first_category_id1&name%E8%B7%91%E6%AD%A5%E9%94%BB%E7%82%BC 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝每天都锻炼身…

Ubuntu 22.04.3编译AOSP13刷机

文章目录 设备信息下载AOSP并切换分支获取设备驱动编译系统编译遇到的问题Cannot allocate memoryUbuntu设置USB调试刷机参考链接 设备信息 手机:Pixel 4XL 下载AOSP并切换分支 在清华大学开源软件镜像站下载初始化包aosp-latest.tar。 解压缩,切换到…

Linux常用命令——bind命令

在线Linux命令查询工具 bind 显示或设置键盘按键与其相关的功能 补充说明 bind命令用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合…