Space Resection with an Empirical Method without Knowing Initial Values

Space Resection with an Empirical Method without Knowing Initial Values

Spatial Resection is the problem to find the position and orientation of an image or a set of images in the case that there is an acceptable number of model points with corresponding image points. So, in spatial resection , the inputs are the model or ground coordinates of the image control points and the unknowns are the external justification elements of the desired image.

The unknowns of spatial resection are the elements of the external orientation of an image (rotations and transitions of the optical center of the image). Here we try to find a simple experimental method to solve the spatial resection. The algorithm we implement here is only for educational purposes, so it will not be an optimal algorithm, and we also do not expect this algorithm to perform optimally against the noise of observations.

 To begin, we assume that we have access to the ground or model coordinates of a sufficient number of model points and their corresponding image locations. Note that the minimum number of points is not yet known to us.

In the first step, we write the equations of the collinearity in a simple form

Perhaps the simplest method of solving the above equations is obtained by considering a group of sub-variables in such a way that the equations of our observations become linear. We can see that there are 18 terms depending on external orientation parameters. So, we form a system of observation equations to solve these parameters based on 18 unknown terms which are not independent.

Here, the number of secondary unknowns are 18 and the number of equations will be 2 for each model point. We consider the above equation in the following mathematical form

The first point is that our experimental method has fewer degrees of freedom than expected. The second point is the form of the equation, which cannot be solved by least squares. Using the definitions of linear algebra, the matrix X is a left singular vector for the “zero” singular value of the matrix A. In the case that the matrix A is made using more than 9 points, there is a possibility that none of the individual values ​​will be zero, this happens especially when there is noise in the observations, in this case the single value of the matrix We consider A to be smaller than a fractional threshold value (e.g., 0.001). Finally, the matrix M is formed. In the expected case, the value of the rotation matrix obtained with an unknown scale will be close to the desired value. To obtain the scale of the unknown, we first obtain the determinant of the resulting M matrix

The scale value is

The position vector obtained from this method is not accurate. In order to extract the 3D image position, we can use the collinearity equations and solve the equations based on the image coordinates.

We can measure the correctness of the stated algorithm by using image residuals. In this way, we calculate the pixel coordinates of the 3D points with the parameters obtained from the method and compare them with their initial values. If the average pixel residuals are less than a certain limit, we accept the results, otherwise, we assume that resection is not possible for this photo by employing this method. The upper limit will be just an empirical number that will depend on the sensitivity of the network to image residuals in bundle counting. In the example below, a limit of about 100 pixels of error is considered as the average allowable error, because it has been observed from experience that this amount of error can be corrected by bundle adjustment.

Testing the algorithm in a real situation

The algorithm described above helped us gain a better understanding of the collinearity equations. Now let’s see how this algorithm works in practice. In the following test, we have a calibration object along with detailed sensor information.

Now we estimate exterior orientation parameters of the images by the empirical resection method

We observe that out of 94 input images, 85 images were correctly resected. This number is about 7 photos less compared to the simple DLT method, the details of which will be seen in the next section. To check the errors, we observe the amount of image residues, which are mostly less than 5 pixels. This shows that the experimental solution presented to solve the resection problem is a relatively acceptable solution. Due to the fact that the geometry of the problem is not strong enough to estimate the elements of interior orientation, among the three tested methods, the full DLT method, which we will see in detail in the next section, showed less accuracy.