Как данные облаков точек получаются при сканировании структурированного света 3D?

Я пытаюсь понять трехмерную реконструкцию Объекта, используя трехмерный структурированный осветительный сканер, и я застрял в точке, где используется метод декодирования набора соответствий камеры и проектора, который используется для реконструкции трехмерного облака точек. Как именно информация о трехмерном облаке точек получается из информации, полученной из этих соответствий? Я хочу понять математическую реализацию, а не реализацию кода.

1 ответ

Предполагая, что вы использовали метод структурированного света, который использует какие-то линии (вертикальные или горизонтальные - как двоичное кодирование или де-бружин), идея заключается в следующем:

  1. световая плоскость проходит через центр перспективы проектора и линию на схеме.

  2. Нормальная световая плоскость должна вращаться вместе с матрицей вращения проектора относительно камеры (или мир зависит от калибровки). Вращающейся части для светлой плоскости можно избежать, если рассматривать центр перспективы проектора как источник системы.

  3. используя соответствия, вы находите пиксель на изображении, который соответствует его светлой плоскости. теперь вам нужно определить вектор, который идет от центра перспективы камеры к пикселю на изображении, а затем повернуть этот вектор на поворот камеры (относительно проектора или мира. снова 'в зависимости от калибровки).

  4. пересекают плоскость света с найденным вектором. как вычислить это можно найти в википедии: https://en.wikipedia.org/wiki/Line%E2%80%93plane_intersection

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

Другие вопросы по тегам