open3d.t.pipelines.odometry.compute_odometry_result_point_to_plane#
- open3d.t.pipelines.odometry.compute_odometry_result_point_to_plane(source_vertex_map, target_vertex_map, target_normal_map, intrinsics, init_source_to_target, depth_outlier_trunc, depth_huber_delta)#
Estimates the OdometryResult (4x4 rigid transformation T from source to target, with inlier rmse and fitness). Performs one iteration of RGBD odometry using Loss function: \([(V_p - V_q)^T N_p]^2\) where, \(V_p\) denotes the vertex at pixel p in the source, \(V_q\) denotes the vertex at pixel q in the target. \(N_p\) denotes the normal at pixel p in the source. q is obtained by transforming p with init_source_to_target then projecting with intrinsics. Reference: KinectFusion, ISMAR 2011.
- Parameters:
source_vertex_map (open3d.core.Tensor) – (row, col, channel = 3) Float32 source vertex image obtained by CreateVertexMap before calling this function.
target_vertex_map (open3d.core.Tensor) – (row, col, channel = 3) Float32 target vertex image obtained by CreateVertexMap before calling this function.
target_normal_map (open3d.core.Tensor) – (row, col, channel = 3) Float32 target normal image obtained by CreateNormalMap before calling this function.
intrinsics (open3d.core.Tensor) – (3, 3) intrinsic matrix for projection.
init_source_to_target (open3d.core.Tensor) – (4, 4) initial transformation matrix from source to target.
depth_outlier_trunc (float) – Depth difference threshold used to filter projective associations.
depth_huber_delta (float) – Huber norm parameter used in depth loss.
- Returns:
open3d.t.pipelines.odometry.OdometryResult