【论文阅读笔记】ISINet: An Instance-Based Approach for Surgical Instrument Segmentation

news2024/11/18 2:37:59

1. 论文介绍

ISINet: An Instance-Based Approach for Surgical Instrument Segmentation
ISINet:一种基于实例的手术器械分割方法
2020 MICCAI
【Paper】 【Code】

2.摘要

我们研究了机器人辅助手术场景中手术器械的语义分割任务。我们提出了基于实例的手术器械分割网络(ISINet),一种从基于实例的分割角度解决这一任务的方法。我们的方法包括一个时间的一致性模块,考虑到以前被忽视的问题和固有的时间信息。我们在任务的现有基准,内窥镜视觉2017机器人仪器分割数据集和2018年版本的数据集上验证了我们的方法,我们扩展了仪器分割的细粒度版本的注释。我们的研究结果表明,ISINet的性能明显优于最先进的方法,我们的基线版本复制了以前方法的交集(IoU),我们的完整模型将IoU复制了三倍。

Keywords:Instance-Based基于实例、Surgical Instrument Segmentation手术器械分割

3. Introduction

手术器械或其类型的分割经常用作计算机辅助手术系统开发的中间任务,例如器械跟踪,姿态估计和手术阶段估计,其反过来能够从手术室优化到手术个性化设计,尤其术前计划。手术场景中的器械分割任务首次在Endoscopic Vision 2015器械分割和跟踪数据集中引入。然而,目的不是区分仪器类型,而是从背景中提取器械并标记其部件。数据集的注释是使用半自动方法获得的,导致真值图和图像之间的不对齐。Endoscopic Vision 2017机器人器械分割(EndoVis 2017)数据集包含10个机器人辅助手术图像序列,每个序列由225帧组成。八个序列组成训练数据,两个序列组成测试数据。图像序列每帧最多显示5个仪器,属于7种仪器类型。在该数据集中,修改了任务,以包括仪器类型以及仪器部件的注释。到目前为止,这个数据集仍然是唯一现有的实验框架,以研究这种精细版本的仪器分割问题。尽管在构建该数据集方面付出了努力,但它仍然没有反映出普遍的问题,主要是由于数据量有限,不切实际的手术内容(视频来自课程而非实战),并且原始视频的稀疏采样限制了时间一致性。内窥镜视觉2018机器人场景分割数据集,包含器官和纱布和缝线等非机器人手术器械等解剖对象,增加了手术图像分割的复杂性。与2017年的数据集相比,这些图像来自外科手术,因此在背景、器械运动、角度和比例方面具有很大的变化性。尽管有额外的注释,但工具类别被简化为包含所有工具类型的通用工具类别。因此,2018年数据集不能用于2017年精细版本的仪器分割任务。

用于手术器械的分割的最新方法遵循逐像素语义分割范例,其中独立地预测图像中的每个像素的类。大多数方法修改神经网络U-Net,其中一些方法试图通过使用边界,深度感知,后处理策略,显着图或姿势估计来考虑可以区分整个仪器的细节。然而,这些技术具有标签一致性问题,其中单个仪器可以被分配多个仪器类型,也就是说,对象内的类标签缺乏空间一致性。用于此任务的最新模型的第二个限制是难以确保仪器在时间上的标签一致性,也就是说,通常仪器类别是逐帧预测的,而不考虑来自先前帧的分割标签。MF-TAPNet是第一种包含时间优先级以增强分割的方法。该先验被用作注意力机制,并且使用先前帧的光流来计算。使用时间线索的其他方法主要针对手术器械数据集开发,这些数据集侧重于器械跟踪而不是器械分割。采用时间信息来改进分割或用于数据增强目的。本文方法不是使用时间信息来改进分割,而是采用跨帧预测中的冗余来纠正错误标记的仪器,即确保时间一致性。

时间一致性:同一时间前后的标签应该是一样的;
空间一致性:在图像分割中,图像中的某个点和其周围邻域中的点具有相同类别属性的概率较大,这一特性称为图像的空间一致特性。

4.网络结构详解

基于实例的学习:不需要训练数据,把整个数据集作为一个类,预测的时候与已知实例进行对比。
实例分割:不同于语义分割,它更细化同一类的不同物体。

在这里插入图片描述

