Technology for constructing 3D-models of objects using a set of images
Introduction
Today, there is a whole range of software products for building 3D models of objects and scenes from sets of images (for example, 123D Autodesk or Photomodeller). A description of working with such programs was shown in the article http://habrahabr.ru/post/134781/ and http://habrahabr.ru/post/64080/ . In this article I want to describe a general methodology for solving this issue, with the capabilities of each of the stages. The article is primarily aimed at those who are "far" from this topic, but would like to understand how it works there and what you can get in general.
Description of the general scheme
Firstly, we describe the requirements for photographing an object (see Fig. 1). The overlap between a pair of frames of the photographed region of space should be no worse than 50% (otherwise the model will turn out with gaps). Moreover, such a survey should ensure that three adjacent images are overlapped (for example, in Figure 1, 1,2,3 or 4,5,6 can be considered adjacent images). Thus, the resulting 3D model will be determined by only one scale parameter.

Figure 1. Scheme of photographing an object

Figure 2. Example of images for building a 3D model
Now, let's say there is a set of images (see Fig. 2). Further, when processing images (namely, searching for identical points of an object in images and solving a system of nonlinear equations based on the found correspondences), we determine the camera parameters (focal length, etc.) and the position / orientation of the camera at the time of photographing each images relative to one of them (basic, for example, the first, see Fig. 3).

Figure 3. Oriented images
For oriented images, all identical points are searched on adjacent pairs of images (the so-called dense maps or depth maps), after which the position of points in space (see Fig. 4) is calculated in the coordinate system of the base image (based on calculated camera parameters: focal length, position / orientation, etc.).

Figure 4. 3D-model of the object

Figure 5. Textured 3D-model of the object
As a rule, many points are represented in the form of triangulation frames (see Fig. 6, the construction of the frame is based on Delaunay triangulation), convenient for subsequent texturing (see Fig. 5, for example, using OpenGL tools) or transforming snapshots.

Figure 6. Triangulation model of the object (source, habrahabr.ru/post/134781 )
Details of each of the stages, as well as the algorithms used, can be found in this work.
Conclusion
The described technology is used in most modern commercial software products to build terrain models according to aerial photography, mobile mapping, etc. Moreover, all 123D type software with fully automatic processing is completely free, but does not guarantee any result at all (respectively, there is no accuracy there), and where the result is required, you have to pay, and there is a specially created functionality to control each of the processing stages.