找回密码
 立即注册
搜索

CVPR 2020|用机器学习打造计数君,RepNet可自动计数视频反复片段

选自Google AI Blog

机器之心编译

参与:Panda

你能否曾在看视频时呼唤过计数君?近日,谷歌和 DeepMind 公布的一篇 CVPR 2020 论文应用机器学习方法打造了一种机器计数君,可以非常便利地统计视频中反复过程的出现次数;尤其值得留意的是,谷歌不只公布了论文,还发布了演示视频、代码、模型以及一个新构建的相关数据集 Countix。本文为谷歌 AI 博客对这项研讨的解读引见。




项目:https://sites.google.com/view/repnet

论文:http://openaccess.thecvf.com/content_CVPR_2020/papers/Dwibedi_Counting_Out_Time_Class_Agnostic_Video_Repetition_Counting_in_the_CVPR_2020_paper.pdf

Countix 数据集:https://storage.googleapis.com/deepmind-media/Datasets/countix.tar.gz

Colab Notebook:https://colab.research.google.com/github/google-research/google-research/blob/master/repnet/repnet_colab.ipynb

我们的日常生活中存在各种各样的反复过程,有的是自然周期,比如月相变化或心跳和呼吸节律;也有的反复过程是人为的,比如消费线或交通中的反复形式。

反复过程不只普遍存在,而且其中还包含着可经过巧妙的方式提取出来的见解:在反复多次发生的事情背后,也许还隐藏着什么底层缘由;在反复的场景中也许隐藏着某种渐进的变化趋向,这也许能协助我们了解这个场景。

有时分,反复过程能为我们提供明晰明白的「动作单元(action units)」,即构成一个动作的且具有语义含义的分段。举个例子,假如一个人正在切洋葱,其动作单元就是切下洋葱片的反复操作动作。这些单元能够成为更复杂动作的指示并能够允许我们无需人工标注这些单元,就能在更细粒的工夫尺度上自动分析更多这样的动作。

基于上述缘由,假如能集成可了解普通反复形式的系统,则以长期观察和了解世界为目的的感知系统将会大获助益。

谷歌的 CVPR 2020 论文《Counting Out Time: Class Agnostic Video Repetition Counting in the Wild》在这一研讨方向上迈出了重要一步。这篇论文提出了一种可了解多种反复过程的单一模型 RepNet——其中涵盖人类锻炼或运用工具、动物奔跑、鸟类扇动翅膀、钟摆摆动等多种不同的反复过程。之前的反复过程研讨大都运用了周期分歧性约束来分析有同一动作的不同视频,以便能细粒度地了解它们。谷歌这篇论文则采用了一种不同方案:一种能辨认单个视频中的反复形式的系统。

RepNet

RepNet 模型的输入是包含反复动作的视频,而且这些反复动作可以属于多种不同类别(包括在训练时期不曾见过的类别);而其前往的结果是在视频中找到的反复工夫段。

过去,执行反复计数的常见思绪是直接比较帧的像素密度,但理想世界的视频能够存在相机移动、视野中物体遮挡、比例尺发生宏大变化、外形变化等状况,因此学习不受这些噪声影响的特征是非常必要的。为了做到这一点,当然要用机器学习。

详细来说,谷歌以端到端的方式训练了一个机器学习模型,可以直接估计反复的工夫段。该模型由三部分组成:一个帧编码器、一个中间表征(称为工夫自相似度矩阵)、一个工夫段预测器。

首先来看帧编码器,其运用了 ResNet 架构作为每帧模型,以为视频的每一帧生成嵌入。选择 ResNet 架构的缘由是其曾经在许多图像和视频义务上得到了成功运用。将视频的每一帧传递给基于 ResNet 的编码器会得到一个嵌入序列。

接上去就该计算工夫自相似度矩阵(TSM)了,即比较视频中每一帧的嵌入与其它每一帧的嵌入,前往的矩阵可协助后续模块轻松分析,进而对反复过程计数。这个过程能让视频帧流中的自相似性显现出来,从而可协助完成工夫段估计,如下所示:




TSM 处理地球日夜循环图像的方式演示。

然后,对每一帧,再根据 TSM 中的相似度序列运用 Transformer 来直接预测反复的工夫段和周期性(即该帧能否属于该周期过程)。一旦有了工夫段,就可以用周期段的帧数除以周期工夫段长度来获得每帧计数。归总起来,就可以预测出视频中的反复数量。






RepNet 模型概况

工夫自相似度矩阵

