Faber, Petko
2. The positiv eigenvalues of the symmetrical matrix M are estimated by a main axes transformation. Then, the equation
of the ellipsoid is transformed by a rotation in the standard form:
i (£) 92 (9) FA (v) 5 h
Now, the length of the three main axes can be estimated:
h h h
A iof ; = :
V. ni il dt
3. Finally, the angles specifying the orientation of the elliposid in the 3-D space are estimated on the basis of the
components of the eigenvector A; corresponding to the largest eigenvalue A; related to the £ axis.
a = arccos (A1(£)) , 8 =arccos(A1(n)) , y — arecos (Av)1)
The verification of the actual hypothesis is mainly realized on the basis of the estimated geometrically interpretable
parameters A, B, and C. The other estimated parameters are not suitable in this validation step, because the position and
the orientation of the ellipsoid approximating the human's head can vary within wide bounds. Assuming, that the lenghts
of the main axes of the fitted ellipsoid are within the intervals for the head length, the head height and the head breadth
and more than / 3-D points support the hypothesis without that more than k 3-D points are inside the fitted ellipsoid, the
fitting will be accepted.
4 EXPERIMENTS
The described computational structure can be used a) to detect and classify the seats, and b) to detect and localize pas-
sengers inside a vehicle. To demonstrate the performance of the structure the performance of the single modules were
characterized analyzing numerous image sequences. However, in the following section we firstly sketch the practical
realization of the used fitting algorithm and in section 4.2 we demonstrate the feasibility of the approach.
4.1 Practical realization of the ellipsoid specific fitting algorithm.
The improved fitting algorithm was implemented in the same straightforward way as the original Fitzgibbon’s method
(Fitzgibbon et al., 1996). The appropriate MATLAB code proposed by the author is:
% ellipsoid fitting, (ve,y,2) are lists of coordinates
function a-fit ellipsoid(x,y,z)
% build the 10x10 constraint matrix
C(10,10)=0;
C(1,2)=2; C(2,1)=2; C(4,4)=-1;
C(1,3)=2; C(3,1)=2;:C(5,5)=-1;
C(2,3)22; C(3,2)z2; C(6,6)——1;
% build the design matriz
D-[x.A2 y.A2 z.A2 x.*y x.*z y.*z x y z ones(size(x))];
% build the scatter matriz
S-D'*D;
% solve the constrained eigensystem
[gevec,gevall=eig(C,S);
% find the eigenvector for the minimum positive eigenvector
[posr,poscl=find(geval > 0 & ~isinf(geval));
% extract the corresponding eigenvector
-gevec(:,posc);
4.2 Experimental results
In fig. 4 and fig. 5 the results for two example frames of two different sequences are sketched for every computational
step. The rectification of the images a) and b) eads to the epipolar images c) and d). The difference is particularly visible
e. g. in the four corners. The extracted feature points sketched in e) and f) show the dependency of the density on the
local varibility of the brightness in the images, especially in homogeneous areas no feature points are found. The matched
points in g) and h) show the projection of the sparse depth map into the images.
In fig. 4 i) + j) the occupancy test correctly classified the driver seat as empty, the passenger seat was identified as
occupied and thus a seat model cannot be fitted. In fig. 5 i) * j) the situation is reversed, also reflecting a correct decision
International Archives of Photogrammetry and Remote Sensing. Vol. XXXIII, Part B5. Amsterdam 2000. 235