|
对我来说,摄影就是在一瞬间同时识别事件的意义以及对形式的精确组织,从而对事件进行适当的表达。——
亨利·卡蒂埃-布列松
过去几年,人工智能经历了寒武纪般的爆发,深度学习方法使计算机视觉算法能够识别出好照片的许多元素:人物、微笑、宠物、日落、著名地标等等。但是,尽管取得了这些最新进展,自动摄影仍然是一个非常具有挑战性的问题。相机能自动捕捉精彩瞬间吗?
最近,我们发布了Google Clips,这是一款全新的免提相机,可自动捕捉您生活中的有趣瞬间。我们围绕三个重要原则设计了 Google Clips:
我们希望所有计算都在设备上执行。除了延长电池寿命和减少延迟之外,设备上的处理还意味着您的剪辑不会离开设备,除非您决定保存或分享它们,这是一项关键的隐私控制。
我们希望该设备能够拍摄短视频,而不是单张照片。动态瞬间可能更令人感动,也更贴近记忆,而且围绕一个引人入胜的瞬间拍摄视频通常比捕捉一个完美的瞬间更容易。
我们希望专注于捕捉人和宠物的自然瞬间,而不是捕捉艺术图像这种更抽象、更主观的问题。也就是说,我们并没有试图教 Clips 思考构图、色彩平衡、光线等;相反,Clips 专注于选择人和动物进行有趣活动的时间段。
学习识别精彩瞬间
我们如何训练算法来识别精彩瞬间?与大多数机器学习问题一样,我们从数据集开始。我们创建了一个包含数千个视频的数据集,这些视频来自我们想象中的 Clips 使用场景。我们还确保我们的数据集代表了广泛的种族、性别和年龄。然后,我们聘请了专业摄影师和视频编辑来仔细研究这些视频,以选择最佳的短视频片段。这些早期的精选为我们的算法提供了可以模仿的示例。然而,仅凭精选者的主观选择来训练算法是具有挑战性的——我们需要一个平滑的标签梯度来教会算法识别内容的质量,从“完美”到“糟糕”。
为了解决这个问题,我们采用了第二种数据收集方法,目标是在整个视频长度上创建一个连续的质量分数。我们将每个视频分成短片段(类似于 Clips 捕获的内容),随机选择片段对,并要求人类评分者选择他们喜欢的片段。
我们采用了这种成对比较方法,而不是让评分者直接对视频进行评分,因为选择更好的视频比指定数字要容易得多。我们发现评分者在成对比较中非常一致,而在直接评分时则不太一致。只要对任何给定的视频进行足够的成对比较,我们就能计算出整个长度的连续质量分数。在此过程中,我们从 1,000 多个视频中抽样,收集了超过 50,000,000 个成对比较。这需要大量的人力!
训练 Clips 质量模型
有了这些质量分数训练数据,我们的下一步就是训练一个神经网络模型来估计设备拍摄的任何照片的质量。我们首先假设了解照片中的内容(例如,人、狗、树等)将有助于确定“趣味性”。如果这个假设是正确的,我们可以学习一个函数,该函数使用识别的照片内容来预测其质量分数(上面从人工比较中得出)。
为了识别训练数据中的内容标签,我们利用了支持 Google 图片搜索和 Google Photos 的相同 Google 机器学习技术,该技术可以识别超过 27,000 个描述对象、概念和动作的不同标签。我们当然不需要所有这些标签,也无法在设备上计算所有这些标签,因此我们的专业摄影师选择了他们认为与预测照片“趣味性”最相关的几百个标签。我们还添加了与评分者得出的质量分数最相关的标签。
获得这组标签后,我们需要设计一个紧凑、高效的模型,该模型可以在严格的功率和热限制内,在设备上预测任何给定图像的标签。这带来了挑战,因为计算机视觉背后的深度学习技术通常需要强大的桌面 GPU,而适用于移动设备的算法远远落后于桌面或云端的先进技术。为了训练这个设备上的模型,我们首先拍摄了大量照片,并再次使用 Google 强大的基于服务器的识别模型来预测上述每个“有趣”标签的标签置信度。然后,我们训练了一个MobileNet图像内容模型 (ICM) 来模仿基于服务器的模型的预测。这个紧凑的模型能够识别照片中最有趣的元素,同时忽略不相关的内容。最后一步是使用 50M 成对比较作为训练数据,根据 ICM 预测的内容预测输入照片的单个质量分数。该分数是使用分段线性回归模型
计算的,该模型将 ICM 的输出合并为帧质量分数。该帧质量得分在整个视频片段中取平均值,形成矩得分。给定成对比较,我们的模型应该计算出人类偏好的视频片段的矩得分更高。该模型经过训练,其预测尽可能与人类成对比较相匹配。
生成帧质量分数的训练过程图。分段线性回归将 ICM 嵌入映射到分数,该分数在视频片段中取平均值后,可得出矩分数。首选片段的矩分数应该更高。
这一过程让我们能够训练出一个模型,该模型将 Google 图像识别技术的强大功能与人类评分者的智慧相结合——由 5000 万条关于什么是有趣内容的意见代表!
虽然这个数据驱动的分数在识别有趣(和无趣)时刻方面做得非常出色,但我们也针对我们希望 Clips 捕捉的现象在整体质量得分上增加了一些加分,包括人脸(尤其是反复出现的、因此是“熟悉的”)、微笑和宠物。在我们最新版本的 中,我们为客户特别想要捕捉的某些活动增加了加分,比如拥抱、亲吻、跳跃和跳舞。识别这些活动需要扩展 ICM 模型。
镜头控制
有了这个强大的预测场景“有趣度”的模型,Clips 相机可以决定实时捕捉哪些时刻。其镜头控制算法遵循三个主要原则:
考虑功耗和散热:我们希望 Clips 的电池能够持续使用大约三个小时,并且我们不希望设备过热——设备不能一直全速运行。Clips 大部分时间都处于低功耗模式,每秒捕获一帧。如果该帧的质量超过 Clips 最近拍摄的帧数所设定的阈值,它就会进入高功耗模式,以 15 fps 的速度捕获。然后,Clips 会在遇到的第一个质量峰值时保存剪辑。
避免冗余:我们不希望剪辑一次性捕捉所有精彩瞬间,而忽略会话的其余部分。因此,我们的算法将精彩瞬间聚类为视觉上相似的组,并限制每个组内的剪辑数量。
事后观察的好处:当您能够检查所拍摄的全部剪辑时,确定哪些剪辑是最好的就容易得多。因此,Clips 捕捉到的瞬间比它打算向用户展示的要多。当剪辑准备好传输到手机时,Clips 设备会再次查看所拍摄的内容,并且只传输最佳且冗余最少的内容。
机器学习公平性
除了确保我们的视频数据集代表多样化的人群之外,我们还构建了其他几个测试来评估我们算法的公平性。我们通过以平衡的方式从不同性别和肤色中抽样来创建受控数据集,同时保持内容类型、持续时间和环境条件等变量不变。然后,我们使用此数据集来测试我们的算法在应用于不同组时是否具有相似的性能。为了帮助检测在我们改进时刻质量模型时可能出现的任何公平性回归,我们在自动化系统中添加了公平性测试。我们软件的任何更改都会经过这一系列测试,并且必须通过。需要注意的是,这种方法不能保证公平性,因为我们无法针对每种可能的情况和结果进行测试。但是,我们相信这些步骤是我们长期努力实现ML 算法公平性的重要组成部分。
结论
大多数机器学习算法都旨在估计客观品质——照片中包含猫或不包含猫。在我们的案例中,我们的目标是捕捉更难以捉摸和主观的品质——个人照片是否有趣。因此,我们将照片的客观语义内容与人类的主观偏好相结合,构建了 Google Clips 背后的人工智能。此外,Clips 旨在与人一起工作,而不是自主工作;为了获得良好的效果,人仍然需要有意识地取景,并确保相机指向有趣的内容。我们对 Google Clips 的出色表现感到满意,并很高兴继续改进我们的算法以捕捉“完美”的瞬间!
致谢
本文描述的算法是由一大群 Google 工程师、研究科学家和其他人构思和实施的。图片由 Lior Shapira 制作。感谢 Lior 和 Juston Payne 提供视频内容。
|
|