4. 感知算法基础
面试问答卡片
面试问题:请简述目标检测、语义分割、多目标跟踪的核心区别与联系。
面试官考察点:是否清晰理解三大任务的定义边界;能否从输入输出、算法本质、评估指标三个维度快速对比。
回答框架:定义对比 → 算法方法对比 → 评估指标对比 → 实际应用中的协同(如检测+ReID做跟踪)。
可能追问:① 检测中 anchor-free 和 anchor-based 的适用场景?② 跟踪中如何解决遮挡问题?③ 分割与检测在工业落地中哪个更常用?
面试问题:目标检测中,NMS(非极大值抑制)的作用是什么?有哪些改进方案?
面试官考察点:是否掌握NMS原理及多目标框去重逻辑;能否列举 soft-NMS、DIoU-NMS、Cluster-NMS 等主流改进及优缺点。
回答框架:NMS基本步骤(排序→IoU过滤→保留最高分) → 传统NMS的缺点(密集目标漏检、阈值敏感) → 改进方案(soft-NMS降低分数、DIoU-NMS考虑距离、learned NMS端到端)。
可能追问:① NMS 能否融入网络训练变成可学习?② YOLOv5 中的 NMS 和 EfficientDet 中 NMS 的差异?③ 如何避免 NMS 造成小物体漏检?
面试问题:多目标跟踪(MOT)中,数据关联的主流方法有哪些?Kalman滤波器与匈牙利算法是如何配合的?
面试官考察点:是否理解在线跟踪的核心流程;能否讲清预测(Kalman)→ 代价计算(IoU/ReID)→ 分配(匈牙利)的闭环。
回答框架:MOT整体流程(检测→特征→关联) → 数据关联方法(匈牙利、KM、网络流、图匹配) → Kalman滤波器的作用(状态预测、平滑轨迹) → 结合示例(DeepSORT中的级联匹配)。
可能追问:① 匈牙利算法的局限性(非最优分配、无法处理稠密场景)?② 如何引入深度学习进行端到端关联(如Transformer跟踪器)?③ 多跟踪器融合策略?
项目案例:自动驾驶多任务联合感知系统
项目名称:车路协同多任务感知模块(目标检测 + 可行驶区域分割 + 多目标跟踪)
业务背景:L4级园区无人驾驶小巴,需要在城市开放道路实现 360° 环境感知,输出障碍物位置、可行驶区域、行人轨迹,满足决策规划实时性要求。
规模指标:10 路摄像头+3 激光雷达,每秒处理 30 帧,检测类别 10 类,mAP≥85%,语义分割 mIoU≥75%,跟踪 MOTA≥70%,端到端延迟 <50ms(包含特征融合与目标关联)。
技术栈:YOLOX (检测) + SegNeXt (分割) + FairMOT (跟踪) + TensorRT 部署 + Kalman滤波器 + 匈牙利匹配;使用 Nuscenes 与自采数据混合训练。
核心难点:① 多传感器不同帧率对齐与特征共享;② 夜间/雨雾场景跟踪丢失;③ 多任务模型计算量耦合,优化 latency 同时保持精度。
面试高频追问:1. 为什么选择 YOLOX 而非 YOLOv8?2. 如何在不增加推理时间前提下共享特征提取器?3. 遮挡恢复的 engineering tricks(如 tracklet 生命周期管理)?4. 分割结果如何辅助跟踪(如检测框修正)?