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


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

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

作用

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

分类和对象检测

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

优化

自定义视觉服务经过优化,可以快速识别图像之间的主要差异,因此你可以使用少量数据开始原型制作。 开始时,每个标签通常可以包含 50 个图像。 此服务不适用于检测图像中的细微差异(例如,在质量保证方案中检测细微裂纹或凹陷)。
另外,可以从多种自定义视觉算法中进行选择,这些算法已针对包含某些主题内容(例如特征点或零售商品)的图像进行了优化。

简要用法

通过门户网站上传一组照片;
在门户网站上手动标记照片;
“一键式”训练数据集;
发布成API或下载成模型供调用;

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

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

选择自定义视觉进行创建,注意,目前自定义视觉仅在Global Azure可用。
image.png
训练和预测尽量选择最靠近最终使用位置的区域。
image.png

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

创建完成后,点击自定义视觉门户进入控制台。
image.png
点击新建项目,创建一个“对象检测类型的项目”

image.png
image.png

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

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

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

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

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

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

image.png
image.png

image.png

image.png
image.png

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

添加“mask”和“nomask”两个Tag
image.png

依次点击未标记的图像,在口罩部位(建议保留耳朵,眼睛,鼻子等特征)标记“mask”或“nomask”;
标记完成一张后,点击右侧的翻页箭头直至所有图像都标记完成。
image.png

5.进行训练

点击训练按钮,开始训练。
image.png

image.png

评估检测器

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

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

    概率阈值

    请注意“性能”选项卡左窗格上的“概率阈值”滑块 。这是预测被视为正确时所需具有的置信度(用于计算精度和召回率)。
    当使用较高的概率阈值来解释预测调用时,它们往往会以高精度返回结果,但以召回率为代价 — 检测到的分类是正确的,但许多仍未被检测到。 使用较低的概率阈值则恰恰相反 — 实际分类会被检测到,但该集合内有更多误报。 考虑到这一点,应该根据项目的特定需求设置概率阈值。 稍后,在客户端接收预测结果时,应使用与此处所用概率阈值相同的概率阈值。

    管理训练迭代

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

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

image.png

image.png

7.发布

选择预测资源进行发布
image.png

8.使用Postman测试

获取预测资源信息
image.png
在Postman中测试

image.png

检查预测结果
image.png