이는 SG-Bot: 장면 그래프의 대략적인 로봇 상상력을 통한 객체 재배열(ICRA 2024) 논문, arxiv 의 최소 구현입니다.
conda env create - f environment . yml
cd extension
python setup . py install
Pytorch도 설치해주세요. CUDA 11.6을 사용하는 Pytorch 1.12.1로 테스트했습니다.
논문에 사용된 데이터와 자세한 내용을 다운로드하려면 이 페이지를 참조하세요.
AtlasNet
및 AtlastNet2
라는 두 개의 모양 자동 인코더를 설정했습니다. AtlasNet
정식 좌표 하에서 전체 모양으로 훈련되는 반면, AtlasNet2
상상을 안내하기 위해 목표 장면 그래프에 앞서 모양을 제공하는 카메라 프레임 아래에서 훈련됩니다. 또한 훈련된 AtlasNet 및 훈련된 AtlasNet2에서 다운로드한 훈련된 모델을 제공합니다.
도형 생성용
AtlasNet
훈련시키세요 . 훈련을 최적으로 만들려면 --batchSize
, --nepoch
조정해야 합니다. cd AtlasNet
python training/train_AE_AtlasNet.py
추론 포인트 클라우드 [선택 사항]: AtlasNet/inference/run_AE_AtlasNet.py
실행합니다. 결과는 AtlasNet/log/atlasnet_separate_cultery/network
아래에 생성된 포인트를 저장합니다.
Graph-to-3D 훈련을 위한 포인트 기능 획득: AtlasNet/inference/create_features_gt.py
실행하면 기능이 objs_features_gt_atlasnet_separate_cultery.json
에 저장됩니다. json 파일의 키는 개체의 이름(예: "cup_1")이고 값은 잠재 기능(128차원)입니다.
형상 사전 생성용
AtlasNet2
교육을 목표로 합니다. 파일은 여기(partial_pcs)에서 다운로드할 수 있습니다. 파일 경로를 수정하고 AtlasNet2/auxiliary/generate_partial_pc_for_object.py
실행할 수도 있습니다. 최종 출력은 AtlasNet2/partial_pc_data
아래에 피클 파일로 저장됩니다.AtlasNet2/auxiliary/generate_partial_pc_for_object.py
의 generate_train_sample
함수는 AtlasNet2/partial_pc_data
열차(90%)와 테스트(10%)로 분할합니다. 파일 이름은 AtlasNet2/partial_pc_data_splits.json
으로 저장됩니다.AtlasNet2
훈련: 절차는 AtlasNet
과 동일합니다.우리는 GCN-VAE 아키텍처인 Graph-to-3D를 기반으로 장면 생성기를 구축했습니다. 원래 Graph-to-3D와는 다르게, 모양 인식 장면 그래프를 활용하여 생성된 모양을 초기 장면에서 관찰된 모양과 정렬되도록 만듭니다. 우리는 training graph_to_3d에서 사용 가능한 훈련된 모델을 제공합니다.
네트워크를 재교육하려면 --batchSize
, --nepoch
, --exp
적절한 숫자로 설정해야 합니다.
cd graphto3d
python scripts/train_vaegan.py
자세한 내용은 원본 저장소에서 확인할 수 있습니다.
robot
과 oracle
의 두 가지 모드가 있습니다. robot
모드는 상상에 따라 물체를 조작하는 로봇 팔을 지원합니다. 이 모드에는 Contact-GraspNet을 사용하는 파악 자세 예측 네트워크가 필요합니다. 텐서플로우를 다운로드해야 합니다.
pip install tensorflow - estimator == 2.7 .0 tensorflow - gpu == 2.7 .0
체크포인트는 원본 저장소나 여기에서 다운로드할 수 있습니다. 체크포인트를 다운로드한 후 ./contact_graspnet
으로 이동하세요.
oracle
모드는 에이전트가 필요하지 않고 객체를 상대적인 포즈에 직접 배치하기만 하면 됩니다. 스크립트가 작동하도록 하려면 내부에서 변수 mode
수정한 후 다음을 실행하면 됩니다.
python sgbot_pybullet.py
논문의 결과는 oracle
모드에 있습니다. 미리 정의된 장면 그래프를 목표로 직접 사용합니다.
공연 시연을 위해 녹음된 로스백을 제공합니다. 이 평가판을 수행하려면 여기에서 MaskRCNN 체크포인트를 다운로드해야 합니다. 추가 요구 사항을 설치해야 합니다.