• No results found

The integration of the VOP model from Section 4.3 into the model for a SFRS is illustrated in Figure 5.8. Note that the illustration is not a top view of the plane of refraction any more. The ray paths between I and O and between I0 and O are in general located in different planes of refraction. Concerning the labeling, most of the one that was proposed in Table 5.1 for the VOP model and monocular vision can be adopted. Due to the second camera, the major difference is that an additional right version of each quantity exists, which is labeled with an additional quotation mark. As should be clear, the object axis s1, the auxiliary point A1 and the real object point O are excluded, since they are the same for both cameras. Additional quantities are the rotation matrix R and the translation vector t, which represent the transformation between the two cameras. In a SFRS , two VOPs ˇO and ˇO0 are associated to one real object point O. Each of them is collinear to the center of refraction and the image point of the respective camera. Both VOPs do not coincide in general. The only exception is the case of equal angles of incidence. In this section, it will be shown how to easily compute these VOPs from pairs of corresponding image points in a SFRS . This in turn enables the straightforward computation of the related real object point, which has already been proposed in Section 4.3. Therefore, the computation of the VOPs in combination with the computation of the real object point amounts to an alternative for refractive back-projection and even for the recovery of 3D coordinates. With this approach, ray tracing can be avoided completely.

5.3 Virtual Object Point Model and Binocular Vision

Figure 5.9: Left: Plane of refraction Π belonging to the image point I. Right: Plane of refraction

Π0 belonging to the image point I0.

5.3.1 Computation of Virtual Object Points

The computation of the VOPs in a SFRS is closely related to the process of intersecting the planes of refraction Π and Π0 belonging to a pair of corresponding image points I and

I0, as illustrated in Figure 5.9. To maintain clarity, the illustration is done separately for both planes.

Requirements. The required quantity is the direction vector ¯s of the system axis s0.

Preparatory Computations. The first step is the computation of the normalized direction vectors ¯a and ¯a0 of the rays a and a0 in their respective camera coordinate systems. This can be realized with the aid of Equation 2.17 from a pair of corresponding image points I and I0 and the known intrinsic camera parameters. Since both direction vectors are computed in the camera coordinate system of their respective camera, one of them needs to be transformed. In this case, the direction vector ¯a0 is transformed into the camera coordinate system of the left camera, since the direction vector ¯s of the

system axis s0 is also know with respect to it.

The ray a and the system axis s0 form the plane of refraction Π, as shown on the left side of Figure5.9. The plane of refraction Π0 on the right side of Figure5.9 is formed by the ray a0 and the ray s00, which passes through C0. The ray s00 has the same normalized direction vector ¯s as the system axis s0. Since both planes of refraction originate from the same real object point O, they can either be entirely coincident or they can intersect in a line, but they can not be non-intersecting. If both planes Π and Π0 intersect in a line, this line always has the same direction vector ¯s as the system axis s0. It is straightforward

5 Calibration of Shared Flat Refractive Systems

Figure 5.10: Intersection of the planes of refraction Π and Π0.

that this is always true. Mathematically, this can be derived from the definition of the double cross product [BS79]:

a × (b × c) = b · (a · c) − c · (a · b). (5.4)

By utilization of the cross product, the normal vector of plane Π is n = ¯s × ¯a and that

of Π0 is n0 = ¯s × ¯a0. Since the line of intersection in question has to be orthogonal to

both these normal vectors, it can be computed by the cross product n × n0. Then, the application of Equation5.4 leads to:

s × ¯a) × (¯s × ¯a0) = ¯s · ( λ z }| { (¯s × ¯a) · ¯a0) − ¯a0· ( 0 z }| { (¯s × ¯a) · ¯s) (5.5) = λ¯s. (5.6)

The result of the scalar triple product (a × b) · c is always a scalar value. Therefore, the first term of Equation5.5amounts to some scalar value λ and the second term amounts to zero. This shows that the final direction vector of the line of intersection of the planes Π and Π0 becomes ¯s scaled by λ. This line of intersection is the object axis s1, as can be

