ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
RGBDOdometry.h File Reference
Include dependency graph for RGBDOdometry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cloudViewer::t::pipelines::odometry::OdometryConvergenceCriteria
 
class  cloudViewer::t::pipelines::odometry::OdometryResult
 
class  cloudViewer::t::pipelines::odometry::OdometryLossParams
 

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::t
 
 cloudViewer::t::pipelines
 
 cloudViewer::t::pipelines::odometry
 

Enumerations

enum class  cloudViewer::t::pipelines::odometry::Method { cloudViewer::t::pipelines::odometry::PointToPlane , cloudViewer::t::pipelines::odometry::Intensity , cloudViewer::t::pipelines::odometry::Hybrid }
 

Functions

OdometryResult cloudViewer::t::pipelines::odometry::RGBDOdometryMultiScale (const t::geometry::RGBDImage &source, const t::geometry::RGBDImage &target, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target=core::Tensor::Eye(4, core::Float64, core::Device("CPU:0")), const float depth_scale=1000.0f, const float depth_max=3.0f, const std::vector< OdometryConvergenceCriteria > &criteria_list={10, 5, 3}, const Method method=Method::Hybrid, const OdometryLossParams &params=OdometryLossParams())
 Create an RGBD image pyramid given the original source and target RGBD images, and perform hierarchical odometry using specified method. Can be used for offline odometry where we do not expect to push performance to the extreme and not reuse vertex/normal map computed before. Input RGBD images hold a depth image (UInt16 or Float32) with a scale factor and a color image (UInt8 x 3). More...
 
OdometryResult cloudViewer::t::pipelines::odometry::ComputeOdometryResultPointToPlane (const core::Tensor &source_vertex_map, const core::Tensor &target_vertex_map, const core::Tensor &target_normal_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, const float depth_outlier_trunc, const float depth_huber_delta)
 Estimates the 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. KinectFusion, ISMAR 2011. More...
 
OdometryResult cloudViewer::t::pipelines::odometry::ComputeOdometryResultIntensity (const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, const float depth_outlier_trunc, const float intensity_huber_delta)
 Estimates the 4x4 rigid transformation T from source to target, with inlier rmse and fitness. Performs one iteration of RGBD odometry using loss function $(I_p - I_q)^2$, where $ I_p $ denotes the intensity at pixel p in the source, $ I_q $ denotes the intensity at pixel q in the target. q is obtained by transforming p with init_source_to_target then projecting with intrinsics. Real-time visual odometry from dense RGB-D images, ICCV Workshops, 2011. More...
 
OdometryResult cloudViewer::t::pipelines::odometry::ComputeOdometryResultHybrid (const core::Tensor &source_depth, const core::Tensor &target_depth, const core::Tensor &source_intensity, const core::Tensor &target_intensity, const core::Tensor &target_depth_dx, const core::Tensor &target_depth_dy, const core::Tensor &target_intensity_dx, const core::Tensor &target_intensity_dy, const core::Tensor &source_vertex_map, const core::Tensor &intrinsics, const core::Tensor &init_source_to_target, const float depth_outlier_trunc, const float depth_huber_delta, const float intensity_huber_delta)
 Estimates the 4x4 rigid transformation T from source to target, with inlier rmse and fitness. Performs one iteration of RGBD odometry using loss function $(I_p - I_q)^2 + \lambda(D_p - (D_q)')^2$, where $ I_p $ denotes the intensity at pixel p in the source, $ I_q $ denotes the intensity at pixel q in the target. $ D_p $ denotes the depth pixel p in the source, $ D_q $ denotes the depth pixel q in the target. q is obtained by transforming p with init_source_to_target then projecting with intrinsics. Reference: J. Park, Q.Y. Zhou, and V. Koltun, Colored Point Cloud Registration Revisited, ICCV, 2017. More...
 
core::Tensor cloudViewer::t::pipelines::odometry::ComputeOdometryInformationMatrix (const geometry::Image &source_depth, const geometry::Image &target_depth, const core::Tensor &intrinsic, const core::Tensor &source_to_target, const float dist_thr, const float depth_scale, const float depth_max)
 

Detailed Description

All the 4x4 transformation in this file, from params to returns, are Float64. Only convert to Float32 in kernel calls.

Definition in file RGBDOdometry.h.