下面展现的日夜循环的工夫自相似度矩阵(TSM)示例是一个固定工夫段长度反复的理想场景。而对于真实世界视频,TSM 往往能揭示出视频中让人着迷的结构。下面展现了三个示例:腾跃运动差不多算是一个固定周期长度的理想周期动作了;对比之下,由于动能损失,弹跳小球的弹跳高度会在反复过程中逐渐下降。而某人挖铲混凝土的视频前后都有一段无运动的片段。这三个行为对应的学习到的 TSM 也有分明差别,这需求模型关注场景中的纤细变化。




腾跃运动(恒定周期长度;视频来自 Kinetics),弹跳小球(下降式周期,Kinetics),挖铲混凝土(视频中存在非周期性片段,PERTUBE 数据集)

在 RepNet 中运用 TSM 作为中间层的一大优势是 Transformer 的后续处理是在自相似度空间中完成的,而不是在特征空间中完成。这会鼓励向不曾见过的类别泛化。举个例子,只需动作的反复速度是相似的,腾跃和游泳等非常不同的动作所得到的 TSM 也是相似的。这使得该模型可以在某些类别的动作上训练之后再泛化用于不曾见过的类别。

数据

训练上述模型的方法之一是搜集一个大规模的包含反复活动的视频数据集且其中带有良好标注的反复次数。但这种方法存在两方面的困难。第一,需求有人检查大量视频以辨认出其中带有反复动作的视频。之后,每个视频都必须标注上一个动作反复的次数。虽然对于特定的义务而言,标注者可以跳过某些帧(举个例子,在分类腾跃运动这样的视频时),但他们照旧需求看残缺个视频才能统计出腾跃运动的执行次数。

针对这一难题,谷歌采取的做法是引入一个合成数据生成过程,可以运用能够不包含反复动作的视频生成带有反复的视频。详细做法是随机选取一个视频片段并将其反复恣意次数,然后再在两段加上原视频的前后部分。




这种合成数据生成流程可以基于任何视频生成带有反复的视频

虽然这一流程可以生成带有反复过程且看起来自然的视频,但对于深度学习方法来说还是过于简单,由于深度学习可以经过查找伪影而非学习辨认反复而学会诈骗。针对这个成绩,谷歌的策略是执行极端的数据加强,他们称之为「相机运动加强(camera motion augmentation)」。这种方法会对视频停止修正,从而在视频停止过程中运用 2D 仿射运动模拟平滑移动的相机。




左图:一个由随机视频生成合成带反复视频的示例。右图:一个运用相机运动加强合成的视频示例,这对于模型来说难度更大,但能更好地泛化用于真实的反复视频上。(视频均来自 Kinetics)

评价

如今可以在合成的反复视频上训练模型了,但是所得到的模型必需要能泛化用于带有反复过程的真实视频才行。为了在真实视频上评价训练所得到的模型的功能,谷歌从 Kinetics 数据集搜集了大约 9000 段视频,并构建了一个新的数据集。这些视频根基于 YouTube 上的数据多样性,涵盖许多动作类别,并且具有丰富多样的场景。然后,谷歌为这些视频标注了视频中动作的反复次数。为了鼓励对这一范畴的进一步研讨,谷歌曾经公开发布了这一同名为 Countix 的数据集。

运用




不依赖类别的计数模型具有许多有用的运用场景。以单个模型运用的 RepNet 可以统计许多不同范畴的视频中的反复次数:




‍RepNet 可以计数多种范畴活动的反复次数,比如切洋葱、地球昼夜周期甚至运动中的猎豹。

RepNet 可用于评价来自超声心动图的心跳节律,即便其在训练时期并未见过这样的视频:




预测得到的心跳速率:45bpm(左边)和 75bpm(左边)真实的心跳速率分别为 46-50 bpm 和 78-79 bpm。RepNet 对来自不同设备的数据的心跳速率预测非常接近该设备实践测得的心跳速率。

RepNet 还可用于监控反复活动中的速度变化。下面展现了这样的速度变化也可用于其它设置中,以便停止质量控制或过程控制。




‍在视频中可以看到 RepNet 计数了在激光显微镜下观察到的加速细胞振荡,即便其在训练时期并未见过这样的视频。




左图:一个人停止「登山者」锻炼。右图:运用主成分分析得到的 RepNet 嵌入的 1D 投影,这里是该人在锻炼过程中改变速度的时辰。

原文链接:https://ai.googleblog.com/2020/06/repnet-counting-repetitions-in-videos.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

甜晨露 2020-6-29 07:18:34 显示全部楼层
不太懂?有没有详细介绍?
回复

使用道具 举报

杨金研 2020-6-30 09:24:52 显示全部楼层
支持楼主,用户楼主,楼主英明呀!!!
回复

使用道具 举报

从阳台泼下的水 2020-7-1 08:42:18 来自手机 显示全部楼层
前排顶,很好!
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies