你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 机器学习和计算机视觉执行视频分析

Azure 机器学习
Azure AI 服务
Azure 逻辑应用
Azure Synapse Analytics
Azure Data Lake Storage

本文介绍一种体系结构,可用于使用自动化且通常更准确的机器学习过程取代对视频片段的手动分析。

体系结构

此图显示了使用视频帧和自定义代码进行自动化视频分析的体系结构。

下载此体系结构的 PowerPoint 文件FFmpeg 和 Jupyter Notebook 徽标是各自公司的商标。使用这些标记不会暗示任何认可。

工作流

  1. MP4 格式的视频片段集合将上传到 Azure Blob 存储。 理想情况下,视频会放入“原始”容器。
  2. Azure 机器学习中的预配置管道可识别视频文件是否已上传到容器,并启动一个推理群集,开始将视频片段分解为帧。
  3. FFmpeg 是一种开源工具,可分解视频并提取帧。 可以配置每秒提取的帧数、提取的质量和图像文件的格式。 格式可以是 JPG 或 PNG。
  4. 推理群集将图像发送到 Azure Data Lake Storage。
  5. 监视 Data Lake Storage 的预配置逻辑应用检测到正在上传新图像。 它会启动一个工作流。
  6. 该逻辑应用调用预先训练的自定义视觉模型,以识别图像中的对象、特征或质量。 另外,它还调用计算机视觉(光学字符识别 (OCR))模型来识别图像中的文本信息。
  7. 以 JSON 格式接收结果。 逻辑应用分析结果并创建键值对。 你可以将结果存储在由 Azure Synapse Analytics 预配的 Azure 专用 SQL 池中。
  8. Power BI 提供数据可视化。

组件

  • Azure Blob 存储为云原生工作负载和机器学习存储提供对象存储。 在此体系结构中,它存储上传的视频文件。

  • Azure 机器学习服务用于端到端机器学习生命周期。

  • Azure Data Lake Storage 为高性能分析工作负载提供可大规模可缩放、增强安全性、高性价比的云存储。

  • 计算机视觉Azure AI 服务的一部分。 它用于检索有关每个图像的信息。

  • 可以使用自定义视觉,为特定域自定义和嵌入最先进的计算机视觉图像分析。

  • Azure 逻辑应用跨环境连接应用和数据来自动执行工作流。 它提供了一种实时访问和处理数据的方法。

  • Power BI 是软件服务、应用和连接器的集合,它们协同工作以提供数据的可视化效果。

备选方法

如果无需调用预先训练的对象检测自定义模型,则可以使用以下依赖于 Azure AI 视觉视频检索的体系结构。 使用此服务会省略视频分解成帧,并使用自定义代码分析引入过程。 如果用例依赖于检测视频中的常见对象或实体,则此方法提供更直接的路径。

显示使用视频检索 API 进行自动视频分析的体系结构的关系图。

下载此体系结构的 PowerPoint 文件

备用工作流

  1. MP4 格式的视频片段集合将上传到 Azure Blob 存储。
  2. 预配置的逻辑应用监视 Blob 存储,检测正在上传新视频并启动工作流。
  3. 逻辑应用调用 Azure AI 视觉视频检索 API 来创建索引。
  4. 逻辑应用调用 Azure AI 视觉视频检索 API,以将视频文档添加到索引。
  5. 预配置的逻辑应用监视引入,以检查索引何时完成。
  6. 逻辑应用调用视频检索 API,以使用自然语言进行搜索、识别图像中的对象、特征或质量。
  7. 以 JSON 格式接收结果。 逻辑应用分析结果并创建键值对。 可以将结果存储在 Fabric 中的 SQL 数据库中。
  8. Power BI 提供数据可视化。

备用组件

  • Microsoft Fabric 是一个端到端的统一分析平台,用于简化数据集成。 它旨在通过在单个平台中提供全面的工具和服务套件,简化跨不同域管理和分析数据的过程。 此体系结构中将其用作数据引入平台,用于拉取 JSON 对象并将其传递到 Fabric 中的 SQL 数据库。
  • Fabric 中的 SQL 数据库是一种针对 AI 优化的简单、自主且安全的 SQL 数据库服务。 此体系结构用于存储有关从 Azure 视频检索 API 检索的视频的信息。
  • Azure AI 视觉 是一项服务,无需机器学习专业知识即可提供高级图像和视频分析功能。 此体系结构中使用 视频检索 API 直接从视频中检索信息。

方案详细信息

许多行业录制视频片段以检测是否存在特定对象或实体,或对对象或实体进行分类。 视频监视和分析传统上是手动执行的。 这些过程通常是单调的,容易出错,特别是对于肉眼难以完成的任务。 可以使用 AI 和机器学习自动执行这些过程。

视频录制可以分为单独的帧,这样各种技术就可以分析图像。 其中一项技术是计算机视觉:计算机识别图像上的对象和实体的能力。

有了计算机视觉,监视视频片段变得自动化、标准化,而且可能更加准确。 可以训练计算机视觉模型,并且根据用例,你可以经常得到至少与训练模型的人员一样好的结果。 通过使用机器学习操作 (MLOps) 不断改进模型,随着时间的推移,可以预料会出现更好的结果,并对视频数据的变化做出反应。

可能的用例

此方案适用于分析视频的任何业务。 下面是一些示例用例:

  • 农业。 监测和分析一段时间内的作物和土壤状况。 通过使用无人机,农民可以录制视频片段进行分析。

  • 环境科学。 分析水生物种,了解它们的位置和进化过程。 通过在船上安装水下摄像机,环境研究人员可以沿着海岸线录制视频片段。 他们可以分析视频片段来了解物种迁移以及物种种群随时间的变化。

  • 交通控制。 对车辆进行分类(SUV、轿车、卡车、摩托车),并使用这些信息规划交通控制。 视频片段可以由 CCTV 在公共场所播放。 大多数 CCTV 摄像机会记录日期和时间,可以通过光学字符识别 (OCR) 轻松检索。

  • 质量保证。 监视和分析制造设施中的质量控制。 通过在生产线上安装相机,可以训练计算机视觉模型以检测异常。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改进工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性设计评审核对清单

可靠的工作负荷是可复原且可用的工作负荷。 复原能力是指系统从故障中恢复并继续正常运行的能力。 复原能力的目标是在故障发生后将应用程序恢复到可完全正常运行的状态。 可用性衡量的是用户在需要时能否访问你的工作负载。

有关解决方案中 Azure 服务的可用性保证,请参阅以下资源:

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表

请考虑以下资源:

成本优化

成本优化就是减少不必要的费用和提高运营效率。 有关详细信息,请参阅成本优化设计评审核对清单

以下是关于优化成本的一些准则:

  • 对体系结构使用即用即付策略,并根据需要横向扩展,而不是一开始就投资大规模资源。
  • 考虑你的体系结构中的机会成本,以及在先发优势与“快速跟进”之间的平衡。 使用定价计算器来估计初始成本和运营成本。
  • 建立策略预算和控制,以便为解决方案设置成本限制。

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅设计卓越运营的审查清单

部署需要可靠且可预测。 下面是一些准则:

  • 自动执行部署以减少人为错误的可能性。
  • 实施快速而常规的部署过程,以避免减慢新功能和 bug 修复的发布速度。
  • 如果更新导致问题,请快速回滚或前滚。

性能效率

性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率设计评审核对清单

适当地使用可伸缩性和实现内置可伸缩性的 PaaS 产品/服务是实现性能效率的主要方法。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

要查看非公开领英个人资料,请登录领英。

后续步骤