前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >实战!手把手带你搭建图像分类 AI 服务

实战!手把手带你搭建图像分类 AI 服务

作者头像
机器视觉CV
发布于 2019-11-12 03:40:24
发布于 2019-11-12 03:40:24
1.8K00
代码可运行
举报
文章被收录于专栏:机器视觉CV机器视觉CV
运行总次数:0
代码可运行
本文建议阅读时间 12 min

本文转载自 NightTeam团队 作者:夜幕韦世东

禁止二次转载!

人工智能技术(以下称 AI)是人类优秀的发现和创造之一,它代表着至少几十年的未来。在传统的编程中,工程师将自己的想法和业务变成代码,计算机会根据代码设定的逻辑运行。与之不同的是,AI 使计算机有了「属于自己的思想」,它就像生物一样,能够「看」、「听」、「说」、「动」、「理解」、「分辨」和「思考」。

AI 在图像识别和文本处理方面的效果尤为突出,且已经应用到人类的生活中,例如人脸识别、对话、车牌识别、城市智慧大脑项目中的目标检测和目标分类等。

接下来,我们将了解图像分类的需求、完成任务的前提条件和任务实践。

图像分类以及目标检测的需求

AI 的能力、方向和应用都非常广泛,这里我们主要讨论的是图像分类方向。

图像分类,指的是对图像中主要目标的识别和归类。例如在很多张随机图片中分辨出哪一张中有直升飞机、哪一张中有狗。或者给定一张图片,让计算机分辨图像中主要目标的类别。

目标检测,指的是检测目标在图片中的位置。例如智慧交通项目中,路面监控摄像头拍摄画面中车辆的位置。目标检测涉及两种技术:分类和定位。也就是说首先要判定图片中是否存在指定的目标,然后还需要确定目标在图片中的位置。

这样的技术将会应用在人脸识别打卡、视频监控警报、停车场、高速收费站和城市智慧交通等项目当中。

计算机识图的步骤

我们可以将计算机的看作是一个小朋友,它在拥有「分辨」的能力之前,必须经历「看」和「认识」这两个步骤,在看过很多图片后,它就会形成自己的「认知」,也就是获得了「分辨」能力。

简单来说,AI 工程师必须准备很多张不同的图片,并且将一大部分图片中的目标标注出来,然后让计算机提取每张图片中的特征,最后就会形成「认知」。

想一想,你还小的时候,是如何分辨鸭子和鹅的呢?

是不是根据它们的特征进行判断的?

学习和编程实现任务需要的条件

了解完需求和步骤之后,我们还需要准备一些条件(大家不要慌,今天用不到这么复杂的条件,会点击鼠标就可以了):

  • 首先,你必须是一名 IT 工程师。
  • 然后你有一定的数学和统计学习基础。
  • 你还得了解计算机处理图像的方式。
  • 如果图片较多,你需要一台拥有较高算力 GPU 的计算机,否则计算机的「学习」速度会非常慢。

具备以上条件后,再通过短时间(几天或一周)的学习,我们就能够完成图像分类的任务。

讨论个额外的话题,人人都能够做 AI 工程师吗?

AI 的门槛是比较高的,首先得具备高等数学、统计学习和编程等基础,然后要有很强的学习能力。对于 IT 工程师来说:

  • 编程基础是没有问题的
  • 学习能力看个人,但花时间、下功夫肯定会有进步
  • 高等数学基础,得好好补
  • 统计学习基础,也得好好补
  • 经济上无压力

如果你想要成为一名 AI 工程师,那么「高学历」几乎是必备的。无论是一线互联网企业或者新崛起的 AI 独角兽,它们为 AI 工程师设立的学历门槛都是「硕士」。除非特别优秀的、才华横溢的大专或本科生,否则是不可能有机会进入这样的企业做 AI 工程师的。

