3D 근사 매칭(멀티 모델)

기능 설명

멀티 모델을 사용하여 시나리오에 있는 물체에 대해 근사 매칭을 진행하여 대상 물체의 초기 후보 포즈를 출력합니다.

응용 시나리오

멀티 모델을 사용하여 시나리오에 있는 초기 물체 포즈에 대해 계산합니다. 3D 근사 매칭 스텝의 확장 버전이고 파라미터 조정 방법도 이와 거의 일치합니다. 멀티 모델 포인트 클라우드를 입력하여 매칭할 수 있으며 멀티 모델 시나리오에 사용할 수 있고 또 다양한 유형의 작업물을 인식하거나 분류하는 데 사용됩니다.

이 스텝은 3D 근사 매칭 의 확장 버전이고 멀티 모델 시나리오에 사용됩니다. 매칭을 통해 더 정확한 포즈를 획득하기 위해 일반적으로 뒤에 3D 상세 매칭(멀티 모델) 스텝을 사용합니다.

입력 및 출력

../../../../_images/input_and_output28.png

파라미터 리스트

설명

모델 및 픽 포인트 설정

모델 파일

모델 파일과 기하학적 중심 파일.

기하학적 중심 파일

포인트 클라우드 중 포인트가 위치한 평면의 법선 방향 계산

포인트가 위치한 평면의 법선 방향의 계산 방법

포인트가 위치한 평면의 법선 방향의 계산 방법을 선택하면 4가지 옵션이 있습니다.

선택된 인접 점의 수

선택할 인접 점의 수를 설정합니다.

알고리즘 유형 SurfaceMatchingEasyMode

속도 조정 파라미터

메인,보조 속도 컨트롤러 파라미터 설정

출력 설정

단일 포인트 클라우드에 대한 출력 결과 수 설정

시각화 결과

모델 및 시나리오 포인트 클라우드 매칭 결과 표시 여부

알고리즘 유형 SurfaceMatching

샘플링 설정

다운샘플링 및 샘플링 간격 설정.

투표 설정

양자화, 투표 관련 설정.

클러스터링 설정

역치, 클러스터링 관련 설정.

포즈 검증 설정.

포즈 검증 관련 설정.

시각화 결과 설정

모델 및 시나리오 포인트 클라우드 매칭 결과 표시 여부

파라미터 설명

모델 및 픽 포인트 설정

모델 파일 및 픽 포인트 파일 경로 설정.

모델 파일 (필수)
기본값: model.ply
설명: ply 형식의 모델 포인트 클라우드. 여러 파일 경로를 선택할 수 있으며 파일 사이는 쌍반점으로 구분합니다.
기하학적 중심 파일 (필수)
설명: json 형식의 기하학적 중심 파일입니다. 여러 파일 경로를 선택할 수 있으며 파일 사이는 쌍반점으로 구분합니다.
설명: 각 파라미터 아래에 입력된 파일의 순서가 일치한지 확인하십시오. 즉, 모델 파일기하학적 중심 의 파일 경로가 같은지 확인해야 합니다. 그림1 과 같이,다른 파일은 로 간격을 표시해야 합니다.
../../../../_images/input_path.png

그림1 모델 및 픽 포인트 설정 조정 예시

포인트 클라우드 중 포인트가 위치한 평면의 법선 방향 계산

포인트가 위치한 평면의 법선 방향 계산 방법
기본값: Origin

값 리스트

설명

Origin

입력 포인트 클라우드의 원시 법선 방향을 직접 사용합니다.

StandardMode

CPU로 입력 포인트 클라우드의 법선 방향을 다시 계산하며 모델이 법선 방향이 없을 때 사용할 것을 권장합니다. 목표점 근처에서 목표점과 가장 가까운 k개의 점을 검색하고 PCA(주성분 분석 법)를 사용하여 최소 특징 벡터를 획득해 이 포인트의 법선 방향으로 간주합니다.

EdgeTangent

포인트의 접선 방향을 법선 방향으로 사용하여 입력 에지 포인트 클라우드의 접선을 계산합니다. 외부 윤곽이 서로의 거울 이미지인 다른 물체를 구별할 수 있으며 평면 물체의 에지 포인트 클라우드를 매칭시킬 때 사용하는 것이 좋습니다.

EdgeNormal

입력 에지 포인트 클라우드의 법선 방향을 계산하고, 점의 접선 방향을 법선 방향으로 사용하며 평면 물체의 에지 포인트 클라우드를 매칭할 때 사용하는 것을 권장합니다.

참고

EdgeTangent 또는 EdgeNormal 방법을 사용할 때 각 에지 포인트 클라우드에 여러 물체가 포함되어 있지 않아야 합니다. 즉 각 물체의 포인트 클라우드가 분할되었는지 확인해야 합니다.

