A 3D scanner is a device that analyzes a real world object and generates a point cloud describing the surface of such object, possibly including color information as well. However, these devices are expensive, fragile, large, and usually require especially adapted facilities to house them. The advent of inexpensive depth sensors such as Kinect provide new opportunities to bridge the existing gap between systems that offer good scanning quality and systems that are affordable. The objective of this thesis is to use Kinect as a 3D scanner. We achieve this goal by exploring techniques to generate point clouds from depth maps, and triangulation methods to construct meshes from point clouds. However, depth maps are not noise-free. To deal with this noise, we explore different depth map reconstruction and smoothing techniques. We then measure their effectiveness in reducing the noise and enhancing the quality of the generated model. The main contribution of this work is an acquisition and processing pipeline that allows for capture and generation of accurate 3D models whose quality is comparable to those generated by expensive scanner devices. We show that the accuracy of our acquisition system is on par with higher resolution scanners. We also demonstrate applications for our method by capturing a data set of human faces and generating an Active Appearance Model from this data set.