3D 상세 매칭¶
기능 설명¶
포인트 클라우드 모델과 원시 포인트 클라우드와 상세 매칭을 하여 대상 물체의 정확한 포즈를 출력합니다.
(포인트 클라우드 모델 새로 만드는 방법은 포인트 클라우드 모델 생성 을 참고하세요.)
응용 시나리오¶
이 스텝은 3D 근사 매칭 을 통해 출력된 초기 후보 포즈를 기반으로 하여 더 상세한 매칭을 실현해 대상 물체의 정확한 포즈를 출력합니다(픽 포인트로 사용할 수 있음).
입력 및 출력¶
파라미터 설명¶
파라미터 |
파라미터 설명 |
||
모델 설정 |
모델 선택 |
모델 라이브러리에 있는 모델을 선택합니다. |
|
모델 파일 |
모델 파일과 기하학적 중심점 파일을 선택하기 |
||
기하학적 중심점 파일 |
|||
포인트 클라우드 중 포인트 방향의 계산 |
포인트가 위치한 평면의 법선 방향 계산 모드 |
포인트 클라우드에서 포인트가 위치한 평면의 법선 벡터를 계산하는 방법(네 가지 방법 선택 가능) |
|
검색할 포인트의 수 |
포인트의 방향을 계산하는 데에 사용되는 포인트 수입니다. |
||
해당 설정 |
GMM |
매칭 모드 |
고속도(HighSpeed), 표준(Standard), 고정밀도(HighPrecision) 세 가지 모드 선택 가능 |
표준 편차 |
값이 높을수록 결과는 정확하지 않지만 실행 속도는 빨라집니다. |
||
대량의 물체에 대한 속도 향상 |
물체의 수량이 매우 많은 경우 이 옵션을 선택하는 것을 권장합니다. |
||
nearest-neighbor |
최근 포인트 검색 반경 |
샘플링 간격이 클 때, 값을 높이는 것이 좋습니다. |
|
해당 포인트 표시 |
매번 반복되는 해당하는 포인트를 표시합니다. |
||
복잡한 물체 여부 |
만약 목표 대상이 복잡한 물체라면, 선택하세요. |
||
반복포인트 자동 계산 |
선택하시면, 자동 가중치 계산 기능을 사용하게 됩니다. |
||
샘플링 설정 |
샘플링 간격 |
값이 클수록, 샘플링 포인트 클라우드 포인트 수가 줄어듭니다. |
|
결과 검증 설정 |
믿음도 역치 |
값이 높을수록, 결과는 더욱 정확합니다. |
|
결과를 평가할 때의 검색 반경 |
믿음도를 계산할 때 사용하는 검색 반경입니다. |
||
출력 설정 |
각 포인트 클라우드에서 측정된 최대 포즈 수 |
각 포인트 클라우드에서 측정된 최대 포즈 수 |
|
매칭 결과를 표시하기 |
출력한 모델과 시나리오 포인트 클라우드를 표시합니다. |
응용 예시¶
파라미터 조정 설명¶
파라미터 디버깅 레벨
기본값: Basic
값 리스트: Basic, Advanced
설명: 두 가지 다른 파라미터를 설정하여 레벨을 조절할 수 있습니다.
기본 파라미터 디버깅
이 부분에서는 기초 파라미터 디버깅( Basic) 모드에서 조절할 수 있는 파라미터를 소개합니다. 이 파라미터는 다음과 같이 고급 파라미터 조절 모드 에서도 디버깅할 수 있습니다.
모델 설정
- 모델 선택
- 설명: 오른쪽에 있는 드롭다운 버튼을 클릭하여 모델 파일과 해당 기하학적 중심 파일을 빠르게 선택 및 전환할 수 있습니다.
- 모델 파일
- 설명: 버튼을 마우스 왼쪽 키로 클릭한 후 .ply형식의 포인트 클라우드 모델 파일을 선택합니다. 모델 파일을 구성한 과정은 포인트 클라우드 모델을 생성하는 것과 관련되어 구체적인 사항은 매칭 모델 및 픽 포인트 편집기 내용을 참조하십시오.
- 기하학적 중심점 파일
- 설명: 버튼을 마우스 왼쪽 키로 클릭한 후 .json 형식의 기하학적 중심 파일을 선택합니다. 기하학적 중심 파일을 구성한 과정은 픽 포인트를 추가하는 것과 관련되어 구체적인 사항은 매칭 모델 및 픽 포인트 편집기 내용을 참조하십시오.
포인트 클라우드 중 포인트의 방향 계산
- 포인트가 위치한 평면의 법선 방향 계산 모드
- 기본값: Origin설명: 포인트 클라우드에서 포인트 방향을 계산하는 방법은 총 4 가지이며, 프로젝트 실제 상황에 따라 선택합니다.
값 리스트 |
조절 설명 |
Origin |
입력된 포인트 클라우드 (그림1)의 원시 법선 방향을 직접 사용합니다. |
StandardMode |
CPU를 통해 입력된 포인트 클라우드의 법선 방향을 다시 계산하여 모델에 법선 방향이 없을 때 사용하는 것을 권장합니다. 목표점 근처에서 목표점에서 가장 가까운 k개의 포인트를 검색하여 PCA(주성분 분석법)를 이용하여 최소 특징 벡터를 획득하는 것을 그 포인트의 법선 방향으로 합니다. |
EdgeTangent |
입력된 에지 포인트 클라우드의 접선을 계산하고, 이 점의 접선 방향을 법선 방향으로 이용합니다.외부 윤곽이 서로 경상인 다른 물체를 구분할 수 있으며 평면 물체의 에지 포인트 클라우드와 매칭할 때 사용하는 것을 추천합니다. 아래와 같은 두 가지 응용 시나리오가 있습니다. |
시나리오1: 정반 방향을 구분하는 경우입니다. 3D 상세 매칭(멀티 모델) 스텝을 사용할수 있으며 포인트 클라우드의 모델은 물체의 정반 방향의 모델입니다. |
|
시나리오2: 정반 방향을 구분하지 않은 경우입니다. 3D 상세 매칭 (단일 모델) 스텝만 사용하면 됩니다. |
|
EdgeNormal |
입력한 에지 포인트 클라우드의 법선 방향을 계산합니다. 평면 물체의 에지 포인트 클라우드와 매칭할 때 사용하는 것을 권자합니다. |
참고
EdgeTangent 혹은 EdgeNormal 방법을 사용할 때,각 에지 포인트 클라우드가 여러 개의 물체를 포함하지 않도록 하십시오. 즉, 각 물체 포인트 클라우드가 이미 분할되어 있습니다.
- 검색할 포인트의 수
- 기본값: 10설명: 포인트 방향을 계산하는 데 사용되는 인접한 포인트의 개수입니다. 최소값은 1입니다.
해당 설정
기본값: GMM값 리스트: GMM, nearest-neighbor설명: 이 파라미터는 부분적 매칭 방법에 사용됩니다. 모델 포인트 클라우드와 시나리오 포인트 클라우드을 매칭시킵니다. 모델 포인트 클라우드는 설정된 범위에 따라 이동하고 회전하여 이전 단계에서 얻은 시나리오의 포인트 클라우드와 매칭합니다.예시: 대부분 시나리오 하에 GMM 모드는 더 나은 간섭 방지와 빠른 매칭 속도를 자랑하므로 이 모드를 추천합니다. 극소수 상황 하에 (GMM가 수요를 충족할수 없을 때), nearest_neighbor 모드(nearest-neighbor)를 사용해 볼 수 있습니다. 그 출력 결과는 그림2와 같습니다.
GMM 모드 파라미터 설정
- 매칭 모드
- 기본값: Standard값 리스트: HighSpeed, Standard, HighPrecision설명: 매칭 모드는 총 3가지가 있습니다.프로젝트 수요에 근거하여 적합한 모드를 선택하세요.HighSpeed:속도가 가장 빠르지만 정밀도가 낮은 모드Standard:비교적 안정적인 모드HighPrecision:정밀도는 가장 높지만 속도가 느린 모드
- 반복 개수
- 기본값: 30설명: 반복이란 특정 명령어에 대해 조건이 충족될 때까지 순환 운행하는 과정을 말합니다.반복 개수는 이 과정에서 명령이 반복되는 개수를 말하는데, 여기서 파라미터는 반복 개수의 상한선입니다.이 파라미터 값이 클수록 매칭 계산 횟수가 많아지고 실행 시간이 길어질수록 매칭 정밀도가 향상됩니다.
- 표준 편차
- 기본값: 0.005 m설명: 이 파라미터 값은 초기 포즈값의 편차에 대응해야 합니다.이전 단계 ( 3D 근사 매칭 ) 처리 후 초기 포즈 편차가 클수록, 시나리오 클라우드와 모델 포인트 클라우드의 편차가 클수록 더 큰 표준 편차 값을 설정해야 하며, 이 경우 동작 속도가 빨라집니다.
힌트
작은 작업물을 매칭할 때 더 나은 매칭 결과를 획득하기 위해 표준 편차를 낮추는 것을 권장합니다.
- 표준 편차 감쇠 업데이트 스텝 간격 포인트 수
- 기본값: 3설명: 매칭 과정에서 표준 편차 는 최소 표준 편차 설정값에 도달할 때까지 점점 작아집니다.이 과정에서 표준 편차가 감쇄된 횟수, 즉 이 파라미터를 위한 값입니다.표준 오차가 큰 경우 감쇠 횟수가 많을수록 전체 감쇠 과정이 안정됩니다.일반적으로 이 파라미터는 조정할 필요가 없습니다.
- 대량의 물체에 대한 속도 향상
- 기본값: 선택하지 않음.설명: 물체의 수량이 매우 많은 경우 이 옵션을 선택하는 것을 권장합니다. 이 옵션을 선택한 후 대량의 물체에 대한 매칭 속도가 크게 향상되지만 물체의 수량은 그리 많지 않을 때 속도가 오히려 낮아집니다.
가장 가까운 포인트 모드(nearest-neighbour)파라미터 설정
반복 설정
- 최근 포인트 검색 반경
- 기본값: 0.01 m유효 범위: [0.0010,+∞)설명: 이 파라미터는 가장 가까운 포인트(nearest-neighbour)의 검색 반경을 조절하기 위해 사용하고, 단위는 m이며, 그 값의 설정은 입력된 초기 포즈의 편차에 대응해야 합니다.입력한 초기 위치의 편차가 매우 클 때, 즉 시나리오 포인트 클라우드와 모델 포인트 클라우드의 차이가 클 때, 모든 포인트가 해당 nearest-neighbor를 찾을 수 있도록 이 파라미터의 값을 증가시켜 nearest-neighbor들의 검색 반경 범위를 넓혀야 합니다. 초기 포즈의 편차가 매우 작으면 이 파라미터를 낮출 수 있습니다.이 파라미터의 최소값은
0.001m
이며, 이 하한보다 작으면 일부 드문드문한 포인트가 nearest-neighbor를 찾지 못해 출력 결과에 영향을 줄 수 있습니다. - 평균 제곱 오차 역치
- 기본값: 0.001설명: 이 파라미터는 제곱오차 평균값의 크기를 조정하기 위해 사용됩니다.이 값은 매번 반복이 지나면 기록으로 남아 후속 단계인 반복 단계에서의 비교에 사용됩니다.어느 한 번 반복의 제곱오차가 설정된 값보다 작을 때는 반복효과가 이미 도달했다고 보고 종료합니다.
- 윈도우 크기
- 기본값: 10유효 범위: [3,+∞)설명: 이 파라미터는 세대별 최적화 과정에서 오차 변동이 적은 연속 세대별 횟수를 가리킵니다.이 파라미터가 너무 작을 경우 국부 최적해가 발생하여 최종 매칭 정밀도에 영향을 줄 수 있습니다.예를 들어 창구는 3번의 연속적인 반복 결과의 오차만 포함하고 있어 해당 3번의 오차를 비교해 오차 변화 추이를 얻을 수 있어 국부 최적해(2차 반복은 1차, 3차 반복보다 오차가 적음)를 얻을 수 있습니다.
- 해당 포인트 표시
- 복잡한 물체 여부
- 기본값: False값 리스트: True,False설명: 대상물이 복잡한 형상의 물체(단순하지 않은 기하학적 형상이 아닌 것)일 경우, 반복점 대 가중치를 반복 포인트 가중치 자동 계산 기능을 사용해야 할 경우 ``True``를 선택해야 합니다.
- 반복된 점쌍의 가중치를 자동으로 계산하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 반복 포인트 가중치를 자동으로 계산하는 기능이 사용되며, 매칭 결과가 좋지 않은 대상에게는 이 기능이 권장됩니다.
점쌍 제거 설정
- 문제가 있는 점쌍을 제거하기
- 기본값: False값 리스트: True,False설명: 최근 포인트 검색 과정에서 여러 개의 포인트 매칭이 나타나므로 이 기능을 이용하여 포인트 매칭을 선별할 수 있습니다.
True
를 선택하면 다음과 같은 기능을 사용하게 될것이며 매칭 제거 sigma 배수의 역치 와 매칭 각도 차 역치 파라미터 문제 매칭을 제거합니다. 선택하지 않으면 이 두 속성은 작동하지 않습니다. - 점쌍 제거에 사용되는 sigma 배수의 역치
- 기본값: 1.0000설명: sigma 배수의 역치는 포인트 대 간 거리 방차 배수의 값을 말하며, 이 파라미터는 포인트 매칭 간의 거리에 따라 선별됩니다. 두 포인트 간 거리가 이 범위를 넘으면 이 포인트 매칭은 없어집니다.
- 점쌍의 각도 차이 역치
- 기본값: 45°설명: 만약 포인트 매칭의 법선 방향의 각도 차이가 이보다 크면 이 포인트 매칭은 제거됩니다.
- 반복에서 가중치를 사용하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 모델의 가중치는 알고리즘의 반복에 사용되기 때문에 가중치 모델을 더 잘 매칭할 가능성이 높습니다.
- 반복된 점쌍을 제거하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 중복점 매칭을 제거하는 기능이 사용되며, 중복 포인트 클라우드 유형 제거 파라미터가 적용됩니다.모델 포인트 클라우드의 포인트 수가 시나리오에서 단일 물체의 포인트 수보다 많을 때 사용하는 것을 권장합니다.
- 반복된 점쌍의 유형
- 기본값: MinDis값 리스트: MinDis,GlobalMin설명: 이 파라미터는 삭제 포인트 매칭의 반복적 대응 방법을 선택하는데 사용되며, 총 두 가지 방법을 포함합니다.최소 거리(MinDis) 중복 대응 포인트 매칭 사이의 거리를 계산하고, 보류 거리가 가장 작은 포인트 매칭은 삭제하고, 나머지 중복 포인트 매칭은 삭제합니다.전역 평균값(GlobalMin) 각 중복 대응 포인트 매칭 사이의 거리에서의 평균값을 참고로 하고, 이 평균값과의 차이가 가장 작은 포인트 매칭을 찾아 남겨 두면 상대적으로 적은 중복 매칭 포인트 매칭을 없앨 수 있습니다.
샘플링 설정
- 샘플링 간격
- 기본값: 0.005 m설명: 모델과 시나리오 포인트 클라우드 다운 샘플링의 샘플링 간격을 위해 사용됩니다.이 값이 클수록 샘플링된 포인트 클라우드가 줄어들고 모델 추정 정밀도가 떨어집니다.
결과 검증 설정
- 믿음도 역치
- 기본값: 0.5유효 범위: [0,+∞)설명: 결과의 검증 점수가 이 파라미터보다 크면 결과가 유효하다고 판단하여 출력으로 남겨집니다.높은 역치는 적은 유효 매칭을 의미하지만 출력의 정확도는 더 높습니다.낮은 역치는 유효한 매칭이 많다는 것을 의미하지만 출력의 정확도는 더 낮습니다.
주의
더 높은 역치를 정했을 때, 매칭 출력이 없는 경우가 여전히 발생할 수 있습니다. 특히 목표물의 서로 다른 부분이 동일한 형태를 갖는 경우.
- 결과를 평가할 때의 검색 반경
- 기본값: 0.01 m유효 범위: [0,+∞)설명: 이 파라미터는 신뢰도를 계산할 때의 검색 반경입니다. 이 물체의 포인트 클라우드 상황에 맞게 설정합니다. 포인트 클라우드가 드문드문하면 조금 더 크게 설정해야 합니다.
출력 설정
- 각 포인트 클라우드에서 측정된 최대 포즈 수
- 기본값: 1설명: 값이 클수록 매칭하는 출력 결과가 더 많습니다.예시: 이 파라미터를 조정하여 서로 다른 매칭 출력 결과를 얻을 수 있습니다. 그림5는 파라미터 기본값이
1``일 때 출력 결과입니다. \ `그림8 <#output_four>`__\ 은 파라미터를 ``4
로 조정한 결과입니다.
결과 시각화
- 매칭 결과를 표시하기
- 기본값: True값 리스트: True,False설명: True를 선택했을 때 출력한 모델과 시나리오 포인트 클라우드가 표시됩니다.
고급 파라미터 디버깅
이 부분은 고급 파라미터 디버깅(Advanced)에 추가된 조절 가능한 파라미터만을 소개하며, 기초 파라미터 디버깅(Basic)에 있는 것과 동일한 파라미터가 있다면 Basic 을 참고하세요.
대칭 설정
식별 대기 목표물이 대칭성을 가질 때, 매칭 결과가 국부적으로 최선에 빠지지 않도록 대칭성 설정을 추가합니다. 기하학적 중심점의 한 축을 회전 축으로 지정하여 설정된 축을 중심으로 대칭 시도를 수행한 다음 최적의 결과를 선별합니다.
- 대칭 축
- 기본값: ROTATE_BY_Z값 리스트: ROTATE_BY_X, ROTATE_BY_Y, ROTATE_BY_Z설명: 이 파라미터는 기하학적 중심의 회전 축을 선택하는 데 사용됩니다.
- 대칭 각도 간격
- 기본값: 360°설명: 이 파라미터는 대칭 각도의 크기를 조절하는데 사용됩니다.예시: 물체가 대칭 축을 중심으로 60° 회전하기 전과 후에 동일하게 보이는 경우 대칭 각도 간격은 60° 입니다.
- 최소 회전각
- 기본값: -180°설명: 이 파라미터는 대칭 각도의 크기를 조절하는데 사용됩니다.
- 최대 회전각
- 기본값: 180°설명: 이 파라미터는 최대 회전각 조절에 사용됩니다.
- 조절 예시
아래 그림에 표시된 크랭크 축 공작물의 경우 주요 부품, 즉 상자 내부 부품은 Y축을 따라 180° 대칭입니다.
대칭성 파라미터가 설정되지 않은 경우 유사한 국부적 모양으로 인해 다음 그림과 같이 매칭 결과가 국부적으로 최선에 빠지고 매칭 오류가 발생할 수 있습니다.
오류 결과를 분석하자면 모델은 크랭크 축의 중간 부분만 매칭됐으며, 만약 매칭 과정에서 모델이 180° 회전한 후의 매칭 시도를 추가하면 전체 크랭크 축과 매칭하게 되며 그 매칭 점수는 반드시 회전하기 전의 매칭 점수보다 높아야 합니다. 그러면 올바른 결과를 얻을 수 있습니다.
대칭성 회전축을 ROTATE_BY_Y(기하학적 중심점의 Y축)로 설정하고 대칭 각도 간격을 180°로 설정하면 다음 그림과 같이 올바른 매칭 결과를 얻을 수 있습니다.
포즈 샘플링 설정
- 지정축의 각도에 따라 후보 포즈를 필터링합니다.
- 기본값: 선택하지 않음.설명: 구속축과 기준 방향 사이에 상당한 각도 차이가 있는 포즈(각도 차이 상한 역치보다 큰 포즈)는 후보 포즈로 간주되지 않습니다.일반적으로 미러 매칭 결과에 해당하는 포즈를 필터링하는 데 사용됩니다.
검증의 모델 가중치
식별할 목표물의 “주체”가 비슷하고 “국소”의 차이만 클 경우, 모델“국소”의 가중치를 높여“국소”가 매칭하는 정확한 결과를 출력해야 합니다.
- 모델 가중치 파일
- 설명: 이 파일(.ply 형식)은 원시 포인트 클라우드 모델 중의 일부분입니다. 이 부분의 포인트 클라우드은 높은 가중치를 가지고 있으며 가중치 파라미터로 설정되어 있습니다. 실제 대상 물체에 따라 가중치 모델로 사용되는 부분을 선택해야 합니다.
- 가중치
- 기본값: 2.0설명: 이 파라미터는 포인트 클라우드에 가중치를 설정하는 데 사용됩니다.모든 초기 포인트 클라우드의 가중치를 ``1``로 가정하고 목표 포인트 클라우드에 이 파라미터를 설정하면 목표 포인트 클라우드 가중치는 \(1 X 파라미터\) 가 되어 후속 매칭 스텝에서 강조된 목적을 달성합니다.
- 가중치 설정 시의 검색 반경
- 기본값: 0.0030설명: 이 파라미터는 포인트 클라우드 가중치를 높이는 과정에서 탐색 반경을 설정하는 데 사용됩니다.가중치 설정은 원래 모델 포인트 클라우드에서 동작하는 것으로 모델 포인트 클라우드는 매칭 과정을 위해 사용되기 전에 샘플링 처리를 하기 때문에 가중치 포인트의 일부분을 위치 이동시키거나 폐기해야 합니다.분실 지점 부근 포인트를 가중치 설정하는 과정에서 검색 반경을 설정해야 하는데, 이 검색 반경이 파라미터로 설정됩니다.
- 조절 예시
이 예시는 대칭 설정 예시를 이어서 설명하겠습니다.
식별할 크랭크 축의 “주체”가 비슷하고 “국소”의 차이만 클 경우, 모델“국소”의 가중치를 높여“국소”가 매칭하는 정확한 결과를 출력해야 합니다.
결과 검증 설정
- 검증에서 각도 편차를 사용하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 포즈를 검증하는 과정에서 대응점에 대응하는 방향 벡터의 각도 차이를 고려해 출력은 줄지만 정확해지는 경우가 많습니다.
- 시나리오 포인트에서 해당 포인트의 비례로 점수를 곱하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 매칭 포인트에 [대응점 시나리오 포인트에서 차지하는 비율] 을 곱합니다.하나의 포인트 클라우드에 있는 다수의 물체의 포즈 상황을 추정하는 데는 적합하지 않습니다.
결과 시각화
- 샘플링된 포인트 클라우드 모델을 표시하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 출력된 결과에서 샘플링된 모델의 포인트 클라우드가 나타나며 실제 시나리오의 필요에 따라 설정됩니다.
- 샘플링된 시나리오 포인트 클라우드를 표시하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 출력된 결과에서 샘플링된 장면의 포인트 클라우드가 나타나며 실제 시나리오의 필요에 따라 설정됩니다.
- 모델과 시나리오 포인트 클라우드의 대응 관계를 표시하기
- 기본값: False값 리스트: True,False설명: ``True``를 선택하면 출력된 결과 중 모델과 시나리오 포인트 클라우드의 대응 관계가 표시되며 실제 시나리오의 필요에 따라 설정됩니다.