3D в 2D соответствие

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

Поэтому сначала мне нужно найти точки интереса, получить их дескрипторы и сопоставить их. Если возможно, это должно работать с современными быстрыми и экономящими память алгоритмами, такими как BRISK или ORB (без запатентованных алгоритмов!) От OpenCV. Но я не знаю, как реализовать их для 3D. Это вообще возможно? Я нашел документ (Hough Transform и 3D SURF для надежной трехмерной классификации), в котором говорилось о 3D-расширении SURF, которое было бы началом, но я не могу найти никакой информации об этом 3D-расширении. Даже тогда возникает вопрос, насколько возможно такое расширение для BRISK или других современных алгоритмов.

Поэтому, пожалуйста, дайте мне совет, как поступить.

1 ответ

Решение

Это называется эпиполярная геометрия и стерео соответствие.

1) Вам понадобятся два изображения (2D), из которых вы сгенерировали трехмерное облако точек. 2) Из этих двух изображений вы можете создать фундаментальную матрицу, а затем сгенерировать эпиполярные точки. Это довольно легко сделать, если вы делаете это в MATLAB, не уверенный в OpenCV. 3) Эти эпиполярные точки из двух отдельных изображений нарисуют линии в трехмерном мире.

Я предлагаю вам прочитать о эпиполярной геометрии и стерео согласовании для 2D -> 3D

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