
open-vocabulary 3D scene graphinstance segmentation을 적용하여 -> semantic feature vectors를 추출한 후
ConceptGraph 란?
open-vocabulary 3D scene graph물체 중심의 ConceptGraph는
scene graph 표현:
요약 설명으로 시작 하겠다!object candidates mask를 얻고,object candidates mask 에 Depth image와 pose 정보를 결합해 3D 공간에 투영한 후,object candidates와유사도 측정을 통해 겹치는게 있는지 체크하고, "describe the central object in the image"의 text prompt와 함꼐) LVM에 통과시켜서, 그래프 edge에 반영하기 위해 LLM을 사용 (스포임, 아래에 자세히 설명 나옴)

3D scene graph (Mt)

3D point clouds Poj + semantic feature vector fojobject 후보군을 object set Ot_1 들과 비교해서, (어떻게 비교하는지는 아래 글에 자세히 나옴)candidate object masks = {mt,i}i=1...M = Seg(I_t^rgb)ft,i = Embed(I_t^rgb, mt,i)visual descriptor, ft,i) 를 구한다는 수식semantic feature vector 로 최종적 도출candidate object masks는 DBSCAN clustering을 이용하여 노이즈가 제거된 후, 3D 공간에 투영됩니다. (3D world 좌표계로 좌표변환 한다는 뜻)semantic & geometric 유사도를 계산하여, 유사도가 δ_sim(1.1)을 넘는지 확인함geometric 유사도 측정
semantic 유사도 측정

10개 captions를 일관되고 정확한 final caption으로 요약해달라는 추가 text query와 함께)물리적으로 가까운 거리에 있는 노드끼리 연결하고,그들의 spatial overlaps로 측정
minimum spanning tree(MST)를 만듦즉, 많이 겹치는(물체)들만 연결하려고 노력object captions and 3D location를 text로 입력요구사항: 물체 2개 간 공간적 관계를 묘사해주세요!(예: "a on b"? "b in a"?)옷장에 보관되어 있는 가방쓰레기통에 있는 재활용 가능한 종이 한장이제, 이렇게 완성한 ConceptGraph를 이용해서 Robotic Task planning을 수행해보자!
로봇 사용자가 임의의 자연어로 묘사한 task를 수행할 수 있게 하려면,
scene graph M_T를 LLM의 input으로 같이 넣을 수 있어야 한다.각 노드(object) O_T에 대해,
자연어로 묘사한 task를 받았을 때, LLM은 그래프에서 가장 관계있는 물체를 찾는다.

단계 1: LLM에게 ConceptGraph와 user query(something to wear for a space party) 던지면 -> most relevant object를 찾아줌
단계 2: VLM을 이용해서, most relevant object이 기대된 위치에 있는지 가봄
단계 3: 가봤는데 없으면, LLM에게 다시, 가장 가능성 있는 위치에 대해 물어봄

목적지로 가는 길이 물체로 인해 막혀 있을 때,
LLM에게 물어봐서, 어떤 물체는 밀고 지나가도 되는지 판단할 수 있음
LLM은 traversability prediction을 하기 위해, ConceptGraph의 node caption에 의존함.