与逐像素分割方法(为图像中的每个像素预测一个类)不同,基于实例的方法为整个对象实例生成一个类标签。基于实例的手术器械分割网络(ISINet),建立在Mask R-CNN基础上。通过将预测层修改为在EndoVis 2017和2018数据集中发现的类的数量,使这种架构适应于细粒度的仪器分割问题,并开发了一个模块,以促进跨连续帧的每实例类预测的时间一致性。(其实这里论文里并没有说清楚加在Mask R-CNN中的什么位置,甚至结构图都没有画一个,看完代码再详解。)时间一致性模块分两步:首先,在匹配步骤中,对于每个图像序列,识别并跟踪序列中的器械实例,然后,在分配步骤中,考虑每个实例的所有预测并为实例分配整体器械类型预测。

这里要强调几点,它是基于视频的,即使输入的是图像,也是一个序列的连续帧,要保证帧间识别一致性,即类别的一致性和实例的一致性。按类别分(Class Consistency):指的是模型能够在连续的视频帧中准确地识别出物体所属的类别,并且这个识别结果在时间序列上是一致的。例如,在手术器械分割的场景中,无论手术钳子如何移动或旋转,它始终被正确识别为“手术钳”。分每一个实例物体(Instance Consistency):不仅要识别出物体的类别,还需要区分开同类别中的不同个体,即实例。实例一致性意味着模型能够追踪视频中同一对象的具体实例,并在多帧之间保持其标识的一致性。在同一视频序列中,即使有多个相同类型的工具存在,模型也能够识别并区分每个独立的工具实例。例如,如果有两把手术钳在同一视频中,模型应该能够分辨并独立追踪每把钳子。
所以才要保持时间一致性的模块,即如下操作。

首先,对于从帧t = 1到最终帧T的序列I中的图像,通过候选提取模型(M),特别是Mask R-CNN,获得每个帧t的n个分数(S)、对象候选(O)和类预测(C)的集合。其中n是对应于置信度得分高于0.75的所有预测。
在这里插入图片描述

计算一个序列中所有连续帧的后向光流(OF),即从帧t到t-1。为此,使用FlowNet2(F)在MPI Sintel数据集上进行预训练,并使用PyTorch实现。

(光流(Optical Flow)是指在视觉场景中,由于物体的运动、相机的移动或者两者的结合,导致图像对象在连续两帧视频图像之间的表观运动。换句话说,它描述了一个场景中物体在不同时间点所在位置的变化。计算光流的目的是估计图像序列中每个像素点随时间变化的运动轨迹。这样可以得到一个向量场,其中每个向量表示对应像素点从前一帧图像到当前帧图像之间的位移。)

在这里插入图片描述

匹配步骤。 对于给定帧t的候选匹配步骤,从f个先前帧中检索候选 { { O i , t } i = 1 n } t = t − f t \{\{O_{i,t}\}^n_{i=1}\}^t_{t=t-f} {{Oi,t}i=1n}t=tft、得分 { { S i , t } i = 1 n } t = t − f t \{\{S_{i,t}\}^n_{i=1}\}^t_{t=t-f} {{Si,t}i=1n}t=tft和类 { { C i , t } i = 1 n } t = t − f t \{\{C_{i,t}\}^n_{i=1}\}^t_{t=t-f} {{Ci,t}i=1n}t=tft预测。使用光流迭代地将每个候选从先前帧扭曲到当前帧t。例如,要将帧t-2扭曲为帧t,可以从帧t-2到t-1,从t-1到t应用以下等式:
在这里插入图片描述
一旦我们获得变形对象候选者在这里插入图片描述,就通过在每个可能的候选者对之间的交集(IoU)度量中找到互反配对,来匹配来自f帧和当前帧t的每个变形对象候选者,从而在时间上跟踪乐器实例。此外,只考虑IoU大于阈值U的互惠配对。匹配步骤的最终结果是沿着帧t-f到t的m个实例的集合O,实例Ok不需要存在于所有帧中。
在这里插入图片描述

分配步骤。 该步骤的目的是通过考虑前f帧的预测来更新当前帧中每个实例的类预测。为此,使用一个函数A,它同时考虑每个实例k的类和得分。
在这里插入图片描述
对序列中的每个帧t和集合中的所有序列重复匹配和分配步骤。分别为2017年和2018年的数据集设置f为6,U为0和0.5,并将A定义为输入类的众数,并通过其得分进行加权。训练Mask R-CNN,使用官方实现。

在NVIDIA TITAN-X Pascal GPU上进行训练,直到实现的1x时间表收敛,学习率为0.0025,权重衰减为1e −4,每批4张图像。此外,对于所有实验,使用在MS-COCO数据集上预训练的ResNet-50主干。

人话版

