想象你是一名寻宝猎人,面前摊开一张灰度航空照片——那是 CT 扫描仪生成的“矿区地图”。照片里岩石、矿渣、血管、器官混成一团灰,而你要找的“宝藏”(病灶)可能只有豌豆大小,甚至藏在肋骨阴影里,和周围的碎玻璃长得几乎一模一样。更麻烦的是,地图上布满噪声,随便挖一下就可能挖到假金块(假阳性)。病灶检测算法,就是给电子眼配三种“工作模式”:第一种像拿着一箱固定尺寸筛网的淘金者,一个格子一个格子地筛;第二种像用荧光笔直接在地图上标记中心点的测绘员;第三种像戴着红外热像仪、靠热力分布一眼锁定目标的侦探。这篇文章带你像读地图一样读懂 CT,理解这三种算法如何分工协作,为什么小病灶总是检测难点、怎样抑制假阳性,以及用什么“计分尺”来评估寻宝成绩。

岗位关联

对 AI 从业者:CT 病灶检测是医学影像 AI 最核心的落地场景之一。掌握锚框、无锚框、关键点三类检测范式的原理与取舍,理解小目标难点、假阳抑制策略和评估指标,能直接指导你完成模型选型、调参与临床部署,是入行医疗 AI 的实战必修课。

目录
  1. 可视化演示
  2. CT 影像特点:认识这张灰度矿区图
  3. 锚框检测法: RetinaNet 的固定筛子
  4. 无锚框检测法:FCOS 的荧光笔测绘
  5. 关键点检测法:CenterNet 的红外热像仪
  6. 小目标检测难点:雾天里的微小病灶
  7. 假阳抑制策略:老矿工的土办法
  8. 定位精度评估:裁判的命中圈
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

模拟RetinaNet锚框检测FPN特征金字塔、FCOS无锚框中心点预测与NMS假阳抑制过程,对比锚框与无锚框检测策略差异。

本节配有交互动效(进入视口后自动加载,约 3KB)。

模式1:RetinaNet锚框检测 FPN多尺度特征金字塔提取不同尺寸病灶 每个锚点生成多尺度比例锚框 FL = -α(1-p)^γ log(p) Focal Loss解决正负样本不均衡。

CT 影像特点:认识这张灰度矿区图

寻宝之前,得先看懂地图。废旧矿区的 CT 航空照不是普通照片,它的灰度值不是“亮度”,而是人体组织对 X 光的吸收程度——骨骼亮得像岩石,空气黑得像深井,而软组织、血管、病灶全都挤在极窄的一段灰色区间里。拿到原始数据后,第一步不是直接训练,而是“开窗”:像猎人调整望远镜焦距一样,把感兴趣的那段灰度范围拉伸到整个屏幕,让原本糊成一团的软组织显出纹理。这就是窗宽窗位的意义。

CT 值用亨氏单位(HU)衡量,范围大约是 -1000 到 +3000,而显示器和神经网络能稳定利用的动态范围有限。如果整段都渲染,软组织部分会被压缩到几乎看不见。于是医生和算法都用“窗口”只保留一段区间:窗心决定看哪里,窗宽决定看多宽。窗外全部裁成纯黑或纯白,窗内做线性拉伸。

