Объединение относительных вращений и трансляций камеры с известной позой - PullRequest
0 голосов
/ 11 октября 2019

Я использовал функцию стереокалибровки OpenCV для получения относительного поворота и перемещения от одной камеры к другой. То, что я хотел бы сделать, это изменить происхождение мирового пространства и соответствующим образом обновить внешний вид обеих камер. Я легко могу сделать это с камерами, которые имеют общий вид с SolvePnP, но я хотел бы сделать это с камерами, каждая из которых определяется своей позицией относительно соседней камеры, где все их поля не перекрываются - как последовательное соединениеих относительные позы.

Я определил положение камер относительно того, где я хотел бы, чтобы мировое происхождение и ориентация использовали SolvePnP, чтобы я знал, какими должны быть окончательные внешние элементы. Затем я попытался объединить матрицы вращения и векторы перемещения из стереокалибровки с SolvePnP от основной камеры, чтобы получить одинаковое значение как с ComposeRT, так и вручную, но безрезультатно.

Редактировать: Таким образом, получается, что по какой-либо причине функции StereoCalibration и SolvePnP создают зеркальные версии поз, поскольку кажется, что StereoCalibration создает позы с поворотом на 180 градусов вокруг оси Y. Таким образом, применяя это вращение к полученной матрице относительного вращения и вектору переноса, все работает!

1 Ответ

0 голосов
/ 11 октября 2019

Если вам известны относительные позы между всеми камерами через цепочку (относительные позы между камерами a , b и b , c ), вы можете комбинировать переводы и повороты с камеры a до c через b с

R ac = R ab R bc

t ac = t ab + R ab t вс

Другими словами, новое вращение с ac вращается сначала с a до b , а затем с b на с . Перевод рассчитывается таким же образом, кроме того, второй вектор перевода должен быть повернут на R ab .

Ожидается некоторая величина ошибки, в зависимости от точностиваша попарная калибровкаОшибки в позе камеры накапливаются по всей цепи. Если у вас есть позы камеры, делающие полный круг, вы обычно не получаете точно такие же позы для начальной / конечной камеры.

...