0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

张正友标定算法是什么意思

工程师邓生 来源:简书 作者:molangwu 2022-08-22 10:07 次阅读

”张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法。文中提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。

原理

1.计算外参

设三维世界坐标的点为M=[X,Y,Z,1]T,二维相机平面像素坐标为m=[u,v,1]T,所以标定用的棋盘格平面到图像平面的单应性关系为:sm=A[R,t]M
其中

a1340604-20fc-11ed-ba43-dac502259ad0.jpg


不妨设棋盘格位于Z = 0,定义旋转矩阵R的第i列为 ri, 则有:

a14af4fe-20fc-11ed-ba43-dac502259ad0.jpg


H=[h1 h2 h3]=λA[r1 r2 t]

于是空间到图像的映射可改为:sm=HM

其中H是描述Homographic矩阵,H是一个齐次矩阵,所以有8个未知数,至少需要8个方程,每对对应点能提供两个方程,所以至少需要四个对应点,就可以算出世界平面到图像平面的单应性矩阵H

a155cfa0-20fc-11ed-ba43-dac502259ad0.jpg


外参具体计算公式。注意:R3是 t

一般而言,求解出的R = [r1 r2 t] 不会满足正交与归一的标准

在实际操作中,R 可以通过SVD分解实现规范化(详见原文)

2.计算内参

由r1和r2正交,且r1和r2的模相等,可以得到如下约束:

a1666ef0-20fc-11ed-ba43-dac502259ad0.jpg

正交

a1772826-20fc-11ed-ba43-dac502259ad0.jpg

模相等

a185f6f8-20fc-11ed-ba43-dac502259ad0.jpg

a18ecf30-20fc-11ed-ba43-dac502259ad0.jpg

可以推到出

a19f777c-20fc-11ed-ba43-dac502259ad0.jpg

根据推到的结果可知如果有n组观察图像,则V 是 2n x 6 的矩阵

根据最小二乘定义,V b = 0 的解是 VTV 最小特征值对应的特征向量。

因此, 可以直接估算出 b,后续可以通过b求解内参

因为B中的未知量为6个,

所以当观测平面 n ≥ 3 时,可以得到b的唯一解

当 n = 2时, 一般可令畸变参数γ = 0

当 n = 1时, 仅能估算出α 与 β, 此时一般可假定像主点坐标 u0 与 v0 为0

内部参数可通过如下公式计算(cholesky分解):

a1a98140-20fc-11ed-ba43-dac502259ad0.jpg

内参具体计算公式

3.最大似然估计

上述的推导结果是基于理想情况下的解,但由于可能存在高斯噪声,所以使用最大似然估计进行优化。设我们采集了n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个。令第i副图像上的角点Mj在上述计算得到的摄像机矩阵下图像上的投影点为:

a1b9b60a-20fc-11ed-ba43-dac502259ad0.jpg

这里的K为相机内参矩阵A

其中Ri和ti是第i副图对应的旋转矩阵和平移向量,K是内参数矩阵。则角点mij的概率密度函数为:

a1c4fa88-20fc-11ed-ba43-dac502259ad0.jpg

这里的K为相机内参矩阵A

构造似然函数:

a1d2049e-20fc-11ed-ba43-dac502259ad0.jpg

这里的K为相机内参矩阵A

让L取得最大值,即让下面式子最小。这里使用的是多参数非线性系统优化问题的Levenberg-Marquardt算法[2]进行迭代求最优解。

a1df8632-20fc-11ed-ba43-dac502259ad0.jpg

这里的K为相机内参矩阵A

4.径向畸变估计

张氏标定法只关注了影响最大的径向畸变。则数学表达式为:

a1ed3624-20fc-11ed-ba43-dac502259ad0.jpg


其中,(u,v)是理想无畸变的像素坐标,(u,v)(u,v)是实际畸变后的像素坐标。(u0,v0)代表主点,(x,y)是理想无畸变的连续图像坐标,(x,y)(x,y)是实际畸变后的连续图像坐标。k1和k2为前两阶的畸变参数。

