为什么在线手术阶段识别是一项难题
在线系统需要跟踪手术进程,并在每一帧新图像上输出当前阶段的标签。系统无法获取未来帧:只能依赖已经看到的内容。同时,手术可能持续数小时,而单帧的处理成本不能随着录像时间的增加而增长。否则,模型将无法满足实时处理的要求。
从形式上看,基于SSD(结构化状态空间对偶)的递归架构符合这一约束。它们将全部历史信息压缩到隐藏状态中,而每帧的计算量保持固定。但SSD层有一个特点:每个注意力头内部的转移由一个标量决定。这个标量同时决定了当前帧“写入”状态的强度,以及状态中信息被遗忘的速度。
对于手术视频而言,这种强耦合会带来问题。视觉模式——器械外观、组织、感兴趣区域——在不同阶段会重复出现。新的图像内容会覆盖旧内容,最终两个相似片段之间的差异仅仅取决于它们发生的时间先后。损失函数并没有给模型提供明确的信号,告诉它状态中的旧内容何时不再有用。此外,各阶段本身的时长差异很大:有的只持续几秒,有的则占据整个手术过程的相当一部分时间,而视觉上手术过程可能看起来几乎没有任何变化。

状态重编程与遗忘控制
论文作者——Sukju Oh和Sukkyu Sun——为此提出了SurgicalMamba模型。他们的思路不是完全替换递归层,而是修正传递状态的行为。
第一个机制称为state regramming(状态重编程)。在每个处理块(chunk)的边界处,隐藏向量不只是简单传递,而是根据当前块的内容旋转一个角度。这样一来,两个相似但中间隔着另一个阶段的片段,会落入状态空间中不同的区域,不再互相覆盖。模型可以根据上下文区分它们,而不仅仅依赖时间远近。
第二个机制是在阶段转换时调制衰减。当模型检测到阶段之间的边界时,它会暂时增强遗忘:状态会迅速清除已结束阶段的信息。而在阶段内部,衰减保持缓慢,以便保留上下文。清除强度经过调整,使模型能够“存活”到最长阶段结束,而不会过早丢失所需的上下文。
重要的是,这两项修改都不会破坏SSD的N-半可分结构,因此原有的复杂度保证依然成立:每帧O(d)。模型仍然足够轻量,适合流式处理。
测试结果
在七个公开基准测试上,SurgicalMamba达到了当前最先进的精度水平。在Cholec80数据集上,在线准确率达到94.6%,阶段Jaccard指数为82.7%。在AutoLaparo上结果略低,但也相当可观:分别为89.5%和68.9%。同时,在单块GPU上,模型每秒可处理312.88帧——远超实时处理的需求。
这里的阶段Jaccard指数比普通准确率更重要:它检验的是预测的阶段区间与真实区间的重叠程度。它对边界处的错误更为严格,而边界恰恰是系统最容易出错的地方。

有趣的是,这一机制不仅在手术领域有效。如果仅将状态旋转操作添加到标准Mamba2中,就能提升MQAR指标——即从长上下文中提取多个先前出现元素的能力。这种提升恰好出现在递归状态成为瓶颈的场景中。这表明,状态重编程解决的可能是递归模型更普遍的问题,而不仅仅是手术阶段识别这一特定任务。