匹配步骤(Matching Step)
在匹配步骤中,系统首先需要识别并追踪视频序列里每帧图像中的手术器械实例。该过程涉及到以下操作:

  • 对于序列中的每一帧,使用一个候选提取模型(例如,Mask R-CNN)来检测图像中的手术器械,并为它们生成对应的掩码、得分和类别预测。
  • 这些预测仅包括那些置信度超过特定阈值(例如0.75)的预测结果。
  • 随后,利用光流等技术计算连续帧之间的运动信息,从而帮助确定哪些器械实例是同一个,即使在随后的帧中位置有所改变。
    简而言之,通过这一步骤,系统能够构建起实例在视频序列中随时间变化的轨迹,即使存在运动、遮挡或其他复杂情况。

分配步骤(Assignment Step)
完成了匹配步骤后,接下来进行分配步骤。在这一步中,系统会做出整体的判断:

  • 系统会考虑所有对某个具体实例的预测。由于匹配步骤已经追踪了实例随时间的变化,因此现在拥有了关于该实例在整个视频序列中的全面信息。
  • 接下来,系统需要对这些预测结果进行合成,为每个追踪到的实例分配一个最终的标签。这可能涉及到合并不同帧的分类信息,同时解决如置信度不一致等问题,从而形成对每个实例的“大局”认识。
  • 最终,每个实例将被赋予一个整体的器械类型预测,反映了系统对其在整个序列中身份的综合判断。

5.实验与结果

1.新增EndoVis2018标注

为手术场景中的器械类型分割任务提供了额外的器械类型数据。为此在专家的帮助下手动扩展EndoVis 2018的注释。最初,该数据集的仪器被注释为通用仪器类,并标记了它们的部件(轴,手腕和钳口)。为了使该数据集可用于细粒度仪器分割的研究,即区分仪器类型,进一步用其类型注释数据集中的每个仪器。基于该数据集2017年版本和DaVinci系统目录中列出的类别,确定了9种手术工具类型:双极Forstrip(马里兰州和有孔)、Prograss Forstrip、大号针驱动器、单极弯剪、超声探头、吸引器、施夹钳和吻合器。然而,由于示例数量有限,避免评估吻合器类。对于数据集的15个图像序列,每个序列由149帧组成,手动从场景中的其他对象中提取每个仪器,并将其分配给上述10种类型之一。通过考虑其框架及其完整的图像序列来标记每个仪器,以确保在模糊或部分遮挡的情况下正确标记。将仪器部件注释作为对基于分组的分割方法有用的附加信息来维护。此外,确保实例标签注释在整个序列的帧中是一致的,以使数据集适合于训练基于实例的分割方法。注释与原始场景分割任务和MS-COCO标准数据集格式兼容。

最终:有个label表明不同类别的名称和id;然后有train和val,带有两个子文件夹image和annotations,annotations为gt图,像素点对应label类别。

2.结果

评价指标:预测P,真值G,帧数N,类别C。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机Java项目|基于Springboot实现患者管理系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 文末获取源码 项目编号:KS-032…

Hello 2024

Hello 2024 A. Wallet Exchange 题意:Alice和Bob各有a和b枚硬币,每次他们可以选择交换硬币或者保留,然后扣除当前一枚手中的硬币,当一方没得扣另一方就赢了。 思路:Alice先手,所以当硬币和为奇数时Alice…

Java面试之并发篇(一)

1、前言 本篇主要总结JAVA面试中关于并发相关的高频面试题。本篇的面试题基于网络整理,和自己编辑。在不断的完善补充哦。 2、简述程序、进程、线程、的基本概念? 2.1、程序 程序,是含有指令和数据的文件,被存储在磁盘或其他的…

基于神经网络的手写汉字提取与书写评分系统研究

相关源码和文档获取请私聊QQ:3106089953 论文目录结构 目 录 摘 要 I Abstract II 目 录 IV 第1章 绪论 1 1.1. 研究背景与意义 1 1.2. 国内外研究现状 2 1.2.1. 文本定位技术研究现状 2 1.2.2. 手写汉字识别研究现状 3 1.2.3. 汉字书写质量评价方法研究现状 4 1.3. 本文所做工…

OS_lab——bochs源码的编译与安装

1. 实验环境VMware station 15 Ubuntu 14.04.6 32位。2. 实验步骤2.1 安装虚拟机,并在虚拟机根目录下编译并安装bochs环境。 2.2 使用bochs自带工具bximage创建虚拟软驱。 2.3 编写引导程序boot.asm并用nasm编译得到引导文件boot.bin和boot.com。 2.4 修改bochs…

Hadoop分布式文件系统(二)

