1. opencv双目测距精度是多少
在OpenCV中,f的量纲是像素点,Tx的量纲由定标棋盘格的实际尺寸和用户输入值确定,一般总是设成毫米,当然为了精度提高也可以设置为0.1毫米量级,d=xl-xr的量纲也是像素点。因此分子分母约去,z的量纲与Tx相同!
2. 计算机视觉中cost-volume的概念具体指什么
cost-volume在计算机视觉中特指计算机视觉中的立体匹配stereo matching(关于立体匹配请自行网络)问题中的一种左右视差搜索空间。
在立体配备中,使用经过校准的双目相机同步拍摄两张左右视图的图片。左右相机一般有固定的距离(基线距离),且是保持水平放置的,也就是说左右相机的中心点连线应与地面保持水平。
这样的话可想而知,左右视图的视野相交区域内,左视图的任何一点在右视图中都能找到一个同名点(也即代表的都是同一个事物的像素点,例如同一辆车子的同一个前轮的圆心)。
也很容易想到,左视图中的同名点与右视图中的同名点,在水平方向上的x坐标必然是差几个像素的d,这个距离d就叫做水平视差。
左视图中的x1同名点对应右视图中的x2同名点,那么x2-x1=d,d>0。因为前面已经说过,左右相机中心点连线与地面保持水平,所以y2-y1=0。
因为基线距离是固定的,所以左右相机的水平视差必然存在一个最大值。由于相机成像的透视原理,图像都呈现近大远小的几何特性,那么可想而知,视差最大的区域必然出现在图片的中央靠下边界区域,从该区域向四周呈放射状分布,越远越小。
假设水平视差d的最大值为D(D属于正整数空间),那么shape为(H, W)的左右视图,的所有像素的右视图相对于左视图的全部视差可能值d也就取值于一个正整数集合(0,1,2........D)。
若将该正整数集合在视差图的信道维度上进行逐像素表达,那么左右视图对应的shape同为(H,W)的视差图就是一个shape为(H,W,D)的搜索空间,也即cost-volume。
3. 单目与双目有什么区别视觉识别来说,是不是用双目摄像头更好国内有没有参数比较好的这类摄像头推荐
建议条件允许的话还是使用双目摄像头,毕竟双目识别图像更稳定精准。这里推荐小觅双目摄像头,基于双目视觉的三维重建与6轴传感器矫正等,并充分利用摄像头和运动传感器的互补性,保持双目高清同帧。
4. 计算机双目视觉系统 得到深度信息,这个系统的基线长度如何选择选择为多少比较好
从最终的结果看,两摄像头的间距越大,能测到的Z轴越远精度越高,但这只是一个基本常量,还有十多个参数要确定,有的还是非线性,你才刚入门,这里水深着呢
5. 双目视觉测距原理
单目测距原理:
先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、SUV还是小轿车。准确识别是准确估算距离的第一步。要做到这一点,就需要建立并不断维护一个庞大的样本特征数据库,保证这个数据库包含待识别目标的全部特征数据。比如在一些特殊地区,为了专门检测大型动物,必须先行建立大型动物的数据库;而对于另外某些区域存在一些非常规车型,也要先将这些车型的特征数据加入到数据库中。如果缺乏待识别目标的特征数据,就会导致系统无法对这些车型、物体、障碍物进行识别,从而也就无法准确估算这些目标的距离。
单/双目方案的优点与难点
从上面的介绍,单目系统的优势在于成本较低,对计算资源的要求不高,系统结构相对简单;缺点是:(1)需要不断更新和维护一个庞大的样本数据库,才能保证系统达到较高的识别率;(2)无法对非标准障碍物进行判断;(3)距离并非真正意义上的测量,准确度较低。
双目检测原理:
通过对两幅图像视差的计算,直接对前方景物(图像所拍摄到的范围)进行距离测量,而无需判断前方出现的是什么类型的障碍物。所以对于任何类型的障碍物,都能根据距离信息的变化,进行必要的预警或制动。双目摄像头的原理与人眼相似。人眼能够感知物体的远近,是由于两只眼睛对同一个物体呈现的图像存在差异,也称“视差”。物体距离越远,视差越小;反之,视差越大。视差的大小对应着物体与眼睛之间距离的远近,这也是3D电影能够使人有立体层次感知的原因。
上图中的人和椰子树,人在前,椰子树在后,最下方是双目相机中的成像。其中,右侧相机成像中人在树的左侧,左侧相机成像中人在树的右侧,这是因为双目的角度不一样。再通过对比两幅图像就可以知道人眼观察树的时候视差小,而观察人时视差大。因为树的距离远,人的距离近。这就是双目三角测距的原理。双目系统对目标物体距离感知是一种绝对的测量,而非估算。
理想双目相机成像模型
根据三角形相似定律:
根据上述推导,要求得空间点P离相机的距离(深度)z,必须知道:
1、相机焦距f,左右相机基线b(可以通过先验信息或者相机标定得到)。
2、视差 :,即左相机像素点(xl, yl)和右相机中对应点(xr, yr)的关系,这是双目视觉的核心问题。
重点来看一下视差(disparity),视差是同一个空间点在两个相机成像中对应的x坐标的差值,它可以通过编码成灰度图来反映出距离的远近,离镜头越近的灰度越亮;
极线约束
对于左图中的一个像素点,如何确定该点在右图中的位置?需要在整个图像中地毯式搜索吗?当然不用,此时需要用到极线约束。
如上图所示。O1,O2是两个相机,P是空间中的一个点,P和两个相机中心点O1、O2形成了三维空间中的一个平面PO1O2,称为极平面(Epipolar plane)。极平面和两幅图像相交于两条直线,这两条直线称为极线(Epipolar line)。
P在相机O1中的成像点是P1,在相机O2中的成像点是P2,但是P的位置是未知的。我们的目标是:对于左图的P1点,寻找它在右图中的对应点P2,这样就能确定P点的空间位置。
极线约束(Epipolar Constraint)是指当空间点在两幅图像上分别成像时,已知左图投影点p1,那么对应右图投影点p2一定在相对于p1的极线上,这样可以极大的缩小匹配范围。即P2一定在对应极线上,所以只需要沿着极线搜索便可以找到P1的对应点P2。