第3章 相机选型与标定面试题
相机选型与标定是工业视觉仿真工程师的核心面试领域。面试官重点考察你对分辨率‑像元‑景深的定量换算、内参/外参/畸变的物理意义,以及手眼标定的数学模型与工程落地能力。下面先用一张参数对照表建立直觉,再通过回答框架图拆解通用回答路径,最后用3个经典问答卡片逐一击破高频考点。
| 参数 | 选型逻辑 | 常见范围 | 面试高频考点 |
|---|---|---|---|
| 分辨率 | 精度要求 → 视野尺寸 → 所需像素数 + 冗余系数 | 30万~5000万像素 | 精度换算、像元尺寸约束 |
| 像元尺寸 | 传感器尺寸 ÷ 分辨率;影响信噪比与景深 | 2µm~10µm | 过小导致噪声 vs 过大牺牲分辨率 |
| 景深 | 光圈、焦距、物距共同决定;与图像清晰度矛盾 | 1mm~100mm(微距/大视野) | 景深公式、小光圈利弊 |
| 内参/外参 | 内参:焦距、主点、畸变;外参:旋转+平移 | 5~9个内参参数 | 畸变模型、标定板位姿数量 |
📌 面试问答卡片
问题1:如何根据项目需求选择工业相机分辨率?
🎯 面试官考察点
是否理解分辨率 = 精度 × 视野 的定量关系;能否结合实际像元尺寸和传感器尺寸进行权衡。
🧩 回答框架
① 确定检测精度要求(如0.05mm/像素);② 计算视野尺寸(如100×80mm);③ 得到所需像素数(2000×1600);④ 加入冗余系数(1.2~1.5)选择传感器分辨率;⑤ 检查像元尺寸是否匹配(避免过小导致噪声)。
✍️ 示例回答
“先明确精度0.05mm/pixel,视野100×80mm,则水平需要2000像素,垂直1600。考虑冗余选500万像素(2592×1944),像元尺寸3.45µm,匹配CMOS靶面1/1.8英寸,信噪比可接受。”
🔍 可能追问
① 像元尺寸过小会有什么影响?(噪声增加、动态范围下降)
② 如果传感器尺寸固定,如何平衡分辨率与像元尺寸?
问题2:相机内参和外参分别是什么?如何标定?
🎯 面试官考察点
对相机成像模型的底层理解;标定流程的实操细节;能否解释畸变矫正。
🧩 回答框架
① 内参:焦距(fx,fy)、主点(cx,cy)、畸变系数(k1,k2,p1,p2);外参:旋转矩阵R、平移向量t。
② 标定流程:打印棋盘格 → 多角度采集15~20张 → 提取角点 → 计算单应矩阵 → 最小化重投影误差优化内参 → PnP求外参。
✍️ 示例回答
“内参描述光心到像素的映射,外参描述相机相对于世界坐标系的位姿。我用OpenCV calibrateCamera,采集24张不同姿态棋盘格,重投影误差控制在0.25像素。标定后利用内参去畸变,保证测量精度。”
🔍 可能追问
① 畸变矫正的具体步骤?(像素坐标去畸变 → 映射到无畸变图像)
② 标定板为什么需要多角度?(避免退化配置,提高矩阵条件数)
问题3:手眼标定(Eye-to-Hand vs Eye-in-Hand)的方法和步骤?
🎯 面试官考察点
对不同标定结构的区分;AX=XB方程的求解方法;工程中如何保证精度。
🧩 回答框架
① 区分两种安装方式:Eye-in-Hand(相机随臂动,标定板固定)→ 求解 cam2gripper;Eye-to-Hand(相机固定,标定板在末端)→ 求解 cam2base。
② 步骤:记录N组机械臂位姿 + 标定板位姿 → 建立AX=XB → Tsai两步法先解旋转再解平移 → 使用最小二乘或RANSAC剔除异常。
✍️ 示例回答
“项目为Eye-in-Hand,采集15组不同姿态下的机器人tcp与标定板提取坐标,用Tsai法求解cam2gripper。旋转误差<0.5°,平移误差<1mm。若精度不够,增加位姿数量并剔除运动奇异点数据。”
🔍 可能追问
① 为什么需要至少3组非共面姿态?(退化条件导致旋转解不唯一)
② 机械臂定位精度对标定结果的影响?(建议使用重复定位精度高的机器人)
“我在实际项目中还考虑到了镜头畸变对标定精度的影响,先进行单目内参标定去畸变,再进行手眼标定。” —— 展示完整闭环思维。