{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Derivation \n", "\n", "Let Probability of inliers = \n", "$w$ = $\\frac{\\text{Number of inliers}}{\\text{Total number of points}}$\n", "\n", "Probability that the $k$ points in the minimal set are all inliers = $w^k$\n", "\n", "Probability that atleast one of the $k$ point is outlier = $1 - w^k$\n", "\n", "Probability atleast one of the $k$ point is outlier in n iterations = $(1 - w^k)*n$\n", "\n", "If p is the probability that after $n$ iteration we finds an inlier. \n", "Then there is $1 - p$ probability that after $n$ iterations,\n", "we don't have atleast one of the $k$ points as outlier in $n$ iterations.\n", "\n", "So, we get -- \n", "\n", "\\begin{align}\n", "1 - p &= (1 - w^k)*n \\\\ \n", "log(1 - p) &= n log(1 - w^k) \\\\\n", "n &= \\frac{log(1 - p)}{log(1 - w^k)} \\\\\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def iters_needed(k, p=.99, w = .5):\n", " \"\"\"\n", " Returns the number of ransac iterations needed.\n", " :param k : Minimal set of points.\n", " :param w : Percentage of inliers.\n", " :param p : Desired Accuracy\n", " \"\"\"\n", " return np.log(1-p)/np.log(1 - np.power(w, k))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEZHC8/+ErvI4Age5ewAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = range(1, 10)\n", "y = [iters_needed(x_i) for x_i in x]\n", "plt.plot(x, y)\n", "plt.title('Number of iterations VS Minimal set of inliers')\n", "plt.xlabel('Number of iterations')\n", "plt.ylabel('Minimal set of inliers')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }