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

前沿科技 2年前 (2022) 虚像
0 0 0

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

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

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

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

如果你以为上面的这些效果只是对物体后期上色了,那还真是被 AI 给骗到了。

这些奇怪的颜色,其实是对视频对象分割的表示。

但 u1s1,这效果还真是让人一时间分辨不出。

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

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

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

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

AI 对目标的分割都称得上是严丝合缝,仿佛是把颜色 " 焊 " 了上去。

不只是高精度分割目标,这种方法还能处理超过10000 帧的视频。

而且分割效果始终保持在同一水平,视频后半段依旧丝滑精细。

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

更意外的是,这种方法对 GPU 要求不高。

研究人员表示实验过程中,该方法消耗的 GPU 内存从来没超过1.4GB

要知道,当下基于注意力机制的同类方法,甚至都不能在普通消费级显卡上处理超过 1 分钟的视频。

这就是伊利诺伊大学厄巴纳 - 香槟分校学者最新提出的一种长视频目标分割方法XMem

目前已被 ECCV 2022 接收,代码也已开源。

如此丝滑的效果,还在 Reddit 上吸引不少网友围观,热度达到 800+。

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

网友都在打趣说:

为什么要把你的手涂成紫色?

谁知道灭霸是不是有计算机视觉方面的爱好呢?

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

模仿人类记忆法

目前已有的视频对象分割方法非常多,但是它们要么处理速度比较慢,要么对 GPU 要求高,要么精度不够高。

而本文提出的方法,可以说是兼顾了以上三方面。

不仅能对长视频快速进行对象分割,画面帧数可达到 20FPS,同时在普通 GPU 上就能完成。

其特别之处在于,它受人类记忆模式所启发。

1968 年,心理学家阿特金森和希夫林提出多重存储模型(Atkinson-Shiffrin memory model)。

该模型认为,人类记忆可以分为 3 种模式:瞬时记忆、短期记忆和长期记忆。

参考如上模式,研究人员将 AI 框架也划分出 3 种内存方式。分别是:

及时更新的瞬时内存

高分辨率工作内存

密集长期记忆内存。

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

其中,瞬时内存会每帧更新一次,来记录画面中的图像信息。

工作内存从瞬时内存中收集画面信息,更新频率为每 r 帧一次。

当工作内存饱和时,它会被压缩转移到长期内存里。

而长期内存也饱和时,会随着时间推移忘记过时的特征;一般来说这会在处理过数千帧后才会饱和。

这样一来,GPU 内存也就不会因为时间推移而不足了。

通常,对视频目标进行分割会给定第一帧的图像和目标对象掩码,然后模型会跟踪相关目标,为后续帧生成相应的掩码。

具体来看,XMem 处理单帧画面的过程如下:

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

整个 AI 框架由 3 个端到端卷积网络组成。

一个查询编码器(Query encoder)用来追踪提取查询特定图像特征。

一个解码器(Decoder)负责获取内存读取步骤的输出,以生成对象掩码。

一个值编码器(Value encoder)可以将图像和目标的掩码相结合,从而来提取新的内存特征值。

最终值编码器提取到的特征值会添加到工作内存中。

从实验结果来看,该方法在短视频和长视频上,都实现了 SOTA。

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

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

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

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

版权声明:虚像 发表于 2022年7月19日 pm8:56。
转载请注明:给1万帧视频做目标分割,显存占用还不到1.4GB,代码已开源 | 快导航网

相关文章