AI 在硬件、软件、数据资料和人才方面都是很费钱的,普通的 IT 工程师也就是学习了解一下,远远达不到产品商用的要求。

普通的中小企业,极少有资质和经济能力吸引高学历且优秀的 AI 工程师,这就导致了资源的聚拢和倾斜。

想要将图像分类技术商用,在让计算机经历「看」、「认识」的步骤并拥有「分辨」能力后,还要将其转换为 Web 服务。

嗯,听起来不是一件简单的事。

但我只想将人脸识别或者图像分类的功能集成到我的项目当中,就那么困难吗?

我只是一个很小的企业,想要在原来普通的视频监控系统中增加「家人识别」、「陌生人警报」、「火灾警报」和「生物闯入提醒」等功能,没有上述的条件和经济投入,就不能实现了吗?

我好苦恼!

有什么好办法吗?

有的!这就是这篇文章要介绍的新方法——ModelArts。

ModelArts 简介和条件

ModelArts 是华为云推出的产品,它是面向开发者的一站式 AI 开发平台。

它为机器学习深度学习提供海量数据预处理及半自动化标注、大规模分布式 Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。

它为用户提供了以下可选模式:

  • 零编码经验、零 AI 经验的自动学习模式
  • 有 AI 研发经验的全流程开发模式

同时,它将 AI 开发的整个过程都集成了进来。例如数据标注、模型训练、参数优化、服务部署、开放接口等,这就是「全周期 AI 工作流」。

重要的是,这些操作都是可视化的!

这些条件对于想要将 AI 技术应用于产品,但无奈条件不佳的个人开发者和企业提供了机会,这很重要!可以说 ModelArts 缩短了 AI 商用的时间,降低了对应的经济成本、时间成本和人力成本。

更贴心的是,华为云 ModelArts 为用户准备了很多的教程。即使用户没有经验,但只要按照教程指引进行操作,也能够实现自己的 AI 需求。

想想就美滋滋,太棒了!

赶紧体验一下!

图像分类服务实践

这次我们以零 AI 基础和零编码经验的自动学习模式演示如何搭建一个图像分类的 AI 服务。

前期准备和相关设置

首先打开华为云官网,将鼠标移动导航栏的「EI 企业智能」菜单上,并在弹出的选项中选择「AI 开发平台 ModelArts」。

进入到 ModelArts 主页后,可以浏览一下关于 ModelArts 的介绍。

点击 Banner 处的「进入控制台」按钮,页面会跳转到 ModelArts 控制台。控制台大体分为几个区域:

区域 2 自动学习模式中有图像分类,将鼠标移动到图标上,并点击弹出的「开始体验」按钮。如果是华为云的新用户,网页会提示我们输入访问密钥和私有访问密钥。

没有密钥的开发者可以点击页面给出的链接并按照指引获取密钥,得到两种密钥后将其填入框中,点击「确定」按钮即可。

此时正式进入项目创建流程中,点击「图像分类」中的「创建项目」按钮(华为云为用户准备了对应的教程,很贴心)。

在创建项目的页面中,我们需要填两三项配置。要注意的是,项目是按需计费的,这次我们只是体验,也没有训练和存储太多数据,所以费用很低,大家不用担心。

项目名称可以根据需求设定一个容易记的,案例中我将其设定为 ImageCLF-Test-Pro。在训练数据的存储选择处,点击输入框中的文件夹图标,在弹出的选项卡中新建 obs 桶

并在创建的桶中新建文件夹

最后输入描述,并点击页面右下角的「创建项目」按钮即可。

上传图片和标注

项目创建好之后,我们需要准备用于训练的多张图片,图片尽量清晰、种类超过 2 类、每种分类的图片数量不少于 5 张。

当然,数据越多、形态越丰富、标注越准确,那么训练结果就会越好,AI 服务的体验就会越好。

这里我准备了一些直升机、坦克和狗的图片,共 45 张。

