【无标题】

这里写自定义目录标题


机器视觉标定方法

机器视觉是采用相机成像来实现对三维场景的测量、定位、重建等过程。是一个利用二维图像进行三维反推的过程,我们所处的世界是三维的,而图像或者照片是二维的,可以把相机认为是一个函数,输入量是一个三维场景,输出量是一幅二维图像。正常来说,这个从三维到二维的过程是不可逆的。
如果我们能够找到一个合适的数学模型,来近似以上这个三维到二维的过程,然后找到这个数学模型的反函数,就可以实现二维到三维的的反过程,即:用简单的数学模型来表达复杂的成像过程,并且求出成像的反过程。

在前几篇文章《机器视觉模型——投影矩阵》以及《机器视觉模型——畸变模型》中,我们讨论了机器视觉的两个重要数学模型——投影成像模型和畸变模型,我们知道,这几个模型中都包含了若干个未知参数。那么这些未知参数如何获得?这就是相机标定的作用了。

2 相机标定的作用
如前所述,成像矩阵及畸变模型中包含了以下几个未知数:

内参矩阵:4个参数,f / d x f/dxf/dx、f / d y f/dyf/dy、u 0 u_0u
0

、v 0 v_0v
0


外参矩阵:6个参数,相机刚体的位姿,平移和旋转各3个参数。
畸变参数:5个参数,径向畸变3个k 1 k_1k
1

、k 2 k_2k
2

、k 3 k_3k
3

,切向畸变2个p 1 p_1p
1

、p 2 p_2p
2


相机标定:就是确定相机的内外参数、畸变参数的过程。
相机标定可以说是计算机视觉/机器视觉的基础,任务就是通过具有对应关系的像点和物点的点对,来解出模型的9个(内参+畸变)或15个(内参+畸变+外参)未知参数。 大多数相机标定都是为了标定出相机内参和畸变参数,因为外参属于相机位姿,工作过程中相机位姿是不断变化的,但有些应用,也需要同时标定出外参,即相机位姿。

3 相机标定常用方法
根据标定过程的数学模型,相机标定可以分为:
(1) 线性标定法:运算速度快,标定精度相对不高
(2) 非线性优化标定法:标定精度高,模型复杂,计算量大;
(3) 两步法:以上两者的结合,综合了两者的优缺点,如Tsai两步法、张氏标定法等。
下表给出了几类常用标定方法的对比。

标定方法 优点 缺点 常见方法
相机自标定法 灵活性强、可在线标定 精度低、鲁棒性差 分层逐步标定、基于Kruppa方程
主动视觉相机标定法 不需要标定物、算法简单、鲁棒性高 成本高、设备昂贵 主动系统控制相机做特定运动
标定物标定法 可使用于任意的相机模型、 精度高 需要标定物、算法复杂 Tsai两步法、张氏标定法
3.1 相机自标定法
相机自标定方法并不需要知道图像点的三维坐标,它通过计算某一点在不同拍摄角度的场景图中的相对关系来确定相机标定的参数问题。自标定法的这种特性,使得它能够完成一些未知相机参数的标定。
摄像机自标定方法仅仅利用图像点之间的对应关系或约束关系而不需要标定物就可以得出标定系统的内外参数,这就使得在一些相机任意运动或者复杂未知场景下的相机标定成为现实,这得益于20世纪90年代初,Luong, Faugeras, Maybank等首先提出的自标定概念。
目前,自标定的主要方法有:基于Kruppa方程的自标定法、分层逐步标定法。这些相机自标定方法都是通过相机内参数的约束关系来求解参数,完全忽略相机系统外部的环境,所以这种标定方法比其他方法更灵活,但是稳定性不高。

  1. 分层逐步标定法
    分层逐步标定法是先对图像的序列做射影重建,在重建的基础上进行仿射标定和欧式标定,通过非线性优化算法求得相机内外参数。由于初始参数是模糊值,优化算法收敛性不确定。

  2. 基于Kruppa的自标定法
    基于Kruppa的自标定法是通过二次曲线建立关于相机内参矩阵的约束方程,至少使用3对图像来标定相机。图像序列长度会影响标定算法的稳定性,无法保证射影空间中的无穷远平面。

3.2 基于主动视觉的标定方法
基于主动视觉的相机标定法是通过主动系统控制相机做特定运动,拍摄多组图像,依据图像信息和已知位移变化来求解相机内外参数。有两种典型的方法:一是使相机在三维空间稳定平移;二是使相机做参数固定的旋转运动。基于主动视觉的标定方法可以简化计算过程,并得到线性结果。这种方法的缺点是需要配备精准的控制平台、系统的成本高、而且对一些运动参数未知的场合和不能控制的场合不适用。

3.3 基于标定物的标定方法
区别于主动视觉标定法,在基于标定物的相机标定中标定物必不可少。它不仅需要明确大小、形状,还要确定物体表面的特殊点坐标。其原理就在于利用数学方法找出某一点的空间坐标和图像坐标的对应关系,进而求取相机参数。
典型的有:直接线性变换法(DLT)、Tsai两步法、张正友平面标定法等。其中,标定物又分为立体标定物和平面标定物。立体标定物标定方法操作简便,精度可靠。但是立体标定物制作成本昂贵,加工和维护比较困难,平面标定物制作简单,通过改进的算法也可以保证所需的精度,所以近年来的一些标定方法都是基于平面标定的基础来发展改进的。
基于标定物的相机标定法的标定精度对标定物有很高的要求,并且一些工作场合不适合其放置,这些情况也限制了应用范围。

  1. Tsai两步法
    Tsai两步法是先线性求得相机参数,之后考虑畸变因素,得到初始的参数值,通过非线性优化得到最终的相机参数。Tsai两步法速度较快,但仅考虑径向畸变,当相机畸变严重时,该方法不适用。

链接:https://pan.baidu.com/s/1_-qaS5bfLtODrgFa0HVMvw

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340