SlideShare a Scribd company logo
Preemptive RANSAC for Live
Structure and Motion Estimation
                    by David Nister,
 Machine vision and applications(J) in 2005, 261citations.




                                                2nd/June/2011
                                              presented Inkyu.Sa
Contents
What is RANSAC?
Preemptive RANSAC
Results
My thought
What is RANSAC ?
 Random sample consensus.
 Observation                Estimate model




Source from wikipedia
                                             Outliers
LO-RANSAC
Preemptive RANSAC                Inliers
DEGENSAC
PROSAC
MLESAC, NAPSAC etc.
What is RANSAC ?
           Random sample consensus.
Observation             Estimate model




Source from wikipedia


                                   Outliers
                         Inliers

                                              Source from AFMR, Machine Learning

                                              Reinforcement learning
                                              Use rewards and interaction with the environment to learn
Why do we use RANSAC ?

It is possible estimate robust parameters of model.
There are many noise in out real environments.


 What are disadvantages of RANSAC?
It takes long time to calculate parameters without
boundary condition.
Therefore, threshold and max iteration are required.
How does RANSAC work?
We have this observation data set.
How does RANSAC work?
We have this observation data set.   Randomly choose any two points
                                         and create a hypothesis.
How does RANSAC work?
Randomly choose any two points
    and create a hypothesis.
How does RANSAC work?
Randomly choose any two points               Calculate distances between a
    and create a hypothesis.                hypothesis and all observations.




                                          This hypothesis has a huge distance value.
                                          This process is called “Scoring”.
                                                                 “
                  “ Because wewhich ahas theknowledgeintegration
                    hypothesis
                               have prior
                                             minimum
                                                      that the

                     value of distance could be our model.
How does RANSAC work?
 Calculate distances between a       Again randomly choose two points and
hypothesis and all observations.           create another hypothesis.




                                   This one has a smaller distance value than
                                   previous.
How does RANSAC work?
   Again randomly choose two points and        How many hypothesis can be created?
         create another hypothesis.




This one has a smaller distance value than
previous.                                     Number of lines = 100 C2 = 4,950
                                              Number of lines =999 C2 = 498,501
                                         Total calculation=498,501× 997 = 497,005,497
How does RANSAC work?
Set a threshold to prevent calculation
from all observation.




                                                              ld
                                                            ho
If a hypothesis meet our condition, this




                                                             s
                                                          re
hypothesis is going to be our best model.




                                                        Th
                  In addition set a maxim iterations or maxim time period.
How does RANSAC work?

What happens if we have this observation?
How does RANSAC work?

What happens if we have this observation?




                  Maybe we can’t get a right answer.

      This implies that we need a decent observation data set to get a right
       model unless RANSAC process takes more time and less accurate.
How does RANSAC work?
What happens if we have these observations?




          Inlier noise                          Near degeneracies

       Near degeneracies can be dealt with by sampling non-randomly.
How can we apply RANSAC
        to our applications?
RANSAC can be used refine essential matrix.
Example) A 3D point registration.
                                                             pi    R,T
Assume that we already create a hypothesis                          pi
using any methods such as 5 point, 8points
and svd algorithm and so on.


                   i=N
            e2 =         pi − Rpi − T   2            These two are our model.
                   i=1

pi = Current frame a 3D point in world coordinate.
pi = Previous frame a 3D world point in world coordinate.
Preemptive RANSAC
 Based on breadth-first preemption.
 Using time budget and threshold.




     Source from ICCV2005 tutorial.
Preemptive RANSAC
                         Based on breadth-first preemption.




Source from ICCV2005 tutorial.
Preemptive RANSAC
 Depth-first preemption.




 Source from ICCV2005 tutorial.
Preemptive RANSAC
 Breath-first preemption.




 Source from ICCV2005 tutorial.
Preemptive RANSAC
 Breath-first preemption.




 Source from ICCV2005 tutorial.