将其批量导入后勾选同类型的图片,一次性为多张图添加标签。

依次将 3 类图片标注后,左侧图片标注的「未标注」选项卡中的图就会清空,而「已标注」选项卡中可以看到标注好的图片。

训练设置

右侧的标签栏会显示每种分类和对应的图片数量,下方的训练设置可以让我们设置训练时长的上限,高级设置中还有推理时间。

这个我们不必理解它的作用,可以按照默认值进行,也可以稍微调整,例如将训练时长的上限改为 0.2。

开始训练

设置好后点击「开始训练」按钮就会进入训练状态,耐心等待一段时间(图片越少训练时间越短)。

训练页左侧会显示训练状态,例如初始化、运行中和运行成功/失败等。训练完成后,右侧会给出运行时长、准确率、评估结果和训练参数等信息。

服务的自动化部署

我们的目的是搭建一个图像分类的 AI 服务,所以在训练结束后点击左侧的「部署」按钮,此时会进入自动化部署的流程。

稍微等待些许时间(本次约 10 分钟)后,页面提示部署完成,同时页面将会分为 3 栏。

左侧 1 区为部署状态和控制。中间 2 区可以在线测试图片分类,右侧 3 区会显示在线测试的结果(包括准确率),右侧 4 区提供了 API 接口,方便我们将其集成到 Web 应用当中。

在线预测,训练结果测试

我们来测试一下,准备几张没有经过标注的图片,图片中可以包含狗、直升机和坦克。点击中间 2 区的「上传」按钮并选择一张图片,然后点击「预测」按钮。

1 秒中不到,右侧 3 区就会返回本次预测的结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "predicted_label": "狗",
    "scores": [
        [
            "狗",
            "0.840"
        ],
        [
            "直升机",
            "0.084"
        ],
        [
            "坦克",
            "0.076"
        ]
    ]
}

这次我们上传的是包含狗的图片,返回的预测结果中显示本次预测的标签是「狗」,并且列出了可信度较高的几个类别和对应的可信度(1 为 100% 肯定),其中最高的是 「0.840-狗」。

这次上传直升机的图片试试。

返回的预测结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "predicted_label": "直升机",
    "scores": [
        [
            "直升机",
            "0.810"
        ],
        [
            "狗",
            "0.114"
        ],
        [
            "坦克",
            "0.075"
        ]
    ]
}

再试试坦克

返回的预测结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "predicted_label": "坦克",
    "scores": [
        [
            "坦克",
            "0.818"
        ],
        [
            "狗",
            "0.092"
        ],
        [
            "直升机",
            "0.090"
        ]
    ]
}

从几次测试的结果可以看出,预测的结果非常准确,而且给出的可信度也比较高。这次准备的图片并不是很多,形态也不是很丰富,但预测效果却非常好,不得不说华为云 ModelArts 开发团队为此做了很多的优化,甚至比我自己(深度学习入门水平)编写代码用卷积神经网络训练和预测的结果要好。

如果想要将其集成到 Web 应用中,只需要根据页面给出的「接口调用指南」的指引进行操作即可。

释放资源

如果不是真正商用,仅仅作为学习和练习,那么在操作完成后记得点击左侧 1 区的「停止」按钮。然后在华为云导航栏中的搜索框输入「OBS」,点击搜索结果后跳转到 OBS 主页,接着再 OBS 主页点击「管理控制台」,进入到 OBS 控制台中,删除之前创建的桶即可。这样就不会导致资源占用,也不会产生费用了。

小结

体验了一下 ModelArts,我感觉非常奈斯!

每处都有提示或教程指引,操作过程流畅,没有出现卡顿、报错等问题。

批量数据标注太好用了!批量导入、批量标注,自动计数,舒服!

训练速度很快,应该是用了云 GPU,这样就算我的电脑没有显卡也能够快速完成训练。

以前还在考虑,学习 AI 是否需要准备更强的硬件设备,现在好了,在 ModelArts 上操作,就不用考虑这些条件了。

