My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for

Question or Comment?

Please post to the discussion group.

Roadmap  
Release plans, goals and features list for libmv.
Updated May 3, 2011 by julien.michot.fr@gmail.com

Content

Introduction

We're going to release libmv and need to know which features are needed for which release.

The basic idea is to have something like this:

Libmv 0.x:

  • Initial match moving algorithms with known camera intrinsics
  • Unstable API

Libmv 1.0:

  • Targeted application: Matchmoving
  • Efficient match moving with known camera intrinsics (automatic tracking + 3D estimation)
  • A simple video stabilization
  • Stable API + Complete Unit tests

Libmv 2.0:

  • Targeted application: Unordered image reconstruction (ala Bundler)
  • Reconstruction from an unordered image set
  • Generic Bundle Adjustment library (ala SBA/SSBA BundleAdjustment)
  • Match moving with unknown camera intrinsics?
  • Libmv 2.0: Stable API + Complete Unit tests

Libmv 3.0:

  • Targeted application: Dense 3D reconstruction (+clustering?) (ala PMVS/CMVS)
  • Dense 3D reconstruction
  • Image super-resolution/gigapixel?
  • Image clustering (ala cmvs)?

The next major release will be 1.0 and packages will be made.

Before this release, we will produce several unstable versions (0.Y), where Y will be increased each time that a major feature reaches the DONE state.

Features and Todo list

Version 1.x

Component Feature Description Priority Who* Comments Target Status
reconstruction General calibrated reconstruction from video high julien 1.0 GOOD
reconstruction Keyframe selection method high julien 1.0 GOOD
correspondence Write tracker unit test high julien 1.0 STARTED
camera & tool Lens distortion correction high need full tests + move to camera lib 1.0 GOOD
reconstruction Write reconstruction unit test medium julien 1.0 STARTED
reconstruction Robust initial reconstruction, 2 views medium julien 1.0 GOOD
multiview & optimization Camera optimization (euclidean) medium needs parameterization, error, jacobian, optimization 1.0 STARTED
multiview & optimization Point structure optimization (euclidean) medium needs parameterization, error, jacobian, optimization 1.0 STARTED
general Make libmv build for Mac OS medium vess/marco 1.0 DONE
general Packaging scripts using CPack low linux: done, win:done, mac: todo 1.0 GOOD
general Make a documentation rule using cmake (doxygen) low in src/CMake/Documentation.cmake 1.0 DONE
general Make libmv examples low 1.0 TODO
general Make a changelog low 1.0 DONE
third parties Installation rules for third parties (headers) low to be tested in mac 1.0 GOOD
tracker/correspondence Adapt the tracker for marker (patch/color) based tracking medium for greenscreen environment 1.0 TODO
tracker/correspondence Fast window traker low circle:draft, ellipse:todo 1.0 DRAFT
tracker/correspondence Guided traker (with tracks prediction) low 1.0 TODO
contrib Define/rewrite interfaces with Blender low 1.0 TODO
tracker/correspondence ImagePyramid tracker low 1.1 STARTED
tool Video stabilization (fixed camera) low need Homography optimization 1.1 DRAFT
tool Video stabilization (moving camera) low same as fixed camera with a lowpass filter on the 2D motion estimation (as a start) 1.1 TODO
camera Lens distortion estimation (using lines/grid) medium 1.1 TODO
tracker/correspondence Re-tracker: use apriori tracks (user defined) to enhance the tracking low 1.1 TODO
camera & tool Rolling shutter correction / calibration? medium affect most of the CMOS cameras 1.2 TODO
tracker/correspondence F+H traker Torr98 low useful when bad structure/motion 1.2 TODO

Version 2.x

Component Feature Description Priority Who* Comment Status
reconstruction Reconstruction of an Images set high 2.0 TODO
optimization Nonlinear Optimization library high see BundleAdjustment 2.0 TODO
reconstruction+multiview 3D metric rectification (self-calibration) medium 2.0 TODO
reconstruction+multiview 3D metric rectification from a priori (distances, perpendicular lines, etc.) low 2.0 TODO
multiview Camera optimization (projective) medium see BundleAdjustment 2.0 TODO
multiview Point structure optimization (projective) medium see BundleAdjustment 2.0 TODO
multiview F/E (fundamental/essential matrices) optimization medium see BundleAdjustment 2.0 TODO
ui/nview Read the focal length (in px!) from Exif data medium 2.0 TODO
reconstruction General uncalibrated reconstruction from video medium 2.0 TODO
multiview Point/patch normal estimation medium 2.0 TODO
reconstruction 2D image rectification from a priori (distances, perpendicular lines, etc.) low 2.0 TODO

Version 3.x

Component Feature Description Priority Who* Comment Status
libmv 3D dense reconstruction high plane sweep? 3.0 TODO
tool Image super-resolution low 3.0 IDEA
tool Image Gigapixel low 3.0 IDEA
tool Image mosaicing low mosaicing of video:draft 1.2 DRAFT

When we have time

Component Feature Description Priority Who* Comment Status
third parties Switch to Eigen 3 high julien/pierre DONE
third parties Use a serialization lib (libjson?) high TODO
general Online API documentation medium in doc/ TODO
correspondence Rewrite the BipartiteGraph (in bipartite_graph_new.h) medium DRAFT
multiview 3D linear Similarity, Affine, Homography transformations estimation from corresp. (+robust) medium robust:TODO + fix bug in affine 3D (see unit tests) GOOD
multiview 2D/3D E, S, A, H transformations optimization medium parameterizations:done, jacobians:todo, opt:todo STARTED
multiview 2D/3D E, S, A, H transformations estimation without corresp. (+robust) low need only ICP! TODO
detector Lines/edges detection medium TODO
wiki Update the wiki! medium update outdated pages TODO
third parties Update third parties (glog, gflag, etc.) low vess/julien in /branches/new_gflags_glog_dasy, glog:todo GOOD
general Use Eigen 3 new features such as Orientation2D, Affine3f, etc. low define in numeric and use in multiview TODO
correspondence Plane tracker (for plane based augmented reality) low need tests+UT GOOD
robust_estimation Create a robust estimation folder (lib?) low TODO
robust_estimation Add PROSAC robust estimation low TODO
robust_estimation Add GroupSAC low IDEA
tools Camera calibration tool low TODO
ui/nview A 3D view for nview low TODO
general Udate all comments to doxygen style medium TODO
general Make libmv build with mingw low problem with pthread TODO
multiview 3D/2D Translation, Rotation (only) estimation from corresp. (+robust, +opt) low TODO
wiki Merge Roadmap with FeaturePlan low DONE
wiki Merge MajorComponents with StartingGuide low everything is in StartingGuide DONE

To be decided

Component Feature Description Priority Who* Comment Status
general PCL integration medium for ICP + 3D registration without corresp., + dense 3D point set IDEA
third parties Remove pthread? high it was need by gflags or so IDEA
correspondence KLT: make it use the new components? low IDEA
general Switch to mercurial/git? low IDEA
general Project management tool (Redmine?) low IDEA
general Python binding low IDEA

*Feel free to add yourself!!

Status convention

  • IDEA: not yet fully discussed
  • TODO: not yet implemented
  • STARTED: an initial implementation has been started (in the SVN or not)
  • DRAFT: a first version of the feature is in the SVN
  • GOOD: an advanced version of the feature is in the SVN (it works but may contains bugs)
  • DONE: the feature is done and has unit tests and documentation

Powered by Google Project Hosting