A method of capturing compact representations of three-dimensional objects suitable for object detection comprising: capturing, using a camera module of a device, a plurality of images of a scene, wherein each of the plurality of images of the scene captures at least a portion of an object; identifying a first key frame from the plurality of images and a first position of the device associated with the first key frame; identifying a second key frame from the plurality of images and a second position of the device associated with the second key frame, and wherein the second position is different from the first position; identifying a first plurality of two-dimensional points of interest from the first key frame, wherein each of the first plurality of points of interest identify one or more features from the scene; identifying a second plurality of two-dimensional points of interest from the second key frame, wherein each of the second plurality of points of interest identify one or more of the features from the scene; matching a subset of the first plurality of points of interest and a subset of the second plurality of points of interest; identifying a plurality of three-dimensional key points associated with the object based at least in part on the matching of the subset of the first plurality of points of interest and the subset of the second plurality of points of interest, wherein identifying the plurality of three-dimensional key points associated with the object comprises filtering the subset of the first plurality of points of interest and the subset of the second plurality of points of interest to identify the plurality of key points which are associated with the object, wherein filtering the subset of the first plurality of points of interest and the subset of the second plurality of points of interest comprises deleting points of interest with a mean distance to a threshold number of nearest points of interest that is more than a threshold distance; and storing at least a portion of the plurality of key points associated with the object as an object representation in an object detection database. capturing, using a camera module of a device, a plurality of images of a scene, wherein each of the plurality of images of the scene captures at least a portion of an object; identifying a first key frame from the plurality of images and a first position of the device associated with the first key frame; identifying a second key frame from the plurality of images and a second position of the device associated with the second key frame, and wherein the second position is different from the first position; identifying a first plurality of two-dimensional points of interest from the first key frame, wherein each of the first plurality of points of interest identify one or more features from the scene; identifying a second plurality of two-dimensional points of interest from the second key frame, wherein each of the second plurality of points of interest identify one or more of the features from the scene; matching a subset of the first plurality of points of interest and a subset of the second plurality of points of interest; identifying a plurality of three-dimensional key points associated with the object based at least in part on the matching of the subset of the first plurality of points of interest and the subset of the second plurality of points of interest, wherein identifying the plurality of three-dimensional key points associated with the object comprises filtering the subset of the first plurality of points of interest and the subset of the second plurality of points of interest to identify the plurality of key points which are associated with the object, wherein filtering the subset of the first plurality of points of interest and the subset of the second plurality of points of interest comprises deleting points of interest with a mean distance to a threshold number of nearest points of interest that is more than a threshold distance; and storing at least a portion of the plurality of key points associated with the object as an object representation in an object detection database.