1. A method for aligning data regarding a real object and a virtual object in an augmented reality system, the method comprising: receiving detected image data at a processor, wherein the detected image data relates to the real object; receiving virtual object data at the processor, wherein the virtual object data is representative of the virtual object in the augmented reality system; generating, by the processor, a log-likelihood function at intensity level based on the virtual object data and the detected image data; generating, by the processor, a log-likelihood function at feature level based on the virtual object data and the detected image data; applying, by the processor, a first weight to the log-likelihood function at intensity level to produce a weighted log-likelihood function at intensity level; applying, by the processor, a second weight to the log-likelihood function at feature level to produce a weighted log-likelihood function at feature level; adding, by the processor, the weighted log-likelihood function at intensity level to the weighted log-likelihood function at feature level to produce a cost function; and determining, by the processor, transformation parameters for the detected image data based on the cost function; wherein the transformation parameters are effective to align the detected image data with the virtual object data.