a1f635f8-20fc-11ed-ba43-dac502259ad0.jpg


化作矩阵形式:

a20022c0-20fc-11ed-ba43-dac502259ad0.jpg


记做:Dk=d

则可得:

a20b143c-20fc-11ed-ba43-dac502259ad0.jpg


计算得到畸变系数k。

使用最大似然的思想优化得到的结果,即像上一步一样,LM法计算下列函数值最小的参数值:

a2154876-20fc-11ed-ba43-dac502259ad0.jpg

这里的K为相机内参矩阵A

到此,张氏标定法介绍完毕。我们也得到了相机内参、外参和畸变系数。

相机标定步骤

打印一张棋盘格A4纸张(黑白间距已知),并贴在一个平板上

针对棋盘格拍摄若干张图片(一般10-20张)

在图片中检测特征点(Harris特征)

利用解析解估算方法计算出5个内部参数,以及6个外部参数

根据极大似然估计策略,设计优化目标并实现参数的refinement。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像机
    +关注

    关注

    3

    文章

    1464

    浏览量

    59250
  • 计算机视觉
    +关注

    关注

    8

    文章

    1614

    浏览量

    45717
  • SVD
    SVD
    +关注

    关注

    0

    文章

    21

    浏览量

    12097

原文标题:张正友标定算法原理详解

