一种新的 CV 任务!
AI 科技评论按:来自华盛顿大学艾伦人工智能研究所的 Kiana Ehsani 团队突破传统计算机视觉的研究任务,尝试从目标对象(例如狗)的视角进行建模,并以此模型来预测对象的行为模式。
这种表示学习方法与传统的图片训练任务的不同之处在于,它的模型训练是从特定视角出发,所以这是一种全新的 CV 任务。在论文中,作为案例,作者采用狗狗的视角来训练模型,在狗的行为建模上取得显著的成功。作者表示,该方法有望拓展到其他领域。
下面为 AI 科技评论对该论文的详细解读。
传统的计算机视觉研究专注于分类、识别、检测及分割等子任务;当去解决一般的计算机视觉问题时,研究人员一般会将这些功能进行有机的组合。但这种研究方法所得出的结果一直与期望结果有较大的差距。本文的作者受近期「行为和交互在视觉理解中作用」研究工作的启发,他们将视觉智能(visual intelligence)问题定义为:理解视觉数据并在视觉世界中采取行动或执行任务。在这种定义下,作者认为要像一个视觉智能体在视觉世界中那样去学习。
作为该项研究的切入口,他们选择一只狗作为视觉代理。相比于人类,狗有一个简单的行为空间,这使任务能更容易地处理;而另一方面,它们能够清楚地表现出视觉智能,识别食物、障碍物、其他人类和动物,并对这些输入作出反应。
在实验中,Kiana Ehsani 团队通过狗的自我视角录制的视频数据,加上将传感器安装在狗的关节处收集来的动作数据,构建了数据集 DECADE(Dataset of Ego-Centric Actions in a Dog Environment)。
在作者的研究中,他们利用DECADE数据集,主要探索三个问题:
1.Acting like a dog,即预测狗的行动;
2.Planning like a dog,即预测狗的运动序列;
3.Learning from a dog,即如何利用狗的动作作为表征学习的监督信号。
如上所述,作者使用了 DECADE 数据集。这个数据集包含 380 个视频剪辑片段,这些视频由安装在狗头部的摄像机拍摄而来。视频中还包含设备安装部位和运动轨迹等信息。
在实验中,作者总共用了 24500 帧,其中 21000 帧用于训练模型,1500 帧用于验证,2000 帧用于最后的测试。
作者使用的是 GoPro 摄像头拍摄的这些视频,采样频率为5fps。该团队使用4个惯性测量单元(IMUs)来测量狗的四肢的位置,一个单元测尾巴位置,还有一个测躯干位置。这些设备可以用角向移动来记录运动。
他们获取的每一帧都包含六个测量单元的角移。角移以 4 维 4 元数向量表示。惯性测量单元的绝对角移与狗面向的方向有关,不同关节的角移是有区别的,这些区别也可以用四元数表示。他们认为两个连续的帧之间角移的区别就代表着这条狗这两帧之间的动作。
获取这些信息的的具体情形是一个安装在狗背上的 Arduino 监视器连接着各个测量单元(IMUs)来记录位置信息。它还能通过狗背上的微信麦克风来收集音频,这些音频可以为同步 GoPro 和 Imus 数据提供依据,最终可以将视频和 IMU 测量数据同步精确到毫秒级别。他们的团队在多于 50 个不同环境下收集数据,收集时狗正处在特定的场景下,比如行走或捡东西或与其他狗互动。所有最终剪辑出来的帧都不带备注,实验均使用原始数据。
在不同的场景中如何预测狗的反应呢?作者所提出的模型通过学习狗之前看到的场景图片来预测狗接下来的行动。
模型的输入是一串视觉图像的帧序列(I_1, I_2, . . . , I_t),而输出则是在接下来的时间片里狗各个关节的动作 t < t' ≤ N(a_t+1^j, a_t+2^j, . . . , a_t+N^j ),其中时间片大小为 0.2 秒。a_t^j 就代表着关节 j 的运动。举例说明,a_3^2 代表着第二关节介于 I3 和 I4 帧之间的运动。
作者将预测问题表述为一个分类问题。他们将关节角移数字化编码,并将不同关节的运动标签化成特定的动作类。为了形成这些运动类,他们使用 K-means算法来处理关节角移。每一个聚类中心都可以代表一个特定的运动。
其运动预测模型是编解码结构的,主要目标就是找到输入图片与未来动作之间的映射关系。举例说明这种关系,比如当狗看到拿着狗粮,这条狗之后的动作很可能是坐着等主人来喂。
上图为这个模型的结构,其中编码部分包含了 CNN 模型和一个 LSTM。其中每个时间片内 CNN 都会接收到一对连续的图片即上文提到的行动前行动后图片,对着其进行编码后传输给 LSTM。实验结果果表示 LSTM 一个时间片内接受两帧可以明显改善模型的表现。CNN 包含两层权重相同的 ResNet-18,其中一个则为处理帧。
解码器的目标是根据已经被编码的帧来预测狗关节的活动。解码器接受编码器传来的隐藏初始状态,和 LSTM 的处理结果,之后的每一个时间片,解码器输出上文提到的每个关节的动作类,而且前一个时间片的输出会被线性编码器处理完作为下一个时间片的输入。正是由于他们使用固定长度的处理后的输出作为下一个时间片的输入,所以不需要停止标记,且他们的模型会在产生一定数量的输出后停止。最后的效果就是他们的模型每个时间片会输出六个动作类。
每一张图片都是独立传送给 ResNet 塔,且两张图片的特征已经结合,结合起来的特征会被线性转化器处理后输入编码器的 LSTM。他们团队在 ImageNet 上事先训练了 ResNet,然后优化一下来评估两张连续帧之间的动作。
Kiana Ehsani 团队的编解码器使用加权平均熵损失来处理每个关节。损失函数为:
狗是如何计划行动来完成目标的?
为了给这个过程建模,作者设计了如下计划:输入两张不连贯的图片,然后去规划从第一张图片的状态到第二张图片的状态中间可能出现的一系列行为。他们指出先前的运动估计量已经不再适用,之前的运动估计是根据镜头的状态变化来补充两张图片变化之间的状态。现在则相反,我们的模型自行计划去进行一些合理的行动来补充图片变化之间的状态。更加正式的描述就是,
输入两张图片(I_1,I_N),输出时长为n-1的行动数据。这个输出就是够从I_1 状态转换到I_N状态中间经历的过程。
狗的每一步行动都会对下一步行动产生影响,所以作者设计了一个递归神经网络,这其中包含一层LSTM,用来处理一个时间片的的输出作为后一个时间片的输入。如图所示,他们将图片I1和IN分别单独的传给ResNet-18塔,合并上一层的特征并输入LSTM。每一时间片内,LSTM cell都会输出六个关节的运动数据。他们将此作为下一个时间片的输入,这就使得神经网络可以根据之前的状态进行调整。同时他们还将行为出现的概率这一数据也作下一时间片的输入。这会使当前时间片中的低概率行为在行动序列中进一步导致高概率行为,这样就可以保证未来行为的多样性。
作者使用等式所描述的加权的交叉熵损耗在所有的时间片和关节上训练该递归神经网络。与解决如何像狗一样行动所采取的方法类似,他们使用了离散的动作域。
能否利用狗的动作作为表征学习的监督信号呢?
在学习从狗观察到的图像中预测狗关节的运动时,可以获得一个图像表示,它编码了不同类型的信息。
为了学习表示,作者通过观察狗在时间 t-1 和 t 中观察到的图像,训练 ResNet-18 模型来估计当前的狗的运动(IMU 从时间 t-1 到 t 的变化)。随后作者对这个表示进行测试,并与在 ImageNet 上训练的 ResNet-18 模型进行比较,在不同的任务中会使用不同的数据。 在实验中,作者使用 SUN397 数据集,进行了可行表面估计和场景分类。
为了展示表示的效果,作者将模型中蓝色部分用在 ImageNet 上训练过的 ResNet 进行了替换,并将其与在 DECADE 上训练的 ResNet 进行比较。
下面这张图中显示了模型从 5 帧视频中学习到当一个人朝狗扔球时狗的表现。在视频中,球越过狗后,狗转向右侧去追球。本文提出的模型只使用前5帧图像就可以正确地预测在球飞过时狗如何转向右侧的行为。
下面为具体实验结果:
1.Learning to act like a dog
观察五帧视频后预测接下来的五个行动的精确度。
2.Learning to plan like a dog
在开始和结束帧之间进行规划,这里考虑开始帧和结束帧之间相隔5步。
3.Learning from a dog
将在 ImageNet 上训练的网络结果与在 DECADE 上训练的网络进行比较,评估指标为 IOU。
Kiana Ehsani 团队选择直接从目标对象视角建模,他们用从狗的视角拍摄的视频来训练模型,最终的目标是让自己的模型可以预测随后的行动,可以像狗一样去规划自己的行为来完成目标。他们的工作是端到端建模的第一步,这种方法不需要手动标记的数据或拥有具体语义的数据。不仅如此,它还可以在多对象和多场景下应用去获取有价值的信息。
AI 科技评论认为,他们的方法还有许多有待拓展的地方。一方面是,本文实现的模型只接受视觉输入,属于 CV 问题,但事实上它完全可以拓展到其他领域,例如实现听觉、触觉等的输入;此外,当前模型仍只是针对一条狗的行为建模,那么是否可以拓展到多条狗的情形呢?
无论如何,采用主人公视角的数据集来训练模型,这种思想独特且有深刻意义,属于一种新颖的 CV task。
论文地址:
https://arxiv.org/abs/1803.10827
对了,我们招人了,了解一下?
4 月 AI 求职季
8 大明星企业
10 场分享盛宴
20 小时独门秘籍
4.10-4.19,我们准时相约!
┏(^0^)┛欢迎分享,明天见!