1. A system, comprising: a scanning module including an intraoral three dimensional (3D) scanner; and a processing module coupled to the scanning module to: receive a plurality of three-dimensional (3D) scans of a dentition; estimate a motion trajectory from a particular one of the plurality of scans to a subsequent scan, wherein the estimation includes one or more of: registering the particular scan to at least one of a previous scan and the subsequent scan, determining whether an amount of movement between the previous scan, the particular scan, and the subsequent scan is within a registration threshold, and estimating the motion trajectory based on the registration; using data from a plurality of two-dimensional (2D) images of the dentition taken during the particular scan of the dentition, determining an optical flow based on local motion between consecutive images of the plurality of 2D images, estimating a motion trajectory of a point in the particular scan, improving the estimated motion trajectory using the optical flow to estimate a correctness of the estimated motion trajectory; and estimating an amount of motion of a 3D scanner during the particular scan as a rigid body transformation based on input from at least one position tracking device that is connected to the 3D scanner; and calculate a corrected scan by compensating for the motion trajectory.