第一阶段:(检测2D关键点)
pvnet:
利用卷积网络对图片中像素进行分类,生成语义标签,假设关键点,计算指向关键点的向量场,根据向量进行比较投票分数确定确定关键点。使用FPS(farhest point sampling)选出八点作为估计匹配的关键点。
执行细节:
网络中使用的优化器:Adam
单独对象模型网络都是使用resnet_18网络一对一训练,所有模型是使用resnet_50训练
crossEntroyloss——交叉熵损失,用于计算分类问题,本论文在训练语义标签时用到
第二阶段:(计算6D位姿)
PnP:估计3D位姿,最小化重投影误差(ceres)
数据集信息:
LineMod+ground_truth=linemod_orig
源码链接:pvnet
一些函数:
os.path.join(拼接路径)
.astype——转换数组的数据类型
transforms——图片格式转换
permute——把tensor中的维度位置互换
.shape——返回某一维数的长度
.view=reshape——重新排列矩阵的形式
np.argmax(test,0/1)——返回行或列中的最大值
.sequeeze——压缩矩阵,将某一维度去掉
.unsequeeze——指定维度增加
uniform——生成随机数
subplots——画图
torch.sum(input,缩减量,output)三个参数代表含义不同
torch.max()——返回函数最大值