Preemptive RANSAC
         log-likelihood, L

Cauchy distribution to model the errors =   −ln(1 + u)
                                                                 2
                                     where ui = pi − Rpi − T
                                     Squared magnitude of a reprojection error


                                                   10
                  robust log-likelihood =   −ln         (1 + ui )
                                                  i=1
                                   N                             where
                                                              ρ = scoring function,
                    L(h) =              ρ(o, h)               o = observation index,
                                                              h = hypothesis index.
                                 o=1

           ρ function return a scalar value representing the log-likelihood given o,h
Preemptive RANSAC

  Algorithm
  1. Randomly permute the observations.
  2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm.




     f (i) = preemption function indicates how many hypotheses
  are to be kept at ith stage.
Preemptive RANSAC

  Algorithm
  1. Randomly permute the observations.
  2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm.
  3. Compute the scores. L1 (h) = ρ(1, h) for h=1,...,f(1). set i=2
Preemptive RANSAC
  Algorithm
  1. Randomly permute the observations.
  2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm.
  3. Compute the scores. L1 (h) = ρ(1, h) for h=1,...,f(1). set i=2
  4. Reorder the hypotheses. The range h=1,...,f(i) contains the best f(i)
  5. If i>N of f(i)=1, quit with the best hypothesis. Otherwise, compute
     Li (h) = ρ(i, h) + Li−1 (h) for h=1,...,f(1). increase i and go to Step 4.
Preemptive RANSAC
      Sequences             Generate all the hypotheses




Scoring and find the best
hypotheses at each stage.
Preemptive RANSAC
Advantages of breath-first RANSAC
 The breath-first RANSAC can spend a lot of time on bad
 observation.



Only compare the previous hypothesis and it takes long time to get the
best one. (Depth-first RANSAC)

Disadvantages of breath-first RANSAC
can spend a lot of time on bad observation.

Author argues that depth-first RANSAC can also waste time on
bad hypothesis.
Preemptive RANSAC
 Disadvantages of breath-first RANSAC
 The breath-first RANSAC can spend a lot of time on bad
 observation.

The depth-first RANSAC can also waste time on bad hypothesis.
Preemptive RANSAC
 Disadvantages of breath-first RANSAC
 The breath-first RANSAC can spend a lot of time on bad
 observation.

The depth-first RANSAC can also waste time on bad hypothesis.

 Typically a hypothesis is consist of multiple observations.
 If this hypothesis contains outliers so that it is meaningless.



 The good observations are much larger than the good hypothesis in
 typical RANSAC settings.
Preemptive RANSAC
Experiments Results(Translation error)
My thoughts

Reasonable using the breath-first searching
It implemented on CVD library.
Issues
Dead depth pixel

About 25% of a kinect point clouds are dead depth pixel, that
has NaN(Not a Number) depth value.

320x240=76800, and valid number of point cloud = 57365

        2D image plane                        3D depth data
VO procedures
1. Obtain features using gpuSurf at t-1 and t
   Output: featureA(t-1), featureB(t)

2. CrossMatching Using L2
   Output: MatchedFeaturesList

3. Find depth for each matched feature (Nr=160~200)
   Output: KeypointA(t-1), KeypointB(t) in 3D world coordinate

4. Compute R,t using ICP (iteration 250, threshold..)

5. Find the current pose of camera by multiply homogeneous
transformation matrix.
                                                                    R i ti
               ξc = o ξt−3 t−3 ξt−2 t−2 ξt−1 t−1 ξt   where ξi =
                                                                   01X3 1

6. Draw x,y,z using
VO procedures
VO procedures
VO procedures
Time consumption Profiling.
1. Total time = 80~100ms

2. gpuSurf = 10 ~ 15ms

3. gpuMatching = 5~7ms

4. ICP 15~20ms

5. Visualization 50~60ms
VO Results
Configuration
VO Results
Ground truth
VO Results
SBC status
1. Ubuntu 10.10 64Bit installed,

