svo
Semi-Direct Visual Odometry
|
Optimize the pose of the frame by minimizing the photometric error of feature patches. More...
#include <sparse_img_align.h>
Public Member Functions | |
SparseImgAlign (int n_levels, int min_level, int n_iter, Method method, bool display, bool verbose) | |
size_t | run (FramePtr ref_frame, FramePtr cur_frame) |
Matrix< double, 6, 6 > | getFisherInformation () |
Return fisher information matrix, i.e. | |
Public Attributes | |
cv::Mat | resimg_ |
Protected Member Functions | |
void | precomputeReferencePatches () |
virtual double | computeResiduals (const SE3 &model, bool linearize_system, bool compute_weight_scale=false) |
virtual int | solve () |
virtual void | update (const ModelType &old_model, ModelType &new_model) |
virtual void | startIteration () |
virtual void | finishIteration () |
Protected Attributes | |
FramePtr | ref_frame_ |
reference frame, has depth for gradient pixels. | |
FramePtr | cur_frame_ |
only the image is known! | |
int | level_ |
current pyramid level on which the optimization runs. | |
bool | display_ |
display residual image. | |
int | max_level_ |
coarsest pyramid level for the alignment. | |
int | min_level_ |
finest pyramid level for the alignment. | |
Matrix< double, 6, Dynamic, ColMajor > | jacobian_cache_ |
bool | have_ref_patch_cache_ |
cv::Mat | ref_patch_cache_ |
std::vector< bool > | visible_fts_ |
Static Private Attributes | |
static const int | patch_halfsize_ = 2 |
static const int | patch_size_ = 2*patch_halfsize_ |
static const int | patch_area_ = patch_size_*patch_size_ |
Optimize the pose of the frame by minimizing the photometric error of feature patches.
svo::SparseImgAlign::SparseImgAlign | ( | int | n_levels, |
int | min_level, | ||
int | n_iter, | ||
Method | method, | ||
bool | display, | ||
bool | verbose | ||
) |
virtual double svo::SparseImgAlign::computeResiduals | ( | const SE3 & | model, |
bool | linearize_system, | ||
bool | compute_weight_scale = false |
||
) | [protected, virtual] |
virtual void svo::SparseImgAlign::finishIteration | ( | ) | [protected, virtual] |
Matrix<double, 6, 6> svo::SparseImgAlign::getFisherInformation | ( | ) |
Return fisher information matrix, i.e.
the Hessian of the log-likelihood at the converged state.
void svo::SparseImgAlign::precomputeReferencePatches | ( | ) | [protected] |
size_t svo::SparseImgAlign::run | ( | FramePtr | ref_frame, |
FramePtr | cur_frame | ||
) |
virtual int svo::SparseImgAlign::solve | ( | ) | [protected, virtual] |
virtual void svo::SparseImgAlign::startIteration | ( | ) | [protected, virtual] |
virtual void svo::SparseImgAlign::update | ( | const ModelType & | old_model, |
ModelType & | new_model | ||
) | [protected, virtual] |
FramePtr svo::SparseImgAlign::cur_frame_ [protected] |
only the image is known!
bool svo::SparseImgAlign::display_ [protected] |
display residual image.
bool svo::SparseImgAlign::have_ref_patch_cache_ [protected] |
Matrix<double, 6, Dynamic, ColMajor> svo::SparseImgAlign::jacobian_cache_ [protected] |
int svo::SparseImgAlign::level_ [protected] |
current pyramid level on which the optimization runs.
int svo::SparseImgAlign::max_level_ [protected] |
coarsest pyramid level for the alignment.
int svo::SparseImgAlign::min_level_ [protected] |
finest pyramid level for the alignment.
const int svo::SparseImgAlign::patch_area_ = patch_size_*patch_size_ [static, private] |
const int svo::SparseImgAlign::patch_halfsize_ = 2 [static, private] |
const int svo::SparseImgAlign::patch_size_ = 2*patch_halfsize_ [static, private] |
FramePtr svo::SparseImgAlign::ref_frame_ [protected] |
reference frame, has depth for gradient pixels.
cv::Mat svo::SparseImgAlign::ref_patch_cache_ [protected] |
cv::Mat svo::SparseImgAlign::resimg_ |
std::vector<bool> svo::SparseImgAlign::visible_fts_ [protected] |