摄像机内外参计算过程
- 格式:doc
- 大小:106.50 KB
- 文档页数:4
监控摄像机镜头角度和距离计算
选用镜头焦距的理论计算:
摄取景物的镜头视场角是极为重要的参数,镜头视场角随镜头焦距及摄像机规格大小而变化其变化关系如前所述,覆盖景物镜头的焦距可用下述公式计算:
1
f=u·D/U
2f=h·D/H
f:镜头焦距、U:景物实际高度、H:景物实际宽度、D:镜头至景物实测距离、u:图像高度、h:图像宽度
举例说明:当选用1/2″镜头时,图像尺寸为u=4.8mm,h=6.4mm;镜头至景物距离D=3500mm,景物的实际高度为U=2500mm景物的实际宽度可由下式算出H=1.333·U,这种关系由摄像机取景器CCD片决定;将以上参数代入公式1中,可得f=4.8·3500/2500=6.72mm,故选用6mm定焦镜头即可;
摄像机拍摄的视角与镜头的毫米数、CCD的尺寸大小密不可分,下表为镜头毫米数与搭配的CCD拍摄视角的对应关系仅供参考;
镜头毫米数与搭配的CCD拍摄视角的对应关系
1/3″CCD搭配镜头拍摄范围的尺寸如下表所示:
备注:同样毫米数的镜头搭配1/4″的CCD芯片拍摄的范围和角度稍微窄一点,但是拍摄画面中的物体看起来要大一点.表中的数据为水平方向的视场角度,如果摄像机装在高处往低处监看时,视场角和拍摄范围要稍微大一些,但拍摄画面中的物体要稍微小一点;
1/3"CCD搭配镜头拍摄范围的尺寸
摄像机镜头与观察角度,观察距离关系图
监控摄像机镜头的选用。
公式视觉清晰度(等效VTVL)=标称电视线(TVL)*KrKr:凯尔系数,按照经验取0.7-0.75,表中取0.75采用隔行扫描方式的CCTV系统,显示或存储设备的垂直分辨率下降,其比例被称为凯尔系数。
焦距、视距和视场大小的关系f=w*L/Wf=h*L/Hf:镜头焦距w:图象宽度(被摄物体在靶面上成象宽度)W:被摄物体宽度L:被摄物体至镜头的距离h:图象高度(被摄物体在靶面上成像高度)H:被摄物体的高度,即视场(摄取场景)高度视角θh=2*ATAN(f/w)θv=2*ATAN(f/h)θh:水平视角θv:垂直视角f:镜头焦距w:图象宽度(被摄物体在靶面上成象宽度)h:图象高度(被摄物体在靶面上成像高度)分辨人脸特征的摄像最远距离(景深远界限)L2=f*H/hL2:景深远界限(m)f:镜头焦距(m)H:被摄物体的高度,取0.2m ,大约等于人脸的长度h:图象高度,取20个等效像素在靶面上的高度=靶面高(m)/等效VTVL*20弥散园(成像单元直径)δ=2*Dc/靶面对角线等效像素数=2*(Hc^2+Vc^2)^0.5/(等效VTVL^2+HV^2)^0.5δ:弥散园(mm),靶面对角线上2个视觉等效像素的直径Dc:靶面对角线长度(mm)Hc:靶面宽(mm)Vc:靶面高(mm)等效VTVL:视觉清晰度(在垂直方向上可观察分辨的水平条纹线数)HV:成像传感器水平分辨率(点)进入摄像机的光线在聚焦之后到达靶面形成扩散,光线落到每个成像点与其相邻的点,这个模糊的圆反应到画面上是可分辨因此,弥散园是摄像靶面上即相邻4个等效像素(横纵各2个)组成的圆的直径。
超视距H=f+f^2/(F*δ)H:超视距(m)f:镜头焦距(m)F:镜头光圈值δ:弥散园(m)注意,镜头焦距和弥散园δ的单位一般记为mm,这里要换算成m 。
景深L1=H*L/(H+L-f)L2=H*L/(H-L-f)ΔL=L2-L1L1:景深近界限(m),成像焦点对实的最近距离 L2:景深远界限(m),成像焦点对实的最远距离ΔL:景深(m)L:焦点处的物距(m)H:超视距(m)f:镜头焦距(m)在景深远界限L2的前提下,有L=L2*(H-f)/(H+L2)画面上是可分辨的最小显像单元。
镜头监控范围的计算公式在电视监控系统中如何根据现场被监视环境,正确选用监控摄像机镜头是非常重要的,因为它直接影响到系统组成后在系统末端监视器上所看到的被监视面画的效果能否满足系统的设计要求(就画面范围或图像细节而言),所以正确的选用监控摄像机镜头可以使系统得到最优化设计并可获得良好的监视效果。
监控摄像机镜头就光圈而言可分为手动光圈镜头及自动光圈镜头两种,就焦距而言又可分为定焦镜头及变焦镜头两种,下面就以使用环境的不同谈如何正确选用监控摄像机镜头。
1、.手动、自动光圈镜头的选用手动、自动光圈镜头的选用取决于使用环境的照度是否恒定,对于在环境照度恒定的情况下,如电梯轿箱内、封闭走廊里、无阳光直射的房间内,均可选用手动光圈镜头,这样可在系统初装调试中根据环境的实际照度,一次性整定镜头光圈大小,获得满意亮度画面即可。
对于环境照度处于经常变化的情况,如随日照时间而照度变化较大的门厅、窗口及大堂内等,均需选用自动光圈镜头(必须配以带有自动光圈镜头插座的监控摄像机),这样便可以实现画面亮度的自动调节,获得良好的较为恒定亮度的监视画面。
对于自动光圈镜头的控制信号又可分为DC及VIDEO控制两种,即直流电压控制及视频信号控制。
这在自动光圈镜头的类型选用上,监控摄像机自动光圈镜头插座的连接方式上,以及选择自动光圈镜头的驱动方式开关上,三者注意协调配合好即可。
2、定焦、变焦镜头的选用定焦、变焦镜头的选用取决于被监视场景范围的大小,以及所要求被监视场景画面的清晰程度。
在镜头规格(镜头规格一般分为1/3″、1/2″和2/3″等)一定的情况下,镜头焦距与镜头视场角的关系为:镜头焦距越长,其镜头的视场角就越小(见图1所示);在镜头焦距一定的情况下,镜头规格与镜头视场角的关系为:镜头规格越大,其镜头的视场角也越大。
所以由以上关系可知:在镜头物距一定的情况下,随着镜头焦距的变大,在系统末端监视器上所看到的被监视场景的画面范围就越小,但画面细节越来越清晰;而随着镜头规格的增大,在系统末端监视器上所看到的被监视场景的画面范围就增大,但其画面细节越来越模糊。
信息技术照相机计算公式
1、WD 物距工作距离(Work Distance,WD)。
2、FOV 视场视野(Field of View,FOV)
3、DOV 景深(Depth of Field)。
4、Ho:视野的高度
5、Hi:摄像机有效成像面的高度(Hi来代表传感器像面的大小)
6、PMAG:镜头的放大倍数
7、f:镜头的焦距
8、LE:镜头像平面的扩充距离
光学放大倍数=CCD靶面型号尺寸(V或者H)/视场尺寸(V或者H)=像的尺寸/实际物体的尺寸
1、相机的主要参数:感光面积SS(Sensor Size)
2、镜头的主要参数:焦距FL(Focal Length);最小物距Dmin (minimum Focal Distance)
3、其他参数:视野FOV(Field of View);像素pixel;FOVmin=SS (Dmin/FL)
如:SS=6.4mm,Dmin=8in,FL=12mm,pixel=640*480。
则:FOVmin=6.4(8/12)=4.23mm,4.23/640=0.007mm。
如果精度要求为0.01mm,1pixels=0.007mm<0.01mm。
结论:可以达到设想的精度。
摄像机四大关键参数图解信噪比:就是摄像机抵抗影像干扰的能力,信噪比越大约好。
目前主流摄像机的信噪比是52DB,最大的可以到60DB超宽动态:超宽动态是在非常强烈的对比下让摄像机看到影像的特色。
具有280:1的超宽动态范围,比传统摄像机只具有的3:1动态范围超出了90倍。
自然光线排列成从120,000Lux到星光夜里的0.00035Lux。
当摄像机从室内看窗户外面,室内照度为100Lux,而外面风景的照度可能是10,000Lux,对比就是10,000/100= 100:1。
这个对比人眼能很容易地看到,因为人眼能处理1000:1的对比度,然而传统的闭路监控摄像机处理它会有很大的问题,传统摄像机只有3:1的对比性能,它只能选择使用1/60秒的电子快门来取得室内目标的正确曝光,但是室外的影像会被清除掉(全白);或者换种方法摄像机选择1/6000秒取得室外影像完美的曝光,但是室内的影像会被清除(全黑)。
这是一个自从摄像机被发明以来就一直长期存在的缺陷。
背光补偿:背光补偿提供在非常强的背景光线前面目标的理想的曝光。
一个不具有背光补偿的普通摄像机,当一个主要目标后面的非常亮的背景或一个点光源是不可避免的,摄像机将取得所有近来光线的平均值并决定曝光的等级,这并不是一个好的方法,因为当快门速度增加的时候,光圈会被关闭导致主要目标变得太黑而不被看见。
为了克服这个问题,一种称为背光补偿的方法通过加权的区域理论被广泛使用在多数摄像机上。
影像首先被分割成7块或6个区域(两个区域是重复的),每个区域都可以独立加权计算曝光等级,例如中间部分就可以加到其余区块的9倍,因此一个在画面中间位置的目标可以被看得非常清晰,因为曝光主要是参照中间区域的光线等级进行计算。
然而有一个非常大的缺陷,如果主要目标从中闲移动到画面的上下左右位置,目标会变得非常黑,因为现在它不被区别开来已经不被加权。
解决上面问题的唯一方法就是智能化摄像机,当主要目标移动时相应的加权区域立刻随之移动,这个技术称为超级背光补偿。
监控摄像机镜头的计算公式一、焦距:焦距是指摄像机镜头的光轴到画面传感器(或胶片)所在平面的距离。
它与摄像机镜头的镜头组件有关,一般以毫米(mm)为单位表示。
根据光学公式,焦距与物距、像距之间的关系可以用以下公式表示:1/f=1/u+1/v其中,f表示焦距,u表示物距,v表示像距。
二、视角:视角是指摄像机镜头能够拍摄到的场景范围。
它与焦距和传感器尺寸有关,一般以度(°)或弧度(rad)为单位表示。
视角可以分为水平视角、垂直视角和对角线视角,它们之间的关系可以用三角函数表示:h = 2 * arctan(w / (2f))v = 2 * arctan(h / (2f))d = 2 * arctan(sqrt(w^2 + h^2) / (2f))其中,h表示水平视角,v表示垂直视角,d表示对角线视角,w表示传感器的水平尺寸。
三、分辨率:分辨率是指图像中能够分辨的细节数量,一般以像素(Pixel)为单位表示。
分辨率可以分为水平分辨率和垂直分辨率,它们的乘积即为总分辨率。
根据光学公式,分辨率与物距、像距、传感器尺寸和焦距之间的关系可以用以下公式表示:m=(IA/IB)*(u/v)其中,m表示放大倍数,IA表示物体在像上的尺寸,IB表示物体在物上的尺寸,u表示物距,v表示像距。
此外,还有一些其他的常用计算公式:1. 区域面积计算公式:area = width * height其中,width表示画面宽度,height表示画面高度。
2. 距离计算公式:distance = (object height * focal length) / (sensor height)其中,object height表示物体的实际高度,focal length表示焦距,sensor height表示传感器的高度。
以上公式提供了一些常用的计算方法,但是需要注意的是,实际计算中还需要考虑到一些实际因素,如畸变、透镜的质量等。
两个相机之间的标定
相机标定是指确定相机内外参数的过程。
相机的内参数包括焦距、主点、相机畸变等,外参数包括相机的位置和朝向。
在进行相机标定之前,首先需要准备一个标定板,该标定板上有已知世界坐标的特征点,可以是一个二维平面图案。
标定的步骤如下:
1. 摆放标定板:将标定板放置在摄像机观察范围内的不同位置和角度,确保标定板上的特征点被摄像机观测到。
2. 检测特征点:使用相机采集图像,并使用计算机视觉算法检测标定板上的特征点。
3. 提取特征点:对于每个图像中检测到的特征点,将其与对应的已知世界坐标关联起来。
4. 求解相机内外参数:使用标定板上的已知世界坐标和对应的图像坐标,通过相机标定算法求解相机的内外参数。
5. 验证标定结果:使用求解得到的相机内外参数重投影标定板上的特征点,并与实际图像中检测到的特征点进行比较,评估标定结果的准确性。
通过以上步骤,可以完成两个相机之间的标定,即求解两个相机的内外参数,用来进行后续的双目视觉任务,例如深度估计、立体匹配等。
张氏标定法张正友针对径向畸变问题提出了一个新的求解摄像机内外参数的方法,即张氏标定法,该方法是介于传统标定和自标定之间的一种方法,它只需要摄像机对某个标定板从不同方向拍摄多幅图片,通过标定板上每个特征点和其像平面的像点间的对应关系,即每一幅图像的单应矩阵来进行摄像机的标定,由于该方法模板制作容易,使用方便,成本低,鲁棒性好,准确率高,因此得到了较为广泛的应用【49】。
该算法也属于两步法,摄像机和模板可以自由的移动,不需要知道运动参数。
本文即采用张氏摄像机标定的方法。
(1) 单应矩阵H 的计算由前面所述内容可知,根据摄像机针孔成像模型,可以得到下面的等式:[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11][1321W W W W W W Z Y X t r r r A Z Y X t R A v u s 现在世界坐标系平面置于标定模板所在的平面,即0=W Z 。
则上式可变为如下形式:[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡110][121W W W W Y X t r r A Y X t R A v u s 其中,i r 表示旋转矩阵R 的第i 列向量。
令[]TYX M 1~=,[]Tv u m1~=,则上式可简写为:M H m s ~~=其中:[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡===1][323123222113121132121h h h h h h h h h h h t r r A H H 即为单应性矩阵。
有M H ms ~~=式子可以推出: ⎪⎩⎪⎨⎧++=++=++=13231232221131211h X h s h Y h X h sv h Y h X h su 从而推得:⎩⎨⎧++=++++=++23222132311312113231h Y h X h v vYh vXh h Y h X h u uYh uXh 令:[]3231232221131211'h h h h h h h h h =则:0'10000001=⎥⎦⎤⎢⎣⎡------h v vYvXYXu uY uX Y X 上式可以看作0'=Sh ,那么矩阵S S T最小特征值所对应的特征向量就是该方程的最小二乘解。
摄像机标定中的相机内外参数求解方法摄像机标定是计算机视觉和图像处理领域中的重要问题之一。
它涉及到确定相机的内外参数,以便准确地将图像上的像素坐标转换为物理世界中的真实坐标。
相机内外参数的求解方法有多种,本文将介绍一些常用的方法和算法。
一、相机内参数求解方法相机内参数是指描述相机固有特性的参数,包括焦距、主点坐标和像素间距等。
求解相机内参数的方法主要包括棋盘格法和直接线性变换法。
1. 棋盘格法棋盘格法是一种简单而有效的相机标定方法。
它通过在摄像机视野内放置一个已知尺寸的棋盘格,并利用图像中棋盘格的角点位置与实际物理世界中棋盘格的角点位置之间的对应关系来求解相机的内参数。
具体步骤如下:1) 在摄像机视野内放置一个已知尺寸的棋盘格。
2) 使用相机拍摄多张包含棋盘格的图像。
3) 对每张图像进行角点检测,找到图像中棋盘格的角点。
4) 利用检测到的角点位置和实际物理世界中角点的位置之间的对应关系,使用最小二乘法求解相机的内参数。
2. 直接线性变换法直接线性变换法是另一种常用的相机内参数求解方法。
它通过拍摄多张图像,利用相机的投影模型和对应的图像点与物理世界点之间的对应关系,建立一个线性方程组,然后使用最小二乘法求解该线性方程组,得到相机的内参数。
具体步骤如下:1) 使用相机拍摄多张不同角度和姿态的图像。
2) 提取每张图像中的对应特征点,建立图像坐标与物理世界坐标之间的对应关系。
3) 根据相机的投影模型,将图像坐标转换为物理世界坐标。
4) 建立线性方程组,将物理世界坐标和相机的内参数之间的关系表示为一个线性方程组。
5) 使用最小二乘法求解该线性方程组,得到相机的内参数。
二、相机外参数求解方法相机外参数是指描述相机相对于世界坐标系的姿态和位置的参数,包括旋转矩阵和平移向量等。
求解相机外参数的方法主要包括直接线性变换法和非线性优化法。
1. 直接线性变换法直接线性变换法可以同时求解相机的内外参数。
它通过拍摄多张已知物理世界坐标和对应图像坐标的图像,利用相机的投影模型和对应的图像点与物理世界点之间的对应关系,建立一个线性方程组,然后使用最小二乘法求解该线性方程组,得到相机的内外参数。
摄像机位置和镜头参数解算方法用老方法通过一张静态图片解算摄像机位置和镜头参数(Deducing the camera position and lens from a still image,but doing it "old school".)虽然这是一个通过图片来测量和获取摄像机数据的好方法,但它并不是万能的。
同样,有时候在电影胶片和其它拍摄素材中我们也需要找出摄像机的相关信息,在没有跟踪程序的前提下,我们可以通过基础几何学的方法来解决。
这里有几个关于摄像机拍摄的十分重要的技术我们需要提前掌握。
第一,什么是摄像机的相对位置?摄像机离地面的高度俯仰角度(dutch tilt 荷兰式上下直摇—又称“Dutch Angle”及角度外镜头(off-angle shot),摄影机偏斜到一边,画面的顶端和底部与该场景的水平轴线并非平行的镜头;当结合其它摄影机角度时,称为斜角镜头(oblique)而不称荷兰式或角度外镜头)倾斜(水平)角度第二,使用的是什么镜头垂直夹角水平夹角这些信息对于在镜头中添加三3D物体甚至准备数字Matte paintings十分有用。
这个方法可以用照片和画板来解决,但是用数码像片和photoshop会更简单。
你需要准备一张没有被剪切的相片—能够看到整个图像区域(1:1)如果图像来自电影胶片的话,它最好能达到胶片的曝光边缘,从而确保胶片没有被剪裁,这样我们才能获得正确的纵横比。
在场景中,必须有两条可见的互相垂直的直线—正如我图中的这个建筑,或者是其它结构—最好是人造的。
在photoshop中打开这张图片,—首先要找到它的视觉中心(就是这张画面的几何中心),连接左上(TL)右下(BR)和右上(TR)左下(BL)对角线,这两条线的相交点就是这个画面的中心,然后通过中心点画出水平和垂直线,如下图所示接下来我们就要通过两点透视的原理找出左边&右边的灭点,首先要扩展photoshop画布(canvas)的左右空间,从而为画出画面的透视线提供足够的的空间。
DLT标定法1. 介绍DLT(Direct Linear Transform)标定法是一种用于摄像机标定的常用方法。
摄像机标定是指确定相机内外参数的过程,以便在图像中进行准确的测量和三维重构。
DLT标定法通过建立世界坐标系和图像坐标系之间的对应关系,来估计相机的内外参数。
在计算机视觉领域,摄像机标定是非常重要的基础工作,它广泛应用于计算机视觉、增强现实、虚拟现实等领域。
DLT标定法是其中最基础且常用的方法之一。
2. 标定原理DLT标定法基于投影几何原理,假设世界坐标系中的三维点P(x, y, z)通过相机投影变换得到图像平面上的二维点p(u, v)。
该变换可以表示为:s * [u v 1]ᵀ = H * [x y z 1]ᵀ其中,s为缩放因子,H为3x4的投影矩阵。
假设我们有n对已知的三维点P和对应的二维点p,我们可以将这些对应关系表示为:sᵢ * [uᵢ vᵢ 1]ᵀ = H * [xᵢ yᵢ zᵢ 1]ᵀ,i = 1, 2, ..., n将上述等式展开,可以得到:uᵢ = (h₁₁ * xᵢ + h₁₂ * yᵢ + h₁₃ * zᵢ + h₁₄) / (h₃₁ * xᵢ + h₃₂ * yᵢ + h₃₃ * zᵢ + h₃₄)vᵢ = (h₂₁ * xᵢ + h₂₂ * yᵢ + h₂₃ * zᵢ + h₂₄) / (h₃₁ * xᵢ + h₃₂ * yᵢ + h₃₃ * zᵢ + h₃₄)我们可以将上述公式整理成矩阵形式:⎡ u₁⎡ ⎡ x₁ y₁ z₁ 1 ⎡ ⎡ h₁₁/h₃₁ h₁₂/h₃₁ h₁₃/h₃₁ h₁₄/h₃₁⎡ ⎡ s⋅û⎡⎡ u₂ ⎡ ⎡ x₂ y₂ z₂ 1 ⎡ ⎡ h₂₁/h₃₂ h₂₂/h₃₂ h₂₃/h₃₂ h₂₄/h₃₂⎡ ⎡ s⋅v⎡⎡⎡ . ⎡ = ⎡ . . . . ⎡ * ⎡ . . . . ⎡ = ⎡ .⎡⎡ . ⎡ ⎡ . . . . ⎡ ⎡ . . . . ⎡ ⎡ .⎡⎡ u⎡ ⎡ ⎡ x⎡ y⎡ z⎡ 1 ⎡ ⎡ h⎡₁/h₃⎡ h⎡₂/h₃⎡ h⎡₃/h₃⎡ h⎡₄/h₃⎡⎡ ⎡ s⋅û⋅v⎡⦁hʲ₁₂/hʲ₁₁ + û² + v⎡²⦁hʲ₁₂²/hʲ₁₁² - hʲ₂₂ - hʲ₂₂²) / (hʲ₁₂ * v⎡ + hʲ₁₀ -û)其中,û和v⎡为归一化的图像坐标,s为缩放因子。
23362009,30(9)计算机工程与设计Computer Engineering and Design0引言计算机视觉的基本任务是从获取图像信息出发计算三维空间中物体的几何信息,而空间物体表面某点与图像上对应点的关系是由摄像机在空间所处的位置及其成像的几何模型决定的,也就是摄像机的外参数和内参数。
确定内外参数的过程就是摄像机标定的过程[1-2]。
内部参数指的是摄像机成像的基本参数,如主点(图像中心)、焦距、径向镜头畸变、偏轴镜头畸变和其它系统误差参数。
外部参数指的是摄像机在空间坐标系中的方位角和位置,即摄像机坐标系和物体坐标系之间的转换关系。
目前的摄像机标定方法一般可以分为两种:一是线性求解方程组的标定方法;二是利用非线性优化的非线性标定方法。
线性方法简单,可以实现在线处理,但由于没有考虑旋转矩阵的正交约束条件,对噪声非常敏感。
非线性方法可以得到比较精确的解,并且用牛顿法求解时,收敛速度是二次的。
然而,这种方法依赖于初始估计,有时收敛到非可行区域。
本文我们研究外部参数即旋转矩阵的确定问题。
由于旋转矩阵即特殊正交矩阵SO 3是一个光滑流形[3]。
所以我们用基于光滑流形上的最优化算法来讨论旋转矩阵的标定问题。
有关流形上的最优化算法参见文献[4~8]。
这种算法的特点是通过流形上的测地线搜索最优解,这样可以确保所得的解是流形上的点。
如果用测地线在特殊正交矩阵SO 3上搜索最优解,则最优解是正交矩阵,所以称这种方法是保结构算法。
1摄像机成像原理为了说明摄像机的标定原理,需要了解摄像机在空间中的摄影成像透视原理。
为了描述摄像机的几何模型,需要借助两个坐标系统。
在图1中,欧式世界坐标系o —xyz ,又称三维世界坐标系;欧式摄像机坐标系o —x'y'z',其原点o 位于镜头的物方主点,即光心位置,z'轴与镜头的光轴重合,方向由镜头指向物方。
给定一个点的3D 坐标m i =(x i ,y i ,z i )T ,i=1,2,…,n,n ≥3,相应的摄像机坐标为u i =(x i ',yi',z i ')T ,两坐标的变换为,其中R ∈SO 3和t ∈R 3分别是世界坐标系向摄像机坐标系转化的旋转和平移矩阵,这两个参数完全由摄像机相对于世界坐标收稿日期:2008-05-07;修订日期:2009-02-10。
摄像机内外参计算过程罗海风2011-2-281.对内参的初始化:涉及函数:init_intrinsic_param_fisheye.m输入:x_1,x_2,x_3,…--角点的图像坐标,X_1,X_2,X_3,…--角点的世界坐标;输出:所有内参,包括摄像机焦距fc,摄像机坐标系原点在图像上的坐标cc,几何畸变系数kc,斜交系数alpha_c,摄像机矩阵KK(包含以上系数)。
焦距的初始值:fc=max(,)_max(,)nx nyf initnx nyππ⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦原点坐标的初始值设为图像中心处,即cc=0.50.5 _0.50.5nxc initny-⎡⎤=⎢⎥-⎣⎦计算内参时不考虑畸变,畸变系数初始值为零,即kc=0 _0 k init⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦不考虑摄像机坐标轴夹角非正交情况,即alpha_c=_0alpha init=内参数矩阵初始值max(,)00.50.5max(,)00.50.5001nx nynxnx nyKK nyππ⎡⎤-⎢⎥⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦-------------------(1)2.对外参的初始化:涉及函数:comp_ext_calib_fisheye.m功能:主要是调用compute_extrinsic_init_fisheye.m 和compute_extrinsic_refine_fisheye.mcompute_extrinsic_init_fisheye.m输入:像点的世界坐标和图像坐标x_kk 和X_kk,以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckkcompute_extrinsic_refine_fisheye.m输入:像点的世界坐标和图像坐标x_kk 和X_kk,最大迭代次数MaxIter 以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckk对像点世界坐标和图像坐标进行整理(整理过程考虑到坐标变换和畸变模型,涉及normalize_pixel_fisheye .m 输入:像点图像坐标x_kk,所有内参fc,cc,kc,alpha_c;输出:标准化无畸变图像坐标xn )。
相机内外参标定相机内外参标定是计算机视觉和机器人学等领域中的一个重要问题,其主要目的是确定相机在空间中的位置和方向,以便进行精确的三维重构、位姿估计、目标跟踪等任务。
相机内参是指相机自身的内部参数,如焦距、主点位置、畸变参数等,而相机外参则是指相机在空间中的位置和方向,通常用欧拉角或四元数表示。
下面介绍一些常用的相机内外参标定方法:1.Zhang标定法Zhang标定法是最常见的相机标定方法之一。
它通过多张棋盘格图像来计算相机内参和外参,具体步骤如下:(1)拍摄多张棋盘格图像,保证棋盘格位于不同的位置和角度;(2)提取棋盘格角点,根据角点坐标和真实世界坐标系的对应关系,计算相机内参;(3)利用相机内参和角点坐标的对应关系,计算相机外参。
2.DLT算法DLT算法(Direct Linear Transformation)也是常用的相机标定方法之一。
DLT算法通过利用一些已知的空间点和它们在图像中的对应点,计算出相机内参和外参。
具体步骤如下:(1)选取一些已知的空间点,记录它们在图像中的对应点坐标;(2)利用这些已知的空间点和对应点坐标,计算出相机的投影矩阵;(3)将投影矩阵分解为相机内参和外参。
3.光束法平差光束法平差是一种基于最小二乘法的相机标定方法。
它利用多张图像中的共同点,通过最小化误差平方和来计算相机内参和外参。
具体步骤如下:(1)对每张图像中的共同点,计算出它们在世界坐标系中的真实位置;(2)对每张图像中的共同点,计算出它们在相机坐标系中的投影位置;(3)通过最小化投影位置与真实位置之间的误差平方和,计算出相机内参和外参。
以上是常用的相机内外参标定方法,其中Zhang标定法和DLT算法比较简单易实现,适用于多种不同类型的相机,而光束法平差则更加精确和稳定,适用于高精度、高要求的任务。
空三相机参数计算是摄影测量学中的一项重要任务,它需要通过特定的算法来计算相机的内部参数和外部参数。
这些参数包括镜头畸变系数、光心坐标、主光轴倾斜角度等。
以下是关于空三相机参数计算的一般步骤和参数计算方法:步骤:1. 收集数据:需要一组或多组已知坐标的地面控制点,以及对应的像片上同名点的坐标。
这些数据通常由外业测量获得。
2. 安装和调整相机:确保相机安装稳定,且镜头轴线与主光轴保持一致。
3. 建立模型:选择合适的相机参数模型,如针孔相机模型或单应性模型,并根据所选模型进行参数计算。
4. 预处理数据:对拍摄的图像进行预处理,包括畸变校正、去噪、二值化等,以提高后续参数估计的精度。
5. 特征提取:从预处理后的图像中提取待求参数的特征,如直线、圆弧、角点等。
6. 估计参数:使用特定的算法对特征数据进行参数估计,包括内部参数(镜头畸变系数等)和外部参数(光心坐标、主光轴倾斜角度等)。
7. 验证和校核:通过与已有数据进行比较,验证参数估计的准确性和可靠性。
必要时,可以进行相应的校核和调整。
关于相机参数的计算方法,主要有以下几种:1. 最小二乘法:通过建立待求参数与特征数据之间的误差平方和为目标函数,利用最小化方法求解参数。
这种方法具有较高的精度和稳定性。
2. 主成分分析法:通过将原始特征数据投影到主成分上,降低计算复杂度,提高计算效率。
同时,主成分分析法能够有效地减少噪声干扰,提高参数估计的准确性。
3. 直接线性反解法:这种方法适用于具有简单几何结构的光学系统,如单应性模型。
通过求解线性方程组,可以直接得到相机的内部和外部参数。
需要注意的是,空三相机参数计算是一个复杂的过程,需要选择合适的算法和参数模型,并进行充分的验证和校核。
同时,在实际应用中,还需要考虑环境因素、相机性能等因素对参数估计的影响,并进行相应的校准和修正。
双摄深度计算基本原理近年来,随着智能手机的不断发展,双摄技术已经成为手机摄影领域的一个重要突破。
而双摄深度计算,作为双摄技术的一项核心功能,更是为用户带来了全新的拍摄体验。
双摄深度计算的基本原理是通过两个摄像头的同时拍摄,然后利用计算机算法将这两个图像进行融合和分析,从而准确地计算出场景中物体的深度信息。
这种基于双摄的深度计算技术,可以模拟出人眼的立体视觉效果,使得照片或者视频更加真实、立体、自然。
具体来说,双摄深度计算的过程可以分为以下几个步骤:1. 深度初始估计:首先,通过两个摄像头同时拍摄的图像,计算机需要对图像进行初始的深度估计。
这一步骤通常使用一些经典的计算机视觉算法,如立体匹配等。
通过对两个图像中的像素进行匹配,计算机可以得到一个初步的深度图。
2. 深度优化:在得到初始深度图后,需要对深度图进行优化处理。
这一步骤通常利用一些优化算法,如图像分割、边缘检测等,对深度图进行进一步的处理和修正,以得到更加准确的深度信息。
3. 深度融合:在深度优化之后,计算机需要将两个摄像头的深度信息进行融合。
这一步骤通常使用一些融合算法,如加权平均、高斯模糊等,将两个深度图融合成一个更加准确的深度图。
4. 深度应用:最后,得到的深度图可以应用于各种场景中。
例如,在拍摄照片时,可以通过深度信息进行景深模拟,实现背景虚化效果;在拍摄视频时,可以通过深度信息进行运动跟踪,实现虚拟现实等特效。
双摄深度计算技术的出现,使得手机摄影能够更好地还原真实世界的立体效果。
通过精确计算物体的深度信息,双摄深度计算技术不仅可以提供更加真实的照片和视频,还可以为用户带来更多的拍摄创意和乐趣。
未来,随着技术的不断进步,双摄深度计算技术有望在更多领域发挥重要作用,为用户带来更加丰富多样的摄影体验。
多点标定公式多点标定是指在摄像机成像过程中,通过采集一系列已知世界坐标和对应图像坐标的点,从而得到摄像机的内外参数的过程。
多点标定广泛应用于计算机视觉、机器人导航、增强现实等领域,对于精确测量和三维重构非常重要。
本文将介绍多点标定的基本原理以及常用的多点标定公式。
多点标定的基本原理是通过已知的世界坐标和对应的图像坐标点,建立摄像机的投影方程和透镜畸变模型,然后通过最小化误差的方法,得到摄像机的内外参数。
首先,我们需要建立摄像机的投影方程。
假设世界坐标系为XYZ,图像坐标系为xy,摄像机的坐标原点位于摄像机的光心(光心即是摄像机镜头的中心点),摄像机的坐标系与世界坐标系之间通过旋转矩阵R和平移矩阵T进行转换。
则投影方程可以用以下公式表示:x = f * (X/Z) + cxy = f * (Y/Z) + cy其中,x和y为图像坐标系中的点,X、Y和Z为世界坐标系中的点,f为摄像机的焦距,cx和cy为图像坐标的主点(图像坐标系原点在图像中心),R为旋转矩阵,T为平移矩阵。
通过多点标定可以得到这些参数的估计值。
然而,在实际应用中,透镜畸变是不可避免的。
透镜畸变会导致图像中的直线变形和图像中心点的偏移。
常见的透镜畸变有径向畸变和切向畸变。
针对径向畸变,我们可以使用畸变参数k1、k2和k3来建立透镜畸变模型。
畸变后的图像坐标可以用以下公式表示:x' = x * (1 + k1 * r^2 + k2 * r^4 + k3 * r^6)y' = y * (1 + k1 * r^2 + k2 * r^4 + k3 * r^6)其中,r^2 = x^2 + y^2,x’和y’为畸变后的图像坐标。
针对切向畸变,我们可以使用畸变参数p1和p2来进行校正。
畸变后的图像坐标可以用以下公式表示:x'' = x' + (2 * p1 * x' * y' + p2 * (r^2 + 2 * x'^2))y'' = y' + (p1 * (r^2 + 2 * y'^2) + 2 * p2 * x' * y')其中,x''和y''为经过切向畸变校正后的图像坐标。
双摄深度计算基本原理在现代手机摄影技术中,双摄深度计算起着至关重要的作用。
通过使用两个摄像头,手机能够更好地模拟人眼的视觉效果,使拍摄出的照片更加真实、立体和具有深度感。
下面将介绍双摄深度计算的基本原理。
双摄深度计算的基本原理是通过两个摄像头的不同视角来获取场景的深度信息。
这两个摄像头通常被称为主摄像头和辅摄像头。
主摄像头负责拍摄主要的图像,而辅摄像头则负责捕捉深度信息。
在拍摄过程中,主摄像头和辅摄像头同时工作。
主摄像头通过其广角镜头拍摄出整个场景的图像,而辅摄像头则通过其长焦镜头拍摄出与主摄像头稍有不同的视角。
这种不同的视角可以帮助计算机识别出物体的距离和位置。
通过对主摄像头和辅摄像头拍摄的图像进行比对和分析,计算机可以确定物体在空间中的位置和距离。
计算机会根据两个摄像头拍摄的图像之间的差异来推断出物体的深度。
例如,当一个物体在主摄像头的图像中出现较大时,在辅摄像头的图像中它会出现较小。
通过比较这两个图像,计算机就可以估计出物体的距离。
为了更准确地计算深度信息,双摄深度计算还需要考虑其他因素,如光线的影响、镜头的畸变等。
计算机会对这些因素进行校正,以提高深度计算的准确度。
双摄深度计算技术在手机摄影中起到了至关重要的作用。
它可以使拍摄出的照片更加逼真、生动,让观看者感受到立体的效果和真实的深度感。
无论是拍摄人物肖像,还是风景景物,双摄深度计算都能够为照片增添更多的艺术效果和观赏价值。
双摄深度计算基于两个摄像头的不同视角来获取场景的深度信息,通过对拍摄的图像进行比对和分析,计算机可以推断出物体的距离和位置。
这项技术在手机摄影中起到了重要的作用,使照片更加真实、立体和具有深度感。
摄像机内外参计算过程
罗海风2011-2-28
1.对内参的初始化:
涉及函数:init_intrinsic_param_fisheye.m
输入:x_1,x_2,x_3,…--角点的图像坐标,X_1,X_2,X_3,…--角点的世界坐标;
输出:所有内参,包括摄像机焦距fc,摄像机坐标系原点在图像上的坐标cc,几何畸变系数kc,斜交系数alpha_c,摄像机矩阵KK(包含以上系数)。
焦距的初始值:fc=
max(,)
_
max(,)
nx ny
f init
nx ny
π
π
⎡⎤
⎢⎥
=⎢⎥
⎢⎥
⎢⎥
⎣⎦
原点坐标的初始值设为图像中心处,即cc=
0.50.5 _
0.50.5
nx
c init
ny
-
⎡⎤
=⎢⎥
-
⎣⎦
计算内参时不考虑畸变,畸变系数初始值为零,即kc=
0 _
0 k init
⎡⎤
⎢⎥
⎢⎥
=
⎢⎥
⎢⎥
⎣⎦
不考虑摄像机坐标轴夹角非正交情况,即alpha_c=_0
alpha init=
内参数矩阵初始值
max(,)
00.50.5
max(,)
00.50.5
001
nx ny
nx
nx ny
KK ny
π
π
⎡⎤
-
⎢⎥
⎢⎥
⎢⎥
=-
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎣⎦
-------------------(1)
2.对外参的初始化:
涉及函数:comp_ext_calib_fisheye.m
功能:主要是调用compute_extrinsic_init_fisheye.m 和compute_extrinsic_refine_fisheye.m
compute_extrinsic_init_fisheye.m
输入:像点的世界坐标和图像坐标x_kk 和X_kk,以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckk
compute_extrinsic_refine_fisheye.m
输入:像点的世界坐标和图像坐标x_kk 和X_kk,最大迭代次数MaxIter 以及所有内参fc,cc,kc,alpha_c; 输出:所有外参初始值,包括平移矩阵Tckk ,旋转矩阵Rckk 和旋转向量omckk
对像点世界坐标和图像坐标进行整理(整理过程考虑到坐标变换和畸变模型,涉及normalize_pixel_fisheye .m 输入:像点图像坐标x_kk,所有内参fc,cc,kc,alpha_c;输出:标准化无畸变图像坐标xn )。
坐标变换首先按照原点坐标进行线性映射,转换成以焦距为单位:
111
222___x kk cc fc x distort x kk cc fc -⎡⎤⎢⎥⎢
⎥=-⎢⎥⎢⎥⎣⎦
然后校正相机平面和图像平面不平行带来的误差:
122_____x distrot alpha c x distrot x distort x distrot -⨯⎡⎤
=⎢⎥⎣⎦
最后进行畸变补偿:(调用函数comp_fisheye_distortion.m 输入:畸变的像点图像坐标xd ,畸变系数k ;
输出:
无畸变的像点图像坐标x )
xd 是畸变后的像素坐标,令__theta d theta theta d ==
进入循环20次的补偿迭代,每次循环中有
12
24682468
1121314112223242__11theta d theta d theta k theta k theta k theta k theta k theta k theta k theta k theta ⎡⎤=⎢⎥++++++++⎣⎦
,其中k 为畸变系数。
本程序中,只考虑径向畸变不考虑切向畸变,k 虽然是5x1矢量,但是
最后一位即切向畸变系数没有使用。
然后有1212tan()tan()__theta theta scaling theta d theta d ⎡⎤
=⎢
⎥⎣⎦
111
1221211
2222Np Np Np Np xd scaling xd scaling xd scaling xn xd scaling xd scaling xd scaling ⎡⎤
=⎢
⎥⎣⎦
畸变补偿结束。
得到标准化无畸变的世界坐标X_new 和图像坐标xn 。
由这两组坐标计算得到透视投影矩阵H(计算过程见摄像机定标程序中透视投影矩阵H 的计算过程.doc ),并对H 进行整理得到
((:,1))()((:,2))H H
H norm H sc
mean norm H =
=⎡⎤⎢⎥
⎣⎦
由H 计算中间变量,有
[](:,1)1((:,1))
(:,2)(1,(:,2))1
2((:,2)(1,(:,2))1)3(1,2)123()
H u norm H H dot u H u u norm H dot u H u u cross u u RRR u u u omckk rodrigues RRR =
-=
-=== 然后得到外参矩阵中旋转矩阵()Rckk rodrigues omckk =和平移矩阵(:,3)Tckk H =。
其中函数rodrigues 作用是旋转矩阵和旋转向量的相互转换。
由于计算中所用的坐标是进行过映射调整的,所以最终得到的外参矩阵也需要调整,得: 平移矩阵_Tckk Tckk Rckk T transform =+⨯ --------------------------------(2)
_Rckk Rckk R transform =⨯
旋转向量()omckk rodrigues Rckk =
旋转矩阵()Rckk rodrigues omckk = --------------------------------(3)
其中,_(_)[,,]()
__(_)_T T
T
T
Y X kk mean X kk YY Y Y U S V svd YY R transform V T transform R transform X mean
=-=⨯===-⨯
以上得到了内参和外参的初始值。
接下来由这些参数用牛顿法进行迭代计算得到更佳的外参。
令omckk param Tckk ⎡⎤
=⎢
⎥⎣⎦
由像点世界坐标、内外参初值和投影模型计算得到:投影坐标x ,投影坐标对旋转向量的导
数dxdom ,投影坐标对平移矩阵的导数dxdT (计算过程详见project_points_fisheye.m 输入:多个点的世界坐标X,内外参数om,T,f,c,k,alpha;输出:像点图像坐标计算值xp,对各参数的导数dxpdom,dxpdT,dxpdf,dxpdc,dxpdk ) 像点坐标和计算坐标差值ex=x_kk-x
[]JJ dxdom dxdT =
2T JJ JJ JJ =
参数变动1
_2T
param innov JJ JJ ex -=
参数变更为_param param param innov =+ 则
(1:3)
(4:6)
omckk param Tckk param ==
当达到循环设定次数或者参数变更过小时终止循环,得到更精确的外参。
其中omckk 是旋转矢量,Tckk 是平移矩阵。
旋转矩阵()Rckk rodrigues omckk =
3. 全局参数优化过程 涉及函数:go_calib_optiom_iter_fisheye.m 功能:主要调用init_intrinsic_param_fisheye ,comp_ext_calib_fisheye ,extract_parameters_fishey
3.1 步骤一:通过一步梯度下降法更新所有内外参数
通过像点世界坐标X_kk ,内参omckk, Tckk ,外参f, c, k, alpha 和投影模型,计算出投影像点的图像坐标及其对各参数的导数x, dxdom, dxdT, dxdf, dxdc, dxdk, dxdalpha (具体计算见project_points_fisheye.m 见前),写入中间变量矩阵,得:
dxdf dxdc A dxdalpha dxdk ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
,dxdom B dxdT ⎡⎤
=⎢⎥⎣⎦。
同时,实际图像坐标和计算坐标差值为_exkk x kk x =- 对于每张图,由以上三矩阵计算得到雅克比矩阵JJ3和误差矩阵ex3,继而更新所有参数。
由于没有循环,每张图所用参数仅沿梯度方向调整一次,故称一步梯度下降法。
3.2 步骤二(可选):重新计算并更新外参
对于每一张图,重新利用外参设定函数(compute_extrinsic_init_fisheye.m, compute_extrinsic_refine_fisheye.m 见前)来更新外参。