2. ROS Diamondback installed
   PCL, Openni_kinect stack

3. CUDA Driver V3.2,
Plans
Cut down 54.28% size of original data.(rgb+point cloud).
(320x240 rgb+point cloud)=2,688,000Bytes => (320x240 rgb+point
cloud)=1,228,800Bytes.

Generate 3D features using surf and a kinect.

Visualization 3D matched features using PCL but has some bugs.

Using ICP on ROS(PointCloudLibrary) to get a transformation matrix.

Visualization camera pose using PCL.

Recording data with MikroKopter and SBC. (10th/June)

Put on the MikroKopter and testing.(13th/June)

Refine pose with RANSAC or EKF.... etc.
Plans
Cut down 54.28% size of original data.(rgb+point cloud).
(320x240 rgb+point cloud)=2,688,000Bytes => (320x240 rgb+point
cloud)=1,228,800Bytes.

Generate 3D features using surf and a kinect.

Visualization 3D matched features using PCL but has some bugs.

Using ICP on ROS(PointCloudLibrary) to get a transformation matrix.

Visualization camera pose using PCL.

Recording data with MikroKopter and SBC. (10th/June)

Put on the MikroKopter and testing.(13th/June)

Refine pose with RANSAC or EKF.... etc.
Thank you.

More Related Content

What's hot

Bit plane slicing
Bit plane slicingBit plane slicing
Bit plane slicing
Asad Ali
 
Clipping ( Cohen-Sutherland Algorithm )
Clipping ( Cohen-Sutherland Algorithm )Clipping ( Cohen-Sutherland Algorithm )
Clipping ( Cohen-Sutherland Algorithm )
Harshana Madusanka Jayamaha
 
Ip elements of image processing
Ip elements of image processingIp elements of image processing
Ip elements of image processing
NishirajNath
 
Applications of cg
Applications of cgApplications of cg
Applications of cg
Ankit Garg
 
Overview of the graphics system
Overview of the graphics systemOverview of the graphics system
Overview of the graphics system
Kamal Acharya
 
Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdf
Knoldus Inc.
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics Notes
Gurpreet singh
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
Dr. C.V. Suresh Babu
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
Ankur Soni
 
Point processing
Point processingPoint processing
Point processing
panupriyaa7
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
LOKENDRA PRAJAPATI
 
computer Graphics
computer Graphics computer Graphics
computer Graphics
Rozi khan
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversionMohd Arif
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Saikrishna Tanguturu
 
ImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).pptImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).ppt
VikramBarapatre2
 
Introduction to 3D Computer Vision and Differentiable Rendering
Introduction to 3D Computer Vision and Differentiable RenderingIntroduction to 3D Computer Vision and Differentiable Rendering
Introduction to 3D Computer Vision and Differentiable Rendering
Preferred Networks
 
Predicate logic
 Predicate logic Predicate logic
Predicate logic
Harini Balamurugan
 
Halftoning in Computer Graphics
Halftoning  in Computer GraphicsHalftoning  in Computer Graphics
Halftoning in Computer Graphics
University of Potsdam
 
Extraction of region of interest in an image
Extraction of region of interest in an imageExtraction of region of interest in an image
Extraction of region of interest in an image
Harsukh Chandak
 

What's hot (20)

Bit plane slicing
Bit plane slicingBit plane slicing
Bit plane slicing
 
Clipping ( Cohen-Sutherland Algorithm )
Clipping ( Cohen-Sutherland Algorithm )Clipping ( Cohen-Sutherland Algorithm )
Clipping ( Cohen-Sutherland Algorithm )
 
Ip elements of image processing
Ip elements of image processingIp elements of image processing
Ip elements of image processing
 
Applications of cg
Applications of cgApplications of cg
Applications of cg
 
Overview of the graphics system
Overview of the graphics systemOverview of the graphics system
Overview of the graphics system
 
Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdf
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics Notes
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Point processing
Point processingPoint processing
Point processing
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
 
