liuzhengzhe / One-Thing-One-Click

https://arxiv.org/abs/2104.02246 One Thing One Click (CVPR 2021) https://arxiv.org/abs/2303.14727 One Thing One Click++ (Arxiv)
53 stars 8 forks source link

Data_efficient settings #21

Open fanyan0411 opened 2 years ago

fanyan0411 commented 2 years ago

Hi, could you please release the data preparation code for scannet data_efficient?

Or, just like otoc, we need to know which 'segments' those labeled data belongs, and then label all the point in these 'segments'?

Hoping your responce sincerely~~

liuzhengzhe commented 2 years ago

Hi,

Please see https://github.com/liuzhengzhe/One-Thing-One-Click/blob/master/data/prepare_data_otoc.py (line 95)

We use the first segment in the official data.

Zhengzhe

fanyan121212 @.***> 于2022年6月2日周四 23:55写道:

Hi, could you please release the data preparation code for scannet data_efficient?

Or, just like otoc, we need to know which 'segments' those labeled data belongs, and then label all the point in these 'segments'?

Hoping your responce sincerely~~

— Reply to this email directly, view it on GitHub https://github.com/liuzhengzhe/One-Thing-One-Click/issues/21, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WPDEN3YTHMWNCRILZYBDVNDKP7ANCNFSM5XVNZEOQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

liuzhengzhe commented 2 years ago

Sorry. In data-efficient setting, we use the official file provided by ScanNet data-efficient.

You can read the file like this:

self.sampled_inds = {} if config.data.sampled_inds and phase == DatasetPhase.Train: self.sampled_inds = torch.load(config.data.sampled_inds)

Zhengzhe

Zhengzhe LIU @.***> 于2022年6月3日周五 10:31写道:

Hi,

Please see

https://github.com/liuzhengzhe/One-Thing-One-Click/blob/master/data/prepare_data_otoc.py (line 95)

We use the first segment in the official data.

Zhengzhe

fanyan121212 @.***> 于2022年6月2日周四 23:55写道:

Hi, could you please release the data preparation code for scannet data_efficient?

Or, just like otoc, we need to know which 'segments' those labeled data belongs, and then label all the point in these 'segments'?

Hoping your responce sincerely~~

— Reply to this email directly, view it on GitHub https://github.com/liuzhengzhe/One-Thing-One-Click/issues/21, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WPDEN3YTHMWNCRILZYBDVNDKP7ANCNFSM5XVNZEOQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

fanyan0411 commented 2 years ago

Thanks a lot for your reply!

self.sampled_inds = {} if config.data.sampled_inds and phase == DatasetPhase.Train: self.sampled_inds = torch.load(config.data.sampled_inds)

This part is used for loading the points20, points50 file. After that, does segments information used in data_efficient in your setting?

More specifically, as you mentioned, the code refer to line 95 in prepare_data_otoc.py is instance_segids.append([x['segments'][0]])

We know that it corresponds to 'one thing one click', but the data_efficient, like 'points20', in scannetv2 has appointed 20 labeled points for each point cloud file. Should we need to correspond these 20 points to their 20 segments, and then lable all the point in 20 segments as their conterparts label in 20 points?

Thanks again!

liuzhengzhe commented 1 year ago

We use the 20 segments to train the model, but we do not need to label the 20 segments. Since in the Figure 3 (b) in the paper, we use super-voxel partition and generate the initial pseudo label (Figure 3 (d)) from annotated points.

Only in scannet, the super-voxel does not bring any error. But in other datasets, like S3DIS, the super-voxel brings some error. So in generally, we regard the initial pseudo label (Figure 3 (d)) generation is a step in method, not annotation.

Zhengzhe

fanyan121212 @.***> 于2022年6月3日周五 11:02写道:

Thanks a lot for your reply!

self.sampled_inds = {} if config.data.sampled_inds and phase == DatasetPhase.Train: self.sampled_inds = torch.load(config.data.sampled_inds)

This part is used for loading the points20, points50 file. After that, does segments information used in data_efficient in your setting?

More specifically, as you mentioned, the code refer to line 95 in prepare_data_otoc.py is instance_segids.append([x['segments'][0]])

We know that it corresponds to 'one thing one click', but the data_efficient, like 'points20', in scannetv2 has appointed 20 labeled points. Should we need to correspond this 20 points to 20 segments, and then lable all the point in 20 segments as their conterparts label in 'points20'?

Thanks again!

— Reply to this email directly, view it on GitHub https://github.com/liuzhengzhe/One-Thing-One-Click/issues/21#issuecomment-1145538368, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WPDDCYC7BCEKXHVLT363VNFYUBANCNFSM5XVNZEOQ . You are receiving this because you commented.Message ID: @.***>