vlar-group / ogc Goto Github PK
View Code? Open in Web Editor NEW🔥OGC in PyTorch (NeurIPS 2022)
License: Other
🔥OGC in PyTorch (NeurIPS 2022)
License: Other
Thanks for your wonderful work! I have a question regarding the application of ground removal (apply the self-supervised scene flow estimator to points above the ground only.) on the real-world SemanticKITTI and KITTIdet datasets. Should ground removal also be applied to these datasets?
HI,
This is a brilliant work. However, there is no introduction about the time that this model takes to finish one task. Could you give some approximate time?
Thank you very much for your work. I noticed that in the SemanticKITTI data set, you only segmented cars as the experimental results. I would like to ask if it is possible to carry out the experiment for all the SemanticKITTI objects in the paper?
Hi,
thank you for publishing the code to your very interesting paper!
Could you please kindly look at my steps that I did to try to reproduce the results in the paper? Clearly I must be doing something wrong, but I cannot figure it out, since there are a lot of steps involved. Thank you very much in advance for taking a look. Your help is very much appreciated!
Here is how I adapted the experiment (mainly data and save paths) to my machine:
config/flow/kittisf/kittisf_unsup.yaml
config/seg/kittidet/kittisf_unsup.yaml
config/seg/kittisf/kittisf_sup.yaml
config/seg/kittisf/kittisf_unsup.yaml
config/seg/kittisf/kittisf_unsup_woinv.yaml
config/seg/semantickitti/kittisf_unsup.yaml
After this, I did the following steps:
KITTI_SF="/mnt/ssd4/ogc/kitti_sf"
KITTI_DET="/mnt/ssd4/ogc/kitti_det"
SEMANTIC_KITTI="/mnt/ssd4/ogc/SemanticKITTI"
python data_prepare/kittisf/process_kittisf.py ${KITTI_SF}
python test_flow_kittisf.py config/flow/kittisf/kittisf_unsup.yaml --split train --test_model_iters 5 --save
python test_flow_kittisf.py config/flow/kittisf/kittisf_unsup.yaml --split val --test_model_iters 5 --save
python data_prepare/kittisf/downsample_kittisf.py ${KITTI_SF} --save_root ${KITTI_SF}_downsampled
python data_prepare/kittisf/downsample_kittisf.py ${KITTI_SF} --save_root ${KITTI_SF}_downsampled --predflow_path flowstep3d
python data_prepare/kittidet/process_kittidet.py ${KITTI_DET}
python data_prepare/semantickitti/process_semantickitti.py ${SEMANTIC_KITTI}
for ROUND in $(seq 1 2); do
python train_seg.py config/seg/kittisf/kittisf_unsup_woinv.yaml --round ${ROUND}
python oa_icp.py config/seg/kittisf/kittisf_unsup_woinv.yaml --split train --round ${ROUND} --test_batch_size 2 --save
python oa_icp.py config/seg/kittisf/kittisf_unsup_woinv.yaml --split val --round ${ROUND} --test_batch_size 2 --save
done
python train_seg.py config/seg/kittisf/kittisf_unsup.yaml --round ${ROUND}
# KITTI-SF
python test_seg.py config/seg/kittisf/kittisf_unsup.yaml --split val --round ${ROUND} --test_batch_size 2
For the last command I am getting:
AveragePrecision@50: 0.3241964006222572
PanopticQuality@50: 0.2567730165763252 F1-score@50: 0.35737439222042144 Prec@50: 0.26614363307181654 Recall@50: 0.5437731196054254
{'per_scan_iou_avg': 0.5634193836152553, 'per_scan_iou_std': 0.020407961700111627, 'per_scan_ri_avg': 0.6674587628245354, 'per_scan_ri_std': 0.00429959088563919}
# KITTI-Det
python test_seg.py config/seg/kittidet/kittisf_unsup.yaml --split val --round ${ROUND} --test_batch_size 2
I am getting:
AveragePrecision@50: 0.13945170257439435
PanopticQuality@50: 0.1318724309223011 F1-score@50: 0.19702186647587533 Prec@50: 0.13796774698606545 Recall@50: 0.3444609491048393
{'per_scan_iou_avg': 0.45250289306404357, 'per_scan_iou_std': 0.0, 'per_scan_ri_avg': 0.4861106249785733, 'per_scan_ri_
std': 0.0}
# SemanticKITTI
python test_seg.py config/seg/semantickitti/kittisf_unsup.yaml --round ${ROUND} --test_batch_size 2
AveragePrecision@50: 0.10315215577576131
PanopticQuality@50: 0.0989709766834506 F1-score@50: 0.15591615175838772 Prec@50: 0.10372148859543817 Recall@50: 0.31385
31283601174
{'per_scan_iou_avg': 0.4351089967498311, 'per_scan_iou_std': 0.0, 'per_scan_ri_avg': 0.4129963953279687, 'per_scan_ri_s
td': 0.0}
Am I doing something fundamentally wrong? Thanks again for taking a look!
Congratulations to your great work and thank you very much for releasing the code.
I am trying to run your project as described on the KITTI data (SF, Object, Semantic), but I am facing some trouble with the downsample_kitti.py script:
There are "too many values to unpack" in this line, I fixed it by using pcs, segms, flows, _ = dataset[sid]
:
kitti_sf_downsampled/data/000099
, which brings me to the 2nd problem:
When I then try and run train_seg.py config/seg/kittisf/kittisf_unsup_woinv.yaml --round 1
the first training epoch seems to run fine, but then I get an error - kitti_sf_downsampled/data/000100/pc1.npy
can not be found.
Caught FileNotFoundError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/lhome/baurst/anaconda3/envs/OGC/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/lhome/baurst/anaconda3/envs/OGC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/lhome/baurst/anaconda3/envs/OGC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/lhome/baurst/workspace/liflow2/OGC/datasets/dataset_kittisf.py", line 91, in getitem
pcs, segms, flows = self._load_data(idx, view_sel)
File "/lhome/baurst/workspace/liflow2/OGC/datasets/dataset_kittisf.py", line 67, in _load_data
pc1, pc2 = np.load(osp.join(data_path, 'pc%d.npy'%(view_id1 + 1))), np.load(osp.join(data_path, 'pc%d.npy'%(view_id2 + 1)))
File "/lhome/baurst/anaconda3/envs/OGC/lib/python3.8/site-packages/numpy/lib/npyio.py", line 390, in load
fid = stack.enter_context(open(os_fspath(file), "rb"))
FileNotFoundError: [Errno 2] No such file or directory: '/path/to/kitti_sf_downsampled/data/000100/pc1.npy'
File "/lhome/baurst/workspace/liflow2/OGC/train_seg.py", line 97, in eval_epoch
for i, batch in tbar:
File "/lhome/baurst/workspace/liflow2/OGC/train_seg.py", line 192, in train
val_loss, val_avg, ap_eval_meter = self.eval_epoch(test_loader)
File "/lhome/baurst/workspace/liflow2/OGC/train_seg.py", line 350, in
trainer.train(args.epochs, train_set, train_loader, val_loader)
Thanks in advance for taking a look & thank you for your help!
Best regards.
Hi, authors,
Could you provide the demo code for visualizing the prediction on 3D object detection and outdoor segmentation tasks?
Thanks~
您好这个代码能对大场景的点云适用吗,比如说S3DIS,多伦多3D
Hi, Mr.Song:
Is there any checkpoints for SemanticKITTI ?
Hi,
Thanks for your contribution.
Could you please tell me why there is no training part of SemanticKITTI?
Judy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.