使用立体相机通过AI对象检测获得真实世界的坐标

时间:2019-04-23 12:36:31

标签: opencv computer-vision stereo-3d

我想用立体摄像机获得物体的深度和真实位置。我浏览了所有白皮书和Google搜索到的结果,但是它们都使用了并行摄像头。我的设置是使用2个高帧率相机,相距2.23米,高度为2.88米,角度分别为7.9和19.7度,以实现更高的精度和视野范围。 两个摄像机都在“ X”位置。 X在地面上8米外。 我在左侧和右侧相机图片上将对象的中点坐标设为[x0,y0,x1,y1]。

如果对象在位置“ X”,我的结果是[0,0,0,0]像素。如果对象“ A”沿虚线距相机7米,则我的坐标为[-36,-73、36,-76]像素。

|[] CAM0
|       .              
|                   .
|----------------------"A"---"X"
|                   .
|       .
|[] CAM1
import numpy as np

camera_resolution = {"x": 1280, "y": 1024}
height = 2880 # camera lens centre from the ground (mm)
baseline = 2230 # camera lens centre from each other (mm)
distance = 8000 # camera 
focal_length = 8.5

angle_horiz = np.arctan((baseline/2)/distance)*180/np.pi # 7.934485903243804
angle_vert = np.arctan(height/distance)*180/np.pi # 19.798876354524932

我使用棋盘校准对20个具有不同角度和位置的图像进行了校准,以获取相机矩阵和失真,但是现在我陷入了困境。如果有人能指出我关于如何获得以毫米为单位的对象中间位置的真实世界位置(x,y,z)的方向,那将是不胜感激的。

0 个答案:

没有答案