Преобразование пиксельных 2D координат в 3D Azure Kinect - PullRequest
2 голосов
/ 05 августа 2020

Я работаю над обнаружением прямоугольника с помощью камеры глубины. На данный момент я изо всех сил пытаюсь получить точные трехмерные координаты выбранного пикселя с помощью камеры глубины NFOV. Я проверил это, выбрав 2 точки на тестовой доске, преобразовав их с помощью функции Depth 2d в Color 3d Kinect-SDK C# Wrapper, вычислив расстояние между полученными координатами и измерив расстояние между выбранными реальными точками (918 мм). На расстоянии 2,7 метра я получаю ошибку 2 см в центре изображения, а в углах ошибка достигает 6 см.

Разве функции преобразования не должны исправлять искажение? Я пропускаю важные шаги для получения точных данных? Может быть, это что-то еще?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 27 августа 2020

Добавление ответа от Git вопроса:

Пара точек:

  1. Как вы выбрали 2 точки. Это можно сделать, глядя на ИК-изображение вручную или вручную глядя на изображение глубины? Дело в том, что вы должны начать с точного 2-мерного пикселя, который точно соответствует 3-й точке, часто вам понадобится какая-то текстура, когда вы делаете это человеческим глазом, например, целевая плата с видимыми маркерами в ИК-спектре, затем вы можете проверить пиксель (при условии, что человек глаз может дать достаточную точность), чтобы найти центр маркера, или используйте алгоритм CV для обнаружения 2-х точек.
  2. Попробуйте преобразовать только 2-й пиксель глубины в 3-ю точку в пространстве камеры глубины (вместо цветного 3D-пространства ). Вам нужно только изменить последний параметр TransformTo3D на K4A.CalibrationDeviceType.Depth, а затем сравнить относительное расстояние от точки A до точки B с реальным измерением. Это может помочь сузить круг вопросов, может ли использование только встроенных функций камеры глубины дать лучший результат (вместо полного перехода к цветовому пространству). Если вы видите лучшие результаты при использовании трехмерных точек из пространства камеры глубины по сравнению с трехмерными точками из цветового пространства, то может быть проблема с калибровкой, связанная с внешними характеристиками или внутренними характеристиками цвета.

Наконец, наклон камеры глубины 6 градусов относительно камеры colot значения не имеют. Внутренняя калибровка камеры откалибрована для каждого искажения камеры, а внешние параметры откалиброваны с учетом механики камеры.

...