Получите координаты реального мира с помощью обнаружения объектов AI с помощью стереокамер - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь получить глубину и реальное положение объекта для объекта, используя стереокамеры.Я просмотрел все официальные документы и результаты поиска в Google, но все они используют параллельные камеры.Моя установка использует две камеры с высокой частотой кадров на расстоянии 2,23 метра на высоте 2,88 метра с углами 7,9 и 19,7 градусов для лучшей точности и охвата поля.Обе камеры смотрят в положение «X».Х в 8 метрах от земли.У меня есть координаты средней точки для объекта на снимках с левой и правой камеры как [x0, y0, x1, y1].

Если объект находится в позиции "X", мои результаты будут [0, 0, 0, 0] пикселей.Если объект «А» находится в 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) для середины объекта в мм, это было бы высоко оценено.

...