0

나는 실시간으로 표면을 스캔 할 수있는 실시간 스캐너를 개발 중이다. 지금까지 표면의 한 패치를 스캔하여 저장할 수 있습니다. 하나의 패치는 단지 표면 스캔 (포인트 클라우드 또는 삼각형)을 의미합니다.포인트 클라우드 또는 폴리곤의 두 데이터 세트를 하나로 병합하는 방법은 무엇입니까? (병합하지 않음)

원하는 것은 여러 패치를 실시간으로 스캔하고 싶습니다. 이를 위해 이전 패치와 현재 패치를 병합해야합니다. 그러나 두 패치를 병합하는 표준 방법이나 알고리즘이 무엇인지 알지 못하고 또한 어떤 것이 삼각형 분할 (포인트 클라우드 병합) 이전이나 삼각형 분할 (메시) 전에 병합에 가장 좋은 방법인지 모릅니다 병합). 병합은 겹쳐진 점이나 삼각형을 제거하는 것을 의미합니다.

아이디어 : 두 점 구름이있는 경우 VTK를 사용하여 소스와 대상을 설정하고 대상 점 구름에서 가장 가까운 점을 찾아 다른 점을 하나씩 선택합니다. 이 방법이 병합입니까? 이건 내 생각이야? 하지만 문제는 소스와 타겟의 점수가 다를 것입니다.

어떻게 VTK를 사용하여 두 개의 패치를 병합 할 수 있습니까?

또한 실시간 검색 작업을 수행하기위한 표준 및 최적 방법은 무엇입니까?

케이스 1 :

:
ⅰ) 점 구름 Aquisition

II)

III)

IV)

케이스 2 삼각 측량 병합 등록

i) 포인트 클라우드 Aquisition가

II)

III)

IV) 병합 삼각 측량 등록

케이스 3 :

ⅰ) 점 구름 Aquisition

ⅱ) 삼각 측량

III)

는 IV)

이 나를 인도 해주십시오 병합 등록합니다. 감사합니다. .

답변

2

나는 비슷한 것을 생각해 왔기 때문에 여기에 메모를했습니다.

제안 된 방법 (병합 중에 가장 가까운 이웃 검색 수행)이 가능합니다. 병합되는 두 구름 사이에 크기가 다르다는 문제는 한 이웃을 찾는 것보다 바람직한 해상도를 기반으로 반경 검색을 수행 할 때 문제가되지 않는 것처럼 보입니다.

사례 1을 관리하려면 모든 구름을 병합 한 다음 복셀 격자로 다운 샘플링 할 수 있습니다. 예 : 삼각 측량 전에 pcl :: VoxelGrid (이것은 가장 쉬운 방법이지만 원하는 것은 아닐 수도 있습니다).

pcl :: GreedyProjectionTriangulation에 캡슐화 된 알고리즘은 주로 아래의 논문 [1]에 설명되어있는 것 같습니다. 그 논문에서는 알고리즘에 대한 사소한 변화 인 점진적 메쉬 업데이트 절차를 설명합니다 (새 점에 가까운 삼각형을 제거하고 탐욕스러운 삼각 측량을 다시 시작 함). 내가 아는 한, 이것은 PCL에서 구현되지 않았지만 너무 어렵지 않아야합니다. 이것은 케이스 2에 해당합니다. 그러나 나가는 메시는 구름을 병합 한 순서에 따라 달라집니다. 시간 투자이므로 먼저 포인트 기반 병합을 시도하는 것이 좋습니다.

[1] Marton, Z. C., R.B. Rusu 및 M. Beetz. 2009. "크고 시끄러운 점 구름을위한 빠른 서피스 재구성 방법". IEEE 국제 회의 및 로봇, 자동화, 3218-3223. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5152628.

+0

나는 당신의 대답과 논문을 이해하려고 노력 해왔다. 정말 몇 가지 개념을 이해하는 데 많은 도움이되었습니다. 그런데 전문 회사가 실시간 검색을 위해하는 일에 대해 알게됩니다. 증분 표면이 재구성되고 유일한 점만 표면에 삽입되는 인트 루러 어 스캐너를 보았습니다. 어떤 종류의 겹침도 없었다. 그들이 무엇을하고 있다고 생각하니? 첫 번째로 포인트 클라우드의 한 패치를 얻은 다음 변환하고 두 번째 패치를 등록한 다음 가장 가까운 이웃을 사용하여 두 패치를 병합 한 다음 삼각형을 표시 한 다음 디스플레이합니다. – furqan

+0

이 루프는 종료 할 때까지 계속됩니다. 제가 생각하고있는 유일한 문제는 카메라를 움직이지 않고 하나의 특정 서페이스를 계속 스캔하면 두 번째 패치는 첫 번째 패치와 같을 것이고 몇 가지 오류로 인해 몇 개의 점만 다를 것입니다. 그래서 첫 번째 패치에 100 점, 두 번째에 70 점이 있다면 최종 서페이스에 110 점이 있어야하고 겹쳐서 60 점을 버려야합니다. 이 목적을 위해 어떤 방법이 가능하고, 최적이며, 빠르지 않아야합니다. 표면을 스캔 할 수있는 전체 시스템이 있습니다. – furqan

+0

이제 실시간으로 점진적으로 변경해야합니다. – furqan