技术文章

使用计算机视觉实现癌症患者内窥镜组织定征的自动化

作者 都柏林大学的 Ronan Cahill 博士和 Jeffrey Dalli 博士,以及 MathWorks 的 Paul Huxel 博士


不久之前,我就科技在快速推进癌症治疗方面所起的作用接受了 RTÉ(爱尔兰国家广播电视公司)的采访。在采访中,我谈到了都柏林大学精准外科中心一项很有前景的计划。我们的团队正在研究如何使用图像处理技术来分析在结直肠外科手术中捕获的视频,以鉴别正常组织和癌变组织。

在讨论中,我提到了我们的研究人员在手动处理视频帧以探寻近红外荧光强度变化时遇到的一些困难。这些变化是由于各种类型的组织对吲哚菁绿(简称 ICG,一种用于医学诊断的荧光染料)的吸收不同所引起的。几天之后,我收到一位素未谋面的 MathWorks 人员发来的以下消息:“我听了您最近的电台采访。我觉得,MATLAB 和 Simulink 可以为您的研究带来不少增益。如果您还没用过它们,那么不妨一试”。

正是这则不请自来的消息开启了 MathWorks 与我们团队的合作,让我们最终开发出了荧光跟踪器 App (FTA)(图 1)。FTA 是一款基于 MATLAB® 的应用,它采用计算机视觉、点跟踪算法来监控近红外 (NIR) 视频中 ICG 荧光强度的变化,从而使以前耗费大量人力和时间的过程实现了自动化,同时又提供了更精确且在临床上更受瞩目的结果。FTA 使我们能够用客观的统计数据而非主观的视觉解读来评估近红外视频内容,这无疑又增加了一层数据驱动的诊断,并大大加快了我们的研究步伐。

图形用户界面,显示从内窥镜图像映射的强度与时间关系图

图 1. 荧光跟踪器 App 界面,显示用户在视频中选择的感兴趣区域(右)的强度与时间关系图(左)。该 App 随后会根据最强特征在每个区域内自动选择用户指定的最大点数进行跟踪。

吲哚菁绿 (ICG) 近红外荧光成像的工作原理

当 ICG 注入患者体内后,它会进入血液中,与血液中的蛋白结合。随着 ICG 进入全身血液循环,它会被肝脏摄取然后排出体外,而不参与代谢,这意味着 ICG 对人体是无害的。在血液中时,ICG 为临床医生提供了一种目测血流灌注的有效方法,因为 ICG 在近红外光照射下会发出荧光。

ICG 广泛适用于各种临床用例。例如,在结直肠内窥镜手术中,我们将它与腹腔镜近红外系统结合使用,可以确保有足量的血液流动来帮助即将连在一起的两部分组织的愈合。该系统会同时显示(并捕获)白光和近红外视频(图 2)。

通过内窥镜显示的同一直肠肿瘤的四幅图像

图 2. 直肠肿瘤的内窥镜图像:白光(左上)、原始近红外光源(左中)、注入 ICG 后的伪彩色融合白光和近红外图像(左下/主图像)。

虽然 ICG 和近红外内窥镜在外科手术中应用得相当广泛,但我们团队将二者结合用于癌变组织的定征尚属首次。这项新应用背后的基本想法是,癌变组织和正常组织的灌注特性不同,这种差异可通过分析荧光强度随时间变化的情况来检测。

在我们早期的研究中,也就是在开发 FTA 之前,我们通过使用 ImageJ 公共域图像处理软件检查录制的内窥镜视频的各个近红外帧来进行此分析。在每帧中,我们都要观察我们怀疑(稍后通过活检证实)发生了癌变的区域以及正常区域的强度。鉴于这一过程非常耗时,我们就缩小了分析范围,对于视频的每一秒钟只分析一帧。在绘制产生的时序强度信号后,我们可以看到不同类型的组织有着不同的灌注特性(图 3)。然而,每秒一帧 (fps) 的低采样率使数据难以进行平滑处理,并且背景噪声也削弱了我们执行统计分析的能力。