computer Graphics
computer Graphics computer Graphics
computer Graphics
 
Computer Vision Introduction
Computer Vision IntroductionComputer Vision Introduction
Computer Vision Introduction
 
Intro to scan conversion
Intro to scan conversionIntro to scan conversion
Intro to scan conversion
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
 
ImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).pptImageProcessing10-Segmentation(Thresholding) (1).ppt
ImageProcessing10-Segmentation(Thresholding) (1).ppt
 
Introduction to 3D Computer Vision and Differentiable Rendering
Introduction to 3D Computer Vision and Differentiable RenderingIntroduction to 3D Computer Vision and Differentiable Rendering
Introduction to 3D Computer Vision and Differentiable Rendering
 
Predicate logic
 Predicate logic Predicate logic
Predicate logic
 
Halftoning in Computer Graphics
Halftoning  in Computer GraphicsHalftoning  in Computer Graphics
Halftoning in Computer Graphics
 
Extraction of region of interest in an image
Extraction of region of interest in an imageExtraction of region of interest in an image
Extraction of region of interest in an image
 

Viewers also liked

Surf and ransac
Surf and ransacSurf and ransac
Surf and ransac
Vostrikov Arkady
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithm
Sajid Pareeth
 
SIFT Algorithm Introduction
SIFT Algorithm IntroductionSIFT Algorithm Introduction
SIFT Algorithm Introduction
Truong LD
 
Scale Invariant feature transform
Scale Invariant feature transformScale Invariant feature transform
Scale Invariant feature transform
Shanker Naik
 
Structure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and StructureStructure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and Structure
Giovanni Murru
 
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITIONFEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
International Journal of Technical Research & Application
 

Viewers also liked (6)

Surf and ransac
Surf and ransacSurf and ransac
Surf and ransac
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithm
 
SIFT Algorithm Introduction
SIFT Algorithm IntroductionSIFT Algorithm Introduction
SIFT Algorithm Introduction
 
Scale Invariant feature transform
Scale Invariant feature transformScale Invariant feature transform
Scale Invariant feature transform
 
Structure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and StructureStructure and Motion - 3D Reconstruction of Cameras and Structure
Structure and Motion - 3D Reconstruction of Cameras and Structure
 
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITIONFEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
FEATURE EXTRACTION USING SURF ALGORITHM FOR OBJECT RECOGNITION
 

Similar to Preemptive RANSAC by David Nister.

Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Computational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in RComputational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in R
herbps10
 
20230213_ComputerVision_연구.pptx
20230213_ComputerVision_연구.pptx20230213_ComputerVision_연구.pptx
20230213_ComputerVision_연구.pptx
ssuser7807522
 
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
cscpconf
 
Computer Vision: Feature matching with RANSAC Algorithm
Computer Vision: Feature matching with RANSAC AlgorithmComputer Vision: Feature matching with RANSAC Algorithm
Computer Vision: Feature matching with RANSAC Algorithm
allyn joy calcaben
 
Model-counting Approaches For Nonlinear Numerical Constraints
Model-counting Approaches For Nonlinear Numerical ConstraintsModel-counting Approaches For Nonlinear Numerical Constraints
Model-counting Approaches For Nonlinear Numerical Constraints
Quoc-Sang Phan
 
NumPy/SciPy Statistics
NumPy/SciPy StatisticsNumPy/SciPy Statistics
NumPy/SciPy Statistics
Enthought, Inc.
 
R Analytics in the Cloud
R Analytics in the CloudR Analytics in the Cloud
R Analytics in the CloudDataMine Lab
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacesbutest
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacesbutest
 
SVD and the Netflix Dataset
SVD and the Netflix DatasetSVD and the Netflix Dataset
SVD and the Netflix Dataset
Ben Mabey
 
Computed Prediction: So far, so good. What now?
Computed Prediction:  So far, so good. What now?Computed Prediction:  So far, so good. What now?
Computed Prediction: So far, so good. What now?
Xavier Llorà
 
