乐趣区

关于人工智能:定制化图像检测可以这样做

疾速倒退的 AI 技术曾经能够让程序「大抵」看懂咱们的世界,例如,简直所有相干 AI 模型都能精确判断一张照片中的内容到底是山脉还是河流,是动物还是动物。然而在此基础上,AI 是否能辨别花朵和树叶?甚至更进一步,辨别两张花朵照片中的花到底是什么种类?

一般的 AI 模型和算法此时就抓瞎了,但咱们能够通过定制化的模型实现这样的需要。

客户通常须要剖析本人的图像,从中找到满足理论业务需要的独特对象。在大多数状况下,咱们须要辨认的对象可能是企业徽标、工业或农业经营场景下的某些缺点,或者在卫星扫描图中定位特定事件(例如飓风等)。在本文中,咱们将向大家介绍如何训练出一套自定义模型,通过 Amazon Rekognition Custom Labels 自定义标签对繁多对象加以检测。

Amazon Rekognition 是一项全托管服务,用于提供计算机视觉(CV)性能,其通过深度学习技术对规模化的图像及视频进行剖析,且用户无需具备任何机器学习(ML)专业知识。Amazon Rekognition Custom Labels 则是 Amazon Rekognition 提供的一项自动化机器学习性能,通过曾经标记好的图像来疾速训练出合乎特定业务需要的计算机视觉模型。此外,Amazon Rekognition Custom Labels 还在最新更新中推出针对繁多对象的训练反对,帮忙大家对单一类对象创立自定义对象检测模型。

解决方案概述

为了向大家展现单一类对象检测性能的工作原理,咱们首先创立一套自定义模型,用于检测披萨。应用这项新性能,咱们无需额定创立「非披萨」或者其余食品类型的标签。

要创立一套自定义模型,请执行以下操作步骤:

  • 在 Amazon Rekognition Custom Labels 当中创立一个我的项目。
  • 应用蕴含一个或多个披萨的图像创立一套数据集。
  • 应用 Amazon Rekognition Custom Labels 提供的用户界面,为图像中的全副披萨增加边框以实现图像标记。
  • 训练模型并评估其性能。
  • 应用主动生成的 API 端点测试这套新的自定义模型。

Amazon Rekognition Custom Labels 使咱们能够在 Amazon Rekognition 管制台上治理机器学习模型的训练过程,显著简化整个端到端流程。

创立我的项目

要创立咱们的披萨检测我的项目,请实现以下操作步骤:

  • 在 Amazon Rekognition 管制台上,抉择Custom Labels
  • 抉择 Get Started
  • Project name 局部,输出PizzaDetection。
  • 抉择 Create project

咱们也能够在 Projects 页面上实现我的项目创立。大家能够通过左侧导航窗格拜访到 Projects 页面。

创立数据集

要创立这套披萨辨认模型,咱们首先须要创立一套用于模型训练的数据集。在本文的示例中,咱们的数据集由 39 张蕴含披萨的图像组成,所有图像来自 pexels.com 网站。

要创立数据集,请实现以下操作:

  • 抉择Create dataset
  • 抉择Upload images from your computer

  • 抉择Add Images
  • 上传图像。咱们能够随时增加更多后续图像。

用边框标记图像

当初,大家能够在所有带有披萨的图像上应用边框以实现图像标记。

  • 通过图库左侧的标签列表,将 Pizza 作为标签增加到该数据集内。

  • 抉择所有带有披萨的图像,并抉择 Draw Bounding Box,将该标签利用至所有图像中的披萨处。

咱们能够应用 Shift 键主动在第一张与最初一张选定的图像之间,疾速选定多幅图像。

请绘制一个尽可能严密笼罩披萨的边界框。

模型训练

在图像标记实现之后,即可开始进行模型训练。

  • 抉择Train Model
  • Choose project 局部,抉择 PizzaDetection 我的项目。
  • Choose training dataset 局部,抉择 PizzaImages 数据集。