本次我们体验的是自动学习,也就是简洁易用的傻瓜式操作。对于专业的 AI 工程师来说,可以选择全流程开发模式。批量数据标注、本地代码编写、本地调试、云端训练、云端部署等一气呵成。

棒!

有兴趣的开发者可以前往华为云 ModelArts 体验。

备注:文中配图均出自互联网,部分图片通过搜索引擎得来。如有侵权,请立即联系我们删除。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉CV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
百万奖金悬赏AI垃圾分类,就问你来不来?
虽然只有可回收物、有害垃圾、干垃圾和湿垃圾四种分类,但面对现实生活中“丰富多彩”的垃圾,市民们还是被搞得“晕头转向”、“丈二和尚摸不着头脑”。
AI科技大本营
2019/08/16
7460
百万奖金悬赏AI垃圾分类,就问你来不来?
毕业设计(基于Tensorflow的深度研究与实现)之番外篇
本文是我的毕业设计基于Tensorflow的深度学习与研究的番外篇,在这篇文章中,我将解决以下两个问题:
石璞东
2020/04/21
9530
【图像分类】细粒度图像分类是什么,有什么方法,发展的怎么样
欢迎大家来自《图像分类》专栏,今天讲述细粒度图像分类问题,这是计算机视觉领域一项极具挑战的研究课题,本文介绍了细粒度图像分类算法的发展现状、相关数据集和竞赛,供大家参考学习。
用户1508658
2019/07/30
3.4K0
【图像分类】细粒度图像分类是什么,有什么方法,发展的怎么样
【AI有识境】如何掌握好图像分类算法?
进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落地的技术,对自己暂时不熟悉的领域也能快速地触类旁通。
用户1508658
2020/07/07
9220
这个程序员节,我们不写代码
机器之心报道 机器之心编辑部 每一位开发者,都是华为要汇聚的星星之火。 我们经常说「现在是 AI 的时代,是万物互联的时代」,但现实情况是,很多行业在引入 AI、AIoT 的过程中遇到了极高的门槛和各种各样的问题。如何降低 AI 应用的门槛,实现真正的智能世界、万物互联,成了当前各个 AI、IoT 服务平台的核心目标。 今年,华为全联接 2020 发布一站式 AI 开发平台 ModelArts 3.0,为开发者提供更全面的数据标注准备、模型训练、模型调优、模型部署等 AI 应用开发服务,进一步降低了 AI
机器之心
2023/03/29
4460
这个程序员节,我们不写代码
【AI 工厂】Facebook 计算机视觉 Lumos平台,内容理解之上的图像技术
【新智元导读】Facebook 官方博客最新发表文章,详细介绍其 AI 平台 FBLearner Flow 及建立在上面的专用于图像和视频理解任务的 Lumos 平台。Facebook 介绍了利用该平台的图片内容描述和图片搜索技术,这些技术建立在系统能够“理解”像素级的图像内容基础上,将为更丰富的产品体验铺平道路。 回想一下你最近点赞的帖子——非常可能是包含图片或视频的。但是,直到最近,在线搜索包括图像搜索都还一直是文本驱动(text-driven)的技术,是否能搜索到某一张图像取决于它是否有充分的标记或有
新智元
2018/03/27
1K0
【AI 工厂】Facebook 计算机视觉 Lumos平台,内容理解之上的图像技术
【大咖直播预告】一小时速成系列之图像分类
‍ ‍计算机视觉(CV)是当下人工智能落地最广泛的领域,也一直是目前深度学习最热的研究领域。人的大脑皮层, 有近 70% 都是在处理视觉信息,是人类获取信息最主要的渠道。在计算机视觉(CV)出现之前,图像对于计算机来说是黑盒的状态。如果计算机想要在现实世界发挥重要作用,就必须看懂图像里的内容!这就是计算机视觉(CV)要解决的问题。 图像分类作为计算机视觉(CV)中最基础的一个任务,它的目标是将不同的图像划分到不同的类别,实现最小的分类误差。理解图像分类的逻辑可以快速帮助AI小白入门计算机视觉领域(CV)。
腾讯云TI平台
2022/01/27
3290
利用深度学习识别滑动验证码缺口位置
做爬虫的同学肯定或多或少会为验证码苦恼过,在最初的时候,大部分验证码都是图形验证码。但是前几年「极验」验证码横空出世,行为验证码变得越来越流行,其中之一的形式便是滑块验证码。
崔庆才
2019/11/08
1.6K0
图像分类:一个更鲁棒的场景分类模型
移动互联网时代的开启使得图片的获取与分享越来越容易,图片已经成为人们交互的重要媒介。如何根据图像的视觉内容为图像赋予一个语义类别(例如,教室、街道等)是图像场景分类的目标,也是图像检索、图像内容分析和目标识别等问题的基础。但由于图片的尺度、角度、光照等因素的多样性以及场景定义的复杂性,场景分类一直是计算机视觉中的一个挑战性问题。
机器学习AI算法工程
2020/11/19
2.4K0
图像分类:一个更鲁棒的场景分类模型
针对复杂图像分类场景:使用物体探测(第一部分)
TLDR; 本系列是基于检测以下现实生活代码记录中复杂策略的工作。该系列的代码可以在原文找到。
AI研习社
2019/05/08
7690
针对复杂图像分类场景:使用物体探测(第一部分)
【技术综述】多标签图像分类综述
图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当图片中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标签图像分类这一方向,了解更具难度的图像分类。
AI算法与图像处理
2019/07/11
1.3K0
【技术综述】多标签图像分类综述
【图像分类】分类专栏正式上线啦!初入CV、AI你需要一份指南针!
大家好,今天我将在有三AI开设新专栏《图像分类》。在这个专栏中,我将全方位介绍图像分类相关知识,并结合不同任务需求进行实战,和大家一同走近这看似简单却包罗万象的基础性技术,同时指导计算机视觉、深度学习领域的初学者快速、准确、全面地掌握图像分类的相关知识。
用户1508658
2019/07/27
4810
动态 | Facebook 人工智能大揭秘:AI 如何变成这家社交巨头不可或缺的部分?
AI科技评论按:本文作者为 Backchannel 的 编辑 Steven Levy,AI科技评论编译发布。 当被问及是否想要用人工智能领导全球最大的社交网站时,Joaquin Quiñonero Candela 犹豫了。 犹豫不是因为这个西班牙裔又自诩为“机器学习人”的科学家没有意识到人工智能会对 Facebook 提供巨大帮助。自从2012年 Candela 加入 Facebook 以来,他一直负责用机器学习的方法改革公司的广告运营,让广告投放更加具有相关性和有效性。更重要的是,他让团队中的工程师在
AI科技评论
2018/03/12
8430
动态 | Facebook 人工智能大揭秘:AI 如何变成这家社交巨头不可或缺的部分?
OpenCV入门及应用案例:手把手教你做DNN图像分类
导读:本文将介绍OpenCV的源码结构、OpenCV深度学习应用的典型流程,以及深度学习和OpenCV DNN(Deep Neural Networks,深度神经网络)模块的背景知识,让读者可以快速认识OpenCV,消除神秘感,同时对计算机视觉从传统算法到深度学习算法的演进历史有所了解。
IT阅读排行榜
2020/07/09
3.9K0
OpenCV入门及应用案例:手把手教你做DNN图像分类
腾讯云总监手把手教你,如何成为 AI 工程师?
作者:朱建平 腾讯云技术总监,腾讯 TEG 架构平台部专家工程师 1.关于人工智能的若干个错误认知 工智能是 AI 工程师的事情,跟我没有什么关系 大数据和机器学习( AI ) 是解决问
贺嘉
2017/03/23
17.3K2
腾讯云总监手把手教你,如何成为 AI 工程师?
独家 | 手把手教你用Python构建你的第一个多标签图像分类模型(附案例)
翻译:吴金笛 校对:郑滋 本文约4600字,建议阅读12分钟。 本文明确了多标签图像分类的概念,并讲解了如何构建多标签图像分类模型。 介绍 你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情
数据派THU
2019/05/17
1.9K0
独家 | 手把手教你用Python构建你的第一个多标签图像分类模型(附案例)
10000+谷歌员工学过的谷歌内部图像分类课程公开了!
新智元报道 来源:Google AI 编译:肖琴 【新智元导读】今天,Google AI再次放出大招,推出一个专注于机器学习实践的“交互式课程”,第一门是图像分类机器学习实践,已有超过10000名
新智元
2018/06/22
5240
建立一个完全没有机器学习的图像分类器
作者 | Arunn Thevapalan 编译 | VK 来源 | Towards Data Science
磐创AI
2021/04/21
6350
建立一个完全没有机器学习的图像分类器
输入两张“怪异”图像,VGG、Inception、ResNet集体翻车,经典图像分类模型有多脆弱?
VGG是一款经典图像分类算法。图像分类是计算机视觉技术的基础任务,比如给定一张图像,判断它是猫、狗、飞机,还是建筑。
AI科技评论
2021/05/19
1K0
输入两张“怪异”图像,VGG、Inception、ResNet集体翻车,经典图像分类模型有多脆弱?
吴博:目标检测集成框架在医学图像 AI 辅助分析中的应用 | AI 研习社第 78 期大讲堂总结
AI 科技评论按:如何界定 AI 用于医学图像分析时的范畴,设置相关的任务及采用合理的模型方法?医学图像分析中目标检测任务的普遍性,使得开发目标检测集成框架显得必要。
AI科技评论
2018/10/25
1.9K0
吴博:目标检测集成框架在医学图像 AI 辅助分析中的应用 | AI 研习社第 78 期大讲堂总结
推荐阅读
百万奖金悬赏AI垃圾分类,就问你来不来?
7460
毕业设计(基于Tensorflow的深度研究与实现)之番外篇
9530
【图像分类】细粒度图像分类是什么,有什么方法,发展的怎么样
3.4K0
【AI有识境】如何掌握好图像分类算法?
9220
这个程序员节,我们不写代码
4460
【AI 工厂】Facebook 计算机视觉 Lumos平台,内容理解之上的图像技术
1K0
【大咖直播预告】一小时速成系列之图像分类
3290
利用深度学习识别滑动验证码缺口位置
1.6K0
图像分类:一个更鲁棒的场景分类模型
2.4K0
针对复杂图像分类场景:使用物体探测(第一部分)
7690
【技术综述】多标签图像分类综述
1.3K0
【图像分类】分类专栏正式上线啦!初入CV、AI你需要一份指南针!
4810
动态 | Facebook 人工智能大揭秘:AI 如何变成这家社交巨头不可或缺的部分?
8430
OpenCV入门及应用案例:手把手教你做DNN图像分类
3.9K0
腾讯云总监手把手教你,如何成为 AI 工程师?
17.3K2
独家 | 手把手教你用Python构建你的第一个多标签图像分类模型(附案例)
1.9K0
10000+谷歌员工学过的谷歌内部图像分类课程公开了!
5240
建立一个完全没有机器学习的图像分类器
6350
输入两张“怪异”图像,VGG、Inception、ResNet集体翻车,经典图像分类模型有多脆弱?
1K0
吴博:目标检测集成框架在医学图像 AI 辅助分析中的应用 | AI 研习社第 78 期大讲堂总结
1.9K0
相关推荐
百万奖金悬赏AI垃圾分类,就问你来不来?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验