人工智能技术(如下称 AI)是人类优秀的发现和创造之一,它表明着至少几十年的将来。在传统的编程中,工程师将本身的想法和业务变成代码,计算机会根据代码设定的逻辑运行。与之不一样的是,AI 使计算机有了「属于本身的思想」,它就像生物同样,可以「看」、「听」、「说」、「动」、「理解」、「分辨」和「思考」。html
AI 在图像识别和文本处理方面的效果尤其突出,且已经应用到人类的生活中,例如人脸识别、对话、车牌识别、城市智慧大脑项目中的目标检测和目标分类等。编程
接下来,咱们将了解图像分类的需求、完成任务的前提条件和任务实践。网络
AI 的能力和应用都很是普遍,这里咱们主要讨论的是图像分类。机器学习
图像分类,实际上是对图像中主要目标的识别和归类。例如在不少张随机图片中分辨出哪一张中有直升飞机、哪一张中有狗。或者给定一张图片,让计算机分辨图像中主要目标的类别。分布式
目标检测,指的是检测目标在图片中的位置。例如智慧交通项目中,路面监控摄像头拍摄画面中车辆的位置。目标检测涉及两种技术:分类和定位。也就是说先断定图片中是否存在指定的目标,而后还须要肯定目标在图片中的位置。学习
这样的技术将会应用在人脸识别打卡、视频监控警报、停车场、高速收费站和城市智慧交通等项目当中。测试
咱们能够将计算机的看做是一个小朋友,它在拥有「分辨」的能力以前,必须经历「看」和「认识」这两个步骤,在看过不少图片后,它就会造成本身的「认知」,也就是得到了「分辨」能力。优化
简单来讲,AI 工程师必须准备不少张不一样的图片,而且将一大部分图片中的目标标注出来,而后让计算机提取每张图片中的特征,最后就会造成「认知」。搜索引擎
想想,你还小的时候,是如何分辨鸭子和鹅的呢?编码
是否是根据它们的特征进行判断的?
了解完需求和步骤以后,咱们还须要准备一些条件:
具有以上条件后,再经过短期(几天或一周)的学习,咱们就可以完成图像分类的任务。
讨论个额外的话题,人人都可以作 AI 工程师吗?
AI 的门槛是比较高的,首先得具有高等数学、统计学习和编程等基础,而后要有很强的学习能力。对于 IT 工程师来讲:
若是你想要成为一名 AI 工程师,那么「高学历」几乎是必备的。不管是一线互联网企业或者新崛起的 AI 独角兽,它们为 AI 工程师设立的学历门槛都是「硕士」。除非特别优秀的、才华横溢的大专或本科生,不然是不可能有机会进入这样的企业作 AI 工程师的。
AI 在硬件、软件、数据资料和人才方面都是很费钱的,普通的 IT 工程师也就是学习了解一下,远远达不到产品商用的要求。
普通的中小企业,极少有资质和经济能力吸引高学历且优秀的 AI 工程师,这就致使了资源的聚拢和倾斜。
想要将图像分类技术商用,在让计算机经历「看」、「认识」的步骤并拥有「分辨」能力后,还要将其转换为 Web 服务。
但我只想将人脸识别或者图像分类的功能集成到个人项目当中,就那么困难吗?
我只是一个很小的企业,想要在原来普通的视频监控系统中增长「家人识别」、「陌生人警报」、「火灾警报」和「生物闯入提醒」等功能,没有上述的条件和经济投入,就不能实现了吗?
我好苦恼!
有什么好办法吗?
ModelArts 是华为云推出的产品,它是面向开发者的一站式 AI 开发平台。
它为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式 Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速建立和部署模型,管理全周期 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 区就会返回本次预测的结果:
{ "predicted_label": "狗", "scores": [ [ "狗", "0.840" ], [ "直升机", "0.084" ], [ "坦克", "0.076" ] ] }
此次咱们上传的是包含狗的图片,返回的预测结果中显示本次预测的标签是「狗」,而且列出了可信度较高的几个类别和对应的可信度(1 为 100% 确定),其中最高的是 「0.840-狗」。
此次上传直升机的图片试试。
返回的预测结果以下:
{ "predicted_label": "直升机", "scores": [ [ "直升机", "0.810" ], [ "狗", "0.114" ], [ "坦克", "0.075" ] ] }
再试试坦克
返回的预测结果以下:
{ "predicted_label": "坦克", "scores": [ [ "坦克", "0.818" ], [ "狗", "0.092" ], [ "直升机", "0.090" ] ] }
从几回测试的结果能够看出,预测的结果很是准确,并且给出的可信度也比较高。此次准备的图片并非不少,形态也不是很丰富,但预测效果却很是好,不得不说华为云 ModelArts 开发团队为此作了不少的优化,甚至比我本身(深度学习入门水平)编写代码用卷积神经网络训练和预测的结果要好。
若是想要将其集成到 Web 应用中,只须要根据页面给出的「接口调用指南」的指引进行操做便可。
若是不是真正商用,仅仅做为学习和练习,那么在操做完成后记得点击左侧 1 区的「中止」按钮。而后在华为云导航栏中的搜索框输入「OBS」,点击搜索结果后跳转到 OBS 主页,接着再 OBS 主页点击「管理控制台」,进入到 OBS 控制台中,删除以前建立的桶便可。这样就不会致使资源占用,也不会产生费用了。
体验了一下 ModelArts,我感受很是奈斯!
每处都有提示或教程指引,操做过程流畅,没有出现卡顿、报错等问题。
批量数据标注太好用了!批量导入、批量标注,自动计数,舒服!
训练速度很快,应该是用了云 GPU,这样就算个人电脑没有显卡也可以快速完成训练。
之前还在考虑,学习 AI 是否须要准备更强的硬件设备,如今好了,在 ModelArts 上操做,就不用考虑这些条件了。
本次咱们体验的是自动学习,也就是简洁易用的傻瓜式操做。对于专业的 AI 工程师来讲,能够选择全流程开发模式。批量数据标注、本地代码编写、本地调试、云端训练、云端部署等一鼓作气。
棒!
有兴趣的开发者能够前往华为云 ModelArts 体验。
备注:文中配图均出自互联网,经过搜索引擎而来。