User:07081305lihan

See 3D reconstruction and 3D modeling for better understanding.

3D reconstruction from multiple images is to create 3D models from nothing but a set of images. It can be considered as the reverse process of obtaining 2D images from 3D scene.

The essence of an image is a projection from a 3D scene onto a 2D plane, during which process the depth is lost. The 3D point corresponding to a specific image point is constraint to be on the line of sight. From a single image, it is impossible to determine which point on this line corresponds to the image point. If two images are available, then the position of 3D point can be found as the intersection of the two projection rays. This process is referred to as triangulation. The key for this process is the relations between multiple views which convey the information that corresponding sets of points must contain some structure and that this structure is related to the poses and the calibration of the camera.

In recent decades, there is an important demand for 3D content for computer graphics, virtual reality and communication, triggering a change in emphasis for the requirements. Many existing systems for construcing 3D models are built around specialized hardware (e.g. stereo rigs) resulting in a high cost, which cannot satisfy the requirement of its new applications. This gap stimulates the use of digital imaging facilitates (like camera). Moore's law also tells us that more work can be done in software. An early method was proposed by Tomasi and Kanade. They used an affine factorization approach to extract 3D from images sequences. However, the assummption of orthographic projection is a significant limitation of this system.

Processing Stage for 3D Reconstruction
The task of converting multiple 2D images into 3D model consists of a series of processing steps:

Camera calibration consists of intrinsic and extrinsic parameters, without which at some level no arrangement of algorithms can work. The dotted line between Calibration and Depth determination represents that the camera calibration is usually required for determining depth.

Depth determination serves as the most challenging part in the whole process, as it calculates the 3D component missing from any given image – depth. The correspondence problem, finding matches between two images so the position of the matched elements can then be triangulated in 3D space is the key issue here.

Once you have the multiple depth maps you have to combine them to create a final mesh by calculating depth and projecting out of the camera – registration. Camera calibration will be used to identify where the many meshes created by depth maps can be combined together to develop a larger one, providing more than one view for observation.

By the stage of Material Application you have a complete 3D mesh, which may be the final goal, but usually you will want to apply the color from the original photographs to the mesh. This can range from projecting the images onto the mesh randomly, through approaches of combining the textures for super resolution and finally to segmenting the mesh by material, such as specula and diffuse properties.

The Reconstruction problem
Given a group of 3D points viewed by N cameras with matrices $$\{P^i\}_{i=1\ldots N}$$. Define $$m_j^i\simeq P^iw_j$$ be the homogeneous coordinates of the projection of the $$j^{th}$$ point onto the $$i^{th}$$ camera. The reconstruction problem can be changed to: given the group of pixel coordinates $$\{m_j^i\}$$, find the corresponding set of camera matrices $$\{P^i\}$$ and the scene structure $$\{w_j\}$$ such that



m_j^i\simeq P^iw_j $$ (1)

Generally, without further restrictions, we will obtain a projective reconstruction. If $$\{P^i\}$$ and $$\{w_j\}$$ satisfy (1), $$\{P^iT\}$$ and $$\{Tw_j\}$$ will satisfy (1) with any 4 × 4 nonsingular matrix T.

A projective reconstruction can be calculated by points correspondences only, without any a-priori information.

Autocalibration
Autocalibration or self-calibration is the classical approach, in which camera motion and parameters are recovered first, using rigidity, then structure is readily calculated. Two methods implementing this idea are presented as follows:

Kruppa equations
With a minimum of three displacements, we can obtain the internal parameters of the camera using a system of polynomial equations due to Kruppa, which are derived from a geometric interpretation of the rigidity constraint.

The matrix $$K = AA^{\top}$$ is unknown in the Kruppa equations, named Kruppa coefficients matrix. With  K and by the method of Cholesky factorization one can obtain the intrinsic parameters easily:


 * $$ K=

\begin{bmatrix} k_1 & k_2 & k_3 \\ k_2 & k_4 & k_5 \\ k_3 & k_5 & 1 \\ \end{bmatrix} $$

Recently Hartley proposed a simpler form. Let $$F$$ be written as $$F = DUV^\top$$, where

Then the Kruppa equations are rewritten (the derivation can be found in )