S(I)={0,I<Wc−Ww/2I−(Wc−Ww/2)Ww×255,Wc−Ww/2≤I≤Wc+Ww/2255,I>Wc+Ww/2\displaystyle S(I) = \begin{cases} 0, & I < W_c - W_w/2 \\ \dfrac{I - (W_c - W_w/2)}{W_w} \times 255, & W_c - W_w/2 \le I \le W_c + W_w/2 \\ 255, & I > W_c + W_w/2 \end{cases}

1. 窗心与窗宽:选择观察区间,窗心 $W_c$ 决定区间中心,窗宽 $W_w$ 决定区间长度。$W_c, W_w$

2. 下限裁切:当灰度 $I$ 低于下界 $W_c - W_w/2$ 时直接输出 0(纯黑)。$\dfrac{I - (W_c - W_w/2)}{W_w} \times 255$

3. 线性拉伸:区间内的灰度被线性映射到 0~255,让软组织对比度可见。$\dfrac{I - (W_c - W_w/2)}{W_w} \times 255$

4. 上限裁切:高于上界的灰度全部输出 255(纯白),避免高密度骨骼抢走视觉重心。$I > W_c + W_w/2$

理解了“开窗”,你就会明白为什么 CT 影像里器官互相重叠产生的“噪声”,会让小病灶更难找——因为目标本来就只有几个像素宽,又藏在纹理繁复的灰色背景里。这也解释了为什么病灶检测算法必须专门设计,而不能直接套用日常照片的检测器。

锚框检测法: RetinaNet 的固定筛子

第一位猎人带着一箱“金属筛网”出发了。这些筛网尺寸不一,有 32×32、64×64、128×128 像素,还有不同的长宽比。他在图上每隔一段距离就放下一片筛网抖一抖,筛网与地图上的“疑似宝藏”重叠度够了,就标记一个候选框。这就是锚框(Anchor)检测的思路:预先铺下一大批大小宽高各不相同的固定矩形,再判断每个矩形里是不是病灶、要不要微调。

在 CT 切面上,正常组织占 99% 以上,真正的病灶可能只有几百个像素。这导致筛网扫出来的几万个候选框中,绝大多数是背景——正负样本数量极度失衡。如果让模型平等对待每个框,训练就会被海量“简单背景框”淹没,模型懒得学病灶长什么样。

FL(pt)=−αt(1−pt)γlog⁡(pt)\displaystyle FL(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)

1. 预测概率 $p_t$:模型对“正确答案”的信心,真值类别取预测概率 $p$,背景类别取 $1-p$。$p_t$

2. 类别权重 $\alpha_t$:正样本给 0.25,负样本给 0.75,弥补数量差。$\alpha_t$

3. 调制因子 $(1-p_t)^\gamma$:预测越准权重越小($\gamma$ 常取 2),简单样本的损失被压到接近 0。$(1 - p_t)^\gamma$

4. 加权交叉熵:三者相乘得到最终损失,困难负样本保留较大梯度。$-\alpha_t (1 - p_t)^\gamma \log(p_t)$

RetinaNet 用 ResNet 做骨干,搭配特征金字塔(FPN)在不同尺度上铺锚框,再配合 Focal Loss,成为 CT 病灶检测中稳定且常用的基线模型。但它也有代价:锚框的尺寸、比例、数量都是超参数,需要根据病灶大小分布精心设计——筛网的目数不对,再努力也筛不到宝藏。

无锚框检测法:FCOS 的荧光笔测绘

第二位猎人觉得筛网太笨重:为什么非要预设一堆框?他直接拿起荧光笔,走到地图前,在每个“可能是目标中心”的像素点上画一个圆点,然后量出这个点到目标四边的距离,就能标出宝藏的边界。这就是无锚框(Anchor-free)范式的核心:不再预设候选框,而是让每个像素位置直接回归“我是目标中心吗”以及“目标边界离我多远”。

FCOS 的另一个关键设计是 Centerness(中心度)分支。因为离目标中心越远的像素,回归边界越容易出错,模型应该给这些边缘像素“降权”。中心度用像素到四边距离的比值来衡量:越靠近中心,横向和纵向的 min/max 都越接近 1,越靠边缘则越接近 0。推理时,中心度分数乘到分类置信度上,低质量的远处检测框自然被压下去。

C∗=min⁡(l∗,r∗)max⁡(l∗,r∗)×min⁡(t∗,b∗)max⁡(t∗,b∗)\displaystyle C^* = \sqrt{\frac{\min(l^*, r^*)}{\max(l^*, r^*)} \times \frac{\min(t^*, b^*)}{\max(t^*, b^*)}}

1. 四边距离:像素到左、右、上、下四个边界的距离。$l^*, r^*, t^*, b^*$

2. 横向比值:水平两边的 min 与 max 之比,中心处接近 1。$\dfrac{\min(l^*, r^*)}{\max(l^*, r^*)}$

3. 纵向比值:垂直两边的 min 与 max 之比,同样中心处接近 1。$\dfrac{\min(t^*, b^*)}{\max(t^*, b^*)}$

4. 几何平均:两个比值相乘开平方,得到 0~1 的中心度分数。$C^* = \sqrt{(\cdots) \times (\cdots)}$

FCOS 还配合多尺度预测:不同分辨率的特征层负责不同大小的目标,高层特征管大病灶,低层特征管小病灶。优势是没有锚框超参数、正负样本分配更灵活;劣势是每个像素都要预测,输出头更重,且对中心点标注精度敏感。

关键点检测法:CenterNet 的红外热像仪

第三位猎人更聪明:他不画框、不画点,而是戴上一副红外热像仪,先扫描整张地图生成一张“热量分布图”。病灶位置像一个小火炉,热量从中心向外扩散,形成一个个渐变的高斯圆斑。算法只需要在这张热力图上找“最亮的峰”,峰的位置就是病灶中心,再从峰处读出目标的宽和高。这就是 CenterNet 的思路:把目标检测问题转化成关键点检测问题。

训练时,CenterNet 把每个病灶中心的标签编码成一个二维高斯峰,峰值设为 1,向外按高斯衰减。模型学习的任务是让预测热力图尽可能接近这张“热量真值图”:

Yxyc=exp⁡(−(x−x~p)2+(y−y~p)22σp2)\displaystyle Y_{xyc} = \exp\left(-\frac{(x - \tilde{x}_p)^2 + (y - \tilde{y}_p)^2}{2\sigma_p^2}\right)

1. 归一化距离:像素与中心点的欧氏距离平方除以 $2\sigma_p^2$,越远值越大。$\dfrac{(x - \tilde{x}_p)^2 + (y - \tilde{y}_p)^2}{2\sigma_p^2}$

2. 高斯标准差:$\sigma_p$ 与目标尺寸相关,目标越大热斑越宽。$\sigma_p$

3. 指数衰减:$\exp$ 让中心处为 1、边缘趋近 0,形成平滑峰值。$Y_{xyc}$

推理时,CenterNet 在热力图上找局部峰值(即关键点),再通过回归头输出宽高偏移,无需 NMS 后处理。因为热力图天然稀疏,计算量比锚框法小很多,非常适合 CT 中病灶小而多的场景。但它的弱点也很直接:如果两个病灶挨得很近,热力峰会融合成一个,模型就数不清有几个宝藏了。

小目标检测难点:雾天里的微小病灶

无论哪种猎人,都会遇到同一个噩梦:目标实在太小了。一个 3mm 的肺结节,在 512×512 的 CT 切面上只占不到 10 个像素,经过神经网络逐层下采样后,到深层特征图上可能只剩 1 个像素,甚至直接被池化层“抹掉”。这就像在雾天找一面小红旗,红旗不仅小,颜色还和周围的红色矿石混在一起——模型根本分不清哪层特征是病灶、哪层是背景。

解决办法之一是特征金字塔(FPN):把高层语义信息与低层高分辨率细节拼接融合,让小目标既能看到“精细纹理”又能借助“大局语义”。另一个补充手段是上下文信息:结节周围的血管走向、胸膜形态等结构,能帮模型判断某个小亮点到底是病灶还是血管横截面。

RFo=RFi+(k−1)×∏j=1isj\displaystyle RF_o = RF_i + (k - 1) \times \prod_{j=1}^{i} s_j

1. 输入感受野 $RF_i$:当前层所“看到”的输入区域大小。$RF_i$

2. 卷积核扩展量:核大小减 1,表示一次卷积向外扩多少像素。$(k - 1)$

3. 步长累积:前面各层步长的乘积,决定扩展量被放大多少倍。$\prod_{j=1}^{i} s_j$

4. 输出感受野:累加后得到当前层输出特征图中每个点对应的输入范围。$RF_o$

理解感受野,就能明白为什么 FPN 对小目标如此重要:深层特征看得远但细节糊,浅层特征看得清但视野窄。只有把两者“叠图”融合,才有可能在浓雾中既看到红旗轮廓,又确认它确实在旗杆上。

假阳抑制策略:老矿工的土办法

猎人挖到“金块”却不一定是真金——CT 里血管截面、炎性假瘤、钙化灶都很容易被模型误判为病灶。这些假阳(False Positive)如果直接交给医生,会浪费大量阅片时间,甚至引发误诊。于是经验丰富的老矿工(临床医生)总结了一条条“土办法”:结节直径要大于 3mm、形态不能太规则、钙化模式要符合特定类型……这些规则被编码进后处理流程,和模型输出一起做联合判断。

此外还有两招常用:第一是置信度阈值——把分数低于某个界限的候选框直接丢掉,虽然会牺牲一些召回,但能显著减少“挖空”次数;第二是多模型融合——让三种算法投票,RetinaNet 找到候选、FCOS 复核中心、CenterNet 确认热峰,多个模型都说“有”的病灶才上报。

Pfinal=1M∑m=1MPm\displaystyle P_{\text{final}} = \frac{1}{M} \sum_{m=1}^{M} P_m

1. 单模型分数 $P_m$:第 $m$ 个模型对某个候选框的置信度。$P_m$

2. 求和平均:对 $M$ 个模型的分数取平均,得到共识分。$\dfrac{1}{M} \sum_{m=1}^{M} P_m$

3. 规则门控:最终决定是否上报时,还要叠加医生规则的硬性判断,如最小直径、最大体积等。

假阳抑制的本质,是让算法“盲目自信”之前先过三关:模型温度计(置信度)、老矿工经验(规则库)、多人投票(多模型)。在临床环境中,这一步骤的重要性甚至超过模型本身的精度提升。

定位精度评估:裁判的命中圈

寻宝比赛结束,裁判怎么打分?不能只看“找到了几个”,还要看“找得准不准”。裁判拿出一组“命中圈”——以真实病灶为中心画一个框,把你的预测框与之对比,重叠比例超过阈值(如 IoU>0.5)才算有效命中。这个交并比(IoU)是检测界最基础的“量尺”:两个框的交集面积除以并集面积,完美重叠为 1,完全不相交为 0。

在 CT 病灶检测中,单纯看 IoU 还不够,还要综合精确率与召回率。精确率回答“你说有病灶的地方,有多少真的对”,召回率回答“真实病灶里,你找回了多少”。把不同置信度阈值下的精确率-召回率画成曲线,曲线下面积就是一个类别的 AP,所有类别的 AP 平均就是 mAP。

AP=∫01P(R) dRmAP=1C∑c=1CAPc\displaystyle AP = \int_0^1 P(R) \, dR \qquad mAP = \frac{1}{C} \sum_{c=1}^{C} AP_c

1. PR 曲线:横轴召回率、纵轴精确率的曲线。$P(R)$

2. 曲线下面积:对召回率从 0 到 1 积分,得到单类别平均精度。$\int_0^1 P(R) \, dR$

3. 多类平均:对所有 $C$ 个类别取平均,得到综合指标 mAP。$\dfrac{1}{C} \sum_{c=1}^{C} AP_c$

4. 临床权衡:IoU 阈值越高标准越严,提升召回率往往需要接受更多假阳,两个方向需要平衡。

AI 应用场景

肺结节筛查系统:高吞吐初筛

阶段:模型选型与训练调优

解决的问题:传统阅片每例耗时 5~10 分钟,结节微小且易漏检;RetinaNet 的锚框机制擅长在多个尺度上穷举候选,配合 Focal Loss 能在海量背景中锁定少量结节,实现秒级初筛。

具体案例:某影像 AI 公司用 RetinaNet 处理低剂量胸部 CT,先开窗到肺窗,再用 FPN 锚框扫描,输出候选结节及置信度,再由医生复核。系统将阅片时间缩短 60%,并额外发现了 12% 的微小磨玻璃结节。

肝癌早筛定位:关键点检测辅助诊断

阶段:推理部署与后处理

解决的问题:肝脏增强 CT 中微小肝癌灶与正常肝组织密度接近,人工标注主观性强;CenterNet 把病灶当作热力图峰值,天然适合“小而多”的目标,配合医生规则库还能滤除血管断面等假阳。

具体案例:某三甲医院放射科在低剂量增强 CT 上部署 CenterNet,热力图输出可疑病灶中心与尺寸,系统自动生成结构化报告,将肝癌高危结节的召回率从 78% 提升到 91%。

多模型融合复核:面向科研的三算法共识

阶段:模型集成与性能评估

解决的问题:单一模型在小病灶上易出现置信度虚高;将 RetinaNet、FCOS、CenterNet 串联融合,取置信度均值并通过 IoU 匹配要求多模型一致,可显著降低假阳率。

具体案例:某医疗科研团队构建“三镜协同”管道:RetinaNet 初筛候选、FCOS 复核中心度、CenterNet 确认关键点热峰,再用 mAP 和 FROC 曲线衡量性能,在公开肺结节数据集上将假阳率降低 43%。

Python 演示

python56 行
import numpy as np def focal_loss(preds, targets, alpha=0.25, gamma=2.0):    """Focal Loss 简易实现,用于缓解正负样本失衡"""    preds = np.clip(preds, 1e-6, 1 - 1e-6)    p_t = np.where(targets == 1, preds, 1 - preds)    alpha_t = np.where(targets == 1, alpha, 1 - alpha)    loss = -alpha_t * (1 - p_t) ** gamma * np.log(p_t)    return float(loss.mean()) def iou_score(box_a, box_b):    """计算两个检测框的交并比 IoU"""    x1 = max(box_a[0], box_b[0])    y1 = max(box_a[1], box_b[1])    x2 = min(box_a[2], box_b[2])    y2 = min(box_a[3], box_b[3])    inter = max(0, x2 - x1) * max(0, y2 - y1)    area_a = (box_a[2] - box_a[0]) * (box_a[3] - box_a[1])    area_b = (box_b[2] - box_b[0]) * (box_b[3] - box_b[1])    return inter / (area_a + area_b - inter + 1e-6) def match_anchors(pred_boxes, gt_boxes, threshold=0.5):    """锚框匹配:IoU 超过阈值的锚框视为正样本"""    positives = []    for i, pb in enumerate(pred_boxes):        for gt in gt_boxes:            if iou_score(pb, gt) > threshold:                positives.append(i)                break    return positives # 模拟一张 CT 切面上的 6 个候选锚框pred_boxes = np.array([    [10, 10, 30, 30],    [60, 60, 85, 85],    [12, 12, 33, 33],    [100, 100, 160, 160],    [8, 8, 28, 28],    [40, 40, 90, 90]], dtype=float) # 真值:一个 3mm 微小结节gt_box = np.array([10, 10, 30, 30], dtype=float)pos_idx = match_anchors(pred_boxes, [gt_box])print("正样本锚框索引:", pos_idx) # 模型预测置信度:负样本大量且置信度很高(易分)pred_scores = np.array([0.85, 0.97, 0.60, 0.98, 0.99, 0.95])targets = np.zeros(len(pred_boxes))targets[pos_idx] = 1 fl = focal_loss(pred_scores, targets)ce = -np.log(np.clip(np.where(targets == 1, pred_scores,                              1 - pred_scores), 1e-6, 1)).mean()print("Focal Loss:", round(fl, 4))print("交叉熵:   ", round(ce, 4))
目的:用 NumPy 从零实现 Focal Loss 和 IoU,演示锚框匹配过程,直观对比普通交叉熵与 Focal Loss 在“大量易分负样本”场景下的损失差异。
  1. p_t = np.where(targets == 1, preds, 1 - preds)根据真实标签取出模型对“正确答案”的预测概率,正样本用预测值,负样本用 1 减预测值。
  2. loss = -alpha_t * (1 - p_t) ** gamma * np.log(p_t)Focal Loss 核心:调制因子压低了高置信负样本的损失。
  3. iou_score(pb, gt_box)计算预测框和真值框的重叠面积比例,是锚框匹配与评估的基础。
  4. match_anchors(pred_boxes, [gt_box])返回所有与真值框 IoU 大于 0.5 的锚框索引,这些框将被视为正样本参与训练。
  5. np.clip(preds, 1e-6, 1 - 1e-6)将预测概率限制在极小值以上,避免 log(0) 导致数值错误。

常见误区

误区我以为只要把锚框尺寸列表加到很长,比如 20 种尺度、5 种比例,就一定能检测到更小的病灶。毕竟“总有一款适合它”。

正解锚框只是候选框,不是特征提取器。真正决定小目标检测能力的是特征金字塔的分辨率和感受野匹配。病灶特征如果在下采样中被抹掉,再多的锚框也匹配不到高质量特征;反而增加计算量和正负样本匹配难度。正确做法是让锚框设计匹配目标尺寸分布,并配合 FPN 保留浅层细节。

为何常见:容易把“候选覆盖广”误解为“检测能力强”,忽略了分类和回归真正依赖的特征质量。

误区用了 Focal Loss 就万事大吉,正负样本失衡不再是问题,不需要再调阈值或做后处理。

正解Focal Loss 只是缓解训练时易分负样本的梯度淹没,让模型学到判别性特征。但推理阶段仍然需要置信度阈值、NMS、甚至是医生规则库来过滤假阳。而且 gamma 过大会让难样本权重过高,训练不稳定;类别权重 alpha 也要根据实际病情分布调整。

为何常见:把“缓解”当成“根治”,忽略了完整的训练-推理闭环中还有多个环节需要调优。

误区无锚框方法不用调任何参数,自动就能找到病灶。

正解CenterNet 虽然没有锚框尺寸、比例,但它需要调节高斯核的 sigma 与目标尺寸的映射关系、热力图下采样倍率、输出步长、以及关键点分组阈值。中心点标注的像素级噪声对热力图峰位影响很大,数据集标注质量也直接决定上限。

为何常见:把“无锚框”误解为“无需任何设计”,其实只是换了一组同样需要细心调整的超参数。

误区模型在验证集上 mAP 很高,直接部署到医院就能用。

正解医学影像更关注特定病灶的召回率、假阳率以及可解释性。mAP 是多个类别、多个阈值综合后的平均分,可能掩盖小病灶上的低召回。临床评估通常使用 FROC 曲线,要求每例假阳数可控的同时召回足够高,还会让放射科医生做盲测对比。

为何常见:从学术指标直接跳跃到临床价值,忽略了医学场景对“漏诊”和“假阳”的苛刻要求,以及指标背后的分布细节。

面试题

Q1. 在 CT 影像中,病灶检测面临的首要挑战是什么?

单选题 · easy

  • A.CT 分辨率过高导致计算量庞大
  • B.病灶尺寸小且与周围组织对比度低← 正确答案
  • C.CT 图像是彩色三通道通道冗余
  • D.病灶总是位于图像正中央

答案:B。B 正确。CT 早期病灶往往只有几毫米,在切面上不足 10 像素,且软组织密度接近、对比度低。A 错在 CT 下采样后分辨率适中;C 错在 CT 本质是单通道灰度;D 明显不成立。

Q2. RetinaNet 中 Focal Loss 主要解决什么问题?

单选题 · easy

  • A.训练时出现梯度消失问题
  • B.正负样本数量极端不平衡← 正确答案
  • C.模型缺乏训练数据标注
  • D.检测推理速度过于缓慢

答案:B。B 正确。CT 切面上正常组织远多于病灶,锚框扫出的候选框中 99% 是背景,Focal Loss 通过调制因子压低易分负样本损失,让模型聚焦难分正样本。A、C、D 与 Focal Loss 的设计目标无关。

Q3. 关于 FCOS 的 centerness 分支,下列说法正确的是?

单选题 · mid

  • A.它表示目标属于背景的概率
  • B.衡量像素与目标中心偏移程度← 正确答案
  • C.它直接决定锚框的宽高比
  • D.它只用于训练推理时不使用

答案:B。B 正确。centerness 用像素到四边距离的 min/max 比值来衡量“中心程度”,推理时乘到分类分数上抑制低质量远处框。A 描述的是背景概率,C 与锚框无关,D 错误——推理阶段同样使用 centerness 加权。

Q4. CenterNet 用热力图表示病灶时,热力图的峰值代表什么?

单选题 · mid

  • A.病灶的边缘轮廓
  • B.病灶的中心位置← 正确答案
  • C.病灶的类别数量
  • D.病灶的灰度数值

答案:B。B 正确。CenterNet 把每个目标编码为一个高斯峰,峰值位置即目标中心,再从该点回归宽高得到检测框。A 是边缘,C 是类别数,D 是 CT 值,均与热力图语义不符。

Q5. 小目标检测中,特征金字塔 FPN 的核心思想是什么?

单选题 · hard

  • A.增大输入图像的尺寸
  • B.融合高层语义与低层细节← 正确答案
  • C.减少网络层数保留分辨率
  • D.只用最后一层特征做预测

答案:B。B 正确。FPN 自顶向下融合,让高层语义信息与低层高分辨率细节结合,使小目标在浅层获得精细纹理的同时享有整体语义判断。A 只解决输入分辨率,C 会牺牲语义能力,D 会让小目标特征在下采样中丢失。

Q6. IoU 的计算公式是什么?

单选题 · easy

  • A.交集面积除以并集面积← 正确答案
  • B.并集面积除以交集面积
  • C.预测框面积除以真值框面积
  • D.真值框面积除以预测框面积

答案:A。A 正确。IoU=两框交集面积/两框并集面积,范围 0~1,衡量预测框与真值框的重叠程度。B 是 IoU 的倒数,C、D 只计算单框面积比值,都无法刻画重叠关系。

Q7. 假阳抑制中,医生规则库通常包含哪类规则?

单选题 · mid

  • A.病灶颜色随机生成规则
  • B.病灶直径体积钙化等形态规则← 正确答案
  • C.患者体重与扫描参数关系规则
  • D.设备品牌与型号选择规则

答案:B。B 正确。医生规则库把临床先验知识编码成硬规则,比如结节最小直径 3mm、体积上限、钙化模式等,用来过滤不符合生理常识的检测框。A、C、D 均与病灶形态判读无关。

Q8. 关于锚框与无锚框检测方法,下列说法正确的有?

多选题 · mid

  • A.锚框法需要预设尺寸和比例← 正确答案
  • B.FCOS 属于无锚框检测法← 正确答案
  • C.CenterNet 仍需锚框产生候选
  • D.无锚框法完全不需要超参数

答案:AB。A 正确,锚框法预设多尺度候选框;B 正确,FCOS 直接按像素回归边界,属于无锚框。C 错误,CenterNet 用热力图而非锚框;D 错误,无锚框法仍要调节高斯 sigma、输出步长等参数。

Q9. 下列哪些措施有助于提高 CT 小病灶的召回率?

多选题 · hard

  • A.使用特征金字塔融合多层特征← 正确答案
  • B.降低检测阈值让更多候选复核← 正确答案
  • C.增加锚框的宽高比种类← 正确答案
  • D.在低分辨率特征图上直接预测

答案:ABC。A 正确,FPN 保留浅层细节;B 正确,低阈值让更多候选进入后续复核,提高召回;C 正确,多样锚框增加与微小病灶匹配的机会。D 错误,低分辨率特征图已经丢失小目标信息,应使用高分辨率特征层。

Q10. 关于 CT 病灶检测的评估与部署,说法正确的有?

多选题 · extreme

  • A.mAP 越高则检测性能一定越好
  • B.FROC 反映假阳率与召回率权衡← 正确答案
  • C.医学中假阳率高会降低临床信任← 正确答案
  • D.提高 IoU 阈值会让评估更严格← 正确答案

答案:BCD。B 正确,FROC 曲线是医学影像标准评估工具,横轴假阳率、纵轴召回率;C 正确,假阳过多会浪费医生精力、损害信任;D 正确,IoU 阈值设得越高,对定位精度要求越苛刻。A 错误,mAP 是综合指标,可能掩盖小病灶上的低召回,不能直接代表临床性能。