build_scenegraph_cfslam.py

About_work·2024년 9월 1일
0

global mapper

목록 보기
37/37
  • node는 물체
    • 위치/크기 + semantic 설명 + semantic feature vector 을 함께 저장
  • edge는 가까운 물체간 관계
    • 연결 뿐만 아니라, 두 물체간 상관관계를 text로 함께 저장.

1. README.md 내용

4.6. Extract object captions and build scene graphs

  • openai 패키지가 설치되어 있고 APIKEY가 설정되어 있는지 확인하세요.
  • GPT-3.5는 이 작업에서 일관되지 않은 결과를 자주 생성하므로, GPT-4를 사용하는 것을 권장
export OPENAI_API_KEY=<your GPT-4 API KEY here>
  • 또한 원본 LLaVa 레포에서 다음 줄을 다음과 같이 변경해야 할 수도 있습니다.
# if output_ids[0, -keyword_id.shape[0]:] == keyword_id:
#     return True
if torch.equal(output_ids[0, -keyword_id.shape[0]:], keyword_id):
    return True
  • 그런 다음 다음 명령어들을 순차적으로 실행하여 객체별 캡션을 추출하고 3D 장면 그래프를 구축하세요.
SCENE_NAME=room0
PKL_FILENAME=output.pkl.gz  # 실제 pkl.gz 파일 이름으로 변경하세요

python scenegraph/build_scenegraph_cfslam.py \
    --mode extract-node-captions \
    --cachedir ${REPLICA_ROOT}/${SCENE_NAME}/sg_cache \
    --mapfile ${REPLICA_ROOT}/${SCENE_NAME}/pcd_saves/${PKL_FILENAME}

python scenegraph/build_scenegraph_cfslam.py \
    --mode refine-node-captions \
    --cachedir ${REPLICA_ROOT}/${SCENE_NAME}/sg_cache \
    --mapfile ${REPLICA_ROOT}/${SCENE_NAME}/pcd_saves/${PKL_FILENAME}

python scenegraph/build_scenegraph_cfslam.py \
    --mode build-scenegraph \
    --cachedir ${REPLICA_ROOT}/${SCENE_NAME}/sg_cache \
    --mapfile ${REPLICA_ROOT}/${SCENE_NAME}/pcd_saves/${PKL_FILENAME}

그런 다음 다음 명령어를 사용하여 객체 맵과 장면 그래프를 시각화할 수 있습니다.

  • g를 눌러 장면 그래프를 표시합니다.
  • +-를 눌러 포인트 클라우드 크기를 증가 및 감소시켜 더 나은 시각화를 제공합니다.
python scripts/visualize_cfslam_results.py \
    --result_path ${REPLICA_ROOT}/${SCENE_NAME}/sg_cache/map/scene_map_cfslam_pruned.pkl.gz \
    --edge_file ${REPLICA_ROOT}/${SCENE_NAME}/sg_cache/cfslam_object_relations.json
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글