AI 应用之 Custom Vision检测是否戴口罩

语雀知识库:https://www.yuque.com/seanyu/azure/customvision

公众号:

AI 应用之 Custom Vision检测是否戴口罩

 

什么是自定义视觉(Custom Vision)什么是自定义视觉(Custom Vision)

自定义视觉是一种认知服务,用于生成、部署和改进自己的图像分类器。自定义视觉允许你确定要应用的标签,比如要对一组水果进行识别,你需要对待检测的水果打上诸如“苹果”“香蕉”“草莓”的标签。

作用

自定义视觉服务使用机器学习算法为图像应用标签。 你作为开发人员必须提供多组图像(例如苹果,香蕉,草莓),其中包含或缺少相关的特征。 请在提交时自行标记图像(标记该水果是香蕉还是苹果), 然后,此算法会针对该数据进行训练并计算其自己的准确度,方法是针对这些相同的图像自行进行测试。 训练算法以后,即可对其进行测试、重新训练,并最终使用它根据应用的需求对新图像分类。 也可导出模型本身,方便脱机使用。

分类和对象检测

可以将自定义视觉功能分为两种功能。 图像分类可将一个或多个标签应用到图像。 对象检测与之类似,但还在图像中返回坐标,坐标中可以找到应用的标签。

优化

自定义视觉服务经过优化,可以快速识别图像之间的主要差异,因此你可以使用少量数据开始原型制作。 开始时,每个标签通常可以包含 50 个图像。 此服务不适用于检测图像中的细微差异(例如,在质量保证方案中检测细微裂纹或凹陷)。

另外,可以从多种自定义视觉算法中进行选择,这些算法已针对包含某些主题内容(例如特征点或零售商品)的图像进行了优化。

 

案例-使用自定义视觉实现识别是否戴口罩

1.在Azure Portal创建自定义视觉

 

选择自定义视觉进行创建,注意,目前自定义视觉仅在Global Azure可用。

AI 应用之 Custom Vision检测是否戴口罩

训练和预测尽量选择最靠近最终使用位置的区域。

AI 应用之 Custom Vision检测是否戴口罩

2.在自定义视觉门户创建“对象检测”项目

创建完成后,点击自定义视觉门户进入控制台。

AI 应用之 Custom Vision检测是否戴口罩

点击新建项目,创建一个“对象检测类型的项目”

 

AI 应用之 Custom Vision检测是否戴口罩

AI 应用之 Custom Vision检测是否戴口罩

 

 

3.在自定义视觉的Portal上传大于100张图片,其中50张戴口罩,50张不戴口罩

 

注: 本案例中的图像均来自互联网。

 

对图像的一些基本要求:

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

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

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

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

AI 应用之 Custom Vision检测是否戴口罩

AI 应用之 Custom Vision检测是否戴口罩

 

AI 应用之 Custom Vision检测是否戴口罩

 

AI 应用之 Custom Vision检测是否戴口罩

AI 应用之 Custom Vision检测是否戴口罩

4.在Portal上对图片进行标记,标记为戴口罩和不戴口罩

添加“mask”和“nomask”两个Tag

AI 应用之 Custom Vision检测是否戴口罩

 

依次点击未标记的图像,在口罩部位(建议保留耳朵,眼睛,鼻子等特征)标记“mask”或“nomask”;

标记完成一张后,点击右侧的翻页箭头直至所有图像都标记完成。

AI 应用之 Custom Vision检测是否戴口罩

5.进行训练

点击训练按钮,开始训练。

AI 应用之 Custom Vision检测是否戴口罩

 

AI 应用之 Custom Vision检测是否戴口罩

 

评估检测器

完成训练后,将计算并显示模型的性能。 自定义视觉服务使用提交用于训练的图像来计算精度、召回率和平均精度。 精度和召回率是检测器有效性的两个不同度量值:

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

概率阈值

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

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

管理训练迭代

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

 

6.测试训练结果,如果不满意,适当增加图片进行标记后训练

AI 应用之 Custom Vision检测是否戴口罩

 

AI 应用之 Custom Vision检测是否戴口罩

7.发布

选择预测资源进行发布

AI 应用之 Custom Vision检测是否戴口罩

8.使用Postman测试

获取预测资源信息

AI 应用之 Custom Vision检测是否戴口罩

在Postman中测试

 

AI 应用之 Custom Vision检测是否戴口罩

 

检查预测结果

AI 应用之 Custom Vision检测是否戴口罩