1. A method of real-time tracking of an object, the method comprising: capturing, with a camera, a first and a second image of the object, wherein the object has a plurality of edges; detecting the object in the first image; and tracking the object between the first image and the second image, wherein tracking the object includes: obtaining an initial pose of the camera in response to the detecting of the object in the first image; projecting an image of a model object onto the second image based on the initial pose of the camera; determining a gradient profile of the second image from an edge point on an edge of the model object along a first direction that is normal to the edge of the model object, wherein the gradient profile includes a plurality of peaks; computing a radius for determining feature correspondence on the gradient profile; determining a rank order of the peaks of the gradient profile along the radius; comparing the determined rank order with a predetermined rank order of peaks included in a gradient profile of the model object to generate a feature candidate point of the second image; and reducing a distance along the first direction between the feature candidate point and the edge point on the edge of the model object.