Beispiel #1
0
def main():
    parser = argparse.ArgumentParser(
        description='Reconstruct and Analysis for volleyball training')

    parser.add_argument('--camera0-name', '-c0n', type=str, default='cam0')
    parser.add_argument('--camera1-name', '-c1n', type=str, default='cam1')
    parser.add_argument('--c0-video-dir', '-v0', type=str, default=os.path.join(Asset_path, 'videos/v0c0.mp4'))
    parser.add_argument('--c1-video-dir', '-v1', type=str, default=os.path.join(Asset_path, 'videos/v0c1.mp4'))

    parser.add_argument('--c0-cali-video', '-c0-cali', type=str, default=None)
    parser.add_argument('--c1-cali-video', '-c1-cali', type=str, default=None)

    parser.add_argument('--land-marker', '-lm', type=str, default=None)

    parser.add_argument('--openpose-build', '-op', type=str,
                        default="/home/fyq/openpose/build/examples/openpose/openpose.bin")

    parser.add_argument('--openpose_work_path', '-owp', type=str,
                        default=os.path.join(Asset_path, 'openpose_data'))

    parser.add_argument('--ball-work-path', '-bwp', type=str,
                        default=os.path.join(Asset_path, 'ball'))

    parser.add_argument('--label_name_dir', type=str, default='st_gcn/resource/**.txt')

    parser.add_argument('--fps', '-f', type=float, default=60.)
    parser.add_argument('--gpu', '-g', type=int, default=0)
    parser.add_argument('--lr', '-l', type=float, default=1e-3)
    parser.add_argument('--out', '-o', default='result',
                        help='Output directory')
    args = parser.parse_args()

    cam0 = Camera(0, args.camera0_name, camera_matrix=None, calibration_video=args.c0_cali_video, land_marker=args.land_marker)
    cam1 = Camera(1, args.camera1_name, camera_matrix=None, calibration_video=args.c1_cali_video, land_marker=args.land_marker)

    cams = [cam0, cam1]

    video_dirs = [args.c0_video_dir, args.c1_video_dir]

    world = World(cams, video_dirs, args.openpose_work_path, args.ball_work_path, args.fps)
    world.detection_and_reconstruct()

    demo_action = Action(start_frame=0, end_frame=230, action_name='underhand_server')

    result = world.analyse_action(demo_action)
    world.save_demo_result(result)
    print(result)