咦,怎么好好的藤原千花,突然变成了 " 高温红色版 "?

这大紫手,难道是灭霸在世??

如果你以为上面的这些效果只是对物体后期上色了,那还真是被 AI 给骗到了。
这些奇怪的颜色,其实是对视频对象分割的表示。
但 u1s1,这效果还真是让人一时间分辨不出。
无论是萌妹子飞舞的发丝:

还是发生形状改变的毛巾、物体之间来回遮挡:

AI 对目标的分割都称得上是严丝合缝,仿佛是把颜色 " 焊 " 了上去。
不只是高精度分割目标,这种方法还能处理超过10000 帧的视频。
而且分割效果始终保持在同一水平,视频后半段依旧丝滑精细。

更意外的是,这种方法对 GPU 要求不高。
研究人员表示实验过程中,该方法消耗的 GPU 内存从来没超过1.4GB。
要知道,当下基于注意力机制的同类方法,甚至都不能在普通消费级显卡上处理超过 1 分钟的视频。
这就是伊利诺伊大学厄巴纳 - 香槟分校学者最新提出的一种长视频目标分割方法XMem。
目前已被 ECCV 2022 接收,代码也已开源。
如此丝滑的效果,还在 Reddit 上吸引不少网友围观,热度达到 800+。

网友都在打趣说:
为什么要把你的手涂成紫色?
谁知道灭霸是不是有计算机视觉方面的爱好呢?

模仿人类记忆法
目前已有的视频对象分割方法非常多,但是它们要么处理速度比较慢,要么对 GPU 要求高,要么精度不够高。
而本文提出的方法,可以说是兼顾了以上三方面。
不仅能对长视频快速进行对象分割,画面帧数可达到 20FPS,同时在普通 GPU 上就能完成。
其特别之处在于,它受人类记忆模式所启发。
1968 年,心理学家阿特金森和希夫林提出多重存储模型(Atkinson-Shiffrin memory model)。
该模型认为,人类记忆可以分为 3 种模式:瞬时记忆、短期记忆和长期记忆。
参考如上模式,研究人员将 AI 框架也划分出 3 种内存方式。分别是:
及时更新的瞬时内存
高分辨率工作内存
密集长期记忆内存。

其中,瞬时内存会每帧更新一次,来记录画面中的图像信息。
工作内存从瞬时内存中收集画面信息,更新频率为每 r 帧一次。
当工作内存饱和时,它会被压缩转移到长期内存里。
而长期内存也饱和时,会随着时间推移忘记过时的特征;一般来说这会在处理过数千帧后才会饱和。
这样一来,GPU 内存也就不会因为时间推移而不足了。
通常,对视频目标进行分割会给定第一帧的图像和目标对象掩码,然后模型会跟踪相关目标,为后续帧生成相应的掩码。
具体来看,XMem 处理单帧画面的过程如下:

整个 AI 框架由 3 个端到端卷积网络组成。
一个查询编码器(Query encoder)用来追踪提取查询特定图像特征。
一个解码器(Decoder)负责获取内存读取步骤的输出,以生成对象掩码。
一个值编码器(Value encoder)可以将图像和目标的掩码相结合,从而来提取新的内存特征值。
最终值编码器提取到的特征值会添加到工作内存中。
从实验结果来看,该方法在短视频和长视频上,都实现了 SOTA。

在处理长视频时,随着帧数的增加,XMem 的性能也没有下降。

原文地址:http://www.myzaker.com/article/62d65e3a8e9f0912af4ceb7b