并不是那么喜欢双目视觉这一块,但是又不能说不,那么还是好好干吧
不是古人有云生活就像被强奸,如果无法反抗,就默默享受吧
什么是标定,为什么要标定?标定能做什么?怎么来标定?
这些天看了很多相关文档,资料,都快被那些东西给淹没了,浮出来,好好吸一口新鲜空气
得出相机内参外参的过程就叫标定
内参就是相机固有的参数,比如焦距,主点,像素实际大小,相机畸变参数(径向畸变(桶形畸变,相反的畸变),切向畸变)(名词解释下面依次给出)
焦距:是指镜头光学后主点到焦点的距离,是镜头的重要性能指标。镜头焦距的长短决定着拍摄的成像大小,视场角大小,景深大小和画面的透视强弱。镜头的焦距是镜头的一个非常重要的指标。镜头焦距的长短决定了被摄物在成像介质(胶片或CCD等)上成像的大小,也就是相当于物和象的比例尺。当对同一距离远的同一个被摄目标拍摄时,镜头焦距长的所成的象大,镜头焦距短的所成的象小。(注,来源百度百科)
主点:我理解就是光轴中心与像平面的交点,理想情况下应该在中心,事实上有可能在像素平面外
像素实际大小,每一个像素在内存里面表现为一点,但是在胶片上总是有大小的,像元大小
相机畸变参数:这个应该是比较复杂的,理想情况下应该是五畸变的,但是工艺在怎么好,也不可能做到那样,那么畸变总是存在,主要分为径向畸变和切向畸变
其中 径向畸变又分为桶形畸变和枕形畸变,产生的原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲
在数学上解释为 平面上任何一点P,可以用直角坐标(x,y)表示, 也可以用极坐标P(ro,theta)表示,或简写为(r,t), 极坐标表示也就是矢量表示,其中r是矢量长度,t是矢量的水平夹角, 相机成像后其图像也可以用上述2种坐标来表示:P'(x',y'),P'(r',t'). 而相机成像后其图像所产生的畸变也可以用上述2种坐标来表示: 用直角坐标法表示:dx = x'- x, dy = y'- y 用矢量表示法表示:dr = r'- r, dt = t'- t “径向畸变”就是矢量端点沿长度方向发生的变化dr,也就是矢径的变化, “切向畸变”就是矢量端点沿切线方向发生的变化,也就是角度的变化dt
这篇文章讲的很好 http://blog.csdn.net/pinbodexiaozhu/article/details/43374737
外参主要是相机坐标系与世界坐标的之间的位置关系,由相机坐标系经过旋转在平移可以与世界坐标系重合。
我们标定的目的就是为了计算出以上的参数,说道这里不得不提到几个坐标系以及他们之间的广关系,像素坐标系(单位为像素),像坐标系(单位为mm),相机坐标系,世界坐标系
世界坐标系和相机坐标系是三维空间,而其他两个是二维平面,世界坐标系中的任意一点和相机坐标系中的点一一对应,(由上面的外参选择矩阵和平移矩阵相关),相机坐标系经过投影变换到二维平面像坐标系,那么此时是线与点的对应关系,及在像平面上的一点与光轴和中心的连线构成的射线,所以是多对一的关系,最后像平面与像素平面之间主要是单位的换算,由距离度量单位到像素。
这时候就到我们的内参外参起作用了,如果想要具体公式可以看看这篇大神的文章
http://blog.csdn.net/b5w2p0/article/details/8804216
我们从摄像头里读取到的图像,都是以像素为单位的,(RGB或YUV),如果想要具体的数值即单位为mm,怎么办,变换到像坐标系(物理坐标系),根据每个像素的具体大小,那如果我又想要在这点对应的在相机坐标系里面的射线方程呢?根据近似三角形原理,焦距为已知,即得到了一个直线方程。如果想要知道这条射线在世界坐标系里面的方程又如何?根据外参数旋转矩阵、平移矩阵即可得到。
这就是内参外参的前世今生
再往深一点,标定到底有什么用,我得到了内参外参又有什么用?一般来说标定跟双目视觉相关(也可能跟其他的方向有关,不过我做的是这个方向),最终目的重建三维图像,(测距、得到深度图),这个时候我们就需要具体的距离信息,并且最好准确,两个相机都有自己的一个相机坐标系,于是又多了一个互相之间的位置关系,不过不要紧,可以通过跟世界坐标系之间的关系得出。
当测量一个实际的物体,比如一个茶杯,先测量左边的一个点,这个点在两个相机的像平面上都有一个对应点,怎么找到这个对应点,于是这里又设计到一个图像匹配的问题,如何找到这个点在另一幅图像上的对应点,匹配的准确率跟精度息息相关。匹配的不准,最后结果相差甚远。前面说过相机并非理想的小孔成像模型,会产生各种畸变,我们标定的内参里面就包含了畸变参数。由于畸变在ccd上呈现出来的像已经不是原来的物体了,所以需要对畸变进行校正,还原出原来方方正正的图像,这样才能匹配的更准确。
这里的两点就是影响准确率的两个至关重要的参数:匹配结果,标定精度。
受制于目前技术的原因,双目测距并不是那么精确,特别是远距离,根据距离光轴越远,再小的距离也会被放的很大。
在寻找特征物的过程中,点是一个很模糊的概念,或者说很容易模糊我们,对任意一个物体,在现实世界中,都有一个确定的边界,而在相机里面并没有那么明确的边界,左右一个像素可能都是对的,但是对结果的影响甚大。
如果想要提高精度,首先应该给定一个非常明显的标志物,让相机很容易就找到并匹配,其次这个标志物很容易提供位置信息。
怎么来做标定?
标定主要分为自标定,传统标定,主动视觉
http://wenku.baidu.com/link?url=XpzEgqlGQ7BJqA8OL1RMuIb2rtv7JrQzZJtszTyCKDxQxffBXkya0DncmpqmBYLWfeKADE1B-eTJXyRqj8-HKScGglFGTRUlAhdK2VPT6PO&qq-pf-to=pcqq.c2c
这篇文章有较为详细的介绍
目前用的比较多当属张正友教授的标定方法了。