Skip to content

Commit d1f6cbf

Browse files
committed
updates
1 parent 727d626 commit d1f6cbf

File tree

2 files changed

+10
-33
lines changed

2 files changed

+10
-33
lines changed

src/3DVL/LASO.md

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,15 @@ class AffordQ(Dataset):
156156

157157
self.cls2idx = {cls.lower():np.array(i).astype(np.int64) for i, cls in enumerate(classes)}
158158
self.aff2idx = {cls:np.array(i).astype(np.int64) for i, cls in enumerate(afford_cl)}
159-
159+
# 加载标注数据
160160
with open(os.path.join(data_root, f'anno_{split}.pkl'), 'rb') as f:
161161
self.anno = pickle.load(f)
162-
162+
# 加载点云数据
163163
with open(os.path.join(data_root, f'objects_{split}.pkl'), 'rb') as f:
164164
self.objects = pickle.load(f)
165165

166-
# Load the CSV file, and use lower case
166+
# 加载58种物体-功能组合的标注数据
167167
self.question_df = pd.read_csv(os.path.join(data_root, 'Affordance-Question.csv'))
168-
169-
self.len = len(self.anno)
170-
171-
print(f"load {split} set successfully, lenth {len(self.anno)}")
172168

173169
# sort anno by object class and affordance type
174170
self.sort_anno ={}
@@ -180,34 +176,15 @@ class AffordQ(Dataset):
180176
self.sort_anno[key] = [value]
181177
else:
182178
self.sort_anno[key].append(value)
179+
```
180+
加载的标注数据中每个样本的组织形式如下:
181+
- shape_id :点云ID
182+
- class :物体类别(如bed)
183+
- affordance :功能类别(如lay)
184+
- mask :功能区域掩码(点级别标注)
183185

186+
![标注数据组织形式](LASO/2.png)
184187

185-
def find_rephrase(self, df, object_name, affordance):
186-
qid = str(np.random.randint(1, 15)) if self.split == 'train' else '0'
187-
qid = 'Question'+qid
188-
result = df.loc[(df['Object'] == object_name) & (df['Affordance'] == affordance), [qid]]
189-
if not result.empty:
190-
# return result.index[0], result.iloc[0]['Rephrase']
191-
return result.iloc[0][qid]
192-
else:
193-
raise NotImplementedError
194-
195-
196-
def __getitem__(self, index):
197-
data = self.anno[index]
198-
shape_id = data['shape_id']
199-
cls = data['class']
200-
affordance = data['affordance']
201-
gt_mask = data['mask']
202-
point_set = self.objects[str(shape_id)]
203-
point_set,_,_ = pc_normalize(point_set)
204-
point_set = point_set.transpose()
205-
206-
question = self.find_rephrase(self.question_df, cls, affordance)
207-
affordance = self.aff2idx[affordance]
208-
209-
return point_set, self.cls2idx[cls], gt_mask, question, affordance
210-
```
211188

212189
### 8. 总结
213190

src/3DVL/LASO/2.png

90.8 KB
Loading

0 commit comments

Comments
 (0)