当医生有很多临床图片,能做AI相关课题吗?
很多临床科室都有大量图片:内镜图、皮肤照、眼底照、超声截图、伤口照片、病理图、术中照片、口腔照片、宫腔镜图片、膀胱镜图片、鼻咽镜图片……
于是我们很自然会想:
“我有这么多照片,能不能做一个AI模型?”
“能不能预测疾病?”
“能不能预测疗效?”
“能不能发一篇机器学习文章?”
但临床图片不是“扔进AI锅里就能炖出论文”的原料。
一张照片不只是图像,它背后还有谁拍的、什么时候拍的、为什么拍的、怎么拍的、拍照前发生了什么、拍照后发生了什么。
如果这些问题没想清楚,模型可能看似准确,实际却只是在识别“哪台机器拍的”“哪个医生拍的”“哪个病区流程更规范”,而不是识别真正的疾病。
这篇文章想用临床医生能理解的方式,梳理做临床图片AI研究前应该想清楚的几件事。
1. 先别问AI,先问:这张照片是怎么来的?
临床照片不是自然界随机出现的。它们来自某种工作流。
比如:
- 皮肤科照片:可能由医生拍,也可能由患者手机拍;
- 内镜图片:可能是术者在看到典型病灶时截屏;
- 超声图片:可能是医生挑选“最有代表性”的切面保存;
- 伤口照片:可能只有严重、复杂、长期不愈合的病例才会连续拍;
- 宫腔镜图片:可能每个患者都按固定流程拍,也可能只在发现异常时多拍几张。
这就带来一个非常重要的问题:
照片本身不是单纯的“病灶记录”,它也是临床行为的记录。
换句话说,照片不仅反映疾病,也反映拍照者的习惯、设备、流程、患者选择和科室文化。
一个简单例子
假设某中心做胃镜时,资深医生习惯把可疑病灶拍得特别清楚,年轻医生则只随手截几张图。
如果训练AI识别早癌,模型可能学到:
“画面更清楚、更居中、更像教学图的,可能是早癌。”
这当然不是真正的疾病规律,而是拍照习惯造成的偏倚。
所以第一步不是建模,而是盘点图片来源
建议先问:
- 图片来自哪些设备?
- 是否跨年份、跨医生、跨病区?
- 每个患者拍几张?
- 是固定流程拍照,还是医生觉得重要才拍?
- 正常病例有没有同样拍照?
- 图片保存是否完整,还是只保存“典型图”?
- 拍照时是否已经知道初步诊断?
- 图片质量差的病例为什么差?是随机差,还是复杂病例更容易差?
这些问题看似琐碎,但它们决定了模型学到的是“疾病”,还是“工作流”。
2. 照片质量不是小事:模糊、反光、角度,本身就是偏倚来源
很多医生会说:
“质量差的图像剔掉就好了。”
这句话听起来合理,但要小心。
如果质量差是随机发生的,剔除影响不大。
但如果质量差集中出现在某类患者身上,剔除就会造成偏倚。
比如:
- 肥胖患者超声图像更差;
- 出血多的内镜图像更模糊;
- 严重炎症导致视野浑浊;
- 小儿患者配合差,照片更难标准化;
- 病变位置隐蔽,照片角度更差。
这时,“剔除低质量图片”可能等于“剔除更困难、更真实的临床病例”。
建议做法
不要只写一句“剔除质量差图片”,而要设计图片质量分级:
| 质量维度 | 示例 |
|---|---|
| 清晰度 | 清楚 / 轻度模糊 / 严重模糊 |
| 遮挡 | 无遮挡 / 部分遮挡 / 严重遮挡 |
| 反光 | 无明显反光 / 轻度反光 / 影响判断 |
| 视野完整性 | 完整显示目标区域 / 部分显示 / 无法判断 |
| 标准切面或标准视角 | 是 / 否 / 不确定 |
这件事的意义不是为了追求完美图片,而是为了知道:
模型能不能处理真实临床世界里“不那么完美”的图片?
3. 人工标注、AI标注、深度特征:三种“读图方式”不是一回事
临床图片进入研究,通常有三种方式。
第一种:医生人工结构化标注
医生看图后,把所见变成结构化变量。
比如:
- 息肉数量:单发 / 多发;
- 皮损边界:清楚 / 不清楚;
- 溃疡底部:清洁 / 渗出 / 坏死;
- 内镜下炎症:无 / 轻 / 中 / 重;
- 肿块形态:规则 / 不规则;
- 血管表现:稀疏 / 丰富 / 异常。
这就像医生把“看图感受”翻译成表格语言。
优点是临床可解释。
缺点是耗时,而且不同医生可能不一致。
第二种:AI做结构化表型提取
AI不直接预测结局,而是先学会描述图片。
比如它输出:
- 病灶大小;
- 病灶面积比例;
- 是否多发;
- 是否边界不清;
- 是否充血;
- 是否水肿;
- 是否有坏死;
- 血管密度;
- 颜色分布;
- 纹理不均匀度。
这就像给AI安排一个“住院医任务”:
你先不要下最终诊断,你先把客观所见写清楚。
这种方式很适合临床研究,因为它连接了医生语言和机器语言。
第三种:AI提取深度特征
模型不告诉你它看到了什么具体结构,而是把图片压缩成一串数字向量。
可以把它想象成:
AI给每张图片生成一个“视觉指纹”。
这个视觉指纹可能包含颜色、纹理、边缘、形状、空间关系等信息,但它不一定能翻译成人类熟悉的词,比如“充血”“水肿”“坏死”。
优点是可能捕捉医生没注意到的复杂模式。
缺点是解释困难,临床医生容易不信。
4. 什么时候值得让AI读图?先看医生能不能稳定描述
不是所有图片任务都值得做AI。
可以按四种情况判断。
| 情况 | 例子 | 是否值得AI |
|---|---|---|
| 医生容易稳定描述 | 单发/多发,左/右,是否有明显病灶 | AI价值有限,可先人工标注 |
| 医生能描述,但主观性强 | 轻中重炎症、充血程度、水肿程度、边界不规则 | 值得AI标准化 |
| 医生难以稳定量化 | 面积比例、颜色分布、纹理复杂度、血管密度 | AI很有价值 |
| 医生能做,但处理成本太高 | 4000例、每例10张图,需要全部结构化 | AI可作为批量预标注工具 |
一个比喻
如果任务是“这张图里有没有一只猫”,人很容易做,AI只是省时间。
如果任务是“这只猫的毛色、体型、姿态、眼神、背景光线是否共同预测它的健康状态”,那就需要更系统的图像量化。
临床图片也是一样。
如果医生本来就能稳定、快速、低成本地描述某个特征,AI不是必须。
但如果医生描述不一致、不量化、不进入病历、不适合大规模整理,AI就有意义。
5. 图像标注有很多层级:不要一上来就说“训练AI”
“标注图片”也分层级,不同标注对应不同模型。
| 标注方式 | 医生做什么 | 适合回答什么问题 | 常见模型 |
|---|---|---|---|
| 图像级二分类标注 | 标记整张图:有病/无病 | 这张图有没有目标病变? | ResNet, EfficientNet, DenseNet, ViT |
| 图像级多分类标注 | 标记整张图属于哪一类 | 息肉/肌瘤/炎症/正常? | ResNet, EfficientNet, ConvNeXt, ViT |
| 框标注 | 用矩形框圈出病灶 | 病灶在哪里? | YOLO, Faster R-CNN, RetinaNet |
| 像素级标注 | 沿着病灶边界精细描出来 | 病灶面积、边界、形状如何? | U-Net, DeepLabV3+, Mask R-CNN |
| 分级标注 | 给炎症、充血、水肿打分 | 视觉严重程度如何? | CNN分类模型,ordinal model |
| 多实例标注 | 一个患者多张图,共同对应一个结局 | 患者层面风险如何? | Multiple Instance Learning, attention pooling |
最容易犯的错误
一个患者有很多张图,比如10张。
如果把这些图随机分到训练集和测试集,就会出现严重问题:
同一个患者的第1张图在训练集,第2张图在测试集。
这样模型可能不是在识别疾病,而是在识别同一个患者、同一台设备、同一场检查的视觉风格。
正确做法是:
按患者分组划分数据集。
同一患者的所有图片只能进入训练集、验证集或测试集中的一个。
这件事非常重要。
6. 图像研究的第一句话应该是:我的临床问题是什么?
临床图片AI研究最怕从技术出发:
“我有图片,所以我要训练CNN。”
更好的出发点是:
“我想回答什么临床问题?图片中哪类信息可能帮助回答这个问题?”
举例:
例子1:皮肤科
临床问题:这个皮损是否需要活检?
图片目的:识别边界、颜色不均、形状不规则、颜色数量、直径变化。
适合任务:图像分类 + 结构化表型提取。
例子2:伤口管理
临床问题:这个糖尿病足溃疡未来4周能否愈合?
图片目的:量化创面面积、肉芽比例、坏死组织比例、渗出情况、边缘上皮化。
适合任务:分割 + 面积计算 + 预测模型。
例子3:内镜
临床问题:某类病灶是否提示高风险病理?
图片目的:识别病灶形态、血管模式、表面结构、边界。
适合任务:检测/分类 + 医生结构化评分。
例子4:宫腔镜
临床问题:息肉切除后首次移植是否更可能临床妊娠?
图片目的:描述息肉数量、位置、基底、表面形态、内膜充血、水肿、炎症表现。
适合任务:先做结构化表型,再进入临床预测模型。
关键不是“AI能不能读图”,而是:
图片里的哪种信息,理论上和临床结局有关?
7. 不一定要让AI直接预测结局:可以先让AI做“临床所见翻译员”
很多临床图片研究一上来就想做:
图片 → AI → 预测治疗成功率
这当然可以,但并不总是最合理。
更稳妥的路线是:
图片 → AI提取结构化表型 → 与临床参数一起建模 → 预测结局
也就是说,AI不是“算命先生”,而是“翻译员”。
它先把图片翻译成医生能理解、模型能读取的变量,例如:
- 病灶面积;
- 病灶位置;
- 颜色分布;
- 血管丰富度;
- 炎症分级;
- 水肿分级;
- 坏死比例;
- 边界复杂度。
然后这些变量和年龄、实验室指标、治疗方案、病理结果等一起进入预测模型。
这样做有几个优点:
- 更容易解释;
- 更接近临床思维;
- 可以检验图像表型是否有增量价值;
- 不容易被质疑为黑箱;
- 方便后续标准化推广。
8. 回顾性照片和前瞻性照片,价值不一样
回顾性照片
优点:
- 已经存在;
- 样本量可能大;
- 成本低;
- 可以快速做初步研究。
缺点:
- 拍照流程不标准;
- 缺少正常对照;
- 图片质量参差不齐;
- 关键临床变量可能缺失;
- 选择偏倚明显。
前瞻性照片
优点:
- 可以规定拍照流程;
- 可以规定拍几张、拍哪些角度;
- 可以同步采集临床变量;
- 可以预先定义结局;
- 更适合验证模型。
缺点:
- 时间长;
- 成本高;
- 需要伦理和流程管理;
- 短期内样本量可能不足。
最理想的路径
第一步:用回顾性照片探索。
第二步:总结哪些图像特征有价值。
第三步:设计前瞻性标准化拍照流程。
第四步:验证模型是否真的可用。
9. 标准化拍照:不是为了好看,而是为了减少“模型被骗”
标准化拍照可以理解为给AI提供“同一种考试卷”。
如果每个医生拍法不同,就像有些学生拿到A卷,有些拿到B卷,有些拿到模糊复印卷。模型可能学到卷子差异,而不是题目答案。
标准化可以包括:
- 固定拍照角度;
- 固定距离;
- 固定光源或设备参数;
- 每个患者固定拍摄部位;
- 每个病灶固定至少几张图;
- 同时保存全景图和局部图;
- 记录拍照设备和操作者;
- 记录拍照时间点;
- 记录治疗前还是治疗后。
前瞻性研究尤其应该这样做。
10. 隐私不是只遮住姓名:图片本身可能会识别人
临床图片的隐私问题很复杂。
有些图片明显能识别患者,例如:
- 面部照片;
- 口腔外观照;
- 纹身;
- 伤疤;
- 身体特殊部位;
- 带有患者姓名或编号的截图;
- 影像图上的DICOM信息。
有些图片看似不能识别患者,比如内镜图、宫腔镜图、病理图,但仍然要注意:
- 文件名是否含患者ID;
- 图片角落是否有姓名或检查号;
- 元数据是否含设备、时间、地点;
- 罕见病或罕见部位是否可能间接识别;
- 是否能通过检查日期和病区记录反推患者。
解决办法
- 去除图片上的姓名、ID、日期等文字;
- 去除EXIF或DICOM元数据中的身份信息;
- 使用研究编号替代患者编号;
- 建立单独的映射表,并加密保存;
- 限制访问权限;
- 伦理审批中明确图片使用范围;
- 对外共享时使用更严格的脱敏和协议。
重要平衡
图片脱敏不能把临床信息也删没了。
比如皮肤病照片,如果裁剪过度,病灶周围皮肤、部位、尺度都丢了,模型就无法学习。
所以隐私处理要兼顾:
既不能暴露患者身份,也不能破坏图像的临床意义。
11. 图片存储:今天能打开,不代表五年后还能用
临床图片AI研究很依赖长期、规范的数据管理。
需要考虑:
- 原始图像是否保留;
- 预处理图像是否另存;
- 标注文件是否和图片对应;
- 文件名是否稳定;
- 是否记录拍摄设备;
- 是否记录拍摄时间;
- 是否记录患者级研究ID;
- 是否有版本控制;
- 谁能访问;
- 是否有备份;
- 是否允许未来二次研究。
建议至少保留三层数据:
| 数据层 | 内容 |
|---|---|
| 原始层 | 脱敏后的原始图片 |
| 标注层 | 医生标注、框标注、分割掩膜、质量评分 |
| 分析层 | 预处理图片、模型输入、提取特征、训练结果 |
不要只保存“模型用过的压缩图片”,否则以后别人很难复核。
12. 贡献给他人研究:共享图片不是发个网盘链接
如果未来希望把图片贡献给他人研究,需要提前设计。
应该考虑:
- 患者同意或伦理豁免是否允许数据共享;
- 是否只能院内使用,还是可以多中心共享;
- 是否允许商业用途;
- 是否允许训练AI模型;
- 是否允许公开发布;
- 是否需要数据使用协议;
- 是否有标准化数据字典;
- 是否有标注说明书;
- 是否记录图片来源和设备;
- 是否提供训练/验证/测试划分建议。
一个真正有价值的图像数据集,不只是图片多,还要有:
清楚的标签、清楚的来源、清楚的使用许可、清楚的数据结构。
13. 自己图片量不够怎么办?
很多临床医生会遇到这个问题:
“我只有几百张图,够不够训练AI?”
答案是:看任务。
如果只是做简单分类,几百例可能可以探索。
如果要训练复杂深度模型,通常不够。
如果每个患者多张图,还要注意“患者数”比“图片数”更重要。
解决思路一:迁移学习
迁移学习可以理解为:
让模型先在大数据里学会“看东西”,再来学你的专业任务。
常见做法是使用 ImageNet 预训练模型,例如 ResNet、EfficientNet、ConvNeXt 等。
但要注意,ImageNet是自然图像,里面是猫、狗、汽车、房子,不是内镜、皮肤镜或病理图。
所以它能提供的是通用视觉能力,不是专业临床理解。
解决思路二:领域预训练
如果有大量同领域图片,即使没有结局标签,也可以先让模型学习这个领域的“视觉语言”。
比如宫腔镜图片,不一定每张都有IVF结局,但它们都能帮助模型熟悉:
- 宫腔镜视野;
- 光照和反光;
- 内膜纹理;
- 液体环境;
- 病灶边界;
- 内镜角度;
- 图像噪声。
这就像医学生先看大量正常和异常图片,先熟悉“这个领域长什么样”,再学习具体诊断或预测任务。
解决思路三:自监督学习
自监督学习可以理解为:
不用老师给答案,模型自己做练习题。
比如把一张图片遮住一部分,让模型猜被遮住的部分;或者给同一张图片做不同变形,让模型知道它们其实来自同一个对象。
它适合医学图像,因为医学图像常常很多,但精细标签很少。
参考阅读:
Self-supervised learning for medical image classification, npj Digital Medicine, 2023
解决思路四:找公开数据或联系作者
可以用关键词搜索:
disease name image datasetorgan name endoscopy datasetclinical image datasetmedical image segmentation datasetAI medical imaging GitHubhysteroscopy image datasetdermoscopy image datasetwound image datasetfundus image dataset
常见来源包括:
- 论文补充材料;
- GitHub;
- Kaggle;
- PhysioNet;
- The Cancer Imaging Archive;
- Grand Challenge;
- 医学影像AI竞赛平台;
- 直接联系论文作者。
但要记住:
公开数据能不能用,不只看能不能下载,还要看许可、伦理、任务是否匹配、图像来源是否接近你的临床场景。
14. 用监督学习,还是无监督学习?
监督学习
监督学习就像老师批改作业。
你给模型图片,同时给答案:
- 这张是息肉;
- 这张是正常;
- 这个区域是病灶;
- 这个患者后来临床妊娠;
- 这个患者没有临床妊娠。
模型学的是:
图片和答案之间的关系。
适合任务:
- 分类;
- 检测;
- 分割;
- 结局预测。
缺点是需要高质量标签。
无监督学习
无监督学习就像让模型自己把照片分堆。
它不知道答案,只是根据图片相似性,把图分成几类。
比如它可能把图片分成:
- 颜色偏红的一类;
- 表面不规则的一类;
- 反光强的一类;
- 视野浑浊的一类。
问题是:这些类别不一定有临床意义。
所以无监督聚类常适合探索,但不适合一上来就宣称发现了“新分型”。
更稳妥的说法是:
探索性识别图像表型群,并评估其与临床变量和结局的关系。
自监督学习
自监督学习介于两者之间。
它不需要人工答案,但会设计“预训练任务”,让模型学习图像结构。
之后再用少量有标签数据进行微调。
它特别适合:
图片很多,标签很少。
15. 图片样本量到底怎么算?
临床医生容易说:
“我有1万张图。”
但模型真正关心的常常是:
“有多少个独立患者?”
如果1000个患者,每人10张图,那是10000张图,但不是10000个独立样本。
患者级结局预测
如果结局是患者级的,比如妊娠、复发、死亡、治疗反应,那么样本量主要看患者数和事件数。
例如:
- 800个患者;
- 临床妊娠300例;
- 未妊娠500例。
这时事件数大约是300,而不是8000张图。
图像表型训练
如果任务是识别图片中的结构,比如息肉、溃疡、肿块、炎症区域,那么图片数和标注数也很重要。
例如:
- 4000例患者;
- 每例8张图;
- 共32000张图;
- 其中5000张有框标注;
- 其中1000张有像素级分割。
这可以支持图像识别模型训练,但仍然需要患者级划分。
样本量和任务复杂度有关
| 任务 | 样本量需求 |
|---|---|
| 医生人工结构化评分后做传统预测模型 | 相对较低,主要看患者数和事件数 |
| 图像二分类 | 中等,需要足够阳性/阴性图片 |
| 病灶检测 | 更高,需要框标注 |
| 像素级分割 | 更高,需要精细标注 |
| 端到端从图片预测远期结局 | 通常最高,且最容易过拟合 |
| 自监督领域预训练 | 图片越多越好,可以利用无标签图片 |
所以不要只问“图片有多少”,而要问:
我的任务是什么?标签是什么?结局是什么?独立患者有多少?阳性事件有多少?
16. 一条更适合临床医生的图像AI研究路线
如果你是临床医生,手里有一批图片,我建议按这个顺序思考:
第一步:定义临床问题
不是“我要做AI”,而是:
我想预测什么?诊断什么?分层什么?辅助什么决定?
第二步:定义图片里的临床假设
问:
图片里的哪些所见可能和这个问题有关?
例如大小、位置、颜色、边界、血管、坏死、炎症、面积、数量、纹理。
第三步:先做人类结构化标注
让医生把图像所见变成表格变量。
这一步可以暴露很多问题:
- 哪些变量医生一致性高;
- 哪些变量太主观;
- 哪些变量没有临床意义;
- 哪些变量很难定义。
第四步:再决定AI要学什么
AI可以学:
- 识别病灶;
- 框出病灶;
- 分割病灶;
- 给严重程度分级;
- 提取连续量化特征;
- 生成结构化图像表型。
不要一上来就让AI预测最终结局。
第五步:建立临床预测模型
把图像表型和临床变量结合起来,比较:
- 只有临床变量;
- 临床变量 + 医生图像表型;
- 临床变量 + AI图像表型;
- 临床变量 + 深度图像特征。
这样才能回答:
图片到底有没有提供额外价值?
第六步:验证模型
至少要做:
- 患者级划分;
- 内部验证;
- 校准评估;
- 决策曲线;
- 亚组分析;
- 有条件做外部验证。
如果是临床预测模型,可以参考:
TRIPOD+AI statement, BMJ 2024
如果是医学影像AI报告,可以参考:
CLAIM checklist for AI in Medical Imaging
如果要评估预测模型偏倚,可以参考:
PROBAST+AI, BMJ 2025
如果AI已经进入早期真实临床评估,可以参考:
DECIDE-AI guideline, BMJ 2022
17. 最后:临床图片AI的核心不是“模型多高级”,而是“问题有没有被说清楚”
临床图片AI研究最常见的失败,不是因为模型不够高级,而是因为问题没有想清楚:
- 图片为什么被拍?
- 谁拍的?
- 拍了哪些病例?
- 没拍哪些病例?
- 图片质量差的患者去哪了?
- 标签是谁标的?
- 医生之间一致吗?
- 同一患者多张图有没有泄漏到不同数据集?
- 图片特征和临床结局之间有什么合理假设?
- 模型到底要辅助哪个临床决定?
- 图片是否真的比现有临床变量提供更多信息?
如果这些问题没回答,再复杂的AI也只是“漂亮但脆弱”的模型。
临床医生做图片AI研究,最好的起点不是问:
“我能不能训练一个深度学习模型?”
而是问:
“这些图片记录了什么临床所见?这些所见能否被稳定、量化、结构化?它们是否真的能帮助回答一个重要的临床问题?”
当这个问题回答清楚了,AI才真正有用。