zoukankan      html  css  js  c++  java
  • AI 应用之 Custom Vision检测是否戴口罩

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

    公众号:

     

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

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

    作用

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

    分类和对象检测

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

    优化

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

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

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

    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

     
     
     
  • 相关阅读:
    学过C#之后,对javascript数组容易犯的错误
    关于最优种植区评价问题
    JavaScript全局变量与局部变量
    ArcGIS API for Javascript 图层切换渐变效果实现
    Motan在服务provider端用于处理request的线程池
    转:Log4j 日志体系结构
    zookeeper的开机自启动
    maven的多模块项目搭建
    scala中json与对象的转换
    社区帖子全文搜索实战(基于ElasticSearch)
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/12286689.html
Copyright © 2011-2022 走看看