想象你带着一队探险家去群岛寻宝。要让每座岛都出图,请专业测绘师把一草一木都量成精确地图——这就像医学影像的像素级标注,一张 CT 勾完病灶轮廓要耗掉医生半小时甚至更久。可如果换一种方式:你只需要知道“哪几座岛上有宝藏”(图像级标签),或者让向导在地图上随手画两道歪歪扭扭的 X(涂鸦标注),探险队立刻就能出发,省下巨额测绘费。弱监督医学分割做的正是这件事:它让 AI 学会“你给个大概,细节我自己描”。系统会先用图像级标签或涂鸦这种廉价信号当作“藏宝线索”,再靠 CAM 热力图反推病灶位置,用伪标签迭代越挖越准,最终把分割结果逼近全监督模型。本文会用这个“寻宝地图”的故事,带你完整走一遍从弱标注到精准分割的实战路线。
掌握弱监督分割,你就能在标注稀缺的医学场景里把数据成本砍掉大半,同时交付临床可用的分割模型——这是医学影像 AI 落地最值钱的核心技能之一。
目录
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
CAM类激活图 GAP加权特征图生成热力图 高激活区域定位病灶 CAM = Σ w_k · F_k(x,y) 图像级标签→像素级定位
弱监督原理:少标注的底气从哪来
探险队要出海寻宝,如果每座岛都要请测绘师画精确地图,三年也出不了航。但只要你肯换个思路——只标记“哪座岛有宝藏”,或者在地图上画个歪歪的 X——第二天就能扬帆。医学影像分割面临一模一样的抉择:像素级标注一个 CT 病灶轮廓,熟练医生也要 30 分钟起步,而图像级标签只需勾选“有无病灶”,1 秒搞定;涂鸦标注随手画两笔,10 秒收工。巨大的成本差,就是弱监督分割存在的理由。
那问题来了:这么粗糙的信号,模型凭什么能学会分割?底气来自两类先验。第一类是模型自己的结构先验:病灶在图像里往往是连续区域、边界相对光滑、与周围组织有纹理差异,这些规律不需要像素标注也能被网络学到。第二类是弱监督信号的“空间投影”能力:图像级标签虽然不说“在哪里”,但分类网络在判断“有病灶”时,内部特征图会不自觉地对病灶区域产生高响应,这响应稍加转化就成了位置线索;涂鸦标注则更直接,它等于告诉模型“这些像素确定是病灶”。
用一个统一视角看待弱监督学习:我们希望找到一组网络参数,使得模型在给定弱标注(图像级标签或涂鸦)上,预测结果与标注保持一致的期望风险最小。因为 Y 不是完整像素图,损失函数 L_weak 必须针对弱标注形式单独设计,这正是后几节要展开的 CAM、涂鸦损失和伪标签循环。
探险队带着“哪座岛有宝”的粗线索出发,模型带着“这张图有病灶”的粗标签训练——后面你会看到,这些粗线索如何一步步变成精细的藏宝图。
- 网络参数 θ模型的全部可学习参数,控制分割网络对图像的理解能力。
- 输入图像 x一张医学影像,比如 CT 切片或病理图,是模型要“读”的藏宝岛照片。
- 弱标注 Y图像级标签(有/无病灶)或涂鸦标注,是医生给模型的“大概方向”,不是完整像素图。
- 模型预测 f_θ(x)网络对每个像素输出一个概率,表示该像素属于病灶的可能性。
- 弱监督损失 L_weak根据弱标注设计的损失函数,用来把粗糙信号转成可训练的空间约束。
CAM类方法:从“有没有”到“在哪里”
藏宝图上只有一行字“东岛有宝”,探险队总不能把整座岛翻个底朝天。好在夜里起了月光,埋宝处的泥土颜色跟周围不一样,月光一照就格外显眼——CAM 类方法就是这样一束月光。它把“这张图有病灶”这个整图结论,反推成“哪里最像病灶”的空间热力图。
技术上看,分类网络在最后一层全局池化之前,保留着一组空间特征图 f_k,每一张特征图都记录了“某种图像模式出现在哪些位置”。最后分类层要为类别 c 打分,就需要给每个通道分配一个权重 w;这个权重恰好表达了“该通道对判断出 c 有多大贡献”。于是把权重乘回特征图、逐通道累加,就得到一张与输入图像空间对应的热力图。响应高的位置,就是模型眼中“这里像病灶”的证据区域。Grad-CAM 进一步用梯度近似权重,让该方法适用于任意结构的分类网络。
拿到热力图之后,设定阈值把高响应像素挑出来,就形成一块“伪区域”。这块区域可以作为初始种子,交给区域生长、条件随机场等后处理,也可以直接当作伪标签进入下一轮训练。需要注意:分类网络为了提升语义抽象能力,会反复下采样,热力图分辨率往往只有原图的十六分之一,边界相当模糊,小病灶可能弱响应消失——这是 CAM 天生的分辨率局限。
月光照亮了大致的埋宝范围,但光斑边缘始终有些朦胧。CAM 告诉我们“病灶大概在这片区域”,接下来涂鸦监督会把这束月光换成更结实的定位桩。
- 位置坐标 (x,y)热力图上某个空间位置,对应原图的一块区域。
- 特征图响应 f_k(x,y)第 k 个通道在这个位置上的激活值,表示“模式 k 出现得多强烈”。
- 分类权重 w_k^c第 k 个通道对判断“类别 c”的贡献大小,相当于每束月光对“照亮埋宝处”的贡献。
- 加权求和把各通道的响应按权重叠加,得到的和就是 CAM 热力值。
涂鸦式监督:随手两笔也能当标杆
向导盯着地图看了三秒,掏出炭笔“唰唰”画了两道:“宝藏就在这一片。”这两道线虽然粗糙,却瞬间把搜索范围从整座岛缩小到一小块——这就是涂鸦标注的威力:医生在病灶内部画一两笔(甚至一个十字),等于明确告诉模型“这些像素确定是病灶”。相比之下,CAM 还要靠模型自己猜,涂鸦则是直接钉下定位桩。
训练时,涂鸦监督的核心思想是“只对涂鸦覆盖的像素计算损失”。常规分割损失要求每个像素都有真值,但涂鸦场景下绝大部分像素没有标注。于是我们只求模型在医生画过的地方预测正确,剩下的像素交给平滑性正则——比如鼓励相邻像素预测一致、边界像素梯度小——让模型从“定位桩”出发,把整片病灶“织”出来。这就是区域扩散的雏形。
涂鸦损失写出来很简洁:对涂鸦像素集合 S 内的每个像素,计算模型预测与涂鸦真值的交叉熵,再取平均。这里的细节在于:损失只在 S 上计算,所以 S 的质量决定上限。医生如果画在病灶边缘或画到背景,模型会被“钉”在错误的地方;画在病灶内部但分散在不同部位,扩散效果最好。
两道炭笔在岛上钉下坐标,模型顺着坐标把整片埋宝地织出来。但光靠这一个桩还不够——下一节,模型要开始“自己当向导”了。
- 涂鸦像素集合 S医生画过的所有像素的集合,是涂鸦地图上炭笔的痕迹。
- 预测概率 p_i模型认为第 i 个像素是病灶的概率,初始时可能错得离谱。
- 涂鸦真值 y_i涂鸦给出的标签,1 表示病灶、0 表示背景,是“钉桩”的锚点。
- 交叉熵损失 ℓ衡量预测与真值的差距,预测越偏离真值,损失越大。
- 归一化 1/|S|除以涂鸦像素总数,让损失不受“画了几笔”影响。
伪标签迭代:自己教自己的循环
探险队第一次按涂鸦挖下去,只挖到一小块区域。但挖出的土质和颜色给了新线索,向导据此修正地图,标出更大的可能范围,再挖一铲——每一轮都让地图更接近真实藏宝点。伪标签迭代就是模型版本的“越挖越准”:先用涂鸦或 CAM 训练一个粗糙模型,让这个模型去预测所有训练图像,把高置信度的预测结果当作新标签(伪标签),再用这批新标签训练下一个更强的模型。
第一步要生成“初始伪标签”。把涂鸦扩散后的区域或 CAM 热力图阈值化,就能得到第一版粗分割。第二步是自训练循环:当前模型对每张图输出像素级概率图,对每个像素取最大概率对应的类别作为候选伪标签,但只有最大概率超过阈值 τ 才被采纳。这个过滤动作极其关键——它防止模型把没把握的错误预测灌进下一轮训练。第三步是迭代:新模型在更完整的伪标签上训练,通常能比上一轮更准,于是能产出更好的伪标签,循环往复。
但“自己教自己”有个陷阱:如果模型在第一轮就对一个错误区域给出了高置信预测,这个错误会被当成“正确答案”进入下一轮,越滚越大,这就是确认偏差。工程上常用三招防偏:设置信度阈值 τ 并随迭代提高;用多次随机推理或蒙特卡洛 dropout 估计不确定性,把高不确定像素丢弃;留一小块干净的真实标注做验证,一旦发现验证集 Dice 下降就回退到上一轮。
每一轮挖掘都在反馈修正地图,挖错了就及时收手,挖对了就扩大范围——伪标签迭代的精髓,正是这种有纪律的自我强化。
- 像素概率 p_i(c)模型认为第 i 个像素属于类别 c 的概率,所有类别的概率和为 1。
- 取最大概率类别 argmax挑出概率最高的那个类别,作为该像素的候选伪标签。
- 置信度阈值 τ只有当最大概率超过 τ 时,这个候选伪标签才被采纳,否则丢弃。
性能差距分析:差多少、补多少
歪歪扭扭的 X 地图和精确测绘之间到底差多远?不量不知道。医学分割最常用的尺子是 Dice 相似系数:预测区域与真实区域的像素重叠程度。全监督分割在标准数据集上通常能到 0.90 以上;涂鸦监督一般落在 0.82~0.88;纯图像级标签走 CAM+伪标签路线,大约 0.70~0.80。数字告诉我们的第一件事:少标注确实有代价,但并没有坍塌到“不能用的程度”。
差距具体长在哪里?主要是三种误差模式。一是边缘模糊:弱监督的扩散机制对边界的精确感差,预测轮廓往往比真实边界肥大或收缩;二是小病灶漏检:只有几个像素的小病灶在 CAM 热力图里响应太弱,阈值化时直接被冲掉;三是低对比度区域:病灶与周围组织灰度接近时,弱监督缺乏像素级压力,容易把正常组织误判进去。明白了误差的位置,也就知道了要补什么。
缩小差距的主流策略是混合训练:主体用大量弱标注数据,再掺入一小部分(比如 1%~5%)全监督样本。全监督像素让模型学到锐利边界,弱监督数据则提供丰富的形态多样性,两者配合往往能把 Dice 从 0.82 拉到 0.88 左右。另一种思路是模型集成:训练多个弱监督模型,对预测做投票融合,可以平滑掉单模型的边界噪声。
量出地图与真实之间的缝有多宽,探险队才知道该往哪个方向补测绘。缝合差距的方法有了,下一个问题更现实:预算有限,怎么花最值?
- 预测区域 A模型输出的分割结果,也就是“模型认为的病灶范围”。
- 真实区域 B医生标注的病灶范围,是评估用的标准答案。
- 重叠像素 |A∩B|两个区域重合的像素数量,是“切中了多少”。
- 面积之和 |A|+|B|两个区域的像素总数,用来归一化,分子乘以 2 保证满分是 1。
标注成本优化:把好钢用在刀刃上
探险队的经费不可能永远无限。与其每座岛都派测绘师,不如先让斥候——一个便宜的弱监督模型——跑遍所有岛,把“大概率埋宝”和“比较可疑”的区域圈出来;再把最贵、最难的几座岛交给专业测绘队。这就是主动学习的思路:让模型自己指出“我哪里没把握”,人工只补那些最有价值的样本。
落到医学影像工作流,一个典型的成本优化流程长这样:第一轮,用图像级标签或涂鸦把模型快速训练到“能用”;第二轮,模型对未标注数据预测,同时输出置信度或不确定性,把最难的 10% 病例挑出来交医生做像素级精标;第三轮,用混合数据重新训练,再挑更难的下一次标注。每一轮标注预算都花在“模型最薄弱”的地方,单位预算换回的精度提升远高于随机挑样。
要做这个决策,心里得有本成本账。把三种标注形式的单位成本和数量记下来,总成本是一笔线性账。像素级标注虽然贵,但只要 30 例就能让模型从“大概齐”跨过临床门槛;涂鸦便宜,适合大规模铺基础数据;图像级标签最便宜,适合撑起数据多样性。配比得当,总预算不变,Dice 最高。
把好钢用在刀刃上,探险队用最少的测绘费挖到了绝大部分宝藏。弱监督分割的工程哲学,正是这样一笔精打细算的成本账。
- 像素级单价 c_pixel每个像素级标注样本的成本,包括医生画轮廓的时间和核验时间。
- 像素级样本数 N_pixel需要使用全监督标注的样本数量,通常占比很小。
- 涂鸦单价与数量 c_scribble、N_scribble涂鸦标注的成本和数量,是中间层的主力。
- 图像级标签成本 与 数量 c_image、N_image最廉价的标注形式,用来铺量撑起多样性。
AI 应用场景
肺结节低标注筛查系统
阶段:数据准备与模型训练
解决的问题:医院影像科积累了海量胸部 CT,但只有旧报告里“右肺上叶见磨玻璃结节”这类文字描述,没有像素级勾画。传统做法要么花几十万请第三方公司补标注,要么让这些宝贵数据沉睡。弱监督分割让模型直接消费“图像级标签”——把报告有无结节转为标签,就能训练出能定位结节的初筛模型。
具体案例:某三甲医院用 5000 例带报告但无勾画的 CT 训练分割模型。系统先用报告标签 + CAM 生成结节热力图,自动把“疑似区域”高亮弹出,医生只需复核高亮框并轻点确认或修正。补标注量从 5000 例降到 300 例,初筛模型 Dice 达到 0.79,配合少量精标后提升到 0.86。
病理切片涂鸦标注工作台
阶段:交互式数据标注与迭代
解决的问题:病理医生在千兆像素的全切片图像上精确勾画肿瘤区域通常要 1~2 小时,人工成本极高。涂鸦监督允许医生在放大视野里随手画两三笔,模型自动扩散出整片候选癌变区域,医生只需在扩散结果的边缘做小幅修正。
具体案例:一家病理 AI 公司为结直肠癌免疫浸润分析构建训练集。病理医生用涂鸦工具标注 200 张切片,每张平均耗时 25 秒,区域扩散算法直接生成预分割结果,医生只修正高风险边界,整体标注时间缩短到原来的 1/15,最终模型 Dice 0.84。
主动学习驱动的低成本模型迭代
阶段:模型迭代与临床上线
解决的问题:弱监督模型跑完第一轮后,哪些样本最值得花钱精标?凭感觉选会浪费预算。主动学习让模型输出预测不确定性,把“模型最没把握”的样本自动挑出来优先送人工精标,每一分标注费都花在刀刃上。
具体案例:某胰腺分割项目采用“涂鸦弱监督 + 主动学习”三轮迭代:第一轮用 100 张涂鸦图训练,Dice 0.72;模型挑出 30 张最不确定样本补像素级标注,第二轮 Dice 升到 0.82;再补 30 张,第三轮达 0.86,逼近全监督 0.88。总标注时间只有全监督方案的两成。
Python 演示
import numpy as np def simulate_lesion(size=64, seed=42): """生成一个模拟病灶高斯斑块,作为真实分割目标.""" rng = np.random.RandomState(seed) cx = rng.uniform(size * 0.3, size * 0.7) cy = rng.uniform(size * 0.3, size * 0.7) sigma = rng.uniform(size * 0.06, size * 0.12) xx, yy = np.meshgrid(np.arange(size), np.arange(size)) gt = np.exp(-((xx - cx) ** 2 + (yy - cy) ** 2) / (2 * sigma ** 2)) return (gt > 0.4).astype(np.int32) def draw_scribble(gt, radius=2): """医生随手在病灶中心画一个十字涂鸦.""" ys, xs = np.where(gt == 1) cx = int(round(xs.mean())) cy = int(round(ys.mean())) s = np.zeros_like(gt) s[cy - radius:cy + radius + 1, cx] = 1 s[cy, cx - radius:cx + radius + 1] = 1 return s def distance_to_scribble(scribble): """计算每个像素到涂鸦的最短距离(区域扩散的雏形).""" ys, xs = np.where(scribble == 1) xx, yy = np.meshgrid(np.arange(scribble.shape[1]), np.arange(scribble.shape[0])) best = np.full(scribble.shape, np.inf) for sx, sy in zip(xs, ys): best = np.minimum(best, (xx - sx) ** 2 + (yy - sy) ** 2) return np.sqrt(best) def refine_pseudo_labels(dmap, gt, threshold=9.0): """伪标签迭代:距离扩散->高斯拟合->二次预测,逐步逼近真实形状.""" pseudo = (dmap < threshold).astype(np.int32) for _ in range(3): ys, xs = np.where(pseudo == 1) if len(xs) < 5: break mean = np.array([ys.mean(), xs.mean()]) cov = np.cov(np.stack([ys, xs])) + np.eye(2) * 1e-3 inv_cov = np.linalg.inv(cov) xx, yy = np.meshgrid(np.arange(gt.shape[1]), np.arange(gt.shape[0])) diff = np.stack([yy - mean[0], xx - mean[1]], axis=-1) mahal = np.einsum("...i,ij,...j->...", diff, inv_cov, diff) pseudo = (mahal < 4.5).astype(np.int32) return pseudo def dice(a, b): """Dice 相似系数:两区域重叠程度.""" inter = np.sum((a == 1) & (b == 1)) return 2.0 * inter / (np.sum(a == 1) + np.sum(b == 1) + 1e-8) if __name__ == "__main__": gt = simulate_lesion() scribble = draw_scribble(gt) dmap = distance_to_scribble(scribble) pseudo = refine_pseudo_labels(dmap, gt) print("涂鸦初始 Dice: %.3f" % dice(scribble, gt)) print("迭代伪标签 Dice: %.3f" % dice(pseudo, gt)) print("需要人工修正的像素占比: %.1f%%" % (100.0 * np.sum((scribble == 0) & (gt == 1)) / gt.size))
gt = simulate_lesion()生成一个模拟病灶作为“真实藏宝图”,供后续计算 Dice 评估精度。s = np.zeros_like(gt)创建一张空白涂鸦画布,相当于医生还没下笔时的地图。best = np.minimum(best, (xx - sx) ** 2 + (yy - sy) ** 2)计算每个像素到涂鸦的最近距离,这是从涂鸦“扩散出去”的第一铲。cov = np.cov(np.stack([ys, xs])) + np.eye(2) * 1e-3对当前伪标签作二维高斯拟合,估计病灶的大致形状和朝向。mahal = np.einsum("...i,ij,...j->...", diff, inv_cov, diff)马氏距离,衡量每个像素相对当前病灶形状模型的偏离程度。pseudo = (mahal < 4.5).astype(np.int32)生成新一轮伪标签:离拟合形状中心近才认为是病灶,越迭代越接近真实形状。dice = 2.0 * inter / (np.sum(a == 1) + np.sum(b == 1) + 1e-8)直接实现 Dice 公式,评估伪标签与真实分割的重合度。
常见误区
误区图像级标签只告诉我“这张图有没有病灶”,连病灶长在哪都不知道,模型怎么可能做分割?这个方向根本行不通。
正解分类网络在输出“有病灶”这个结论时,内部特征图早已对病灶区域产生了空间响应。CAM/Grad-CAM 把分类权重投影回特征图,就能得到一张热力定位图——就像向导只说了“岛上有宝”,但月光会把埋宝处的泥土照得更亮。热力图阈值化后配合区域生长,就能变成可用的分割种子。图像级标签确实不直接给位置,但模型内部表征可以“反榨”出位置。
为何常见:人们容易把“标签形式”和“模型内部表征”混为一谈,忽略了深度特征图天然携带空间信息这个事实。
误区涂鸦又快又便宜,我在病灶上密密麻麻画满线,模型不就能学到更多信息吗?画在哪里应该不重要。
正解涂鸦画在病灶内部才有正收益,画在背景或边缘会把“边界=病灶”的错误信号喂给模型,扩散时整个区域都会跑偏。而且多次划过同一区域不会增加信息量。好涂鸦的策略是分散在病灶不同部位、每笔覆盖一点内部,让扩散算法有足够多的锚点。
为何常见:把标注数量等同于信息量,忽略了空间分布对扩散约束的决定性影响。
误区自训练循环不是越训越强吗?多迭代几轮,伪标签应该一轮比一轮准,Dice 一路涨到和全监督一样。
正解伪标签是模型自己生成的,一旦某个错误区域获得高置信预测,这个错误就会像“回声”一样进入下一轮训练并被放大,这叫确认偏差。工程上必须设置信度阈值并逐步提高、用不确定性估计丢弃可疑像素、保留一小块干净标注做验证集,发现 Dice 下降就回退到上一轮。迭代不是免费的午餐,而是有纪律的自我修正。
为何常见:直觉上“自己教自己”会越来越强,忘记了没有外部纠错信号时,错误会自我增强而非自我修正。
误区既然标题说“少标注也能切得准”,那干脆省掉全部像素级标注,只用涂鸦和整图标签训练,全监督可以彻底淘汰。
正解弱监督在病灶边缘、小病灶、低对比度区域仍然明显弱于全监督,纯图像级标签路线通常要低 10~15 个 Dice 点。现实中最有效的方案是金字塔式混合:大量弱标注铺多样性 + 少量像素级标注定边界 + 主动学习挑难例。弱监督是“帮你省钱逼近精度”的手段,不是“替代人”的魔法。
为何常见:宣传语天然强调“省”而弱化“代价”,让人忽略了少标注不等于零标注,弱监督的真实定位是成本优化而非精度天花板。
误区涂鸦 10 秒、像素标注 30 分钟,差了 180 倍,所以弱监督方案的总成本优势就是 180 倍。
正解画轮廓只是标注流程的一部分。医生还要打开软件、加载影像、观察判断、保存结果,后续还要质检、修正、和模型预测结果核对。弱监督省下的是“画轮廓”环节,但“读图判断”的医生时间一滴都不会少。综合算下来,涂鸦方案实际节省约 5~10 倍而非 180 倍,只有把完整工作流成本建模,才能做出正确的预算决策。
为何常见:只盯单步操作耗时,忽略了医学工作流里大量隐性的观察、判断、核验环节。
面试题
Q1. 关于 CAM 的核心思想,下列说法正确的是?
- A.沿梯度反向传播更新所有特征图参数
- B.分类权重加回流回特征图定位病灶区域← 正确答案
- C.对训练图像做随机裁剪来增强数据多样性
- D.用生成对抗网络合成额外的训练样本
答案:B。CAM 的出发点是把分类网络学到“有没有病灶”的信息,通过分类权重 w 加权回流到空间特征图上,生成热力图。它不是在更新梯度,也不是数据增强或生成模型。就像月光照亮埋宝处,权重回流指向病灶所在区域。
Q2. 弱监督分割中“图像级标签”指的是?
- A.图像中每个像素都进行精细标注
- B.整张图只标注存在哪些类别← 正确答案
- C.需要画出物体的完整轮廓边界
- D.用自然语言描述图像的详细内容
答案:B。图像级标签就是“这张图有没有病灶”这种整图层面的信息,不提供任何像素位置。它是最便宜的标注形式,需要 CAM 等手段把“有无”信号转化成空间位置线索。
Q3. 涂鸦监督相比图像级标签的主要优势是什么?
- A.完全不需要医生做任何参与
- B.提供局部位置先验利于学习边界← 正确答案
- C.自动生成无限的医学训练数据
- D.分割精度必定超过全监督方法
答案:B。涂鸦直接画在病灶内部,等于给了模型“这些像素确定是病灶”的局部先验,比图像级标签“有病灶”包含更多空间锚定信息。但它仍需要医生参与,也不会自动生成数据或超越全监督。
Q4. 伪标签迭代中置信度阈值 τ 的作用是什么?
- A.控制模型训练时的学习率高低
- B.过滤低置信预测避免错误积累← 正确答案
- C.决定医学图像输入分辨率大小
- D.调整卷积神经网络的层数多少
答案:B。阈值 τ 规定只有模型最大预测概率超过它的像素才被当作伪标签。这一步专门防止低置信、可能错误的预测进入下一轮训练自我强化。它和学习率、分辨率、网络结构无关。
Q5. CAM 热力图分辨率低、边界模糊的根本原因是?
- A.分类网络中间层逐级下采样丢失细节← 正确答案
- B.训练数据量太小导致模型不收敛
- C.损失函数选择不当造成梯度消失
- D.GPU 显存不足被迫削减模型容量
答案:A。CAM 通常作用在分类网络最后一个卷积层上,而分类网络为了语义抽象会做多次池化和步长卷积,特征图分辨率往往只有输入的 1/16 甚至更低,细节早已丢失。这与数据量、损失函数、显存无关。
Q6. 医学图像分割中最常用的评估指标是?
- A.Dice 相似系数衡量预测与真值重合度← 正确答案
- B.BLEU 分数用于评估文本生成质量
- C.困惑度常用于语言模型的评估指标
- D.均方误差适合图像重建效果评估
答案:A。Dice 通过计算两个区域的重叠像素与面积和的比值来衡量分割重合度,是医学分割论文的标配指标。BLEU 和困惑度属于 NLP,均方误差更适合重建类任务而非分割。
Q7. 主动学习在弱监督分割工作流中的核心作用是?
- A.挑高置信样本用于扩充训练数据
- B.挑低置信难例优先交人工标注← 正确答案
- C.压缩模型体积以降低推理开销
- D.加速网络推理速度减少延迟时间
答案:B。主动学习让模型输出不确定性,自动挑出“最没把握”的样本优先送人工精标,让每份标注预算换来最大精度提升。高置信样本模型已经会了,不需要人重复教;压缩模型和加速推理是另一码事。
Q8. 下列哪些标注形式属于弱监督分割的范畴?
- A.图像级标签(整图有无病灶)← 正确答案
- B.涂鸦标注(病灶区域随手画两笔)← 正确答案
- C.逐像素精细描边(每个点都标注)
- D.边界框标注(框出病灶大致范围)← 正确答案
答案:ABD。弱监督泛指不提供精确像素级标注的信号:图像级标签、涂鸦、边界框、点标注都属于。逐像素精细描边是强监督(全监督),与弱监督形成对照。
Q9. 伪标签迭代过程中可能出现的典型问题有哪些?
- A.错误预测被当成标签进入下一轮训练← 正确答案
- B.模型对错误的高置信预测过度自信← 正确答案
- C.伪标签区域在病灶边界处逐渐漂移← 正确答案
- D.迭代次数增加 Dice 必然持续提升
答案:ABC。确认偏差会导致 A,高置信不等于高准确导致 B,形状漂移导致 C。D 是错误认知——缺乏外部纠错时错误会自我增强,Dice 可能下降而不是必然上升。
Q10. 关于弱监督分割与全监督分割的性能差距,说法正确的有哪些?
- A.弱监督分割在病灶边缘通常更粗糙← 正确答案
- B.弱监督对小病灶检出率往往下降← 正确答案
- C.混合少量全监督可显著缩小差距← 正确答案
- D.弱监督在任意场景下都优于全监督
答案:ABC。弱监督缺少数百万量级的像素级压力,边缘模糊和小病灶漏检是两大典型误差;少量全监督样本能提供边界先验,显著弥合差距。D 显然不对,弱监督的目标是逼近而非超越全监督。