精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖

锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究。
本文是翻译文章,内容来自OpenCV邮件列表,因为锐英源软件一直在从事精细特征识别,摄像头是经常接触的工具,基于技术方向的关注,翻译下文章。同时内容也列入了“语言之美英语爱好社群”,进行了英语学习价值的提高。
本次翻译收获:建立包含摄像头的平台,比如DepthAI平台,摄像头的任务才好完成。比如国内海康威视利用标定物进行精确校准。摄像头校准概念我也是第一次听说,但这也是个关键技术,就像车床里变形补偿技术一样,传感器在自我准确的前提下,获取的数据才可靠。

准确标定:野外环境下的摄像头校准
嘉宾:Cenek Albl(Luxonis 公司计算机视觉副总裁)
摄像头校准是每个从事计算机视觉工作的人都熟悉的“老大难”问题。不知从何入手,甚至很难判断什么时候才算“大功告成”。本周,我们再次邀请到 Luxonis 公司的嘉宾,计算机视觉副总裁 Cenek Albl 将为我们展示他们如何应对最具挑战性的校准场景——在野外现场,你无法控制每一个细微环节。敬请关注本周四的直播,看他们是如何做到的!
届时我们将进行现场直播,欢迎观众朋友们踊跃提问,直播结束后还会抽取一位幸运观众,免费赠送一门 OpenCV 大学课程,千万不要错过!