目录 一、Hadoop 1、文件系统 1.1、文件系统定义 1.2、传统常见的文件系统 1.3、文件系统中的重要概念 1.4、海量数据存储遇到的问题 1.5、分布式存储系统的核心属性及功能含义 2、HDFS 2.1、HDFS简介 2.2、HDFS设计目标 2.3、HDFS应用场景 2.4、HDFS重要特性 2.4…

性能分析与调优: Linux 安装基于BPF的bcc-tools系统性能工具库

目录 一、实验 1.环境 2.agent服务器安装使用ELRepo安装依赖包 3.agent服务器安装基于BPF的bcc-tools系统性能工具库 二、问题 1.安装bcc-tools后执行命令报错 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 pro…

【C++】- 类和对象(!!C++类基本概念!this指针详解)

类和对象 引入类类的定义类的访问限定操作符类的作用域类的实例化类对象模型this指针 引入类 在 C中,引入了一个新的定义----------类。类是一种用户自定义的数据类型,用于封装数据和行为。类可以看作是一个模板或蓝图,描述了一组相关的数据和…

JVM虚拟机的垃圾回收器(面试题)

1.什么是垃圾回收 垃圾回收主要说的是java会自动把程序在运行过程中产生的一些没有用的对象给回收掉,这样可以避免内存的浪费。 java主要是通过一个叫“根可达”的算法来识别这个对象是否可以被回收的,然后回收的算法也主要有三种:标记清除&a…

QT c++和qml交互实例

文章目录 一、demo效果图二、c和qml交互的基本方式1、qml访问C类对象 三、关键代码1、工程结构图2、c代码MainWindow.cppMainQuickView.cppStudentInfoView.cppStudentInfoModel.cpp 3、qml代码main.qmlMainQuickTopRect.qmlMainQuickMiddleRect.qmlMainQuickMiddleTableRect.q…

服务器cpu占用很高如何排查问题

前段时间,运维监控发现有个项目cpu占用很高,并且还在持续不断增长,服务不能正常响应,如下图: 在服务器上面安装了arthas,下载地址: https://alibaba.github.io/arthas/arthas-boot.jar 我使用了…

Linux stm32串口下载程序

一、工具 使用stm32flash进行串口下载 二、stm32flash安装 sudo apt-get install stm32flash 三、查看串口设备名称 先拔掉串口运行下面指令,获得所有设备名称,插上串口再运行一次,新增的就是串口设备名称,记住串口设备名称,以…

【信息论与编码】习题-判断题-第一部分

目录 判断题1. 对于N个对立并联信道,其信道容量CN2. 汉明码是一种线性分组码。3. 某一信源,不管它是否输出符号,只要这些符号具有某些概率特性,就有信息量。4. 若检错码的最小距离为dmin,则可以检测出任意小于等于dmin…

集团企业OA办公协同平台建设方案

一、企业对协同应用的需求分析 实现OA最核心、最基础的应用 业务流转:收/发文、汇报、合同等各种审批事项的业务协作与办理 信息共享:规章制度、业务资料、共享信息资源集中存储、统一管理 沟通管理:电子邮件、手机短信、通讯录、会议协作等…

期货日数据维护与使用_日数据维护_日数据更新

目录 写在前面: 下载日数据 下载“新增合约”日数据 下载“待更新合约”日数据 日数据文件 “选择日数据所在目录”按钮点击 “执行”按钮点击 sqlite3代码 按钮点击后执行的代码 子线程代码 写在前面: 本文默认已经创建了项目,如…

Archlinux下自启动rclone mount

路径: /etc/systemd/system/rclonemount.service [Unit] Descriptionrclonemount Requiresnetwork-online.target.wants Afteralist.service[Service] Typesimple ExecStartPre/bin/mkdir -p /media ExecStart/usr/bin/rclone mount \aliyun: /media \--config /ro…

Docker学习与应用(五)-DockerFile

1、DockerFile 1)DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤: 1. 编写一个dockerfile文件 2. docker build 构建称为一个镜像 3. docker run运行镜像 4. docker push发布镜像(D…

2024最新前端源码分享(附效果图及在线演示)

分享10款非常有趣的前端特效源码 其中包含css动画特效、js原生特效、svg特效以及小游戏等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 粒子文字动画特效 基于canvas实现的粒子文字动画特效 会来回切换设定的文字特效 图…

Docker学习与应用(四)-容器数据卷

1、容器数据卷 1)什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像! 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化 MySQL,容器删…

java推荐系统:好友推荐思路

1.表的设计 表里面就两个字段,一个字段是用户id,另外一个字段是好友id,假如A跟B互为好友,那在数据库里面就会有两条数据 2.推荐好友思路 上面的图的意思是:h跟a的互为好友,a跟b,c&am…