对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