Mendonça and Cipolla
This method is based on the use of rigidity constraint. Design a cost function, which considers the intrinsic parameters as arguments and the fundamental matric as parameters. $${F}_ij$$ is defined as the fundamental matrix, $${A}_i$$and $${A}_j$$ as intrinsic parameters matrices.

Stratification
Recently, new methods based on the concept of stratification have been proposed. Starting from a projective structure, which can be calculated from correspondences only, upgrade this projective reconstruction to a Euclidean reconstruction, by making use of all the available constraints. With this idea the problem can be stratified into different sections: according to the amount of constraints available, it can be analyzed at a different level, projective, affine or Euclidean.

The stratification of 3D geometry
Usually, the world is perceived as a 3D Euclidean space. In some cass, it is not possible to use the full Euclidean structure of 3D space. The simplest being projective, then the affine geometry which forms the intermediate layers and finally Euclidean geometry. The concept of stratification is closely related to the series of transformations on geometric entities: in the projective stratum is a series of projective transformations (an homography), in the affine stratum is a series of affine transformations, and in Euclidean stratum is a series of Euclidean transformations.

Suppose that a fixed scene is captured by two or more perspective cameras and the correspondences between visible points in different images are already given. However, in practice, the matching is an essential and extremely challenging issue in computer vision. Here, we suppose that n 3D points Ai are observed by m cameras with projection matrices $$P_{j},j=1,\ldots,m.$$ Neither the positions of point nor the projection of camera are known. Only the projections $$a_{ij}$$ of the $$i^{th}$$ point in the $$j^{th}$$ image are known.

Projective reconstruction
Simple counting indicates we have 2nm independent measurements and only 11 m + 3 n unknowns, so the problem is supposed to be soluble with enough points and images. The equtaions in homogeneous coordinates can be represented:



a_{ij}\sim P_{j}A_{i}\qquad i=1,\ldots n,j=1,\ldots m $$      (2)

So we can apply a nonsingular 4 × 4 transformation H to projections $$P_{j}$$→$$P_{j}H^{-1}$$ and world points $$A_i$$→$$HA_i$$. Hence, without further constraints, reconstruction is only an unknown projective deformation of the 3D world.

Affine Reconstruction
See affine space for more detailed information about computing the location of the plane at infinity $${\Pi}_{\infty}$$. The simplest way is to expoilt prior knowledge, for example the information that lines in the scene are parallel or that a point is the one thirds between two others.

We can also use prior constraints on the camera motion. By analyzing different images of the same point can obtain a line in the direction of motion. The intersection of several lines is the point at infinity in the motion direction, and one constraint on the affine structure.

Euclidean Reconstruction
By mapping the projective reconstruction to one that satisfieas a group of redundant Euclidean constraints,we can find a projective transformation H in equation (2).The equations are highly nonlinear and a good initial guess for the structure is required. This can be obtained by assuming a linear projection - parallel projection, which also allows easy reconstruction by SVD decomposition.

Algebraic vs geometric error
Inevitably, measured data (i.e., image or world point positions) is noisy and the noise comes from many sources. To reduce the effect of noise, we usually use more equations than necessary and solve with least squares.

For example, in a typical null-space problem formulation Ax = 0 (like the DLT algorithm), the square of the residual ||Ax|| is being minimized with the least squares method.

In general, if ||Ax|| can be considered as a distance between the geometrical entities (points, lines, planes, etc…), then what is being minimized is a geometric error, otherwise (when the error lacks a good geometrical interpretation) it is called an algebraic error.

All the linear algorithms (DLT and others) we have seen so far minimize an algebraic error. Actually, there is no justification in minimizing an algebraic error apart from the ease of implementation, as it results in a linear problem.

All the linear algorithms (DLT and others) we have seen minimize an algebraic error. However, the minimization of a geometric error is often a non-linear problem, that admit only iterative solutions and requires a starting point.

Therefore, compared with algebraic error, we prefer to minimize a geometric error for the reasons listed:

1). the quantity being minimized has a meaning.

2). the solution is more stable.

3). the solution is constant under Euclidean transforms.

Usually, linear solution based on algebraic residuals serves as a starting point for a non-linear minimization of a geometric cost function, which provides the solution a final “polish”.