news 2026/6/2 6:31:16

<span class=“js_title_inner“>一文详解相机内参标定,如何规避三大典型误区?</span>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<span class=“js_title_inner“>一文详解相机内参标定,如何规避三大典型误区?</span>

大家好!最近在使用HandBot-S1采集的数据进行相机内参标定的过程中,踩过坑也收获不少。总结以了几个方面的内容,希望能帮你少走弯路,高效搞定标定!

一. 相机内参是什么?

内参(Intrinsics):就是相机自己的视力参数——它决定了三维世界中的点,在拍成照片时会落在图像的哪个位置。

如图所示一个空间三维点(X,Y,Z),投影到那一个像素坐标(U,V)上,就是由相机的内参所决定。

二. 常见的相机模型与畸变模型

相机类型

投影模型(Projection)

畸变模型(Distortion)

单目 / 双目(普通镜头)

pinhole(针孔)
omni(全向,较少用)
radtan(径向+切向)
equidistant(等距,适用于广角)

鱼眼相机

pinhole

+equidistant
或直接使用fisheye模型(需注意Kalibr实际仍用pinhole + equidistant表示鱼眼)

推荐equidistant(更适合大视场角)

:Kalibr没有独立的fisheye投影模型,而是通过 pinhole 投影 + equidistant 畸变来建模鱼眼相机。这是其与OpenCV的fisheye模型的主要区别。

三. 如何进行内参标定?

3.1 准备标定板

这里我们使用Apriltag标定板,参数文件详解如下。

target_type: 'aprilgrid' #标定板类型:使用AprilTag阵列(AprilGrid)
tagCols: 4 # 列有4个AprilTag
tagRows: 6 # 行有6个AprilTag
tagSize: 0.07 # 单个AprilTag的边长tagSpacing: 0.3 # 白色间隔与tagSize的比值
codeOffset: 0 # 第一个AprilTag的ID起始编号

3.2 采集数据

这里我们用HandBot-S1录制采集数据,需要注意:标定板的位姿尽量丰富一些,使其出现在相机画面的各个位置;保持标定板清晰、无运动模糊。

3.3 运行标定命令

单目相机标定

kalibr_calibrate_cameras --bag data1.bag --topics /image_right --models pinhole-equidistant --target april_4x6.yaml

双目相机标定

kalibr_calibrate_cameras --bag data2.bag --topics /image_right /image_left --models pinhole-equidistant pinhole-equidistant --target april_4x6.yaml

注:输出包含两个相机各自的内参,以及它们之间的相外参。

鱼眼相机标定(单目或双目)

kalibr_calibrate_cameras --bag fisheye_data.bag --topics /image_raw --models pinhole-equidistant --target april_4x6.yaml

关键:必须使用equidistant畸变模型,否则标定结果会很差。

3.4 输出结果说明

程序会输出三个文件:

.pdf:PDF版本的结果报告,包含重投影误差和标定姿态分布。
.txt:以文本文件储存的标定结果。
.yaml:以YAML格式储存的标定结果。

3.5 标定质量分析

  • 看重投影误差:单目时重投影误差在1pix以内。

  • 看标定板位姿是否丰富:尽量充满图像的所有区域。

:重投影误差 > 1pixel时重新采集数据,避免模糊、遮挡、低纹理区域。

三. 新手如何避开常犯的三大典型误区?

平面不足——只有二维,没有三维:仅对一个静止平面进行多次拍摄,若该平面本身未发生空间姿态变化(即仅有平移、无旋转,尤其缺乏Z方向的高度变化),那么所有图像在几何上提供的信息本质上是冗余的——看似拍了20张,实则只相当于一张图像的约束。

解决方案至少从3~5个不同的空间位置进行拍摄;其中应包含 至少2~3次明显的高度变化(Z方向位移);平面不能仅做平移,必须引入旋转或倾斜。这样才能确保多视角图像提供真正独立的三维信息,支撑可靠的重建或标定。

姿态单一(没有旋转,就没有几何信息):如果标定过程中相机或标定板的姿态缺乏有效旋转——例如仅轻微倾斜、仅沿单一方向移动,或所有姿态几乎共面——那么各图像之间的几何差异极小。算法难以从中提取足够的三维约束,导致标定结果不稳定或精度低下。

解决方案: 覆盖X、Y、Z三个旋转轴,避免仅绕单一轴转动; 每个轴上的旋转角度建议不小于 10°–20°,以产生显著的视角变化; 姿态分布应尽量均匀,避免全部集中在同一空间象限(如只在左上前方),以提升标定的鲁棒性和参数可观测性。只有这样,才能为标定算法提供丰富且独立的几何信息。

角度过小:当旋转角度过小时,从数学和几何的角度来看,这些微小的变化几乎等同于没有旋转。这意味着算法无法有效捕捉到足够的空间变换信息,导致标定或重建的精度严重下降。

解决方案: 平面倾角应不小于15°,以保证有足够的几何变换; 图像中的角点需展示出明显的透视变化,这是评估平面是否正确旋转的重要指标之一,透视变化越大,提供的三维信息越丰富。

采购HandBot-S1

采购方式如下:

扫码查看手持扫描仪HandBot-S1产品详情
扫码添加客服微信, 或者联系:13451707958 咨询更多
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 9:10:13

光刻胶用屏蔽剂

一、光刻胶对光屏蔽剂性能的具体详细要求光屏蔽剂的核心作用是控制光在光刻胶膜中的传播行为,其主要性能要求可归纳为以下几点:精确的光学特性(核心要求)在曝光波长下具有高吸收系数(α):这是最…

作者头像 李华
网站建设 2026/5/29 18:47:02

<span class=“js_title_inner“>1篇搞懂AI通识:大白话拆解核心点</span>

引言随着 AI 技术从实验室走向日常,“机器学习”“大模型”“Transformer”“MOE” 等词汇已不再是技术圈的专属。从智能聊天助手到电商推荐,从语音识别到自动驾驶,AI 正以多元形态融入生活。这篇文章按 “基础→核心→优化→落地→工具→术语…

作者头像 李华
网站建设 2026/5/20 19:13:22

which命令

which命令,查看所使用的一系列命令的程序文件存放在哪里语法:which要查找的命令find 用于查找指定的文件按文件名查找:find起始路径 -name"被查找文件名"支持通配符按文件大小查找:find 起始路径-size1-n[kMG]

作者头像 李华
网站建设 2026/5/30 13:24:54

<span class=“js_title_inner“>ZYNQ MPSOC VCU介绍</span>

1 什么是VCU?VCU 的全称是 Video Codec Unit,即视频编解码单元, Zynq UltraScale MPSoC 系列产品分为三种类型,分别是 CG 型器件、 EG 型器件和 EV 型器件, 其中只有 EV 型器件集成了 VCU。 VCU 适用于视频监控和网络视频连接应用…

作者头像 李华
网站建设 2026/5/29 11:05:44

企业级社区养老服务系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着人口老龄化进程的加快,社区养老服务需求日益增长,传统的养老服务模式已难以满足现代社会的需求。社区养老服务系统的数字化、智能化成为提升服务效率和质量的关键。企业级社区养老服务系统通过整合资源、优化管理流程,为老年人提供便…

作者头像 李华
网站建设 2026/5/30 7:27:39

企业级在线互动学习网站管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着信息技术的快速发展和教育模式的数字化转型,企业级在线互动学习平台成为提升员工培训效率和知识管理的重要工具。传统线下培训模式受限于时间和空间,难以满足现代企业灵活、高效的学习需求。在线学习系统通过实时互动、个性化课程推荐和数据分…

作者头像 李华