Несоответствие между позой единства и позой opencv - PullRequest
0 голосов
/ 19 июня 2020

Я работаю над моделированием реальной среды с помощью Unity. Я хочу создать среду, которая выглядит точно так же, как моя реальная.

Что я сделал:

  1. Откалибровал свою iPhone камеру в режиме (в квадрате), так как это то, что я буду использовать для захвата изображений. Для этого я использовал сетку Aruco и OpenCV с python. Я собрал 64 изображения с разными положениями и ориентациями.
  2. Когда я получил свою калибровочную матрицу (K), я следовал инструкциям в этой ссылке , чтобы создать физическую камеру в Unity.
  3. Я поставил штатив на ту же высоту, что и камера в Unity, и сделал несколько снимков с четко видимыми маркерами (большими)
  4. Затем я нашел положение маркера относительно камеры в реальном world, используя функцию estimatePoseSingleMarkers в OpenCV. И обнаружил ту же позу объекта по отношению к камере в Unity.
  5. Я знал, что OpenCV использует правостороннюю систему, а Unity - левостороннюю, поэтому мне пришлось инвертировать значение «y».
  6. После всего этого я все еще получаю разные значения между ними. При дальнейших исследованиях я заметил, что значение «z» всегда является причиной разницы. Я попытался установить высоту в Unity на разные значения, чтобы убедиться, что я ничего не пропускаю, но безуспешно.

Примеры получаемых значений:

Unity:

[ x:0.0757, y:0.0608, z:0.6503]

OpenCV (оценка aruco):

[ x:0.0662, y:-0.0574, z:0.5948]

Это значения, которые я получаю для настройки объекта точно в той же позиции в сцене для обеих сред.

Я проверил этот вопрос , но, к сожалению, на него нет ответа.

EDIT:

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

Я также проверил углы, обнаруженные перед калибровкой, и все они кажутся правильными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...