文章出处:【微信号:机器视觉沙龙,微信公众号:机器视觉沙龙】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    相机标定中各种标定板介绍以及优缺点分析

    在选择标定板时,一个重要的考虑因素是它的物理尺寸。这最终关系到最终应用的测量视场(FOV)。这是因为相机需要聚焦在特定的距离上标定。改变焦距长度会轻微地影响对焦距离,这会影响之前的标定。即使是光圈的改变通常也会对
    的头像 发表于 11-25 14:36 635次阅读
    相机<b class='flag-5'>标定</b>中各种<b class='flag-5'>标定</b>板介绍以及优缺点分析

    浅析传感器的外参标定和在线标定问题

    作为无人车以及智能机器人而言,在装配过程中各个传感器之间的外参标定一直是比较头疼的问题。这里作者也系统的学习了一下,传感器的外参标定和在线标定问题。
    发表于 11-20 15:45 496次阅读
    浅析传感器的外参<b class='flag-5'>标定</b>和在线<b class='flag-5'>标定</b>问题

    什么是视觉标定,机器人标定基本原理

    那么什么是标定呢?标定(calibration)包含两方面的意思:一是指使用标准的计量仪器对所使用仪器或设备的准确度(精度)进行检测,确认是否符合标准;二是校准,消除误差。
    发表于 11-10 10:09 1531次阅读
    什么是视觉<b class='flag-5'>标定</b>,机器人<b class='flag-5'>标定</b>基本原理

    相机标定究竟在标定什么?

    这个逼近的过程就是「相机标定」,我们用简单的数学模型来表达复杂的成像过程,并且求出成像的反过程。标定之后的相机,可以进行三维场景的重建,即深度的感知,这是计算机视觉的一大分支。
    的头像 发表于 10-18 17:00 705次阅读
    相机<b class='flag-5'>标定</b>究竟在<b class='flag-5'>标定</b>什么?

    基于激光雷达相机的在线外部标定算法

    本文提出了一种自动在线激光雷达相机自标定方法CFNet。CFNet是全自动的,不需要特定的校准场景、校准目标和初始校准参数。我们定义一个校准流来表示初始投影点的位置与地面真值之间的偏差。
    发表于 10-10 11:44 560次阅读
    基于激光雷达相机的在线外部<b class='flag-5'>标定</b><b class='flag-5'>算法</b>

    TSMaster—CCP/XCP标定功能详解

    众所周知,CCP是CANCalibrationProtocolCAN标定协议的缩写,XCP是UniversalMeasurementandCalibrationProtocol通用测量与标定协议
    的头像 发表于 09-23 08:23 1194次阅读
    TSMaster—CCP/XCP<b class='flag-5'>标定</b>功能详解

    基于Camera-IMU的标定算法原理

    投影过程首先是算出归一化平面上点,然后再对归一化平面上点加rantan、equidistant畸变,最后再作用于内参焦距、主点,得到成像像素点坐标。
    发表于 08-08 11:41 378次阅读
    基于Camera-IMU的<b class='flag-5'>标定</b><b class='flag-5'>算法</b>原理

    什么是相机标定 常用相机标定的方法

    对于摄像机标定问题已提出了很多方法,摄像机标定的理论问题已得到较好的解决,对摄像机标定的研究来说,当前的研究工作应该集中在如何针对具体的实际应用问题,采用特定的简便、实用、快速、准确的标定
    发表于 08-04 12:54 2226次阅读
    什么是相机<b class='flag-5'>标定</b> 常用相机<b class='flag-5'>标定</b>的方法

    常见的机器人视觉伺服中的标定技术有哪些

    常见的机器人视觉伺服中要实现像素坐标与实际坐标的转换,首先就要进行标定,对于实现视觉伺服控制,这里的标定不仅包括摄像机标定,也包括机器人系统的手眼标定
    发表于 08-04 11:48 689次阅读
    常见的机器人视觉伺服中的<b class='flag-5'>标定</b>技术有哪些

    什么是电机标定?电机标定的工作原理

    假设已经实现了电机控制,后续的电机标定大抵上分成两类,一类是效率标定,一类是外特性标定。前者目标是以提升在各工况下的系统效率。假设你了解交直轴变换,那么效率标定的目标,就是通过调整交直
    发表于 08-04 10:26 3352次阅读
    什么是电机<b class='flag-5'>标定</b>?电机<b class='flag-5'>标定</b>的工作原理

    张正友标定方法是手眼标定吗 如何分析相机标定参数的好坏

    张正友标定方法是一种经典的相机标定方法,目前是最受欢迎的方法之一。该方法通过一种机器学习的方法,利用大量匹配的数据点像素坐标、世界坐标,基于极大似然估计拟合得到一个最优解。
    发表于 08-03 10:59 915次阅读
    张正友<b class='flag-5'>标定</b>方法是手眼<b class='flag-5'>标定</b>吗 如何分析相机<b class='flag-5'>标定</b>参数的好坏

    为什么要进行相机标定?相机标定有何意义?

    在大多数条件下,这些参数必须通过实验与计算才能得到。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。
    发表于 08-03 09:38 1553次阅读
    为什么要进行相机<b class='flag-5'>标定</b>?相机<b class='flag-5'>标定</b>有何意义?

    线结构光和面结构光问题整理

    为了验证相机标定算法的有效性,可以通过仿真实验来完成,而不必使用实际拍摄的棋盘格图像。其中一种方法是随机生成一组虚拟的相机位姿,然后利用投影算法将虚拟的标定板进行投影,生成虚拟图像。
    发表于 07-31 10:19 445次阅读
    线结构光和面结构光问题整理

    车辆中的标定概述

    标定概述 我们先看一张图,做过调试的同学额应该很熟悉,出问题了,要实车调试,我们带着电脑和canoe下去调试了。只不过这张图是讲标定的,我们通过can或者以太网接口卡,把标定参数刷到我的Ecu
    的头像 发表于 07-30 16:15 1341次阅读
    车辆中的<b class='flag-5'>标定</b>概述

    自动驾驶为什么要传感器标定车辆

    在初期阶段,一般需要维护测试车辆的标定,支持一些特定的标定需求,比如没有车辆的古老数据的标定,在标定间不完善的情况下快速标定一些传感器。
    发表于 07-28 15:24 405次阅读
    自动驾驶为什么要传感器<b class='flag-5'>标定</b>车辆