说明
在位姿估计的学习过程中,发现不同算法的代码架构相差非常大,有的算法考虑通用性和可扩展性,进行了大量的模块化设计和继承,这对代码调试和复现工作带来很大麻烦。因此,为了便于算法复现与改进,本人参照yolov5s目标检测算法的架构,以FFB6D为示例(复现),数据集参考linemod格式,搭建了6DoF位姿估计深度学习架构。原则就是使用最基本的模块(函数)与最简单的构建方法。整个架构包含数据处理、网络搭建、损失计算、评价指标计算等。算法经测试是准确的。
代码组织
代码组织如下所示:
configs
配置文件,主要用于设置epoch,batch_size, cls 等超参数。
data_test
用于测试的数据集。
data_train
用于训练(包括验证)的数据集。
datasets
数据加载模块。
loss_calc
损失函数计算模块。
loss_line
查看训练过程中的train_loss曲线和val_loss曲线。
map
用于后处理阶段的位姿可视化、评价指标的计算。
metrics
用于验证与测试阶段的损失函数、评价指标的计算。
models
网络搭建模块。
pre_weights
存放预训练权重。
runs
训练过程与结果数据。
utils
存放各种工具函数。
test.py
测试代码
train.py
训练代码
获取途径
私聊。
或vx: tpz789