Триангуляция отдельно, а затем слияние не очень хорошая идея, так как, если вы можете сказать, что одна из триангуляций неверна? Вместо этого вы должны триангулировать из трех точек одновременно. Я предполагаю, что вы определили какую-то проблему наименьших квадратов для каждой триангуляции, например
`argmin_{depth} D(ray_1)+D(ray_2) //for image_1 an image_2`
, где ray_i
- это обратная проекция point_i
, , т.е. inverse(calibration_matrix)*point_i
, а где D(.)
дает вам расстояние от 3d-точки до луча.
Я думаю, тебе стоит попробовать
argmin_{depth} sum_j D(ray_j) //for all your views image_1, ... , image_N
Таким образом, вы можете попытаться добавить M-estimator
, чтобы отфильтровать неверные измерения.