PCB 元件检测场景:单图最多可能出现 300 个密集小元件,共 12 类,图像为 4K。有人提案直接上 DETR,使用默认 100 个 object query 和单尺度特征。请说明直接这么做会发生什么,你会怎么改造,以及和 YOLO、Faster R-CNN 相比这个场景你最终选谁、为什么。
面试官在考什么
判断候选人是否真理解 DETR 的 set prediction 与二分匹配机制,能否识别 query 数量和注意力复杂度这两个具体瓶颈,并针对“目标多且小、分辨率高”的场景做量化权衡。
回答框架 · 前两步
- query 数就是召回上限:100 个 query 面对最多 300 个目标,结构上必定有目标没有任何 query 负责,这些目标只能以“漏检”的形式被监督,调参救不回来。
- 4K 输入下单尺度高 stride 特征图会让小元件几乎消失,必须多尺度或高分辨率特征;而标准 DETR 的全局 cross-attention 复杂度是 O(N_q·H·W),4K 下算不动,需要可变形/稀疏采样注意力。
还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。
延伸阅读
想看这个方向的整体准备路线? 进入「CV 与多模态」方向页
同一能力域的其他题
- 你用 YOLOv5s 训一个 4 类缺陷检测(输入 640×640,8000 张训练图),验证集整体 mAP@0.5=0.82,但尺寸在 16~24px 的小目标那一类占比 12%、AP 只有 0.31。部署在边缘设备上,batch=1 时单帧 22ms,延迟预算是 30ms。现在要求你把小类的 AP 提上去且不能突破延迟预算。请给出你的排查顺序,以及每一步具体要动哪个配置/参数、预期效果和验证方式。
- 某产线质检场景:6 路 1080p 摄像头,每路需要 25 FPS,合计 150 FPS 吞吐;检测 5 类缺陷,其中最小缺陷在 1080p 画面里约 20×20 像素;可用一张约 100 TOPS 的推理卡;单路单帧延迟预算 40ms,其中预处理+后处理实测已占 8ms。请给出你会选 YOLO 哪个版本、哪个尺寸档,推理预算怎么算,小目标怎么保证,以及你打算用什么指标证明方案达标。
- 团队在边缘 SoC(INT8 约 4 TOPS,attention 类算子支持很差)上跑一个量产的实时检测模型,现状是 1080p 输入下 30ms、mAP 0.42。硬件不能换,业务要求端到端 15ms 且 mAP 不低于 0.42。候选路线有三条:(A) 换成 YOLOv8/v10 这类较新版本;(B) 保留现有 anchor-based 结构,只改 backbone/neck 和输入策略;(C) 降输入分辨率,再级联一个只跑 ROI 的二阶段补检。请给出你的技术判断:你会用哪些判据来选路线,两周内怎么做出可辩护的决策,以及怎么让算法、部署、业务三方都接受这个结论。
- YOLOv3 常被描述为“三个尺度预测”。假设输入 416×416,主干输出 13×13、26×26、52×52 三个尺度的特征图,每个格点配 3 个 anchor,检测 80 类。请回答:(1) 一张图总共输出多少个预测框?(2) 每个预测框的向量是多少维、每一维分别代表什么?(3) 为什么是小尺寸的特征图负责大目标,而不是反过来?
- 你接手一个 Faster R-CNN(ResNet-50 + FPN)检测项目,12 类,数据里存在宽高比约 1:8 的细长目标。RPN 使用默认的 3 个 scale × 3 个 ratio 的 anchor,输入 800×1333。你测出 RPN 在 IoU=0.7 阈值下召回只有 0.55,而送到 ROI head 的 proposal 里正样本比例只有 8%。团队里有人建议「把 RPN 的正负样本比例从 1:3 改成 1:1,再把 batch size 调大」。请评估这个建议,并说明你会改哪些参数、依据是什么、怎么验证改了以后 RPN 而不是 head 变好了。
- 一个离线批处理任务:20 万张图,30 类,目标普遍偏小且同类目标常成簇叠在一起(一张图里同类可叠 20 个以上),允许 8 卡跑 12 小时,评测只看精度不看延迟。团队有人提议用 YOLO 一把梭,你会不会改用 Faster R-CNN?说明判断依据,以及如果用它,RPN 的 anchor 和 ROI 采样你会怎么配。