|
Monado OpenXR Runtime
|
RANSAC PnP solver. More...
#include "tracking/t_camera_models.hpp"#include "tracking/t_constellation.h"#include <Eigen/Core>#include <Eigen/Geometry>
Go to the source code of this file.
Functions | |
| bool | xrt::tracking::constellation::optimizer::ransacPose (bool deterministic, const t_camera_model_params &dist, const std::vector< t_blob * > &data_points_2d_f32, const std::vector< Eigen::Vector3f > &data_points_3d_f32, const std::vector< Eigen::Vector3f > &data_points_3d_normals_f32, std::vector< size_t > &inlier_indices, xrt_pose &out_pose) |
RANSAC PnP solver.
| bool xrt::tracking::constellation::optimizer::ransacPose | ( | bool | deterministic, |
| const t_camera_model_params & | dist, | ||
| const std::vector< t_blob * > & | data_points_2d_f32, | ||
| const std::vector< Eigen::Vector3f > & | data_points_3d_f32, | ||
| const std::vector< Eigen::Vector3f > & | data_points_3d_normals_f32, | ||
| std::vector< size_t > & | inlier_indices, | ||
| xrt_pose & | out_pose | ||
| ) |
LEDs can be closer than the device's origin (gated by CLOSEST_ACCEPTABLE_POSE_M), but we also want to punish LEDs that are really close, since that's almost certainly invalid too.
We also want to punish LEDs that are behind the camera, this does both at once.
References ANCHOR_LED_MAX_DISTANCE_M_SQ, CLOSEST_ACCEPTABLE_POSE_M, FARTHEST_ACCEPTABLE_POSE_M, xrt::auxiliary::math::map_quat(), xrt::auxiliary::math::map_vec3(), and xrt::tracking::constellation::optimizer::ransacPose().
Referenced by xrt::tracking::constellation::optimizer::optimizePose(), and xrt::tracking::constellation::optimizer::ransacPose().