乐于分享
好东西不私藏

AI病理工具箱|用免费工具采集病理医生的阅片轨迹,把“阅片过程”变成训练新燃料

AI病理工具箱|用免费工具采集病理医生的阅片轨迹,把“阅片过程”变成训练新燃料

推 文 概 览

此前,我们介绍了Pathology-CoT研究(AI病理文摘|Nature Biomedical Engineering:把阅片轨迹变成训练数据,病理AI开始学习医生如何找到答案)。这项研究将病理医生阅片时的缩放、平移、停留和倍率切换转化为结构化数据,让AI不仅学习最终的诊断答案,也开始学习医生寻找诊断证据的过程。

推文发布后,有读者在后台推荐了近期发表的另一项研究PathInteract。研究者公开了一套代码,可从病理医生的阅片录屏中提取鼠标轨迹、视野平移与缩放以及语音信息,为既有阅片视频的再利用提供了新的工具。

更进一步,如果结合免费的数字病理软件QuPath,我们甚至不必完全依赖视频反推轨迹。本期AI病理工具箱就来看看,如何利用这些免费工具,以较低成本搭建一套病理医生阅片轨迹采集与解析方案。

正文精彩继续

一、PathInteract:把既有阅片视频重新变成数据

PathInteract研究发表于Scientific Reports, 其目标是从病理医生的屏幕录像中提取三类信息:

鼠标轨迹:使用YOLOv8检测每一帧中的鼠标位置。作者通过将鼠标图标随机叠加到病理图像上,生成2万张合成图像训练检测模型。

视野操作:利用相邻视频帧之间的光流变化,识别向左、向右、向上、向下平移,以及放大和缩小操作。

语音内容:使用Whisper将医生的口述转换为文本,再根据时间戳与视频画面对应起来。

在此基础上,作者还尝试识别医生用鼠标圈画区域的行为,并将口述中的组织学描述与对应视频帧组成图文对。

这意味着,大量已经存在的教学视频、会诊录像和病例讨论视频,都有可能被重新整理为:视频帧+鼠标轨迹+视野动作+医生口述。

不过,PathInteract仍是一套研究原型。它能够判断“鼠标在视频画面的哪里”“什么时候发生了缩放或平移”,但通常不能直接恢复鼠标和视野在原始WSI中的准确坐标。

如果能够重新采集数据,还有一种更简单、更准确的选择:QuPath View Tracker

二、QuPath已经自带免费的阅片轨迹记录功能

PathInteract论文用于验证视频算法的“真实轨迹”,并不是作者自行开发的工具,而是来自QuPath自带的View Tracker

QuPath是一款免费的开源数字病理软件。View Tracker可以直接从图像浏览器内部记录:

• 医生当前看到的WSI区域;

• 视野在原始切片中的坐标;

• 当前下采样倍数;

• 可选的鼠标位置;

• 可选的当前操作工具;

• 每次操作的时间戳。

这些数据不需要从录像中反推,已经位于原始WSI坐标系中。因此,如果研究者能够安排医生使用QuPath阅片,直接记录View Tracker TSV,应当作为首选方案

最推荐的低成本组合是:QuPath View Tracker TSV+屏幕录像+可选口述音频

其中,TSV负责准确记录空间轨迹,屏幕录像负责复核操作情境,音频则用于补充医生看到了什么、为什么关注这个区域。

三、如何用QuPath记录一次阅片过程?

第一步:建立QuPath Project

当前版本的View Tracker要求图像位于QuPath Project中,因为记录文件会自动保存在项目目录内。

建议提前为每张WSI建立唯一的病例编号和切片编号,并单独登记医生编号、阅片任务、最终诊断和QuPath版本。

第二步:打开View Tracker

在QuPath顶部菜单中选择:View → Show view tracker

随后点击View Tracker窗口中的“三点”选项,建议同时启用:

Mouse tracking

Active tool tracking

前者记录鼠标在WSI中的坐标,后者记录医生当时使用的是移动、画笔还是其他工具。

第三步:开始和停止记录

点击录制按钮后,医生按照日常习惯浏览切片即可。停止记录后,QuPath会自动将轨迹保存为TSV文件。

需要注意,一次记录只能绑定一个Viewer。录制过程中切换到其他Viewer,会导致当前记录停止。因此,最好让一份TSV只对应一张WSI和一次连续阅片。

第四步:回放和生成热图

QuPath可以直接回放记录,也可以:

• 跳转到指定时间点;

• 查看每个记录帧;

• 按时间范围筛选;

• 按Downsample范围筛选倍率;

• 生成基于停留时间的覆盖热图;

• 将热图导出为TIF。

如果只是希望比较不同医生重点观察了哪些区域,QuPath自身的回放和热图功能已经可以满足基础分析需求。

四、导出的TSV包含什么?

QuPath View Tracker导出的TSV主要包括:

Timestamp:从开始记录起经过的时间,单位为毫秒。

X、Y、Width、Height:当前可见区域在原始WSI中的位置和大小。

Canvas width、Canvas height:QuPath显示画布的屏幕尺寸。

