3D 근사 매칭(멀티 모델)
응용 시나리오
이 스텝은 멀티 모델을 사용하여 시나리오에 있는 초기 물체 포즈에 대해 계산합니다. 3D 근사 매칭 스텝의 확장 버전이고 파라미터 조절 방법도 이와 거의 일치합니다.
이 스텝은 멀티 모델 시나리오에 사용할 수 있고 또 다양한 유형의 작업물을 인식하거나 분류하는 데 사용됩니다. 매칭을 통해 더 정확한 포즈를 획득하기 위해 일반적으로 뒤에 3D 상세 매칭(멀티 모델) 스텝을 사용합니다.
파라미터 설명
모델 및 픽 포인트 설정
모델 파일 및 픽 포인트 파일 경로 설정.
- 모델 파일(필수)
-
기본값: model.ply
설명: ply 형식의 모델 포인트 클라우드. 여러 파일 경로를 선택할 수 있으며 파일 사이는 쌍반점으로 구분합니다.
- 기하학적 중심 파일(필수)
-
설명: json 형식의 기하학적 중심 파일. 여러 파일 경로를 선택할 수 있으며 파일 사이는 쌍반점으로 구분합니다.
설명: 각 파라미터 아래에 입력된 파일의 순서가 일치한지 확인하십시오. 즉, 모델 파일과 기하학적 중심의 파일 경로가 같은지 확인해야 합니다. 아래 그림과 같이 다른 파일은 ``;`` 로 간격을 표시해야 합니다.
포인트 클라우드 중 포인트의 방향 계산
- 포인트가 위치한 평면의 법선 방향의 계산 모드
-
기본값: Origin
값 리스트 | 조절 설명 |
---|---|
Origin |
입력된 포인트 클라우드의 원시 법선 방향을 직접 사용합니다. |
StandardMode |
CPU를 사용하여 입력된 포인트 클라우드의 법선 방향을 다시 계산하여 모델에 법선 방향이 없을 때 사용하는 것을 권장합니다. 목표 포인트 근처에서 목표 포인트와 가장 가까운 k 개 포인트를 검색하고 PCA(주성분 분석 법) 를 사용해 최소 특징 벡터를 구하여 이 포인트의 법선 방향으로 간주합니다. |
EdgeTangent |
입력한 에지 포인트 클라우드의 접선을 계산하여 이 접선의 방향을 법선 방향으로 사용합니다. 외부 윤곽이 서로의 거울상인 다른 물체를 구별할 수 있으며 평면 물체의 에지 포인트 클라우드를 매칭시킬 때 사용하는 것이 좋습니다. |
EdgeNormal |
입력한 에지 포인트 클라우드의 법선 방향을 계산하고, 점의 접선 방향을 법선 방향으로 사용하며 평면 물체의 에지 포인트 클라우드를 매칭할 때 사용하는 것을 권장합니다. |
EdgeTangent 혹은 EdgeNormal 방법을 사용할 때 각 에지 포인트 클라우드에 여러 물체가 포함되어 있지 않은지, 즉 각 물체 포인트 클라우드가 분할되었는지 확인하십시오. |
- 선택된 인접 포인트의 수
-
기본값: 10
설명: 이 파라미터는 포인트 방향의 인접 포인트의 수, 즉 StandardMode 모드에서 k 값을 설정하는 데 사용됩니다.
알고리즘 유형
기본값: SurfaceMatchingEasyMode
값 리스트: SurfaceMatchingEasyMode, SurfaceMatching
설명: 이 알고리즘은 두 가지 유형이 있습니다. 시각화 결과는 두 알고리즘이 다 조절할 수 있는 파라미터로 설정합니다. 알고리즘 유형의 파라미터 조절은 아래 그림의 입력한 포인트 클라우드를 예로 들어 정(正)반(反)모델의 각 매칭을 합니다. 먼저 SurfaceMatchingEasyMode 알고리즘에서 조절 가능한 파라미터를 소개합니다.
SurfaceMatchingEasyMode 알고리즘: 조절 가능한 파라미터 모듈은 속도 조절 파라미터 및 출력 설정입니다.
SurfaceMatching 알고리즘: 조절 가능한 파라미터 모듈은 샘플링 설정, 투표 설정, 클러스터링 설정 및 포즈 검증 설정입니다.
SurfaceMatchingEasyMode 파라미터 설명
속도 조절 파라미터
- 메인 속도 컨트롤러
-
기본값: 2
설명: 이 파라미터는 알고리즘 속도를 조절하는 데 사용됩니다. 값을 높이면 알고리즘 속도는 빨라지지만 매칭 정확도는 떨어집니다. 그 효과는 보조 속도 컨트롤러 보다 더 뚜렷합니다. 이 파라미터의 유효 범위는 1~6입니다.
조절 예시: 아래 그림과 같습니다. 왼쪽은 파라미터의 기본값이 2일 때의 결과이고 오른쪽은 이 파라미터를 6으로 조절한 결과입니다. 증가 후 매칭 정확도가 감소하는 것을 분명히 알 수 있습니다.
- 보조 속도 컨트롤러
-
기본값: 10
설명: 이 파라미터는 알고리즘 속도를 조절하는 데 사용됩니다. 값을 높이면 알고리즘 속도는 빨라지지만 매칭 정확도는 떨어집니다. 그 효과는 메인 속도 컨트롤러 보다 약합니다. 이 파라미터의 유효 범위는 1~20입니다.
조절 예시: 아래 그림과 같습니다. 왼쪽은 파라미터의 기본값이 10인 결과이고, 오른쪽은 파라미터를 15로 조절한 결과입니다. 조절한 후 매칭 정확도가 감소하지만 메인 속도 컨트롤러보다 영향이 작음을 알 수 있습니다.
출력 설정
- 각 포인트 클라우드에서 감지된 최대 포즈 수
-
기본값: 3
설명: 이 파라미터는 각 포인트 클라우드 매칭에 대한 출력 수를 예상하는 데 사용됩니다. 이 값이 클수록 매칭하는 출력 결과가 더 많아집니다.
조절 예시: 비교 결과는 아래 그림과 같습니다. 왼쪽은 파라미터 값이 1일 때의 결과이고, 오른쪽은 파라미터를 3으로 조절한 결과입니다.
SurfaceMatching 파라미터 설명
샘플 설정
- 자동 다운 샘플링
-
기본값: 선택함
설명: 이 파라미터는 자동 다운 샘플링을 사용할지를 결정하는 데 사용되며 이 파라미터를 선택하면 샘플링 후 모델 포인트 수의 목표값에 따라 모델 포인트 클라우드 다운 샘플링 간격 파라미터를 자동으로 조정합니다.
- 샘플링 후 모델 포인트 수의 목표값
-
기본값: 1000
설명: 이 파라미터는 샘플링된 포인트 클라우드의 포인트 수를 조절하는 데 사용되며 자동 다운 샘플링을 선택해야 이 파라미터를 설정할 수 있으며 획득한 포인트 클라우드의 포인트 수가 이 값에 가깝습니다. 값이 작을수록 샘플링된 포인트 클라우드에 있는 포인트 수가 적어 추정된 포즈의 정확도가 낮아집니다.
- 샘플링된 모델 포인트 수의 최대값
-
기본값: 4000
설명: 이 파라미터는 모델 포인트 클라우드 다운 샘플링 후 포인트 클라우드의 포인트 수의 최대값을 설정하는 데 사용됩니다. 즉, 다운 샘플링 후 모델 포인트 클라우드의 포인트 수에 대한 상한을 설정하는 데 사용됩니다. 매칭 효과가 이상적이지 않으면 이 파라미터를 늘리는 것이 좋습니다. 매칭 속도에 대한 요구 사항이 더 높으면 이 파라미터를 줄이는 것이 좋습니다.
- 샘플링된 시나리오 모델 포인트 수의 최대값
-
기본값: 3000
설명: 이 파라미터는 시나리오 포인트 클라우드 다운 샘플링 후 포인트 클라우드의 최대 포인트 수를 설정하는 데 사용됩니다. 즉, 다운 샘플링 후 시나리오 포인트 클라우드의 포인트 수에 대한 상한을 설정하는 데 사용됩니다. 매칭 효과가 이상적이지 않으면 이 파라미터를 늘리는 것이 좋습니다. 매칭 속도에 대한 요구 사항이 더 높으면 이 파라미터를 줄이는 것이 좋습니다.
- 샘플링 간격
-
기본값: 10.000 mm
설명: 이 파라미터는 샘플링된 포인트 클라우드의 포인트 사이의 최대 거리(단위는 mm)를 조절하는 데 사용됩니다. 모델 포인트 클라우드 다운 샘플링 간격이 최소 샘플링 간격보다 작은 경우 최소 샘플링 간격을 실제 샘플링 간격으로 사용합니다. 이 값이 클수록 샘플링 후 계산에 사용되는 포인트 클라우드의 수가 적고 매칭 정확도가 낮아지며 알고리즘을 실행하는 데 걸리는 시간이 줄어듭니다.
조절 예시: 아래 그림과 같습니다. 왼쪽 그림은 기본값이 0.01일 때의 결과이고, 오른쪽 그림은 이 파라미터가 0.02로 조정된 결과입니다.
- 최소 샘플링 간격
-
기본값: 3.000 mm
설명: 이 파라미터는 샘플링 간격(단위:mm)을 계산하는 데 사용됩니다. 자동 다운 샘플링을 선택한 후에만 이 파라미터를 설정할 수 있습니다. 계산된 샘플링 간격이 이 값보다 작으면 이 값이 실제 샘플링 간격으로 사용됩니다.
투표 설정
- 거리 양자화
-
기본값: 1
설명: 이 파라미터는 포인트 사이의 거리를 양자화하는 데 사용됩니다. 거리 간격 = 거리 양자화 × 샘플링 간격이기 때문에 이 파라미터가 클수록 거리 간격이 커지고 매칭 정확도가 떨어집니다.
- 각도 양자화
-
기본값: 60
설명: 이 파라미터는 포인트 사이의 벡터의 협각 파라미터를 양자화하는 데 사용됩니다. 각도 간격 = 2 × 3.14 / 각도 양자화이기 때문에 이 파라미터가 클수록 각도 간격이 커지고 매칭 정확도가 낮아집니다.
- 최대 투표 비율
-
기본값: 0.8
설명: 이 파라미터는 최대 투표수에 대한 투표수의 비율 역치를 설정하는 데 사용됩니다. 이전 단계에서 각 포즈에 해당하는 투표수를 구합니다. 최대 투표수에 이 파라미터를 곱하여 역치를 구합니다. 한 포즈에 대한 투표수가 역치보다 크면 해당 포즈가 보류되 클러스터링 작업을 진행합니다. 값이 작을수록 정확히 매칭하는 항목을 찾을 가능성이 높아지지만 그에 따라 실행시간이 늘어납니다. 이 파라미터의 유효 범위는 0~1입니다.
- 기준점 샘플링 보폭
-
기본값: 5
설명: 이 파라미터는 기준점의 샘플링 보폭을 조정하는 데 사용됩니다. 포인트 클라우드에서 이 보폭을 간격으로 샘플링합니다. 이 값이 클수록 간격 샘플링 포인트가 적어지고 실행 속도가 빨라지지만 매칭 정확도가 떨어집니다.
- 비교점 샘플링 보폭
-
기본값: 1
설명: 이 파라미터는 비교점의 샘플링 보폭을 조정하는 데 사용됩니다. 포인트 클라우드에서 이 보폭을 간격으로 샘플링합니다. 이 값이 클수록 간격 샘플링 포인트가 적어지고 실행 속도가 빨라지지만 매칭 정확도가 떨어집니다.
-
기준점과 비교점은 한 쌍을 이루며, 샘플링 간격이 클수록 기준점과 비교점이 적어지고 점쌍이 적을수록 실행 속도가 빨라집니다.
-
기준점은 매칭 모델에 있는 샘플 포인트입니다. 비교점은 매칭 모델에 없는 샘플 포인트입니다.
-
클러스터링 설정
- 클러스터링 비율
-
기본값: 0.1
설명: 이 파라미터는 클러스터링에 사용된 포즈 수와 계산된 전체 포즈의 비율을 조정하는 데 사용됩니다. 모든 포즈는 계산 과정에서 점수를 얻게 되며 모든 포즈는 점수의 크기에 따라 정렬됩니다. 이 파라미터는 클러스터링에 사용되는 포즈의 비례를 결정합니다. 기본값은 0.1, 즉 상위 10%를 취하여 클러스터링을 위한 포즈로 사용됩니다. 이 값이 클수록 정확히 매칭하는 항목을 찾을 가능성이 높아지지만 그에 따라 실행시간이 늘어납니다.
- 각도 차이 역치
-
기본값: 15
설명: 이 파라미터는 클러스터링 과정에서 각도 증분 크기를 조정하는 데 사용됩니다. 최종 계산 결과 동일한 물체의 가능한 계산은 여러 포즈를 얻을 수 있으며, 매우 가까운 파라미터를 가진 포즈가 융합될 때 이 파라미터가 각도 파라미터의 증분을 결정합니다. 파라미터가 클수록 각도 차이가 큰 포즈도 최종 결과에 융합되어 매칭 정확도가 감소합니다.
- 거리 차이 역치
-
기본값: 0.02
설명: 이 파라미터는 클러스터링 과정에서 거리 증분 크기를 조정하는 데 사용됩니다. 최종 계산 결과 동일한 물체의 가능한 계산은 여러 포즈를 얻을 수 있습니다. 매우 가까운 파라미터를 가진 포즈가 융합될 때 이 파라미터는 거리 파라미터의 증분을 결정합니다. 파라미터가 클수록 거리가 커집니다. 크게 다른 포즈 또한 최종 결과에 융합되어 매칭 정확도가 감소합니다.
- 높은 점수를 가진 상위 N개의 클러스터링 결과를 출력하기
-
기본값: 5
설명: 이 파라미터는 클러스터링 후 얻은 여러 매칭 결과 중 가장 높은 점수를 가진 상위 N개의 결과를 최종 결과로 조정하는 데 사용됩니다.
포즈 검증 설정
- 포즈 검증 기능을 사용하기
-
기본값: 선택함
설명: 이 파라미터는 포즈 검증을 사용할지를 결정합니다. 이 파라미터를 선택하면 클러스터링의 모든 파라미터가 실효됩니다. 자세 검증 및 클러스터링은 최종 매칭 결과의 검증 및 선별의 두 가지 다른 방법이며 동시에 사용할 수 없습니다.
- 인접 포인트의 검색 반경
-
기본값: 1
설명: 이 파라미터는 자세 검증 시 검증 영역의 크기를 컨트롤 하는데 사용되며, 단일 복셀이 단위입니다. 값이 증가하면 포즈 검증에 사용되는 표시 영역이 커지고 최종 결과 검증에 포함되는 해당 포인트가 증가하여 매칭 정확도가 감소합니다.
- 복셀 길이
-
기본값: 3
설명: 포인트 클라우드가 위치하는 공간은 3D 격자로 분할되는데, 이 파라미터는 3D 격자의 가장 작은 사이즈(단위:mm) 입니다. 이 값을 높이면 프레임 선택 범위가 커지고 자세 검증을 위해 더 많은 포인트를 선택하게 되며 알고리즘 속도는 빨라지지만 매칭 정확도는 떨어집니다.
- 각 포인트 클라우드에서 감지된 최대 포즈 수
-
기본값: 3
설명: SurfaceMatching 알고리즘에서 이 파라미터 효과는 SurfaceMatchingEasyMode와 같습니다.
예시: 아래 그림과 같이 왼쪽이 이 파라미터 기본값이 3인 경우의 결과이고, 오른쪽이 이 파라미터를 1로 조정된 결과입니다.
결과 시각화
- 다운 샘플링된 포인트 클라우드 모델 표시
-
기본값: 선택하지 않음.
설명: 이 파라미터는 다운 샘플링된 모델 포인트 클라우드를 표시하는 데 사용됩니다.
- 다운 샘플링된 시나리오 포인트 클라우드 표시
-
기본값: 선택하지 않음.
설명: 이 파라미터는 다운 샘플링된 시나리오 포인트 클라우드를 표시하는 데 사용됩니다.
- 매칭 결과를 표시하기
-
기본값: 선택함
설명: 이 파라미터는 매칭 후의 모델과 시나리오 포인트 클라우드를 표시하는 데 사용됩니다.