Cutie用于自动识别和追踪视频里的特定物体,比如一个人或一辆车。假设你有一段视频,里面有很多人和物体在移动,Cutie可以自动找出其中一个特定的人并一直追踪他。
一、Cutie是什么?
Cutie 是一个视频对象分割框架,是XMem的后续作品,具有更好的一致性、鲁棒性和速度。该存储库包含用于标准视频对象分割的代码和用于交互式视频分割的 GUI 工具。 GUI 工具还包含“永久内存”(来自XMem++)选项,以实现更好的可控性。
二、Cutie的网站地址:
1、GIthub开源:
https://github.com/hkchengrex/Cutie
2、项目地址:
3、论文地址:
三、Cutie的技术原理:
我们提出了 Cutie,一种具有对象级内存读取功能的视频对象分割(VOS)网络,它将内存中的对象表示放回到视频对象分割结果中。最近关于 VOS 的工作采用了自下而上的像素级内存读取,这种方法由于匹配噪声而陷入困境,尤其是在存在干扰因素的情况下,导致在更具挑战性的数据中性能较低。相比之下,Cutie 通过调整一小组对象查询来执行自上而下的对象级内存读取,以便通过基于查询的对象变换器 (qt ,因此Cutie)迭代地与自下而上的像素特征进行重构和交互。对象查询充当目标对象的高级摘要,同时保留高分辨率特征图以进行准确分割。与前景-背景屏蔽注意力一起,Cutie 干净地将前景对象的语义与背景分开。在具有挑战性的 MOSE 数据集上,Cutie 在运行时间相似的情况下比 XMem 提高了 8.7 J&F,在运行速度是 DeAOT 的三倍的情况下比 DeAOT 提高了 4.2 J&F。
- 初识目标:在视频的第一帧(就是视频的第一张图片)里,Cutie 首先找到你想跟踪的物体,并记住它的位置和形状。
- 记忆特点:找到物体后,Cutie 不仅记住了物体的大致轮廓,还会存储物体的详细像素信息。这就像是给物体拍了一张身份证照。
- 新帧识别:当视频继续播放,出现新的画面(或称为“帧”)时,Cutie 会用之前记住的“粗略特征”来快速找到物体。
- 精确定位:找到大致位置后,Cutie 再用之前存储的“详细信息”来精确确认物体的位置和形状。
- 快速准确:因为Cutie 同时使用了粗略特征和详细信息,所以它能在视频中非常快速而准确地找到并跟踪物体。
- 这样,无论视频里的物体如何移动或变化,Cutie 都能准确地“锁定”它。这在很多场合都非常有用,比如在安全监控、自动驾驶车辆或者医学研究中。
四、Cutie的功能特色:
Cutie 非常适用于各种需要对象识别和追踪的场合,包括但不限于自动驾驶、视频编辑、安全监控等。
- 自动识别和追踪特定物体:在视频中自动找出并跟踪你指定的物体,比如一个人、一辆车或任何其他物体。
- 高级对象理解:不仅仅是看每个小点(像素),而是能“记住”并理解整个物体的大概样子和特性。
- 精确分割:能够非常精确地把目标物体从其他背景物体中分离出来。
- 适应复杂场景:即使在有很多物体和复杂背景的视频中,也能准确地进行对象分割。
- 高效运行:虽然功能强大,但运行速度也相当快,适用于需要实时处理的应用场景。
五、Cutie的技术手段:
Cutie主要特点是具有对象级别的内存读取能力。与传统的像素级内存读取方法不同,Cutie 采用了一种自上而下的对象级内存读取方式,这有助于提高在复杂数据集上的性能。
1、对象变换器(Object Transformer)
Cutie 的核心组件是一个对象变换器,它使用一组端到端训练的对象查询来与底层像素特征进行交互。这些对象查询作为目标对象的高级摘要,而高分辨率的特征图则用于精确的分割。
2、前景-背景掩码注意力(Foreground-Background Masked Attention)
Cutie 还引入了一种前景-背景掩码注意力机制。这允许一部分对象查询仅关注前景,而其余的仅关注背景。这样做可以更清晰地分离前景对象和背景的语义。
3、对象内存(Object Memory)
除了像素内存外,Cutie 还引入了一个紧凑的对象内存,用于总结目标对象的特征。这增强了端到端对象查询与目标特定特征的交互,从而实现了目标对象的有效长期表示。
在实际评估中,使用 MOSE 标准测试时,Cutie 的表现比 XMem 方法高出 8.7 分。此外,与DeAOT方法相比,Cutie获得了4.2分的高分,其处理速度比DeAOT快三倍。
六、Cutie的视频演示:
七、Cutie的使用教程:
- 核心机制:在一个或多个帧上注释对象并使用自动提取完成视频。使用永久存储器存储准确的分割(将好的帧提交给它)以获得最佳结果。进入内存库的第一帧始终提交到永久存储器。如果需要,可以重置内存。
- 使用左键进行前景注释,右键进行背景注释。
- 使用中键切换可视化目标(用于分层、弹出和黑白mask导出)。
- 使用数字键或旋钮更改要操作的对象。如果没有响应,很可能在程序启动时未指定正确数量的对象。
- “导出为视频”仅汇总保存在磁盘上的可视化效果。需要勾选“保存叠加”才能实现此目的。
- 导出的黑白/软mask可以在其他应用程序中使用,如ProPainter。请注意,修复更喜欢过分分割而不是不足分割 – 如果需要,请使用较大的膨胀半径。
- 内存可能会因错误的分割而受损。请善用“重置内存”,不要提交错误的分割。
- “分层”可视化模式在前景和背景之间插入一个RGBA层。使用“导入层”选择新层。