Single shot multiboxdetectors
Single shot multiboxdetectorsSingle shot multiboxdetectors
Single shot multiboxdetectors
지현 백
 
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
Yam Peleg
 
Binary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
Binary Vector Reconstruction via Discreteness-Aware Approximate Message PassingBinary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
Binary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
Ryo Hayakawa
 
HRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
HRNET : Deep High-Resolution Representation Learning for Human Pose EstimationHRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
HRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
taeseon ryu
 
Machine Learning
Machine LearningMachine Learning
Machine Learningbutest
 
mcp-bandits.pptx
mcp-bandits.pptxmcp-bandits.pptx
mcp-bandits.pptx
Blackrider9
 

Similar to Preemptive RANSAC by David Nister. (20)

Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Computational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in RComputational Techniques for the Statistical Analysis of Big Data in R
Computational Techniques for the Statistical Analysis of Big Data in R
 
20230213_ComputerVision_연구.pptx
20230213_ComputerVision_연구.pptx20230213_ComputerVision_연구.pptx
20230213_ComputerVision_연구.pptx
 
Analysis
AnalysisAnalysis
Analysis
 
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
AN ALTERNATIVE APPROACH FOR SELECTION OF PSEUDO RANDOM NUMBERS FOR ONLINE EXA...
 
Computer Vision: Feature matching with RANSAC Algorithm
Computer Vision: Feature matching with RANSAC AlgorithmComputer Vision: Feature matching with RANSAC Algorithm
Computer Vision: Feature matching with RANSAC Algorithm
 
Model-counting Approaches For Nonlinear Numerical Constraints
Model-counting Approaches For Nonlinear Numerical ConstraintsModel-counting Approaches For Nonlinear Numerical Constraints
Model-counting Approaches For Nonlinear Numerical Constraints
 
NumPy/SciPy Statistics
NumPy/SciPy StatisticsNumPy/SciPy Statistics
NumPy/SciPy Statistics
 
R Analytics in the Cloud
R Analytics in the CloudR Analytics in the Cloud
R Analytics in the Cloud
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 
SVD and the Netflix Dataset
SVD and the Netflix DatasetSVD and the Netflix Dataset
SVD and the Netflix Dataset
 
Computed Prediction: So far, so good. What now?
Computed Prediction:  So far, so good. What now?Computed Prediction:  So far, so good. What now?
Computed Prediction: So far, so good. What now?
 
Single shot multiboxdetectors
Single shot multiboxdetectorsSingle shot multiboxdetectors
Single shot multiboxdetectors
 
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
Learning Graphs Representations Using Recurrent Graph Convolution Networks Fo...
 
Binary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
Binary Vector Reconstruction via Discreteness-Aware Approximate Message PassingBinary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
Binary Vector Reconstruction via Discreteness-Aware Approximate Message Passing
 
02 analysis
02 analysis02 analysis
02 analysis
 
HRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
HRNET : Deep High-Resolution Representation Learning for Human Pose EstimationHRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
HRNET : Deep High-Resolution Representation Learning for Human Pose Estimation
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
mcp-bandits.pptx
mcp-bandits.pptxmcp-bandits.pptx
mcp-bandits.pptx
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

