Esempio n. 1
0
def main(args):
    # if args.dataset == 'kitti':
    dataset = KITTIOdometry(args.path)
    # elif args.dataset == 'vkitti':
    #     dataset = VKITTIOdometry(args.vkitti_path)
    # else:
    #     return ValueError()
    params = ParamsKITTI()
    cam = Camera(
        dataset.cam.fx, dataset.cam.fy, dataset.cam.cx, dataset.cam.cy, 
        dataset.cam.width, dataset.cam.height, 
        params.frustum_near, params.frustum_far, 
        dataset.cam.baseline)

    tracker = Tracker(params, cam)

    viewer = MapViewer(tracker, params)
    if args.view_map:
        viewer.load_points()
        return

    timer = RunningAverageTimer()
    
    durations = []

    try:
        for i in range(len(dataset)):
            j = i + 800

            # Data loading takes 0.036s
            left = dataset.left[j]
            right = dataset.right[j]

            print('track')
            
            tracker.update(i, left, right, timestamp=dataset.timestamps[j])
            
            print('update')
            # Viewer update takes 0.002s
            viewer.update(refresh=False)

            print(f'Frame {j}')

            # input("Press any key to continue...")
            # import time
            # time.sleep(2)
    except:
        pass
    finally:
        viewer.stop()
        viewer.save_points()
Esempio n. 2
0
        t = Thread(target=featurer.extract)
        t.start()
        featurel.extract()
        t.join()
        
        frame = StereoFrame(i, g2o.Isometry3d(), featurel, featurer, cam, timestamp=timestamp)

        if not sptam.is_initialized():
            sptam.initialize(frame)
        else:
            sptam.track(frame)


        duration = time.time() - time_start
        durations.append(duration)
        print('duration', duration)
        print()
        print()
        
        if visualize:
            viewer.update()

    print('num frames', len(durations))
    print('num keyframes', len(sptam.graph.keyframes()))
    print('average time', np.mean(durations))


    sptam.stop()
    if visualize:
        viewer.stop()