PVN3D代码理解

对6D位姿估计感兴趣的小伙伴可以加我,拉到位姿估计交流群

传送门

linemod_dataset.py

  • 路径
       注:下面的路径以duck为例,因此出现的文件为“09”。
    
       root = datasets/linemod/Linemod_preprocessed
    
       cls_root = datasets/linemod/Linemod_preprocessed/data/09
    
       meta_file:打开datasets/linemod/Linemod_preprocessed/data/09/gt.yml
    
       meta_list:加载gt.yml文件
    
       real_img_pth = datasets/linemod/Linemod_preprocessed/data/09/train.txt
    
       real_lst:逐行读取train.txt的每一行。
    
       rnd_img_pth = datasets/linemod/Linemod_preprocessed/renders/duck/file_list.txt
    
       rnd_lst:逐行读取file_list.txt中的文件,形式如下:
       datasets/linemod/Linemod_preprocessed/renders/duck/0.pkl
    
       fuse_img_pth = datasets/linemod/Linemod_preprocessed/renders/duck/file_list.txt
    
       fuse_lst:逐行读取file_list.txt中的文件
    
       trt_img_pth = datasets/linemod/Linemod_preprocessed/data/09/test.txt
    
       tst_lst:逐行读取test.txt中的文件
    
       all_lst = real_lst + rnd_lst + fuse_lst,即当dataset_name == 'train'时为训练集,其他情况为验证集或测试集。
    
       real_lst是一个列表,这个列表中的值是train.txt里面的内容
    
       idx生成随机整数,范围为0-(real_lst的长度)
    
       pth:把train.txt打乱后
    

self

  • self
    if dataset_name == 'train':
        self.add_noise = True 
    else
        self.add_noise = False
    
    
      data = pkl.load(open(item_name, "rb"))
      dpt = data['depth']
      rgb = data['rgb']
      labels = data['mask']
    

def

  • def real_syn_gen

    返回真实数据或渲染数据中的txt内容,如:train.txt、file_list.txt
    
  • def read_gen

    将真实数据的train.txt的内容顺序打乱并返回item
    
  • def rand_range

    输入:rng = np.random , lo , hi,返回rng.rand()*(hi-lo)+lo
    
  • def gaussian_noise(self, rng, img, sigma):

    在img中加入噪声
    
  • def linear_motion_blur(self, img, angle, length):

    对img进行滤波
    rad = np.deg2rad(angle) #将角度转换为弧度;
    
  • def rgb_add_noise(self, img):

    在img中添加噪声
    
  • def get_normal(self, cld):

    没看懂,貌似是归一化
    
  • def add_real_back(self, rgb, labels, dpt, dpt_msk):

    
    
  • def get_item(self, item_name):

       测试当前输入数据的长度
    
  • def len(self):

       
    
  • def getitem(self, idx):

      从idx = dict(train=0,val=0,test=0)中选出一种,返回
    
  • def main():

    
    

common.py

  • path
    ensure_fd:判断路径文件是否存在,若不存在便新建一个
    
    lm_root = pvn3d/datasets/linemod,即linemod文件根目录
    
    lm_kps_dir = pvn3d/datasets/linemod/lm_obj_kps
    
    val_test_pkl_p = pvn3d/datasets/linemod/test_val_data.pkl
    
    prep_fd = pvn3d/datasets/linemod/preporcess_testset
    
    preporcess_testset_ptn = pvn3d/datasets/linemod/preporcess_testset/{}_pp_vts.val_test_pkl
    
    lm_r_pth = pvn3d/datasets/linemod/dataset_config/models_info.yml
    
    lm_r_lst:导入models_info.yml文件
    
    val_nid_pth = data/6D_pose_Data/datasets/LINEMOD/pose_nori_lists/{}_real_val.nori.list
    
    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值