Preemptive RANSAC by David Nister.

  • 1. Preemptive RANSAC for Live Structure and Motion Estimation by David Nister, Machine vision and applications(J) in 2005, 261citations. 2nd/June/2011 presented Inkyu.Sa
  • 2. Contents What is RANSAC? Preemptive RANSAC Results My thought
  • 3. What is RANSAC ? Random sample consensus. Observation Estimate model Source from wikipedia Outliers LO-RANSAC Preemptive RANSAC Inliers DEGENSAC PROSAC MLESAC, NAPSAC etc.
  • 4. What is RANSAC ? Random sample consensus. Observation Estimate model Source from wikipedia Outliers Inliers Source from AFMR, Machine Learning Reinforcement learning Use rewards and interaction with the environment to learn
  • 5. Why do we use RANSAC ? It is possible estimate robust parameters of model. There are many noise in out real environments. What are disadvantages of RANSAC? It takes long time to calculate parameters without boundary condition. Therefore, threshold and max iteration are required.
  • 6. How does RANSAC work? We have this observation data set.
  • 7. How does RANSAC work? We have this observation data set. Randomly choose any two points and create a hypothesis.
  • 8. How does RANSAC work? Randomly choose any two points and create a hypothesis.
  • 9. How does RANSAC work? Randomly choose any two points Calculate distances between a and create a hypothesis. hypothesis and all observations. This hypothesis has a huge distance value. This process is called “Scoring”. “ “ Because wewhich ahas theknowledgeintegration hypothesis have prior minimum that the value of distance could be our model.
  • 10. How does RANSAC work? Calculate distances between a Again randomly choose two points and hypothesis and all observations. create another hypothesis. This one has a smaller distance value than previous.
  • 11. How does RANSAC work? Again randomly choose two points and How many hypothesis can be created? create another hypothesis. This one has a smaller distance value than previous. Number of lines = 100 C2 = 4,950 Number of lines =999 C2 = 498,501 Total calculation=498,501× 997 = 497,005,497
  • 12. How does RANSAC work? Set a threshold to prevent calculation from all observation. ld ho If a hypothesis meet our condition, this s re hypothesis is going to be our best model. Th In addition set a maxim iterations or maxim time period.
  • 13. How does RANSAC work? What happens if we have this observation?
  • 14. How does RANSAC work? What happens if we have this observation? Maybe we can’t get a right answer. This implies that we need a decent observation data set to get a right model unless RANSAC process takes more time and less accurate.
  • 15. How does RANSAC work? What happens if we have these observations? Inlier noise Near degeneracies Near degeneracies can be dealt with by sampling non-randomly.
  • 16. How can we apply RANSAC to our applications? RANSAC can be used refine essential matrix. Example) A 3D point registration. pi R,T Assume that we already create a hypothesis pi using any methods such as 5 point, 8points and svd algorithm and so on. i=N e2 = pi − Rpi − T 2 These two are our model. i=1 pi = Current frame a 3D point in world coordinate. pi = Previous frame a 3D world point in world coordinate.
  • 17. Preemptive RANSAC Based on breadth-first preemption. Using time budget and threshold. Source from ICCV2005 tutorial.
  • 18. Preemptive RANSAC Based on breadth-first preemption. Source from ICCV2005 tutorial.
  • 19. Preemptive RANSAC Depth-first preemption. Source from ICCV2005 tutorial.
  • 20. Preemptive RANSAC Breath-first preemption. Source from ICCV2005 tutorial.
  • 21. Preemptive RANSAC Breath-first preemption. Source from ICCV2005 tutorial.
  • 22. Preemptive RANSAC log-likelihood, L Cauchy distribution to model the errors = −ln(1 + u) 2 where ui = pi − Rpi − T Squared magnitude of a reprojection error 10 robust log-likelihood = −ln (1 + ui ) i=1 N where ρ = scoring function, L(h) = ρ(o, h) o = observation index, h = hypothesis index. o=1 ρ function return a scalar value representing the log-likelihood given o,h
  • 23. Preemptive RANSAC Algorithm 1. Randomly permute the observations. 2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm. f (i) = preemption function indicates how many hypotheses are to be kept at ith stage.
  • 24. Preemptive RANSAC Algorithm 1. Randomly permute the observations. 2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm. 3. Compute the scores. L1 (h) = ρ(1, h) for h=1,...,f(1). set i=2
  • 25. Preemptive RANSAC Algorithm 1. Randomly permute the observations. 2. Generate all the hypotheses indexed by h= 1,..., f(1) using 5 points algorithm. 3. Compute the scores. L1 (h) = ρ(1, h) for h=1,...,f(1). set i=2 4. Reorder the hypotheses. The range h=1,...,f(i) contains the best f(i) 5. If i>N of f(i)=1, quit with the best hypothesis. Otherwise, compute Li (h) = ρ(i, h) + Li−1 (h) for h=1,...,f(1). increase i and go to Step 4.
  • 26. Preemptive RANSAC Sequences Generate all the hypotheses Scoring and find the best hypotheses at each stage.
  • 27. Preemptive RANSAC Advantages of breath-first RANSAC The breath-first RANSAC can spend a lot of time on bad observation. Only compare the previous hypothesis and it takes long time to get the best one. (Depth-first RANSAC) Disadvantages of breath-first RANSAC can spend a lot of time on bad observation. Author argues that depth-first RANSAC can also waste time on bad hypothesis.
  • 28. Preemptive RANSAC Disadvantages of breath-first RANSAC The breath-first RANSAC can spend a lot of time on bad observation. The depth-first RANSAC can also waste time on bad hypothesis.
  • 29. Preemptive RANSAC Disadvantages of breath-first RANSAC The breath-first RANSAC can spend a lot of time on bad observation. The depth-first RANSAC can also waste time on bad hypothesis. Typically a hypothesis is consist of multiple observations. If this hypothesis contains outliers so that it is meaningless. The good observations are much larger than the good hypothesis in typical RANSAC settings.
  • 31. My thoughts Reasonable using the breath-first searching It implemented on CVD library.
  • 32. Issues Dead depth pixel About 25% of a kinect point clouds are dead depth pixel, that has NaN(Not a Number) depth value. 320x240=76800, and valid number of point cloud = 57365 2D image plane 3D depth data
  • 33. VO procedures 1. Obtain features using gpuSurf at t-1 and t Output: featureA(t-1), featureB(t) 2. CrossMatching Using L2 Output: MatchedFeaturesList 3. Find depth for each matched feature (Nr=160~200) Output: KeypointA(t-1), KeypointB(t) in 3D world coordinate 4. Compute R,t using ICP (iteration 250, threshold..) 5. Find the current pose of camera by multiply homogeneous transformation matrix. R i ti ξc = o ξt−3 t−3 ξt−2 t−2 ξt−1 t−1 ξt where ξi = 01X3 1 6. Draw x,y,z using
  • 36. VO procedures Time consumption Profiling. 1. Total time = 80~100ms 2. gpuSurf = 10 ~ 15ms 3. gpuMatching = 5~7ms 4. ICP 15~20ms 5. Visualization 50~60ms
  • 40. SBC status 1. Ubuntu 10.10 64Bit installed, 2. ROS Diamondback installed PCL, Openni_kinect stack 3. CUDA Driver V3.2,
  • 41. Plans Cut down 54.28% size of original data.(rgb+point cloud). (320x240 rgb+point cloud)=2,688,000Bytes => (320x240 rgb+point cloud)=1,228,800Bytes. Generate 3D features using surf and a kinect. Visualization 3D matched features using PCL but has some bugs. Using ICP on ROS(PointCloudLibrary) to get a transformation matrix. Visualization camera pose using PCL. Recording data with MikroKopter and SBC. (10th/June) Put on the MikroKopter and testing.(13th/June) Refine pose with RANSAC or EKF.... etc.
  • 42. Plans Cut down 54.28% size of original data.(rgb+point cloud). (320x240 rgb+point cloud)=2,688,000Bytes => (320x240 rgb+point cloud)=1,228,800Bytes. Generate 3D features using surf and a kinect. Visualization 3D matched features using PCL but has some bugs. Using ICP on ROS(PointCloudLibrary) to get a transformation matrix. Visualization camera pose using PCL. Recording data with MikroKopter and SBC. (10th/June) Put on the MikroKopter and testing.(13th/June) Refine pose with RANSAC or EKF.... etc.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n