作为模型训练中的重要环节,Amazon Rekognition Custom Labels 要求大家提供带有标签的测试数据集。Amazon Rekognition Custom Labels 会应用这套测试数据集验证曾经训练实现的模型,依据正确标签判断其是否顺利做出预测,同时提供评估指标。测试数据集中的图像不应与训练数据集相反复,且须要保障其与将来模型理论剖析的图像类型雷同。

  • Create test set 局部,抉择如何提供测试数据集。

Amazon Rekognition Custom Labels 提供以下三种选项:

  • 抉择一套现有测试数据集
  • 创立一套新的测试数据集
  • 拆分训练数据集

在本文中,咱们抉择拆分训练数据集,而后由 Amazon Rekognition 保留其中 20% 的图像进行测试,其余 80% 图像则用于模型训练。

整个模型训练周期大概为 1 个小时。模型的理论训练时长取决于多种因素,包含数据集中所蕴含的图像数量以及模型本身的复杂程度。

在训练实现之后,Amazon Rekognition Custom Labels 将输入各项要害质量指标,包含 F1 评分、精度、召回率与阈值等。对于各项指标的更多详细信息,请参阅模型评估指标。

来看看咱们的评估后果。以后模型的精度为 1.0,意味着这套模型在测试数据集中没有将对象谬误辨认为披萨(误报)。但这套模型在测试集中,未能正确辨认出某些披萨图案(漏报),而召回率得分仅为 0.81。咱们个别能够将 F1 评分作为整体品质得分,因为其中曾经同时思考到精度与召回率指标。最初,咱们看到这套披萨检测模型的 F1 得分、精度与召回率指标的阈值为 0.61。在默认状况下,咱们的模型会将置信度高于 0.61 的预测后果作为正确答案返回;如果下调这一置信度阈值,则会减少模型的召回率,但也很可能导致精度有所降落。

咱们还能够抉择 View Test Results 以查看这套模型在每幅测试图像上的具体表现。以下截屏所示,为模型在测试过程中正确辨认出披萨局部的示例。

模型测试

当初这套自定义披萨检测模型曾经能够投入使用了。Amazon Rekognition Custom Labels 提供用于启动、应用及进行模型的 API 调用,大家无需治理任何对应基础设施。以下截屏所示,为如何应用模型的 API 调用。

通过应用 API,咱们在来自 pexels.com 的新图像测试集上试用这套模型。例如,下图所示为桌上的披萨以及其余对象。

这套模型以 91.72% 的置信度与正确的边界框胜利检测出了披萨图案。以下代码,为 API 调用接管到的 JSON 响应。

{
 "CustomLabels": [
 {
 "Name": "Pizza",
 "Confidence": 91.7249984741211,
 "Geometry": {
 "BoundingBox": {
 "Width": 0.7824199795722961,
 "Height": 0.3644999861717224,
 "Left": 0.11868999898433685,
 "Top": 0.37672001123428345
 }
 }
 }
 ]
}

下图的置信度得分为 98.40。

下图的置信度得分为 96.51。

如下图所示,因为图像中并不蕴含披萨,因而后果如您所料为空 JSON。

下图同样为空 JSON 后果。

除了应用 API 之外,大家还能够应用 Custom Labels Demonstration(自定义标签演示)。通过这套 Amazon CloudFormation 模板,咱们能够设置自定义且受密码保护的 UI,在其中启动并进行模型,以及运行推理演示。

总结

在本文中,咱们向大家展现了如何应用 Amazon Rekognition Custom Labels 创立单一类对象检测模型。这项性能使自定义模型的训练过程变得非常简单,该自定义模型可能检测到对象类,且无需为其指定其余对象或升高后果的准确率。

对于应用自定义标签的更多详细信息,请参阅 Amazon Rekognition Custom Labels 是什么?

退出移动版