선택된 인접 점의 수
기본값: 10
설명: 이 파라미터는 포인트 방향의 인접점의 수, 즉 StandardMode 모드에서 k 값을 조정 계산하는 데 사용됩니다.

알고리즘 유형

기본값: SurfaceMatchingEasyMode
값 리스트: SurfaceMatchingEasyMode ,SurfaceMatching
설명: 이 알고리즘은 두 가지 유형이 있습니다. 시각화 결과는 두 알고리즘이 다 조정할 수 있는 파라미터로 설정합니다. 알고리즘 유형의 파라미터 조정은 그림2입력 포인트 클라우드를 예로 들어 정(正)반(反)모델의 각 매칭을 합니다. 먼저 SurfaceMatchingEasyMode 알고리즘에서 조정 가능한 파라미터를 소개합니다.
SurfaceMatchingEasyMode 알고리즘: 조정 가능한 파라미터 모듈은 속도 조정 파라미터 및 출력 설정입니다.
SurfaceMatching 알고리즘: 조정 가능한 파라미터 모듈은 샘플링 설정, 투표 설정,클러스터링 설정 및 포즈 검증 설정입니다.
../../../../_images/input_cloud.png

그림2 포인트 클라우드 예시 입력


SurfaceMatchingEasyMode 파라미터 설명

속도 조절 파라미터

메인 속도 컨트롤 파라미터
기본값: 2
설명: 이 파라미터는 알고리즘 속도를 조정하는 데 사용됩니다. 값을 높이면 알고리즘 속도는 빨라지지만 매칭 정확도는 떨어집니다. 그 효과는 보조 속도 컨트롤 파라미터 보다 더 뚜렷합니다. 이 파라미터의 유효 범위는 1~6입니다.
예시: 그림3-1그림3-2와 같이 왼쪽은 파라미터의 기본값이 ``2``일 때의 결과이고 오른쪽은 이 파라미터를 ``6``으로 조정한 결과입니다. 증가 후 매칭 정확도가 감소하는 것을 분명히 알 수 있습니다.
../../../../_images/main_speed_comparison_1.png

그림3-1 positive 모델 파라미터 조정 결과 비교

../../../../_images/main_speed_comparison_2.png

그림3-2 negative모델 파라미터 조정 결과 비교

보조 속도 컨트롤러 파라미터
기본값: 10
설명: 이 파라미터는 알고리즘 속도를 조정하는 데 사용됩니다. 이 값을 높이면 파라미터 속도는 빨라지지만 매칭 정확도는 떨어집니다. 그 효과는 메인 속도 컨트롤 파라미터 보다 약합니다. 이 파라미터의 유효 범위는 1~20입니다.
예시: 그림4-1그림4-2와 같이 왼쪽은 파라미터의 기본값이 ``10``인 결과이고, 오른쪽은 파라미터를 ``15``로 조정한 결과입니다. 조정 후 매칭 정확도가 감소하지만 메인 속도 컨트롤 파라미터보다 영향이 작음을 알 수 있습니다.
../../../../_images/secondary_speed_comparison_1.png

그림4-1 positive 모델 파라미터 조정 결과 비교

../../../../_images/secondary_speed_comparison_2.png

그림4-2 negative 모델 파라미터 조정 결과 비교

출력 설정

단일 포인트 클라우드의 출력 결과 수
기본값: 3
설명:
예시: 비교 결과는 그림5와 같습니다. 왼쪽은 파라미터 값이 ``1``일 때의 결과이고, 오른쪽은 파라미터를 ``3``으로 조정한 결과입니다.
../../../../_images/number_of_output_comparison.png

그림5 positive모델 단일 포인트 클라우드의 출력 결과 수 파라미터 조정 결과 대비


SurfaceMatching 파라미터 설명

샘플링 설정

