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()
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()