AutoML Video Intelligence 新手指南

简介

假设您是某足球队的教练。您有一个庞大的比赛视频库,您打算使用该视频库来研究您球队的长处和短板。如果可以将多场比赛中的射门、犯规、罚点球等动作编译到一个视频中,那将非常有用。但要查看的视频达数百个小时,要跟踪的动作也有很多。您需要观看每个视频并手动标记片段以突显每个动作,这既枯燥又耗时。而且,每个赛季都需要执行这些工作。如果教会计算机自动识别并标记视频中出现的所有这些动作,事情是不是就会变得更加简单?

已分类足球动作的图片样本

为什么说机器学习 (ML) 是解决这类问题的最好工具?

编程示意图 传统编程要求程序员指定分步说明,以使计算机按照这些说明操作。但我们来设想一下识别足球比赛中特定动作的用例。颜色、角度、分辨率和光线千变万化,需要编写大量规则来告知机器如何做出正确决策。甚至难以想象应该从哪里开始入手。幸运的是,机器学习可以很好地解决这个问题。

本指南将逐步介绍 AutoML Video Intelligence 如何解决此问题、其工作流、它可以解决的其他类型的问题。

AutoML Video Intelligence 的工作原理

简单神经网络的图形表示 AutoML Video Intelligence 是监督式学习任务。这表示您可以使用已加标签的样本视频来训练、测试和验证机器学习模型。通过经过训练的模型,您可以输入新视频,模型将输出带有标签的视频片段。标签是通过模型预测的“答案”。例如,对于足球用例,通过使用经过训练的模型,您可以输入新足球视频,输出的视频片段将带有描述“射门”、“个人犯规”等动作镜头的标签。

AutoML Video Intelligence 工作流

AutoML Video Intelligence 使用标准的机器学习工作流:

  1. 收集数据:根据您想要实现的结果,确定训练和测试模型所需的数据
  2. 准备数据:确保您的数据格式正确且已加标签
  3. 训练:设置参数并构建模型
  4. 评估:审核模型指标
  5. 部署和预测:使您的模型可供使用

但是,在开始收集数据之前,您需要思考您要尝试解决的问题,从而了解您的数据要求。

考虑您的用例

起点和终点图片

从您的问题着手:您想要实现什么结果?您需要预测多少个类别?类别是指您希望模型学习识别的元素,在模型输出中表示为标签(例如,足球检测模型将有两个类别:“足球”和“没有足球”)。

根据您的答案,AutoML Video Intelligence 将创建必要的模型来解析您的用例:

  • 二元分类模型可预测二元结果(两个类别之一)。是非问题适合使用该模型,例如,仅识别足球比赛中的射门(“这是射门吗?”)。一般而言,针对二元分类问题进行训练所需的视频数据比其他问题少。

  • 多类别分类模型可根据两个或更多个离散类别来预测一个类别。该模型适合用于对视频片段进行分类。例如,对奥运会视频库的片段进行分类,以确定在任何给定时间显示的是哪项运动。输出提供分配了单个标签的视频片段,如游泳或体操。

  • 多标签分类模型可根据多个可能的类别来预测一个或多个类别。该模型适合用于对单个视频片段中的多个类别加标签。该问题类型通常需要更多的训练数据,因为区分多个类别的工作更为复杂。

上文中的足球样本需要多标签分类模式,因为多个类别(比如射门、个人犯规等动作)可能同时发生,意味着单个视频片段可能需要多个标签。

有关公平性的说明

公平性是 Google 的负责 AI 做法之一。公平性目标旨在了解和防止算法系统或算法辅助决策中出现以不公正或有偏见的方式对待不同种族、收入、性取向、宗教、性别以及具有历史上受歧视和边缘化的其他特征的人群。阅读本指南时,您将看到“公平意识”说明,该说明详细介绍如何创建更公平的机器学习模型。 了解详情

收集数据

数据点图片 确定了用例后,您将需要收集用于创建所需模型的视频数据。您收集的用于训练的数据说明了您可以解决的问题种类。您可以使用多少个视频?对于您希望模型预测的类别,视频是否包含足够多的样本?在收集视频数据时,请牢记以下注意事项。