자동 다운샘플링
기본값: True
값 리스트: True,Flase
설명: 이 파라미터는 자동 다운샘플링을 사용할지를 결정하는 데 사용되며 ``True``로 설정하면 샘플링 후 모델의 희망 포인트 수에 따라 모델 포인트 클라우드 다운샘플링 간격 파라미터를 자동으로 조정합니다.
샘플링 후 모델의 희망 포인트 수
기본값: 1000
설명: 이 파라미터는 샘플링된 포인트 클라우드의 포인트 수를 조정하는 데 사용되며 자동 다운샘플링 값이 True일 때 효과적 이고 획득한 포인트 클라우드의 포인트 수가 이 값에 가까울 때 적용됩니다. 값이 작을수록 샘플링된 포인트 클라우드에 있는 포인트 수가 적어 추정된 포즈의 정확도가 낮아집니다.
모델 샘플링 최대 포인트 수
기본값: 4000
설명: 이 파라미터는 모델 포인트 클라우드 다운샘플링 후 포인트 클라우드의 최대 포인트 수를 설정하는 데 사용됩니다. 즉, 다운샘플링 후 모델 포인트 클라우드의 포인트 수에 대한 상한을 설정하는 데 사용됩니다. 매칭 효과가 이상적이지 않으면 이 파라미터를 늘리는 것이 좋습니다. 매칭 속도에 대한 요구 사항이 더 높으면 이 파라미터를 줄이는 것이 좋습니다.
시나리오 샘플링 최대 포인트 수
기본값: 3000
설명: 이 파라미터는 시나리오 포인트 클라우드 다운샘플링 후 포인트 클라우드의 최대 포인트 수를 설정하는 데 사용됩니다. 즉, 다운샘플링 후 시나리오 포인트 클라우드의 포인트 수에 대한 상한을 설정하는 데 사용됩니다. 매칭 효과가 이상적이지 않으면 이 파라미터를 늘리는 것이 좋습니다. 매칭 속도에 대한 요구 사항이 더 높으면 이 파라미터를 줄이는 것이 좋습니다.
모델 포인트 클라우드 다운샘플링 간격
기본값: 0.01
설명: 이 파라미터는 샘플링된 포인트 클라우드의 포인트 사이의 최대 거리(단위:m)를 조정하는 데 사용됩니다. 모델 포인트 클라우드 다운샘플링 간격이 최소 샘플링 간격보다 작은 경우 최소 샘플링 간격을 실제 샘플링 간격으로 사용합니다. 이 값이 클수록 샘플링 후 계산에 사용되는 포인트 클라우드의 수가 적고 매칭 정확도가 낮아지며 알고리즘을 실행하는 데 걸리는 시간이 줄어듭니다.
예시: 그림6과 같이 위의 그림은 이 파라미터의 기본값이 ``0.01``일 때의 결과이고 아래 그림은 파라미터를 ``0.02``로 조정한 결과입니다.
../../../../_images/sample_interval.png

그림6 모델 포인트 클라우드 다운샘플링 간격 파라미터 조정 결과 비교

최소 샘플링 간격
기본값: 0.003
설명: 이 파라미터는 샘플링 간격(단위:m)을 계산하는 데 사용됩니다. 자동 다운샘플링이 True일 때 유효합니다. 계산된 샘플링 간격이 이 값보다 작으면 이 값이 실제 샘플링 간격으로 사용됩니다.

투표 설정

거리 양자화
기본값: 1
설명: 이 파라미터는 포인트 사이의 거리를 양자화하는 데 사용됩니다. 왜냐하면 \(거리 간격 = 거리 양자화 × 샘플링 간격\) 이기 때문에 파라미터가 클수록 거리 간격이 커지고 매칭 정확도가 떨어집니다.
각도 양자화
기본값: 60
설명: 이 파라미터는 포인트 사이의 벡터 간 의 협각 파라미터를 양자화하는 데 사용됩니다. 왜냐하면 \(각도 간격 = 2 × 3.14 / 각도 양자화\) 이기 때문에 파라미터가 클수록 각도 간격이 커지고 매칭 정확도가 낮아집니다.
최대 투표 비례
기본값: 0.8
설명: 이 파라미터는 최대 투표 수에 대한 투표 수 비율의 역치를 설정하는 데 사용됩니다. 이전 단계에서 각 포즈에 해당하는 투표 수를 구합니다. 최대 투표 수에 이 파라미터를 곱하여 역치를 구합니다. 한 포즈에 대한 투표 수가 역치보다 크면 해당 포즈가 보류되 클러스터링 작업을 진행합니다. 값이 작을수록 정확히 일치하는 항목을 찾을 가능성이 높아지지만 그에 따라 실행시간이 늘어납니다. 이 파라미터의 유효 범위는 0-1입니다.
참고 포인트 샘플링 스텝 간격 포인트 수
기본값: 5
설명: 이 파라미터는 기준점의 샘플링 스텝 간격 포인트 수를 조정하는 데 사용됩니다. 포인트 클라우드에서 이 스텝 사이즈의 간격으로 샘플링합니다. 이 값이 클수록 간격 샘플링 포인트가 적어지고 실행 속도가 빨라지지만 매칭 정확도가 떨어집니다.
피참고 포인트 샘플링 스텝 간격 포인트 수
기본값: 1
설명: 이 파라미터는 피참고 포인트의 샘플링 스텝 간격 포인트 수를 조정하는 데 사용됩니다. 포인트 클라우드에서 이 스텝 사이즈의 간격으로 샘플링합니다. 값이 클수록 간격 샘플링 포인트가 적어지고 실행 속도가 빨라지지만 매칭 정확도가 떨어집니다.
참고 포인트와 피참고 포인트는 한 쌍의 점을 형성하며 샘플링 간격이 클수록 참고 포인트와 피참고 포인트가 적어지고 형성되는 점 쌍이 적어지며 실행 속도가 빨라집니다.
참고 포인트 는 매칭 모델에 있는 샘플 포인트입니다. 피참고 포인트 는 매칭 모델에 없는 샘플 포인트입니다.

