Computer Vision: Three-dimensional Reconstruction Techniques