Class ProjectiveInitializeAllCommon


  • public class ProjectiveInitializeAllCommon
    extends java.lang.Object
    Given a set of views and a set of features which are visible in all views, estimate their structure up to a projective transform. Summary of processing steps:
    1. Select initial set of 3 views
    2. Association between all 3 views
    3. RANSAC to find Trifocal Tensor
    4. 3 Projective from trifocal
    5. Triangulate features
    6. Find remaining projective camera matrices
    7. Refine with bundle adjustment
    • Field Summary

      Fields 
      Modifier and Type Field Description
      boofcv.factory.geo.ConfigTrifocalError configError  
      boofcv.factory.geo.ConfigRansac configRansac  
      boofcv.factory.geo.ConfigBundleAdjustment configSBA  
      boofcv.factory.geo.ConfigTrifocal configTriRansac  
      boofcv.misc.ConfigConverge converge  
      org.ejml.data.DMatrixRMaj P1
      Projective camera matrices for 3-View reconstruction.
      org.ejml.data.DMatrixRMaj P2
      Projective camera matrices for 3-View reconstruction.
      org.ejml.data.DMatrixRMaj P3
      Projective camera matrices for 3-View reconstruction.
      boofcv.alg.geo.pose.PoseFromPairLinear6 poseEstimator  
      org.ddogleg.fitting.modelset.ransac.Ransac<boofcv.struct.geo.TrifocalTensor,​boofcv.struct.geo.AssociatedTriple> ransac  
      boofcv.abst.geo.bundle.BundleAdjustment<boofcv.abst.geo.bundle.SceneStructureProjective> sba  
      boofcv.abst.geo.bundle.ScaleSceneStructure scaler  
      boolean scaleSBA  
      boofcv.abst.geo.bundle.SceneStructureProjective structure  
      boofcv.abst.geo.TriangulateNViewsProjective triangulator  
    • Field Detail

      • configRansac

        public boofcv.factory.geo.ConfigRansac configRansac
      • configTriRansac

        public boofcv.factory.geo.ConfigTrifocal configTriRansac
      • configError

        public boofcv.factory.geo.ConfigTrifocalError configError
      • configSBA

        public boofcv.factory.geo.ConfigBundleAdjustment configSBA
      • converge

        public boofcv.misc.ConfigConverge converge
      • scaleSBA

        public boolean scaleSBA
      • structure

        public boofcv.abst.geo.bundle.SceneStructureProjective structure
      • ransac

        public org.ddogleg.fitting.modelset.ransac.Ransac<boofcv.struct.geo.TrifocalTensor,​boofcv.struct.geo.AssociatedTriple> ransac
      • triangulator

        public boofcv.abst.geo.TriangulateNViewsProjective triangulator
      • poseEstimator

        public boofcv.alg.geo.pose.PoseFromPairLinear6 poseEstimator
      • sba

        public boofcv.abst.geo.bundle.BundleAdjustment<boofcv.abst.geo.bundle.SceneStructureProjective> sba
      • scaler

        public boofcv.abst.geo.bundle.ScaleSceneStructure scaler
      • P1

        public final org.ejml.data.DMatrixRMaj P1
        Projective camera matrices for 3-View reconstruction. P1 is always identity
      • P2

        public final org.ejml.data.DMatrixRMaj P2
        Projective camera matrices for 3-View reconstruction. P1 is always identity
      • P3

        public final org.ejml.data.DMatrixRMaj P3
        Projective camera matrices for 3-View reconstruction. P1 is always identity
    • Constructor Detail

      • ProjectiveInitializeAllCommon

        public ProjectiveInitializeAllCommon()
    • Method Detail

      • fixate

        public void fixate()
        Must call if you change configurations.
      • projectiveSceneN

        public boolean projectiveSceneN​(LookupSimilarImages db,
                                        PairwiseImageGraph2.View seed,
                                        org.ddogleg.struct.GrowQueue_I32 seedFeatsIdx,
                                        org.ddogleg.struct.GrowQueue_I32 seedConnIdx)
        Computes a projective reconstruction. Reconstruction will be relative the 'seed' and only used features listed in 'common'. The list of views is taken from seed and is specified in 'motions'.
        Parameters:
        seed - The seed view that will act as the origin
        seedFeatsIdx - Indexes of common features in the seed view which are to be used.
        seedConnIdx - Indexes of motions in the seed view to use when initializing
        Returns:
        true is successful
      • projectiveCameras3

        public boolean projectiveCameras3​(LookupSimilarImages db,
                                          PairwiseImageGraph2.View viewA,
                                          int motionIdxB,
                                          int motionIdxC)
        Computes projective camera matrices for the 3 connected views. No bundle adjustment or triangulation 1) Find features with continuous tracks across all 3 views 2) Robustly compute trifocal tensor 3) Extract compatible camera matrices
        Parameters:
        viewA - The origin view
        motionIdxB - index on edge in viewA for viewB
        motionIdxC - index on edge in viewA for viewC
        Returns:
        true is successful
      • setVerbose

        public void setVerbose​(java.io.PrintStream verbose,
                               int level)
        Adjusts the level of verbosity for debugging