Downsample factor:相对于WSI最高分辨率的下采样倍数。

Rotation:当前视野的旋转角度。

启用鼠标和工具追踪后,还会增加:

Cursor X、Cursor Y:鼠标对应的WSI坐标,而不是电脑屏幕坐标。

Active tool:当前使用的QuPath工具。

例如:

Timestamp          1342

X                  23890

Y                  28956

Width              2395

Height             1571

Downsample factor  1.993

Cursor X           24783.71

Cursor Y           29562.17

Active tool        Move

这表示在开始记录约1.342秒后,医生正在观察WSI中横坐标23890~26285、纵坐标28956~30527的区域,鼠标位于坐标24783.71、29562.17附近。

此外,TSV相邻两行的时间间隔不一定固定。某个视野的停留时间,应使用下一行减去当前行的时间戳计算,不能直接用记录行数代替。

五、使用PathInteract代码解析TSV

PathInteract仓库在qupath_rec目录中提供了QuPath日志解析示例:

qupath_rec/utils.py

qupath_rec/process_qupath_view_tracking.ipynb

qupath_rec/qupath_demo_tracking.csv

最基础的读取方式是:

import pandas as pd

df=pd.read_csv("view_tracking.tsv", sep="\t")

df["time_s"]=df["Timestamp"] / 1000

作者随后根据X、Y的变化判断视野平移,根据Downsample factor的变化判断放大和缩小,并生成:qp_ground_truth_actions.csv

输出包括六类动作:

Pan Left

Pan Right

Pan Up

Pan Down

Zoom In

Zoom Out

Notebook还可以绘制视野位置、倍率变化、缩放事件和平移事件的时间曲线。

不过,正式使用时建议做两处修正。

第一,不要因为Cursor X/Y=-1就删除整行。鼠标位置无效,并不代表这一时刻的视野和倍率记录无效。应保留全部数据,单独增加cursor_valid字段。

第二,要校正缩放方向:

Downsample factor减小 → Zoom In

Downsample factor增大 → Zoom Out

六、如何对应此前的Pathology-CoT研究?

此前的Pathology-CoT将连续阅片日志进一步压缩为两类行为:

Inspect:在某个区域相对完整地观察;

Peek:短暂切换到高倍,确认局部细节。

QuPath View Tracker能够提供构建这些行为所需的核心数据:

时间戳+视野坐标+视野大小+下采样倍数+鼠标位置。

PathInteract则可以进一步提供视频中的操作识别和语音转录。

因此,一条低成本复现路线可以是:

QuPath记录原始轨迹

→ PathInteract代码解析平移和缩放

→ 根据停留时间识别Inspect与Peek

→ 将视野坐标映射回WSI

→ 提取相应ROI

→ 与口述内容和最终诊断对齐。

最终,每个训练单元可以包含:

当前视野+观察倍率+停留时间+鼠标位置+对应WSI区域+医生口述+最终诊断。

这已经非常接近“让AI学习病理医生如何寻找答案”所需要的基础数据结构。

七、两种情况下,应该怎样选择?

如果可以重新组织医生阅片,优先选择:

QuPath View Tracker TSV+屏幕录像+可选口述音频

这是最准确、成本最低,也最容易回写到原始WSI的方案。

如果手中只有历史教学视频或会诊录像,则可以使用PathInteract提取鼠标、平移、缩放和语音。但如果没有原始WSI和View Tracker TSV,通常只能获得相对操作轨迹,很难准确恢复每个视野在原始切片中的绝对位置。

还需要说明的是,QuPath是成熟的免费开源软件;PathInteract虽然代码公开,核心模块也可以在本地运行,但目前仍是研究原型,并非下载安装后即可批量使用的一键式工具。

不过,对于准备开展病理医生阅片行为、病理Agent或视觉搜索策略研究的团队,这套方案已经足以低成本完成第一批数据采集。

八、总 结

使用免费的QuPath软件就可以直接记录医生看过哪些区域、使用什么倍率、停留多久以及鼠标位于哪里;PathInteract则可以进一步从视频中提取鼠标、缩放、平移和语音信息。

它们记录的并不是医生脑中完整的“思维链”,也不能替代真正的眼动数据。但它们已经能够把医生阅片过程中原本被忽略的操作日志,转化为可分析、可回放、可与WSI对齐的数据,为病理AI的研发提供新的训练数据。

相关资料

  • PathInteract论文: https://doi.org/10.1038/s41598-026-61758-2

  • PathInteract代码: https://github.com/smujiang/PathInteract

  • QuPath View Tracker官方说明:https://qupath.readthedocs.io/en/stable/docs/advanced/view_tracker.html

· 往期推荐

AI病理工具箱|A!Path打通病理AI流程:质控、标注、推理与安全,拟向学术机构免费开放

AI病理工具箱|病理基础模型太多,到底该怎么选?先看Histoboard

AI病理工具箱|Awesome-AI4DigitalPathology:值得收藏的病理AI开源知识库

AI病理工具箱|Nature Methods: LazySlide, 一个“懒人也能用”的病理AI库?