给 1 万帧视频做目标分割,显存占用还不到 1.4GB,代码已开源 | ECCV 2022

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

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

如果你以为上面的这些效果只是对物体后期上色了,那还真是被 AI 给骗到了。这些奇怪的颜色,其实是对视频对象分割的表示。但有一说一,这效果还真是让人一时间分辨不出。

无论是萌妹子飞舞的发丝:

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

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 的性能也没有下降。

研究团队

作者之一为华人 Ho Kei (Rex) Cheng。

他研究生毕业于香港科技大学,目前在伊利诺伊大学厄巴纳-香槟分校读博。研究方向为计算机视觉。他先后有多篇论文被 CVPR、NeurIPS、ECCV 等顶会接收。

另一位作者是 Alexander G. Schwing。

他现在是伊利诺伊大学厄巴纳-香槟分校的助理教授,博士毕业于苏黎世联邦理工学院。研究方向为机器学习和计算机视觉。

论文地址:

https://arxiv.org/abs/2207.07115

GitHub:

https://github.com/hkchengrex/XMem

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://izmirsehirrehberi.com