def projection_matrix_to_CRT_kitti(proj):
    CR = proj[0:3, 0:3]
    CT = proj[0:3, 3]
    RinvCinv = np.linalg.inv(CR)
    (Rinv, Cinv) = np.linalg.qr(RinvCinv)
    C = np.linalg.inv(Cinv)
    R = np.linalg.inv(Rinv)
    T = (Cinv @ CT)
    return (C, R, T)
def projection_matrix_to_CRT_kitti(proj):
    CR = proj[0:3, 0:3]
    CT = proj[0:3, 3]
    RinvCinv = np.linalg.inv(CR)
    (Rinv, Cinv) = np.linalg.qr(RinvCinv)
    C = np.linalg.inv(Cinv)
    R = np.linalg.inv(Rinv)
    T = (Cinv @ CT)
    return (C, R, T)