为什么需要校准?
我们需要多少对对应点?
M 有 11 个未知数
我们需要 11 个方程
6 组对应点就足够了
下面是技术细节:
Luxonis 的摄像头校准体系主要分为出厂校准、手动校准和动态校准三大类。
出厂校准:Luxonis 的 OAK 系列摄像头在出厂时已完成全传感器校准,包括 RGB、立体相机、ToF 和 IMU,并将校准参数写入设备 EEPROM。最新的校准还能将相机、IMU 和设备外壳对齐到同一坐标系,验证显示相机到 IMU 的对齐误差从约 1.16° 降低到 0.38°。
这正是直播中提到的“在野外现场无法控制每个细节”场景下的解决方案。
在真实环境中,温度变化、物理冲击或长期漂移都会使出厂校准逐渐失效,导致深度图偏差、测量不可靠。传统做法需要手动重新校准——使用标定板、中断作业、安排停机。
动态校准是 DepthAI 3.0 内置的自校准工作流,具备以下关键能力:
恢复深度精度:将视差图恢复到最佳视觉质量
无需标定板:在自然场景中即可运行,只需移动摄像头捕捉不同视角
快速执行:通常在数秒内完成
健康监控:随时运行诊断,无需烧录新校准数据
多传感器支持:支持经典立体校准和 3 传感器/FFC 工作流
动态校准持续监测校准健康状态,自动检测漂移并在现场恢复出厂级精度——无需设置、无需标定板、无需停机。
其技术实现基于 DynamicCalibration 节点,接收 DynamicCalibrationControl 消息(包含 ApplyCalibration、Calibrate 等命令),通过四个输出队列返回结果:calibrationOutput(校准结果)、qualityOutput(校准质量)、coverageOutput(覆盖数据)、metricsOutput(校准指标)。
动态校准适用于 Luxonis 设备设计的真实环境:工厂车间、户外机器人、无人机、检测系统。日常纹理——从砖墙到杂乱的工作台再到树皮——都能提供足够的特征来保持校准对齐。最佳效果的场景包括:书架、砖墙、工作台、杂乱桌面、树皮、柔和的日光;应避免:纯色墙壁、反光玻璃、重复的相同瓷砖。
最简单的入门方式:使用最新版 OAK-Viewer,切换到“动态校准”配置文件,校准质量检查自动开始,完成后会显示相机是否需要校准,如需校准只需点击“重新校准”按钮即可。
开发者集成:DepthAI 仓库提供了完整的 Python 示例:
git clone https://github.com/luxonis/depthai-core.git cd depthai-core/ python3 examples/python/DynamicCalibration/calibration_integration.py
从 DepthAI 3.6 开始,自动校准在 ON_START 模式下默认启用。
当需要完整校准或动态校准无法满足需求时,可使用手动校准。
校准的目的是确定相机的三类参数:
内参:焦距(fx, fy)、光学中心(cx, cy)
畸变系数:径向畸变(k1-k6,校正桶形或枕形效应)、切向畸变(p1, p2,校正镜头与传感器未对齐)、薄棱镜/倾斜畸变(s1-s4, τx, τy,处理倾斜问题,尤其适用于广角镜头)
外参:相机相对于场景或其他相机的位置和朝向(旋转矩阵和平移向量)
Luxonis 基于 OpenCV 的畸变模型框架,针对不同镜头类型使用不同模型:
NFOV(常规视场角):标准透视模型,校正径向和切向畸变
WFOV(宽视场角):扩展透视模型,最多支持 14 个畸变参数(径向 k1-k6、切向 p1-p2、薄棱镜 s1-s4、倾斜 τx-τy)。实践中不会启用全部 14 个参数,通常只额外启用 τx 和 τy 来处理观察到的倾斜
鱼眼镜头:使用专门模型处理极端圆形畸变,但 Luxonis 通常避免使用,因为扩展透视模型已能覆盖其 WFOV 应用
手动校准的典型流程如下:
图像采集:运行 calibrate.py 脚本,在不同位置和角度摆放 Charuco 标定板(棋盘格与 ArUco 标记的结合体),按空格键捕捉同步图像
自动处理:检测所有图像中的 Charuco 板角点,计算各相机内参、相机间外参(旋转和平移),生成立体校正矩阵
验证与写入:检查重投影误差(应小于 1.0,RGB 相机可放宽至 3.0)和对极误差(默认阈值 0.8),验证通过后将校准数据写入设备 EEPROM 并保存为 JSON 文件
python3 calibrate.py -s <方格尺寸_cm> -ms <标记尺寸_cm> -brd <设备型号>
例如:python3 calibrate.py -s 3.0 -ms 2.5 -brd OAK-D
校准脚本仓库:depthai-calibration 包含设备校准脚本,被多个校准程序使用
校准读取工具:可打印设备内外参及其他校准值
多相机校准:支持多设备联合校准,将点云坐标从相机坐标系转换到世界坐标系
OAK-Viewer:图形化工具,内置动态校准功能
DepthAI 核心仓库:包含完整的动态校准示例
Cenek Albl 是 Luxonis 的计算机视觉副总裁,此前曾在捷克技术大学和 ETH Zurich 从事研究工作。他的研究兴趣包括:
卷帘快门相机标定与位姿估计:提出了首个在未知焦距和径向畸变下求解卷帘快门相机绝对位姿的极小解算器
从非同步、未校准的消费级相机网络进行 3D 重建
开源工具:在 GitHub 上发布了 RnP 仓库,包含卷帘快门相机位姿计算算法
这些研究背景与 Luxonis 在野外非受控环境下进行摄像头校准的技术方向高度契合。
Luxonis 的野外校准解决方案核心是 动态校准(Dynamic Calibration)——通过持续监测校准健康状态,在设备部署现场自动检测并恢复因温度、冲击、长期漂移导致的精度下降,无需标定板、无需停机、无需人工干预。这项技术已内置于 DepthAI 3.0+ 中,在 OAK Series 2 和 Series 4 全系列立体相机上获得支持,从 DepthAI 3.6 开始默认启用
海康威视拥有自己的摄像头校准技术体系,其中也包含名为“动态标定”的技术,但与Luxonis的“动态校准”在技术路线和应用场景上有显著差异。
我为你梳理了两者的核心技术区别:
| 特性 | 海康威视 | Luxonis |
|---|---|---|
| 技术名称 | 动态标定 (Dynamic Calibration) | 动态校准 (Dynamic Calibration) |
| 核心原理 | 依赖特定标定物(如标定块)在受控运动下采集数据。 | 无需标定物,利用自然场景纹理进行自动校准。 |
| 应用场景 | 主要面向工业、机器人、3D测量等专业领域。 | 面向广泛的开发者与AI应用,强调在各种“野外”环境下的易用性。 |
| 自动化程度 | 较高,但通常需要人工介入准备标定物和设置环境。 | 高度自动化,持续监测并自动校准,基本无需人工干预。 |
| 技术生态 | 集成于其工业相机、3D轮廓仪等专业产品线中。 | 集成于OAK系列开发套件,并提供完整的DepthAI软件生态支持。 |
海康威视的“动态标定”:这是一种在受控环境下,使用特定标定块来修正安装误差的精密校准方法。它更像是“生产线上的精密调整”,目的是在设备部署时一次性获得高精度。
Luxonis的“动态校准”:这是一种无需标定物,能在非受控的自然场景中持续运行的自动校准技术。它更像是“设备自身的持续健康管理”,旨在对抗因温度、振动等引起的长期漂移。
除了“动态标定”,海康威视在自动化校准方面也有布局,但侧重点不同:
自学习校准 (Self-learning Calibration):在其HeatPro系列热成像相机的VCA 3.0技术中被提及。这项技术能让系统随时间推移自我适应和提升性能,但更侧重于提升智能分析算法的准确性,而非基础的摄像头几何校准。
自然场景标定专利:海康威视有一项利用车道线等自然场景特征进行车载相机外参标定的专利。这与Luxonis“无需标定物”的理念有相似之处,但目前看主要应用于特定的车载环视系统场景
Accurate Camera Calibration In The Wild Guest: Cenek Albl (VP of Computer Vision, Luxonis)
Camera calibration is a familiar pain to anyone who works with computer vision. It can be hard to know where to start, and even difficult to know when you're "done." This week we welcome back Luxonis to the show, and Cenek Albl (VP of Computer Vision) will show us how they handle the most dangerous calibrations: In the field, where you can't control every little detail. See how it's done this Thursday!