包括足够多的视频

模型训练图片 一般而言,数据集中的训练视频越多,结果就越好。建议的视频数量也随着您尝试解决的问题的复杂度变化而增加或减少。例如,与多标签问题(根据许多类别预测一个或多个类别)相比,二元分类问题(根据两个类别预测一个类别)所需的视频数据较少。

您尝试分类的内容的复杂度也会决定所需的视频数据量。我们来看足球用例,该用例需要构建一个模型来区分动作镜头。将该模型与用于区分蜂鸟物种的模型进行比较。考虑到颜色、大小和形状方面的细微差别和相似之处:要使模型学习如何准确地识别每个物种,您将需要更多训练数据。

使用这些规则作为基准,以了解您的最低视频数据需求:

  • 如果类别很少,而且各不相同,则每个类别需要 200 个视频样本
  • 如果类别超过 50 个或者如果类别彼此相似,则每个类别需要超过 1000 个视频样本

所需的视频数据量可能比您目前拥有的视频数据要多。您可以考虑通过第三方提供商获取更多视频。例如,如果您的比赛动作识别模型没有足够多的数据,您可以购买或获取更多足球视频。

在类别之间平均分配视频

尽量为每个类别提供数量差不多的训练样本。原因如下:假设您 80% 的训练数据集是关于射门镜头的足球视频,但只有 20% 的视频显示了个人犯规或罚点球。由于类别的分配如此不均衡,您的模型更有可能会预测给定动作是射门。这就像是编写了一份单选题试卷,其中 80% 的正确答案都是“C”:聪明的模型很快就会发现,在大多数时候,猜测“C”的正确率相当高。

4 种类型足球动作的训练图片

您有可能无法为每个类别都找到相同数量的视频。对于某些类别而言,高质量、无偏见的样本可能也很难获取。请尽量遵循 1:10 的比率:如果最大的类别有 10000 个视频,则最小的类别应至少有 1000 个视频。

捕获差异

您的视频数据应捕获问题空间的多样性。模型在训练过程中看到的样本越多样,就越容易对新的或较不常见的样本具备普适性。以足球动作分类模型为例:您将需要提供从各个取镜角度、分别在白天和晚上拍摄的包含球员各种动作的视频。为模型提供各种数据将提高模型区分不同动作的能力。

将数据与预期输出相匹配

训练图片与预期输出图片相匹配

您需要寻找在视觉上与您计划输入到模型中进行预测的视频相似的训练视频。例如,如果您的所有训练视频都拍摄于冬季或晚上,这些环境下的光线和颜色模式将影响您的模型。如果您之后使用该模型来测试在夏季或白天拍摄的视频,获得的预测结果可能不是很准确。

您还需要考虑以下额外因素: * 视频分辨率 * 每秒视频帧数 * 取镜角度 * 背景

准备数据

收集好要添加到数据集中的视频后,您需要确保视频包含带标签的边界框,以便模型了解要查找的内容。

我的视频为什么需要边界框和标签?

AutoML Video Intelligence 模型是如何学习识别模式的?这就是边界框和标签在训练过程中的作用。以足球为例:每个样本视频都需要将动作镜头框在边界框中。此外,需要为这些边界框分配“射门”、“个人犯规”和“罚点球”等标签。否则,模型不知道该查找什么。为样本视频绘制边界框和分配标签可能需要花费一些时间才能完成。如果需要,可以考虑使用标签服务,将该工作外包给其他人。

训练模型

训练视频数据准备好后,您就可以创建机器学习模型了。请注意,即使问题类型不同,您也可以使用同一个数据集来创建不同的机器学习模型。

AutoML Video Intelligence 的其中一项优势是,使用默认参数将引导您创建一个可靠的机器学习模型。不过,您可能需要根据您的数据质量和所需的结果来调整参数。例如:

  • 预测类型(视频处理的细化程度)
  • 帧速率
  • 分辨率

评估模型