两幅荧光强度与时间关系图

图 3. 荧光强度与时间关系图。上图显示的是以每秒一帧的采样率手动生成的强度值,下图显示的是在 MATLAB 中以每秒三十帧的采样率自动生成的强度值。

通过使用 MATLAB 自动完成特征检测、跟踪和强度量化,我们实现了比每秒三十帧高得多的采样率,这使得生成的曲线更加平滑,并且所得用于分析的数据也更丰富。与此同时,这种自动化也让我们在短短几分钟内就完成了每个视频的分析,而无需花费一小时手动完成这一过程。

为荧光跟踪器 App 开发图像处理算法

我们基于 Computer Vision Toolbox™ 中的人脸检测和跟踪示例对 FTA 算法进行了初步开发。以此为起点,我们快速构建了一个 MATLAB 脚本,以加载视频,选择感兴趣的区域,自动选择这些区域内的特征,然后使用 Kanade-Lucas-Tomasi (KLT) 算法跨帧跟踪这些特征。我们评估了该工具箱中的多个不同特征检测算法,如 FAST、BRISK 和 SURF,然后回到了最小特征值算法。这种算法对我们的视频而言表现最佳。正如在任何探索性研究中一样,支持使用多个算法在我们的工作中特别有用。

我们一旦实现了可靠的特征跟踪,就开始扩展脚本以提取跟踪点的强度信息。具体来说,我们增加了相关步骤来计算每个跟踪点周围区域(例如一个 11 x 11 的像素框)的平均强度,然后绘制这些经过平滑处理的平均强度值随时间变化的关系图。最后,我们使用 k 均值聚类对这些点进行了分组,以清楚地显示两个不同感兴趣区域的不同灌注分布(图 4)。

图中显示从对照组织和直肠肿瘤图像中映射的强度分布

图 4. 使用 k 均值聚类将强度分布分为两个明确定义的组:健康对照组织(橙色聚类)和良性直肠肿瘤(主要是蓝色聚类)。

 

将 FTA 打包为一个独立 App

在进一步完善并测试了我们的 MATLAB 代码之后,我们使用 App 设计工具创建了一个用户界面,用于区域选择、特征检测和跟踪以及 k 均值聚类。然后,我们使用 MATLAB Compiler™ 将此界面和底层算法打包成了一个独立 App。有了可在任何计算机上运行的 FTA 版本后,我们的效率便得到了大大的提升。我们能够让更多的人参与到项目中,因为现在任何人都可以运行自动分析,即使他们没有 MATLAB 的使用经验或相关许可证也是如此。

计划的功能增强

我们使用 FTA 进行的研究已经公布。目前,我们期待着拓展我们的研究,并将该 App 的功能广泛用于多个有前景的研究领域。例如,我们计划涵盖来自不同地理区域的患者,以增加源视频数据的多样性。该独立 App 能够帮助简化这项任务,因为来自世界各地的研究人员都可以使用它来分析他们自己的视频,即使他们无法与我们分享这些视频也能如此。

我们也在探索用同样的方法鉴别其他类型癌症的可能性,包括肉瘤和卵巢癌,以及其他类型的染料。

增加对视频数据近实时处理的支持,是一条特别令人兴奋的开发之路。这一支持功能将在外科医生进行手术时为他们提供有关组织的额外信息,并且可能帮助他们在不切除肿瘤的情况下对其进行轮廓分析。在这种情况下,该功能将协助外科医生做出决定,比如当场切除或消融组织,从而简化患者的治疗过程。

随着我们内部 FTA 工作的继续进行,我们已将代码分享到了 File Exchange 上,供其他研究小组免费获取、探索和使用。

2022 年发布

查看文章,了解相关功能

查看文章,了解相关行业