ganwanshui / es6d Goto Github PK
View Code? Open in Web Editor NEW(CVPR 2022) ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression
(CVPR 2022) ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression
When I run
$ python train.py --loss_type GADD
it will occours
[Open3D WARNING] Read PCD failed: unable to open file: ./datasets/tless/models/1.pcd
I only down load the t-less datasets, and follow your step
But I find there exactly no exit pcd files. It only exits ply files.
So how can I solve it.
here is my run results
init gps:0
init gps:1
[Open3D WARNING] Read PCD failed: unable to open file: ./datasets/tless/models/1.pcd
utput: 1 0 3
[Open3D WARNING] Read PCD failed: unable to open file: ./datasets/tless/models/1.pcd
utput: 1 0 3
Traceback (most recent call last):
File "train.py", line 474, in <module>
main()
File "train.py", line 115, in main
mp.spawn(per_processor, nprocs=opt.gpu_number, args=(opt,))
File "/home/ailab/anaconda3/envs/yy_ES6D/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 199, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/ailab/anaconda3/envs/yy_ES6D/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 157, in start_processes
while not context.join():
File "/home/ailab/anaconda3/envs/yy_ES6D/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 118, in join
raise Exception(msg)
Exception:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/home/ailab/anaconda3/envs/yy_ES6D/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
fn(i, *args)
File "/media/ailab/data/yy/ES6D-master/train.py", line 231, in per_processor
dataset = pose_dataset('train', opt.num_points, opt.dataset_root, True, opt.noise_trans)
File "/media/ailab/data/yy/ES6D-master/datasets/tless/tless_dataset.py", line 62, in __init__
xyz_ids = farthest_point_sample(raw_xyz, num_pt).cpu().numpy()
File "/media/ailab/data/yy/ES6D-master/datasets/tless/tless_dataset.py", line 223, in farthest_point_sample
farthest = torch.randint(0, N, (B,), dtype=torch.long).to(device)
RuntimeError: random_ expects 'from' to be less than 'to', but got from=0 >= to=0
您好,在作者您给出的train_pbr( https://bop.felk.cvut.cz/media/data/bop_datasets/tless_train_pbr.zip.)
中,其训练物体数量为50,而作者您的模型是按照30个训练物体训练而成的,请问我该如何判断这50个训练物体中哪30个是作者您所要求或需要的?不好意思,我对目前的tless数据集格式不太了解。
作者你好!按照readme操作的时候,成功执行完python ./datasets/tless/tless_preparation.py --tless_path ./datasets/tless --train_set False但是并没有test_primesense_gt_mask_mat和test_primesense_gt_mask_mat.txt,这是什么原因?
Thank you for your interesting work.
Could you please tell me how much was the ADD loss in epoch 120 (latest epoch) in training data? log file is not in your GitHub.
I would be grateful if you let me know as soon as possible.
Thanks
您好,
首先感謝你們團隊出色的成果,這裡有一件事想請教。
為何在 tless_preparation.py 中要有以下代碼:
if np.sqrt(np.dot(mean_xyz-tar_t, mean_xyz-tar_t)) > 1: # remove the data mean point cloud center is large than the tar_t over 0.1 return None
想詢問在準備testing資料集時也會先這樣去過濾資料嗎?
因為當我訓練在自己生成的資料集(非Tless)上時,一些較大型的物體會因為這段代碼被過濾掉,但若直接註解掉這段代碼,效果又會變差,因此想詢問原始這段代碼所代表的意義和想解決的事。
非常感謝
作者您好,我在知网上看到ES6D的论文中也在LineMOD数据集上也进行了测试,请问是否可以放在教程中呢?谢谢您。
Can your model handle objects with continuous symmetries (such as textured cylinders) and how well does it perform on them?
您好 ,按照readme文件 我完成了对应的预处理工作,但是训练一段时间后报错:
FileNotFoundError: [Errno 2] No such file or directory: './datasets/tless/train_pbr_mat/000001/000197_000000.mat'
请问是什么原因呢
请问作者您的特征提取网络resnet18与pointnet在进行tless数据集或YCB数据集训练前是否进行了其余数据集比如imagenet1K数据集之类的预训练?
我对这方面知识还不是很了解,希望能得到您的解答,谢谢。
Hi, I wonder when the YCB-Video dataset will be supported.
嗯嗯,我们在按照步骤跑tless数据集的训练是,在第22epoch,GADD_loss变成nan;紧接着在第20epoch resume,在第41epoch,GADD_loss又变成nan;大家在训练时有遇到这个问题吗,有什么解决方法
作者您好。由于densefusion,PVN3D,FFB6D等算法均以传统的ADD(S)为损失函数,因此用同样以ADD(S)为损失函数的ES6D与其进行比较更能体现出本网络结构的特点。谢谢!
首先恭喜大佬的成果被CVPR2022接收,拜读过您的论文,很佩服您的想法,想问您何时能够开源?
Hi,thanks for your great work!
I have some problem when I run your test code. Firstly, I followed your instructions to organize the relevant data. Then, using the model parameters and code provided by you, I evaluated it on the Tless dataset. In the end, I found that the program provided an ADD score of 76.3 and a GADD score of 10.14, which don't seem to correspond to the values mentioned in the paper. I'm not sure where I went wrong. Here is a partial output from the program.
29
**** add: 0.00, adds: 0.00, add(-s): 0.00
<2cm add: 0.00, adds: 0.00, add(-s): 0.00
30
**** add: 2.58, adds: 2.58, add(-s): 2.58
<2cm add: 0.00, adds: 0.00, add(-s): 0.00
Average of all object:
**** add: 6.42, adds: 6.42, add(-s): 6.42
<2cm add: 0.01, adds: 0.01, add(-s): 0.01
All object (following PoseCNN):
**** add: 10.14, adds: 10.14, add(-s): 10.14
<2cm add: 0.03, adds: 0.03, add(-s): 0.03
2023-06-21 09:58:13,182 : TEST ENDING: add_loss:0.1083 add:0.2023 gadd_loss:0.0000 gadd:0.0000 add_auc:76.2534 gadd_auc:10.1450
I don't fully understand what the add_loss, add, gadd_loss, gadd, add_auc, and gadd_auc
represent in the final program output. Could you please explain them in detail?
Additionally, your paper also mentions other metrics like VSD. Does the open-source code include evaluation code for these metrics as well? Thank you very much for your response.
Thanks for your work. I am not sure what the meaning of symmetry_ids is. Why select the first ten objects ranger than the former commented out symmetry_ids?
I download t-less datasets,
it's structure is
train_primesense
----01
---------- depth
---------- rgb
---------- gt.yml
---------- info.yml
----02
---------- depth
---------- rgb
---------- gt.yml
---------- info.yml
```txt
it dosen't meet the format of
```txt
tless # http://cmp.felk.cvut.cz/t-less/download.html
| |-- train_pbr
| | |-- 000000
| | | |-- depth
| | | |-- mask
| | | |-- mask_visib
| | | |-- rgb
| | | |-- scene_camera.json
| | | |-- scene_gt.json
| | | |-- scene_gt_info.json
| | |-- 000001
```txt
So, I want to ask if here some ways to change the datasets.
What the source of segmentation result for the T-LESS dataset? Is it from the prediction mask or GT mask?
您好,感谢你富有启发性的工作。目前我的工作的一部分是基于您的工作的,但是我遇到了一个自己难以解决的问题。目前,我按照您的提示下载了必要的文件和配置好了相关环境,但是不同于您的系统,我的机器是单机单卡的,因此我修改了这行代码os.environ['CUDA_VISIBLE_DEVICES'] = '0',但是运行时代码在函数 per_processor中的
estimator = torch.nn.parallel.DistributedDataParallel(estimator, device_ids=[gpu], output_device=gpu, find_unused_parameters=True)
报了RuntimeError: CUDA error: no kernel image is available for execution on the device错误,我尝试解决这个问题但是没有成功。目前可以确信我的环境出错的概率很小,因为代码中我可以产生tensor并移到GUP0上,我对分布式训练不是很了解,我的疑问是相关代码是否可以通过简单的修改而应用到单机单卡系统中呢,希望能得到您的回复,万分感谢!!
下面是程序的详细信息
`init gps:0
Traceback (most recent call last):
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/lwh/.vscode-server/extensions/ms-python.python-2022.4.0/pythonFiles/lib/python/debugpy/main.py", line 45, in
cli.main()
File "/home/lwh/.vscode-server/extensions/ms-python.python-2022.4.0/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 444, in main
run()
File "/home/lwh/.vscode-server/extensions/ms-python.python-2022.4.0/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 285, in run_file
runpy.run_path(target_as_str, run_name=compat.force_str("main"))
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "train.py", line 476, in
main()
File "train.py", line 117, in main
mp.spawn(per_processor, nprocs=opt.gpu_number, args=(opt,))
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 200, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 158, in start_processes
while not context.join():
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 119, in join
raise Exception(msg)
Exception:
-- Process 0 terminated with the following error:
Traceback (most recent call last):
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 20, in _wrap
fn(i, *args)
File "/home/lwh/data/ES6D_forMe/train.py", line 214, in per_processor
estimator = torch.nn.parallel.DistributedDataParallel(estimator, device_ids=[gpu], output_device=gpu, find_unused_parameters=True)
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/nn/parallel/distributed.py", line 333, in init
self.broadcast_bucket_size)
File "/home/lwh/anaconda3/envs/mypose/lib/python3.6/site-packages/torch/nn/parallel/distributed.py", line 549, in _distributed_broadcast_coalesced
dist._broadcast_coalesced(self.process_group, tensors, buffer_size)
RuntimeError: CUDA error: no kernel image is available for execution on the device`
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.