放大镜图片 模型训练结束后,您将收到其性能总结。模型评估指标根据模型针对数据集切片(验证数据集)的表现情况得出。在确定模型是否已准备好在真实数据中使用时,需要考虑一些关键指标和概念。

分数阈值

机器学习模型如何知道足球射门在什么情况下是真正的射门?每个预测分配有一个置信度分数,即模型确定给定视频片段包含某个类别的数值评估结果。分数阈值是确定给定分数何时转换为是或否决策的数字;也就是说,分数为该值时,您的模型表示“是,这个置信度数字足够高,可以得出视频片段包含射门的结论。”

高阈值图片和几张相应分类图片以及低阈值图片和许多相应分类图片

如果分数阈值较低,那么您的模型对视频片段加的标签可能有误。因此,分数阈值应基于给定用例确定。想象一下,在癌症检测这样的医疗用例中,加错标签的后果要比加错体育视频标签的后果更加严重。在癌症检测中,应使用较高的分数阈值。

预测结果

应用分数阈值后,模型所做的预测可分为四类。为了理解这些类别,我们假设您构建了一个模型,用于检测给定片段是否包含足球射门(或不包含)。在此示例中,射门是正类别(模型尝试预测的内容)。

  • 真正例:模型对正类别的预测正确。模型正确预测到视频片段中有射门。
  • 假正例:模型对正类别的预测错误。模型预测到片段中有射门,但其实没有。
  • 真负例:模型对负类别的预测正确。模型正确预测到片段中没有射门。
  • 假负例:模型对负类别的预测错误。模型预测到片段中没有射门,但其实有。

带有 4 个置信度类别说明的图片

精确率和召回率

精确率和召回率指标有助于您了解模型捕获信息的精准度以及遗漏的信息量。 详细了解精确率和召回率

  • 精确率是指正确预测的正类别所占的比例。在所有标为“射门”的预测中,实际包含射门的比例占多少?
  • 召回率是指实际识别出的所有正类别预测所占的比例。在本能识别出的所有足球射门中,实际识别出的比例占多少?

根据您的用例,您可能需要针对精确率或召回率进行优化。请参考以下用例。

用例:视频中的隐私信息

假设您正在构建一个软件,该软件用于自动检测视频中的敏感信息并对该信息进行模糊处理。假结果产生的影响可能包括:

  • 假正例识别出不需要屏蔽的信息,但仍然将其屏蔽。这种情况可能会让人感到很烦,但并不会造成有害结果。

模糊处理的日期图片

  • 假负例未能识别出需要屏蔽的信息,如信用卡号。隐私信息将会被公之于众,这是最糟糕的情况。

信用卡号图片

在该用例中,必须要优化召回率以确保模型可找到所有相关用例。已针对召回率进行优化的模型更可能会向略微相关的样本分配标签,但是向错误样本分配标签的可能性也会提高(进行了模糊处理的信息多于需要模糊处理的信息)。

假设您想要创建一个软件,让用户能够根据关键字搜索视频库。我们来考虑一下错误的结果:

  • 假正例返回不相关的视频。由于您的系统试图仅提供相关视频,因此您的软件并没有按照其预期构建目的工作。

与吉他搜索匹配的吉他图片

  • 假负例没有返回相关视频。由于许多关键字都对应着数百个视频,因此这个问题的影响并没有返回不相关视频那么糟糕。

与吉他搜索匹配的不相关图片

在此示例中,您将需要优化精确率,以确保模型提供高度相关的正确结果。高精确率模型可能仅向最相关的样本分配标签,但可能会遗漏一些样本。详细了解模型评估指标

部署模型

灯泡图片 如果对模型的性能感到满意,您就可以使用模型了。AutoML Video Intelligence 使用批量预测,您可以在 CSV 文件中包含托管于 Cloud Storage 上的视频的文件路径,并将该文件上传到模型中执行预测。您的模型将处理每个视频,并在另一个 CSV 文件中输出预测结果。批量预测是异步的,也就是说,模型会先处理所有预测请求,然后再输出结果。