Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

6
Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle

Transcript of Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Page 1: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Parallel implementation of RAndom SAmple Consensus (RANSAC)

Adarsh Kowdle

Page 2: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Algorithm description

• Iterative method to estimate parameters of a mathematical model from a set of observed data, which contains outliers

• A simple form of RANSAC considered for the project

Page 3: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Algorithm description

• Step 1: Randomly sample the data to obtain two points

• Step 2: Determine the parameters of the line joining these two points

• Step 3: Evaluate the distance of every other points from this line => serves as error function to be minimized

• Step 4: Repeat Step 1 till the required number of iterations have been completed

• Step 5: The resulting line parameters represents the best line fit for the given observations of 2D points.

Page 4: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Parallel design proposed - OpenMPMaster

Thread 1 Thread 2 Thread 3 Thread N

Suppose that there are 10000

data points

Master randomly samples data points and passes it

to the threads

Thread 1 Thread 2 Thread 3 Thread N

Data points in shared memory, instantiate threads to compute

error

Different variants of the code tried out

Page 5: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Results and conclusions

• Extracted data points offline using Matlab – about 10000 data points

• The data points were created by adding noise to it a known line, so, best fit line is known

• Implemented the parallel version of RANSAC using OpenMP directives and tested with these data points

• Performance– Serial code took 0.24 seconds for 5000 iterations– OpenMP parallel implementation takes 0.05 seconds for

5000 iterations

Page 6: Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.

Results and conclusions

• A parallel version of RANSAC has been implemented

• With the use of OMP directives, a five-fold decrease in time taken has been achieved which is significant