클러스터링 설정

클러스터링 비율
기본값: 0.1
설명: 이 파라미터는 클러스터링에 사용된 포즈 수와 계산된 전체 포즈의 비율을 조정하는 데 사용됩니다. 모든 포즈는 계산 과정에서 점수를 얻게 되며 모든 포즈는 점수의 크기에 따라 정렬됩니다. 이 파라미터는 클러스터링에 사용되는 포즈의 비례를 결정합니다. 기본값은 0.1, 즉 상위 10%를 취하여 클러스터링을 위한 포즈로 사용됩니다. 이 값이 클수록 정확히 매칭하는 항목을 찾을 가능성이 높아지지만 그에 따라 실행시간이 늘어납니다.
각도 차이 역치
기본값: 15
설명: 이 파라미터는 클러스터링 프로세스에서 각도 증분 크기를 조정하는 데 사용됩니다. 최종 계산 결과 동일한 물체의 가능한 계산은 여러 포즈를 얻을 수 있으며, 매우 가까운 파라미터를 가진 포즈가 융합될 때 이 파라미터가 각도 파라미터의 증분을 결정합니다. 파라미터가 클수록 각도 차이가 큰 포즈도 최종 결과에 융합되어 매칭 정확도가 감소합니다.
거리 차이 역치
기본값: 0.02
설명: 이 파라미터는 클러스터링 프로세스에서 거리 증분 크기를 조정하는 데 사용됩니다. 최종 계산 결과 동일한 물체의 가능한 계산은 여러 포즈를 얻을 수 있습니다. 매우 가까운 파라미터를 가진 포즈가 융합될 때 이 파라미터는 거리 파라미터의 증분을 결정합니다. 파라미터가 클수록 거리가 커집니다. 크게 다른 포즈 또한 최종 결과에 융합되어 매칭 정확도가 감소합니다.
상위 N개의 최고 점수의 클러스터링 결과 출력
기본값: 5
설명: 이 파라미터는 클러스터링 후 얻은 여러 매칭 결과 중 가장 높은 점수를 가진 상위 N개의 결과를 최종 결과로 조정하는 데 사용됩니다.

포즈 검증 설정

사용 포즈 검증
기본값: True
값 리스트: True,Flase
설명: 이 파라미터는 자세 검증을 사용할지를 결정합니다. 이 파라미터를 ``True``로 설정하면 클러스터링의 모든 파라미터가 실효 됩니다. 자세 검증 및 클러스터링은 최종 매칭 결과의 검증 및 심사의 두 가지 다른 방법이며 동시에 사용할 수 없습니다.
인접 점 검색 반경
기본값: 1
설명: 이 파라미터는 자세 검증 시 검증 영역의 크기를 컨트롤 하는데 사용되며, 단일 복셀이 단위입니다. 값이 증가하면 포즈 검증에 사용되는 표시 영역이 커지고 최종 결과 검증에 포함되는 해당 포인트가 증가하여 매칭 정확도가 감소합니다.
복셀 길이
기본값: 3
설명: 포인트 클라우드가 위치하는 공간은 3D 격자로 분할되는데, 이 파라미터는 3D 격자의 가장 작은 사이즈(단위:mm) 입니다.이 값을 높이면 프레임 선택 범위가 커지고 자세 검증을 위해 더 많은 포인트를 선택하게 되며 알고리즘 속도는 빨라지지만 매칭 정확도는 떨어집니다.
단일 포인트 클라우드의 출력 결과 수
기본값: 3
설명: SurfaceMatching 알고리즘에서 이 파라미터는 SurfaceMatchingEasyMode 에서와 동일한 효과를 가집니다.
예시: 예를 들어 그림7왼쪽이 이 파라미터 기본값이 ``3``인 경우의 결과이고, 오른쪽이 이 파라미터를 ``1`로 조정된 결과입니다.
../../../../_images/number_of_output.png

그림7 positive 모델 단일 포인트 클라우드 출력 결과 수 파라미터 조정 결과 비교

시각화 결과

다운샘플링한 모델 포인트 클라우드 표시
기본값: False
값 리스트: True,Flase
설명: 이 파라미터는 다운샘플링된 모델 포인트 클라우드를 표시하는 데 사용됩니다.
다운샘플링한 시나리오 포인트 클라우드 표시
기본값: False
값 리스트: True,Flase
설명: 이 파라미터는 다운샘플링된 시나리오 포인트 클라우드를 표시하는 데 사용됩니다.
매칭 결과 표시
기본값: True
값 리스트: True,Flase
설명: 이 파라미터는 매칭 후의 모델과 시나리오 포인트 클라우드를 표시하는 데 사용됩니다.