seen in Figure5.10.

Virtual Object Points. The VOPs ˇO and ˇO0 need to be situated on the object axis

s1. Since the real object point O is unknown, both VOPs are computed by intersecting

ray a with plane of refraction Π0 and ray a0 with plane Π. This is done exemplary for the first case. The plane is expressed in the Hesse normal form of the equation of a plane:

5.3 Virtual Object Point Model and Binocular Vision with ¯n0 being the normalized normal vector of the plane Π0, o being the position vector of a point on the plane and d0 being the distance of the plane to the origin of the coordinate system in normal direction. This distance d0 is computed by d0 = ¯n0· c0, with c0 being the position vector of C0. The ray is expressed as a line in vector form by:

a : o = c + λ · ¯a, (5.8)

with o being the position vector of a point on the line, c being the position vector of C (note: c = 0), λ being a scalar and ¯a being the direction vector of the line. Substitution

of Equation 5.8into Equation5.7leads to: ¯

n0· c + λ · ¯n0· ¯a = d0. (5.9) Rearranging Equation5.7 for λ and substitution into Equation5.8 results in the position vector o of the point of intersection:

o = c + d

0

− ¯n0· c ¯

n0· ¯a · ¯a, (5.10)

which is exactly the VOP ˇO. By substitution of plane Π and ray a0, the position vector

o0 of the VOP ˇO0 is computed equivalently by Equations5.7 to5.10 (note: c0 6= 0 and

d = 0).

As can be seen, the computation of the VOPs in a SFRS is completely independent of the refractive indices and the layer thicknesses. Hence, these refractive parameters do not need to be considered. A limitation of this approach is that the VOPs can only be computed in the presented way if the planes of refraction Π and Π0 intersect in a line. If the planes coincide, the rays a and a0 obviously coincide with these planes and no point of intersection can be computed.

5.3.2 Computation of Real Object Points

Figure5.11shows that the rays a and a0are refracted at each of the two parallel interfaces Φ1 and Φ2 and that the resulting rays w and w0 intersect at the real object point O. This real object point can be computed from each of the VOPs ˇO and ˇO0, independently of the other. In contrast to the computation of the VOPs, the remaining refractive parameters need to be considered now.

Requirements. In addition to the already known normalized direction vector ¯s of the

system axis s0, the required quantities are the refractive indices na, nw, ng, the glass layer thickness tg = d(S1, S2) and the air layer thickness ta= d(C, S1).

Real Object Points. The necessary computation steps are as follows:

• Compute the angle of incidence α between the two direction vectors ¯s and ¯a and/or

5 Calibration of Shared Flat Refractive Systems

Figure 5.11: Computation of real object points from VOPs.

• Compute the distance d(C, A2) by orthogonal projection of the position vector o of VOP ˇO onto vector ¯s and/or

compute the distance d(C, A3) by orthogonal projection of the position vector o0 of

VOP ˇO0 onto vector ¯s with the aid of Equation2.7.

• Compute ˇx = d(A1, ˇO) = d(C, A2) − ta− tg and/or compute ˇx0 = d(A1, ˇO0) = d(C, A3) − ta− tg.

• Compute the distance x = d(A1, O) from distance ˇx and angle of incidence α and/or

from distance ˇx0 and angle of incidence α0 by application of Equation 4.7from the known quantities na, nw, ng, ta and tg.

• Since the normalized direction vector ¯s of object axis s1 is known, compute the position vector o1 of the real object point O by: o1=o+(x − ˇx)¯s and/or

by: o1=o0+(x − ˇx0)¯s.

As can be seen, the computation of the VOPs in combination with the computation of the real object point amounts to an efficient alternative for refractive back-projection. It additionally allows the direct recovery of the 3D coordinates of a real object point. Due to the previously mentioned limitation, it is not universally applicable. However, it is ideally suited for the purposes of this thesis, which will be described in the following sections.