BOP2022的GDRNPP
此仓库提供GDRNPP_BOP2022的代码和模型,该项目是ECCV'22 BOP挑战赛的获胜者(获得大部分奖项)[幻灯片]。
路径设置
数据集准备
从BOP网站下载6D姿态数据集,
并从VOC 2012
下载背景图像。
还请从此处下载test_bboxes
:
OneDrive(密码: groupji)或百度网盘(密码: vp58)。
datasets
文件夹的结构应如下所示:
datasets/
├── BOP_DATASETS # https://bop.felk.cvut.cz/datasets/
├──tudl
├──lmo
├──ycbv
├──icbin
├──hb
├──itodd
└──tless
└──VOCdevkit
模型
从OneDrive(密码: groupji)或百度网盘(密码: 10t3)下载训练好的模型,并将它们放在./output
文件夹中。
环境要求
- Ubuntu 18.04/20.04, CUDA 10.1/10.2/11.6, python >= 3.7, PyTorch >= 1.9, torchvision
- 从源码安装
detectron2
sh scripts/install_deps.sh
- 编译以下cpp扩展:
-
最远点采样(fps)
-
流
-
不确定性pnp
-
ransac投票
-
chamfer距离
-
egl渲染器
sh ./scripts/compile_all.sh
检测
我们采用yolox作为检测方法。我们使用了更强的数据增强和ranger优化器。
训练
从OneDrive(密码: groupji)或百度网盘(密码: aw68)下载预训练模型,并将其放在pretrained_models/yolox
文件夹中。然后使用以下命令:
./det/yolox/tools/train_yolox.sh <配置文件路径> <gpu_ids> (其他参数)
测试
./det/yolox/tools/test_yolox.sh <配置文件路径> <gpu_ids> <检查点路径> (其他参数)
姿态估计
此仓库与GDR-Net (CVPR2021)的主要区别包括:
- 域随机化:我们在训练过程中使用了比会议版本更强的域随机化操作。
- 网络架构:我们使用了更强大的backbone Convnext而不是resnet-34,以及两个掩码头分别用于预测非模态掩码和可见掩码。
- 其他训练细节,如学习率、权重衰减、可见性阈值和边界框类型。
训练
./core/gdrn_modeling/train_gdrn.sh <配置文件路径> <gpu_ids> (其他参数)
例如:
./core/gdrn_modeling/train_gdrn.sh configs/gdrn/ycbv/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_ycbv.py 0
测试
./core/gdrn_modeling/test_gdrn.sh <配置文件路径> <gpu_ids> <检查点路径> (其他参数)
例如:
./core/gdrn_modeling/test_gdrn.sh configs/gdrn/ycbv/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_ycbv.py 0 output/gdrn/ycbv/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_ycbv/model_final_wo_optim.pth
姿态细化
我们利用深度信息进一步细化估计的姿态。 我们提供两种类型的细化:快速细化和迭代细化。
对于快速细化,我们比较渲染的物体深度和观察到的深度来细化平移。 运行
./core/gdrn_modeling/test_gdrn_depth_refine.sh <配置文件路径> <gpu_ids> <检查点路径> (其他参数)
对于迭代细化,请查看pose_refine分支了解详情。
引用GDRNPP
如果您在研究中使用GDRNPP,请使用以下BibTeX条目。
@misc{liu2022gdrnpp_bop,
author = {Xingyu Liu and Ruida Zhang and Chenyangguang Zhang and
Bowen Fu and Jiwen Tang and Xiquan Liang and Jingyi Tang and
Xiaotian Cheng and Yukang Zhang and Gu Wang and Xiangyang Ji},
title = {GDRNPP},
howpublished = {\url{https://github.com/shanice-l/gdrnpp_bop2022}},
year = {2022}
}
@InProceedings{Wang_2021_GDRN,
title = {{GDR-Net}: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimation},
author = {Wang, Gu and Manhardt, Fabian and Tombari, Federico and Ji, Xiangyang},
booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021},
pages = {16611-16621}
}