3D立体,不良3D坐标 [英] 3D stereo, bad 3D coordinates

查看:114
本文介绍了3D立体,不良3D坐标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用立体视觉获得3D重建.我正在使用opencv库. 我已经通过以下方式实现了代码:

I'm using stereo vision to obtain 3D reconstruction. I'm using opencv library. I've implemented my code this way:

1)立体声校准

2)图像对不失真和矫正

2) undistort and Rectification of image pair

3)视差图-使用SGBM

3) disparity map - using SGBM

4)3D坐标计算深度图-不使用reprojectImageTo3D();

4) 3D coordinates calculating depht map - unsing reprojectImageTo3D();

结果:

-良好的视差图和良好的3D重建

-Good disparity map, and good 3D reconstruction

-错误的3D坐标值,距离与现实不符.

-Bad 3D coordinates values, the distances don't corresponde to the reality.

3D距离(相机与物体之间的距离)具有10毫米的误差,并且随着距离的增加而增加.我使用了各种基准,但我总是出错. 当我比较外部参数矢量T时,"stereoRectify"基线匹配的输出. 所以我不知道问题出在哪里.

The 3D distances, the distante between camera and object, have 10 mm error and increse with distance. I,ve used various baselines and i get always error. When i compare the extrinsic parameter, vector T, output of "stereoRectify" the baseline match. So i dont know where the problem is.

请有人帮助我,谢谢!

校准:

http://textuploader.com/ocxl http://textuploader.com/ocxm

推荐答案

对于立体视觉解决方案,十毫米的误差可能是合理的,这当然取决于传感器的灵敏度,分辨率,基线和到物体的距离.

Ten mm error can be reasonable for stereo vision solutions, all depending of course on the sensor sensitivity, resolution, baseline and the distance to the object.

相对于物体距离的误差增加也是该问题的典型特征-立体对应关系实质上在两个视频传感器到物体之间执行三角测量,并且距离越大,则视频传感器之间的角度导数就越大.物体在深度轴上平移的距离更大,这意味着更大的误差.一个很好的例子是,视频传感器与物体之间的角度几乎是正确的,这意味着在估计物体时任何小的正误差都将使估计的深度达到无穷大.

The increasing error with respect to the object's distance is also typical to the problem - the stereo correspondence essentially performs triangulation between the two video sensors to the object, and the larger the distance is the derivative of the angle between the video sensors to the object translates to larger distance on the depth axis, which means larger error. Good example is when the angle between the video sensors to the object is almost right, which means that any small positive error in estimating it will throw the estimated depth to infinity.

您选择的架构看起来不错.您可以尝试提高传感器的分辨率,也可以深入到校准过程中,该过程在openCV库中有很大的调整空间-确保仅选择在棋盘静止的情况下拍摄的图像,并选择更多不同的姿态姿势棋盘,添加图像,直到两个图像之间的配准降至您可以允许的最大误差以下.

The architecture you selected looks good. You can try increasing the sensors resolution, or maybe dig in to the calibration process which has a lot of room for tuning in the openCV library - making sure only images taken with the chessboard being static are selected, choose higher variety of the different poses of the chessboard, adding images until the registration between the two images drops below the maximal error you can allow, etc.

这篇关于3D立体,不良3D坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