如何保证工业相机工作的精准与稳定?

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确与稳定。

什么是相机标定?

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。

在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定。

计算机视觉的基本任务之一是依据相机获取的图像信息计算三维空间中物体的几何信息,并由此重建和识别物体。我们用简单的数学模型来表达复杂的成像过程,并且求出成像的反过程。标定之后的双目相机,可以进行三维场景的重建,这是计算机视觉的一大分支。


经典的针孔相机模型

e0147d5809c7d122b99de2826f485d90.png

小孔成像的实验大家都很熟悉,如上图,依据这个实验也可以抽象出一个经典的针孔相机模型,如下图:

5f0f315442ed960a81133142c3bd4268.png

相机标定常用到四种坐标系,分别为:

 像素坐标系(u,v):描述物体成像后的像点在数字图像上(相片)的坐标,单位为个(像素数目)。

 成像平面坐标系(x,y):描述成像过程中物体从相机坐标系到图像坐标系的投影透射关系,单位为m。

 相机坐标系(xc,yc,  zc):原点落在相机上的三维坐标系,单位为m。

 世界坐标系(xw,yw,  zw):用户定义的三维世界的坐标系,为了描述目标物在真实世界里的位置而被引入,单位为m。

世界坐标系到相机坐标系的转换关系今天暂不讨论,我们把重点放在相机坐标系到成像平面坐标系的转换关系上。

上文中小孔成像实验的成像过程可以描述为一点通过针孔相机模型的示意图(如图A)。为了在数学上更方便描述,我们将相机坐标系和图像坐标系位置对调,变成图B所示的布置方式:

df5f6fcb66f9c0f83ca8f1c24ec53f3b.png

图A

87c8c928598b7820290183091e326a4b.png

图B

经过一系列推导,我们就可以得到一个结果转化公式:

cc3088a211df07a7c1bf2bed362928b9.png

透镜的畸变

透镜的畸变主要分为径向畸变和切向畸变:

径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲,径向畸变主要包括桶形畸变和枕形畸变两种。以下分别是枕形和桶形畸变示意图。

ae87eb6a6e01d8cc319c3b4f94caf665.png

切向畸变是由于透镜本身与图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。

 799f828754b070c5e6e6c98592c1a45b.png

常用的相机标定方法

常用的相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法。

 传统相机标定法

传统相机标定法需要使用尺寸已知的标定物,通过建立标定物上坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。根据标定物的不同可分为三维标定物和平面型标定物。传统相机标定法在标定过程中始终需要标定物,且标定物的制作精度会影响标定结果。

 主动视觉相机标定法

基于主动视觉的相机标定法是指已知相机的某些运动信息对相机进行标定。该方法不需要标定物,但需要控制相机做某些特殊运动,利用这种运动的特殊性可以计算出相机内部参数。基于主动视觉的相机标定法的优点是算法简单,往往能够获得线性解,故鲁棒性较高,缺点是系统的成本高、实验设备昂贵、实验条件要求高,而且不适合于运动参数未知或无法控制的场合。

 相机自标定法

相机自标定算法主要是利用场景中的一些平行或者正交的信息。其中空间平行线在相机图像平面上的交点被称为消失点,它是射影几何中一个非常重要的特征,所以很多学者研究了基于消失点的相机自标定方法。自标定方法灵活性强,可对相机进行在线定标。但由于它是基于绝对二次曲线或曲面的方法,其算法鲁棒性差。

e5c116db3fe122aa9ba9d14f096a90fc.png

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

99a0bfc05ec21c51c0a491484696fa7b.png

7cfaf5d73b22be52eaddc0c851aa9a07.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值