Here, we describe the background of the problems we discuss in this book. Then, we summarize the contents of the subsequent chapters.
1.1 3D Rotations
As mentioned in Preface, 3D rotation has been historically an important theme of physics in relation to rigid body motion and quantum mechanics. In todayâs computer age, however, âcomputationalâ aspects of 3D rotation are important issues of 3D measurement using cameras and 3D sensors for computer vision and computer graphics applications as well as control and simulation of robots. As will be pointed out in the next chapter, 3D rotation is specified by a ârotation matrixâ R (a 3 Ă 3 orthogonal matrix of determinant 1). A typical problem that needs to be solved is find rotations R1, R2, âŠ, RM that optimize, i.e., minimize or maximize, a function
| (1.1) |
that includes these rotations in its arguments.
Consider, for example, computing from camera images the postures of the cameras that capture them and the objects seen in the images, which is a typical computer vision task called â3D reconstruction.â By âposture.â we mean the position and the orientation. The position is specified by the 3D coordinates of a prescribed reference point such as the centroid of the object or the lens center of the camera. The orientation is specified by the relative rotation between a coordinate system fixed to the object or the camera and a coordinate system fixed to the scene, called the âworld coordinate system.â The 3D reconstruction problem reduces to optimization of a function that includes rotations in its arguments in the form of Eq. (1.1).
Similar problems also occur in various other situations. For graphics applications, for example, we need to compute optimal postures of generated objects and the optimal illumination source arrangement. For robotics applications, we need to compute optimal postures of actuators such as robot hands, drones, and cameras. Such problems related to 3D orientations usually reduce to function optimization involving 3D rotations in the form of Eq. (1.1).
Considering such applications, we describe in Chapter 2 geometric meanings of 3D rotation and show how to represent 3D rotation using vectors and matrices. It is concluded that 3D rotation is specified by a rotation matrix, i.e., an orthogonal matrix of determinant 1. From this fact, we see that the nine elements of the rotation matrix are not independent of each other, having only three degrees of freedom. Then, we prove âEulerâs theorem,â which states that 3D rotation is a rotation around some axis by some angle. As a special case, we derive the matrix form for rotation around each coordinate axis.
In Chapter 3, we show how to describe a general rotation matrix R in terms of three parameters. The most straightforward way is the use of three rotation angles α, ÎČ, and Îł around each coordinate axis, called the âroll,â the âpitch,â and the âyaw.â We point out, however, that the resulting rotation depends on the order of composition. We also point out that this composition has different meanings, depending on whether each axial rotation takes place with respect to a coordinate system fixed to the object or with respect to a coordinate system fixed to the surrounding space. Taking this into consideration, we define the âEuler anglesâ Ξ, Ï, and Ï of rotation, which are determined uniquely. We also discuss their potential singularities. Next, we derive the âRodrigues formula,â which specifies 3D rotation by an axis l and the angle Ω of rotation around it. Finally, we introduce the âquaternion representationâ that specifies 3D rotation by four parameters q0, q1, q2, and q3 such that their sum of squares is 1 (hence the degree of freedom is 3). This is an extension of expressing 2D rotation on a plane by a complex number to 3D rotation in 3D.
1.2 Estimation of rotation
If we apply rotation R to N vectors a1, âŠ, aN, we obtain a1âČ, âŠ, aNâČ such that aαâČ = R aα, α = 1, .., N. In Chapter 4, we consider its âinverse problem,â namely, given two sets of vectors a1, âŠ, aN, and a1âČ, âŠ, aNâČ, we compute the rotation R between them. The solution is immediately obtained if there is no noise in the data so that aαâČ = R aα, α = 1, .., N, exactly holds for some R. However, the important issue in practical applications is the case in which the data aα and aαâČ obtained via 3D sensing or camera images are not necessarily exact, namely the case in which
| (1.2) |
In practical situations, this problem arises in the process of estimating the motion between two 3D objects. A âmotionâ (or âEuclidean motionâ to be strict) is a composition of translation and rotation. Given a 3D object in motion, we compute its translation and rotation from the locations before and after the motion. To do this, we first translate the object so that a specified reference point, such as its centroid, coincide before and after the motion. Then, the problem reduces to rotation estimation in the form of Eq. (1.2). In order to solve this problem, we need to give an interpretation of âââ in Eq. (1.2) and mathematically model the data noise. The simplest and the most practical model is to assume that the noise is subject to an isotropic Gaussian distribution of constant variance. Then, the problem reduces to computing an R that minimizes the sum of the squares of the differences between the left and right sides of Eq. (1.2). The resulting R is called the âleast-squares solution.â Its computation is sometimes called the âProcrustes problem.â
In Chapter 4, it is pointed out that this least-squares computation is âmaximum likelihood estimationâ from the viewpoint of statistics and that the solution is obtained by singular value decomposition of a matrix defined by the data. It is also pointed out that the same solution is obtained using the quaternion representation introduced in Chapter 3. We show an important application of this procedure: if we estimate the rotation R from data by some means, the computed R may not be an exact orthogonal matrix. In that case, we need to correct it to an exact orthogonal matrix. This problem arises in may engineering problems involving 3D configuration computation. The solution is obtained using the singular value decomposition.
The least-squares solution minimizes the sum of squares of the discrepancies of Eq. (1.2). In real applications, however, the measurement using 3D sensors often involves errors whose orientation is biased. For example, if we emit laser or ultrasonic waves for 3D measurement, the accuracy is generally different between the emission direction and directions orthogonal to it. The accuracy in the emission direction depends on the wavelength of the emission while the accuracy in directions orthogonal to it depends on the emission direction controller, e.g., servomotor. Such orientation dependence of the measurement accuracy is described by a matrix called the âcovariance matrix.â In Chapter 5, we study maximum likelihood estimation from biased data whose covariance matrix is provided. If the noise has no orientation dependence, the covariance matrix is a multiple of the identity...