물체 포즈를 예측하기(Sim2Pick)
응용 시나리오
이 스텝은 단일 유형의 물체 식별 및 위치 지정에 사용됩니다. 일반적으로 이 스텝 전에 3D ROI 내의 포인트 클라우드를 추출하기 스텝을 연결하여 사전 처리 후의 물체 포인트 클라우드를 입력하는 데 사용합니다. 이 스텝 후에 포인트 클라우드 및 포즈를 표시하기 스텝을 연결하여 이 스텝의 시각화 출력 결과를 볼 수 있습니다.
이 스텝에서 출력한 물체 포즈가 높은 정확도를 갖추게 하기 위해, 스텝 앞의 3D ROI 내의 포인트 클라우드를 추출하기에서 설정한 3D ROI는 대상 물체만 포함해야 하며 최대한 빈의 테두리와 바닥을 포함시키지 않도록 해야 합니다. |
사용 조건
이 스텝의 사용 전제는 다음과 같습니다.
그래픽 카드에 대한 요구
이 스텝을 사용할 때는 NVIDIA GTX 1650 TI와 RTX 3060 TI 사이의 그래픽 카드(GTX 1650 TI 및 RTX 3060 TI 포함)를 사용하는 것이 좋습니다.
딥 러닝 모델 패키지를 가져오기
Mech-DLK Sim2Pick 소프트웨어를 사용하여 딥 러닝 모델을 훈련합니다. 구체적인 작업은 Mech-DLK Sim2Pick로 모델을 훈련하기 부분을 참조하십시오.
딥 러닝 모델을 얻은 후 "물체 포즈를 예측하기(Sim2Pick)" 스텝에서 모델을 사용하는 방법은 딥 러닝 모델 사용을 참조하십시오.
파라미터 설명
서버
- 서버 IP
-
설명: 이 파라미터는 딥 러닝 서버의 IP 주소를 지정하는 데 사용됩니다. 기본 설정을 사용하면 됩니다.
기본값: 127.0.0.1
- 서버 Port(1 ~ 65535)
-
설명: 이 파라미터는 딥 러닝 서버의 포트 번호를 지정하는 데 사용됩니다.
기본값: 60101
설명 : 모든 포트 번호는 최대 65535로 사용할 수 있습니다.
프로젝트를 연 후에는 딥 러닝 서버 부팅 성공, 즉 로그 바에 딥 러닝 서버 부팅 성공이라는 메시지가 뜨기를 기다렸다가 프로젝트를 실행해야 합니다. |
추론 설정
- 추론 모드
-
설명 : 딥 러닝 추론을 선택하는 데 사용하는 모드입니다. 값 리스트: GPU, CPU
-
GPU : GPU 추론으로 모델을 최적화한 다음 최적화된 모델을 추론하면 추론 속도가 빠릅니다. 모델을 처음으로 최적화하면 10 ~ 30 분이 소요됩니다.
-
CPU: CPU를 사용하여 딥 러닝 모델 추론을 수행하며 GPU에 비해 추론 시간이 늘어나고 인식 정확도가 떨어집니다.
기본값: GPU
설명 : 추론 속도 : GPU> CPU. 추론 모드를 전환 한 후 딥 러닝 서버를 다시 시작해야 합니다.
모델 구성
-
- 딥 러닝 모델 파일
-
설명 :이 파라미터는 딥 러닝 모델 파일 경로(Vis_xxx \ Resource \ Models)를 지정하는 데 사용됩니다. 모델 파일 접미사는 .onnx입니다.
|
포즈 최적화
이 스텝에서는 두 가지 포즈 최적화 기능 옵션을 제공합니다.
-
기하학적 중심 파일을 기반으로 포즈 조정: 설정된 기하학적 중심 파일에 따라 딥 러닝으로 출력된 물체 포즈를 피킹하기 더 적합한 물체 포즈로 조정합니다.
-
포즈 정밀 교정: 물체 포인트 클라우드 파일을 기반으로 물체 포즈가 더욱 최적화되고 정확하게 수정됩니다.
- 기하학적 중심 파일
-
설명: 이 파라미터는 물체의 기하학적 중심 파일의 경로를 지정하는 데 사용됩니다.
- 포즈 정밀 교정
-
설명: 이 파라미터는 물체 포즈를 정확하게 교정하는 데 사용됩니다.
기본값: 선택하지 않음.
조정 제안: 이 파라미터를 선택한 후 물체 포인트 클라우드 파일 경로를 설정해야 합니다. 포즈 교정은 포인트 클라우드 포인트 수와 관련이 있으므로 포인트 클라우드 포인트 수가 적은 .ply 파일을 입력하는 것이 좋습니다. 후속 스텝에 "3D 매칭" 관련 스텝이 없을 경우, 이 옵션을 켜는 것을 권장합니다.
- 물체 포인트 클라우드 파일
-
설명: 이 파라미터는 물체의 포인트 클라우드 파일 경로를 지정하는 데 사용됩니다. .ply 또는 .stl 형식의 포인트 클라우드 파일 선택을 지원합니다.
물체 클러스터링
이 스텝에서는 MeanShift, RegionGrowing 및 Dbscan 세 가지 클러스터링 알고리즘을 제공하며, 클러스터링 속도는 다음 표에 설명되어 있습니다.
알고리즘 |
속도 |
MeanShift |
느린 속도 |
RegionGrowing |
빠른 속도 |
Dbscan |
중간 속도 |
추론 모드가 CPU인 경우 RegionGrowing 알고리즘을 사용할 수 없습니다. |
- 클러스터링 알고리즘
-
설명: 이 파라미터는 사용할 클러스터링 알고리즘을 선택하는 데 사용됩니다.
값 리스트: MeanShift, RegionGrowing, Dbscan
클러스터링 알고리즘이 MeanShift인 경우 다음 파라미터를 조정해야 합니다.
- 클러스터 대역폭
-
설명: 이 파라미터는 거리가 얼마나 가까운 점이 함께 클러스터링 될 수 있는지를 결정하는 데 사용됩니다. 값이 클수록 더 멀리 떨어져 있는 포인트가 함께 클러스터링되기가 더 쉬워집니다. 이 파라미터가 너무 크면 두 개 이상의 물체를 하나의 물체로 클러스터링 할 수 있고, 이 파라미터가 너무 작으면 물체를 두 개 이상의 물체로 분리할 수 있습니다.
기본값: 10
값 범위: 1~100
최소값: 2
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
- 클러스터당 최소 포인트 수
-
설명: 이 파라미터는 클러스터의 최소 포인트 수를 설정하는 데 사용됩니다. 클러스터링 시 클러스터의 포인트 수가 하한보다 낮으면 클러스터가 무시됩니다.
값 범위: 1~50
기본값: 30
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
클러스터링 알고리즘이 RegionGrowing인 경우 다음 파라미터를 조정해야 합니다.
- 클러스터당 최소 포인트 수
-
설명: 이 파라미터는 클러스터의 최소 포인트 수를 설정하는 데 사용됩니다. 클러스터링 시 클러스터의 포인트 수가 하한보다 낮으면 클러스터가 무시됩니다.
기본값: 30
값 범위: 1~50
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
- 클러스터 반경
-
설명: 이 파라미터는 거리가 얼마나 가까운 점이 함께 클러스터링 될 수 있는지를 결정하는 데 사용됩니다. 단위는 밀리미터(mm)입니다. 값이 클수록 더 멀리 떨어져 있는 포인트가 함께 클러스터링되기가 더 쉬워집니다. 이 파라미터가 너무 크면 두 개 이상의 물체를 하나의 물체로 클러스터링 할 수 있고, 이 파라미터가 너무 작으면 물체를 두 개 이상의 물체로 분리할 수 있습니다.
기본값: 0.5 mm
값 범위: 0.1~20
최소값: 0.4 mm
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
- 인접 포인트 수
-
설명: 클러스터링 반경 내에서 이 파라미터는 특정 포인트가 함께 클러스터되는 가장 가까운 포인트 수를 결정하는 데 사용됩니다.
기본값: 30
값 범위: 1~200
최소값: 10
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
클러스터링 알고리즘이 Dbscan인 경우 다음 파라미터를 조정해야 합니다.
- 클러스터 대역폭
-
설명: 이 파라미터는 거리가 얼마나 가까운 점이 함께 클러스터링 될 수 있는지를 결정하는 데 사용됩니다. 값이 클수록 더 멀리 떨어져 있는 포인트가 함께 클러스터링되기가 더 쉬워집니다. 이 파라미터가 너무 크면 두 개 이상의 물체를 하나의 물체로 클러스터링 할 수 있고, 이 파라미터가 너무 작으면 물체를 두 개 이상의 물체로 분리할 수 있습니다.
기본값: 10
값 범위: 1~100
최소값: 2
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
- 클러스터당 최소 포인트 수
-
설명: 이 파라미터는 클러스터의 최소 포인트 수를 설정하는 데 사용됩니다. 클러스터링 시 클러스터의 포인트 수가 하한보다 낮으면 클러스터가 무시됩니다.
값 범위: 1~50
기본값: 30
조정 제안: 실제 상황에 따라 이 파라미터를 설정해야 합니다.
시각화
- 활성화
-
설명: 이 파라미터는 물체 인스턴스를 시각적으로 표시할지 여부, 즉 각 물체를 서로 다른 색상으로 구별하는 데 사용됩니다.
기본값: 선택하지 않음.
조정 제안: 이 파라미터는 실제 필요에 따라 설정해야 합니다.