视觉系统概览
这一组记成像侧的东西:光怎么打、镜头怎么选、相机怎么定、图像怎么矫正到可用。 算法跑不动的时候,问题经常不在模型,而在源头——曝光糊了、镜头畸变没修、逆光把目标压成剪影,再强的检测器也无解。
成像链路固定是这五段,任何一段掉链子,后面都补不回来:
光源 → 镜头 → 传感器 → 采集/曝光 → 标定与矫正 → (算法)光源
选光源要回答一个问题:要让目标的哪个特征比背景更突出。
| 方式 | 效果 | 典型场景 |
|---|---|---|
| 明场正打 | 目标表面反射入镜,细节清晰 | 表面缺陷、字符、零件定位 |
| 暗场掠射 | 只收散射光,划痕/毛刺被拉亮 | 光滑件划伤、边缘破损 |
| 背光 | 目标成剪影,轮廓最锐 | 尺寸测量、计数、有无检测 |
| 同轴光 | 消除反光,适合镜面 | 金属、玻璃、芯片焊点 |
| 偏振 | 滤掉镜面反射,保留漫反射 | 隔着玻璃拍、水面、喷漆表面 |
| 红外/近红外 | 不刺眼、穿透部分烟雾粉尘 | 夜间监控、司机疲劳、热目标 |
工程上先定打光几何(角度 + 距离),再定光源类型,最后才是亮度。顺序反了就是在调一个 本来就不该用这个角度拍的画面。
频闪和常亮的取舍
常亮光源简单,但功率上去就发热、寿命掉、还会烤目标。频闪(strobe)把能量压缩到曝光瞬间, 同样亮度下功耗低一个数量级,代价是需要相机出触发信号并与曝光严格同步——延迟没对齐, 抓到的就是闪光前的那一帧。
镜头
四个参数互相牵制,改一个必然动另一个:
| 参数 | 影响 | 计算关系 |
|---|---|---|
| 焦距 f | 视场角、放大倍率 | 视场 ≈ 靶面尺寸 × 物距 / 焦距 |
| 光圈 F | 进光量、景深、衍射极限 | 景深 ∝ F × 容许弥散圆 × 物距² / 焦距² |
| 工作距离 | 安装空间 | 与焦距共同决定视场 |
| 靶面匹配 | 边缘暗角、有效像素 | 镜头像面必须 ≥ 传感器靶面 |
几个容易翻车的点:
- 靶面不匹配:1/1.8" 的相机配 1/2.5" 的镜头,四角直接黑掉,或出现严重暗角。
- 只盯焦距不看畸变:短焦大视场必然桶形畸变,广角监控画面边缘的直线弯成弓。
- 要景深就收光圈,但别收过头:F11 往上衍射开始吃掉分辨率,像素越密越明显。
- 接口:C 口 / CS 口法兰距差 5mm,装错要么拧不上,要么永远对不上焦。
相机与传感器
| 维度 | 选择要点 |
|---|---|
| 快门 | 运动场景必须全局快门;卷帘快门拍高速车流会出现倾斜、果冻 |
| 靶面尺寸 | 越大进光越多、单像素面积越大,但镜头和成本同步上涨 |
| 分辨率 | 由「最小目标占几个像素」倒推,不是越高越好 |
| 帧率 | 按最高车速与跟踪框的最短停留时间算,留 2 倍余量 |
| 曝光 | 优先压曝光时间(冻结运动),再靠光源和增益补亮度;增益是最后的选项 |
| 位深 | 8bit 够用;强逆光或高动态场景再上 10/12bit |
曝光三角在机器视觉里和摄影不同:曝光时间优先级最高,因为它直接决定运动模糊, 而这东西事后无法修复。
标定与矫正
成像几何的问题分三层,处理顺序不能颠倒:
- 内参标定:焦距、主点、畸变系数。棋盘格 / 圆点阵列,多姿态覆盖整个视场,尤其是四角。
- 畸变矫正:把弯曲的直线拉直。广角镜头不做这步,测距和单应变换全是错的。
- 外参与平面映射:相机相对地面的位姿 → 单应矩阵 → 逆透视变换(IPM),把图像压成俯视平面图。
单应(Homography 直译 同图) 通俗:同一物体 从一个平面变换到另一个平面,反映两幅图中同一个点映射关系
交通场景特别注意
固定监控相机的外参一旦标定就别再动。云台转动、支架受风偏移、甚至季节温差导致的热胀, 都会让外参失效。工程上要留一套自检手段:用地面已知长度的标线(车道线间距、停止线) 做在线校验,偏差超过阈值就报警重标。
常见故障对照
| 现象 | 大概率原因 |
|---|---|
| 夜间目标全黑或全白 | 补光不足 / 迎面车灯造成过曝,需宽动态或分区曝光 |
| 边缘目标检测明显变差 | 畸变矫正缺失,或矫正后重采样把细节抹平了 |
| 测距随距离漂移 | 外参不准,或单应矩阵用了错误的平面假设 |
| 画面整体发灰、对比度低 | 镜头脏污、逆光漏光、或保护罩反光 |
| 高速目标拖影 | 曝光时间过长,或用了卷帘快门 |
文章
暂无可列条目。后续按「一个主题一篇」往里放,比如:
- 光源选型与打光几何
- 镜头参数计算与靶面匹配
- 相机标定流程与精度评估
- 畸变矫正与逆透视变换
建 docs/notes/vision-system/xxx.md,第一行写 # 标题,重启 docs:dev 后自动出现在左侧目录。
