Exemplo n.º 1
0
    exist_ok=True, parents=True)
reader = Reader()
PATH_SUMMARY = '%s/relative_pose/summary/{}/{}/{}.mat' % home
for sceneid in reader.list_scenes(dataset):
    scanids = reader.get_scanids(dataset, sceneid)
    output_mat = PATH_SUMMARY.format(dataset, source, sceneid)
    if os.path.exists(output_mat):
      continue
 
    n = len(scanids)
    scanid_map = {str(scanid): i for i, scanid in enumerate(scanids)}
    T = np.zeros((n*4, n*4))
    sigma = np.zeros((n, n))
    aerr = np.zeros((n, n)) + 10000000.0
    terr = np.zeros((n, n)) + 10000000.0
    RLlist = reader.list_relative_poses(dataset, source, sceneid)

    if len(RLlist) < 4950:
      continue
    top = 0
    bottom = 0
    for mat in reader.list_relative_poses(dataset, source, sceneid):
        s = sio.loadmat(mat)
        src, tgt = mat.split('/')[-1].split('.')[0].split('_')[:2]
        sid = scanid_map[src]
        tid = scanid_map[tgt]
        Tij = s['Tij']
        if sid > tid:
            tmp = sid; sid = tid; tid = tmp
            Tij = inverse(Tij)
        assert sid < tid