某产线质检场景:6 路 1080p 摄像头,每路需要 25 FPS,合计 150 FPS 吞吐;检测 5 类缺陷,其中最小缺陷在 1080p 画面里约 20×20 像素;可用一张约 100 TOPS 的推理卡;单路单帧延迟预算 40ms,其中预处理+后处理实测已占 8ms。请给出你会选 YOLO 哪个版本、哪个尺寸档,推理预算怎么算,小目标怎么保证,以及你打算用什么指标证明方案达标。
面试官在考什么
判断候选人能否把“选模型”落到算力/延迟预算上,并在小目标这一具体约束下对输入分辨率、模型尺寸、后处理三者做取舍。
回答框架 · 前两步
- 先算预算:150 FPS 总吞吐要在一张卡上跑,单路单帧 40ms 里模型只剩约 32ms,还要留余量,所以模型推理目标应压到 20ms 以内,而不是刚好卡线。
- 20×20 的目标在 1080p 下若被 stride 32 下采样只剩不到 1 个像素,必须提高输入分辨率(如 1280)或切图,二者显存与吞吐代价不同,要分别算账。
还有 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 提上去且不能突破延迟预算。请给出你的排查顺序,以及每一步具体要动哪个配置/参数、预期效果和验证方式。
- 团队在边缘 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 采样你会怎么配。
- 线上有一套跑了两年的两阶段检测服务(Faster R-CNN + FPN,T4 上单图 80ms 预算),用于工业缺陷检测。当前问题是边长小于 16px 的缺陷召回只有 60%,同时每个新类目上线要拖一个多月。业务希望三个月内把该尺度召回提到 80%,并且能两周上一个新类目。有人主张直接换成一阶段 anchor-free 或 DETR 系,有人主张继续在两阶段框架内改。请给出你的技术判断:你会从哪些维度论证,并给出一个三个月内能交付的分阶段方案。