SeqPoseData.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:PoseNet 作者: bellatoris 项目源码 文件源码
def make_dataset(dir, train=True):
    paths = None
    poses = None
    # ??? ? ??? ?
    for target in os.listdir(dir):
        target_dir = os.path.join(dir, target)
        # if not os.path.isdir(target_dir) or target == "Street" or target == "GreatCourt":
        # if not os.path.isdir(target_dir):
        if not target == "KingsCollege":
            continue

        # ?? ??? ?? ??? ?? ???? ??? ? ?
        if train:
            path = np.genfromtxt(os.path.join(target_dir, 'dataset_train.txt'),
                                 dtype=np.str_, delimiter=' ', skip_header=3,
                                 usecols=[0])
            pose = np.genfromtxt(os.path.join(target_dir, 'dataset_train.txt'),
                                 dtype=np.float32, delimiter=' ', skip_header=3,
                                 usecols=[1, 2, 3, 4, 5, 6, 7])
        else:
            path = np.genfromtxt(os.path.join(target_dir, 'dataset_test.txt'),
                                 dtype=np.str_, delimiter=' ', skip_header=3,
                                 usecols=[0])
            pose = np.genfromtxt(os.path.join(target_dir, 'dataset_test.txt'),
                                 dtype=np.float32, delimiter=' ', skip_header=3,
                                 usecols=[1, 2, 3, 4, 5, 6, 7])
        # order ? path ? ????? ???
        order = path.argsort()

        # order ? sorting
        path1 = path[order]
        pose1 = pose[order]

        # reverse order ?? sorting
        path2 = path[order[-2::-1]]
        pose2 = pose[order[-2::-1]]

        # concat
        path = np.hstack((path1, path2))
        pose = np.vstack((pose1, pose2))

        path = np.core.defchararray.add(target + '/', path)

        if paths is None:
            paths = path
            poses = pose
        else:
            paths = np.hstack((paths, path))
            poses = np.vstack((poses, pose))

    return paths, poses
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号