1. 双目相机原理
基于双目立体视觉的深度相机类似人类的双眼,和基于TOF、结构光原理的深度相机不同,它不对外主动投射光源,完全依靠拍摄的两张图片(彩色RGB或者灰度图)来计算深度,因此有时候也被称为被动双目深度相机。
2. 如何确定双目相机中两个相机间的距离
外界某个物体投影到了两个相机上镜头上,可以得到像素信息,根据相机镜头距离,像素距离,可以算出物体的举例。 但是如何确定两个相机的某个像素点来自于同一个物
3. 大疆双目立体视觉定位精度能达到多少
参考下
4. 计算机视觉中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。
5. 计算机双目视觉系统 得到深度信息,这个系统的基线长度如何选择选择为多少比较好
从最终的结果看,两摄像头的间距越大,能测到的Z轴越远精度越高,但这只是一个基本常量,还有十多个参数要确定,有的还是非线性,你才刚入门,这里水深着呢
6. 关于双目相机和单目相机
双目相机可以拍照立体影像,万一一支镜头有故障了,用另一支镜头也能拍到目标,不至于什么也拍不到。单目相机就没有这些优点。
两种相机使用环境没有什么区别。
7. 通过双目摄像头,通过对运动物体进行拍照的方式,能否精确计算出物体的三维空间速度,以及自旋角速度
第一、物体的三维空间速度需要根据物体在空间的三维坐标来计算,通过双目视觉的方式来获取被测对象的三维坐标进行计算,原理上是完全行得通的。精确度跟以下几点有关:
1、图像获取帧率:每秒钟获取的图像帧数越多,对被测物的位置描述就越精确;
2、运动速度较高,要想清晰的抓拍到,对相机的曝光方式和曝光时间要求较高,需要用比较好的硬件设备;
3、最终三维坐标的测量精度和双目系统的标定精度、立体匹配算法、相机分辨率、基线距离等都有关系。
第二、自转角速度测量。这个比较难,因为物体在空间中的转动是随机的,采用双目视觉没有办法把球体表面的所有特征点都获取到。也就是说没有办法获取到同一个点的序列三维坐标。
综上,把被测对象简化为一个点来计算其序列三维空间坐标只要硬件配置的好,还是可以解决的。但是检测被测对象自身的信息还是比较难得。
8. opencv双目测距精度是多少
在OpenCV中,f的量纲是像素点,Tx的量纲由定标棋盘格的实际尺寸和用户输入值确定,一般总是设成毫米,当然为了精度提高也可以设置为0.1毫米量级,d=xl-xr的量纲也是像素点。因此分子分母约去,z的量纲与Tx相同!
9. 双目视觉测距原理
单目测距原理:
先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、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。
10. 这张图中,双目相机的视差到底是什么呀。
相机成像的模型如下图所示:
P为空间中的点,P1和P2是点P在左右像平面上的成像点,f是焦距,OR和OT是左右相机的光心。由下图可见左右两个相机的光轴是平行的。XR和XT是两个成像点在左右两个像面上距离图像左边缘的距离。