示例#1
0
def project_to_cameras(poses_set, cams, ncams=4):
    """
    Project 3d poses using camera parameters
    
    Args
        poses_set: dictionary with 3d poses
        cams: dictionary with camera parameters
        ncams: number of cameras per subject
    Returns
        t2d: dictionary with 2d poses
    """
    t2d = {}

    for t3dk in sorted(poses_set.keys()):
        subj, a, seqname = t3dk
        t3d = poses_set[t3dk]

        for cam in range(ncams):
            R, T, f, c, k, p, name = cams[(subj, cam + 1)]
            pts2d, _, _, _, _ = cameras.project_point_radial(
                np.reshape(t3d, [-1, 3]), R, T, f, c, k, p)
            pts2d = np.reshape(pts2d, [-1, len(H36M_NAMES) * 2])
            sname = seqname[:-3] + "." + name + ".h5"  # e.g.: Waiting 1.58860488.h5
            t2d[(subj, a, sname)] = pts2d

    return t2d
示例#2
0
def project_to_cameras(poses, cams):
    """
    Project 3d poses using camera parameters
    input: 
        3D poses: [n_pose, pose length]
        cams: list of camera parameters
    return: list of 2D projections for each camera
    cams:
    """
    p_2d = []
    for cam in cams:
        R, T, f, c, k, p, name = cam
        pts2d, _, _, _, _ = cameras.project_point_radial(
            np.reshape(poses, [-1, 3]), R, T, f, c, k, p)
        p_2d.append(np.reshape(pts2d, [-1, len(H36M_NAMES) * 2]))
    return p_2d