130 likes | 139 Views
Extension and Evaluation of Multidimensional Scaling (MDS) for Geometric Microphone Array Calibration. Amarnag Subramanya and Stanley T. Birchfield Dept. of Electrical and Computer Engineering Clemson University Clemson, South Carolina USA.
E N D
Extension and Evaluation of Multidimensional Scaling (MDS) for Geometric Microphone Array Calibration Amarnag Subramanya and Stanley T. Birchfield Dept. of Electrical and Computer Engineering Clemson University Clemson, South Carolina USA
Geometric (or Position) Microphone Array Calibration Problem: Determine the 3D Euclidean coordinates of all the microphones When does problem arise? Cannot put mics in known positions when constructing array (large arrays, multiple arrays, dynamic scenes) • Possible solutions: • Measure mics by hand, hoping room is rectilinear • Use a calibration target (nonlinear function optimization) MDS (and BCMDS): Simple, global, non-iterative technique
Multidimensional scaling (MDS) MDS: Field of study for embedding points in low-dimensional space using their interpoint distances (psychology, biology, etc.) Metric MDS: Distances are metric (Euclidean) Classical MDS: Specific technique for solving metric MDS problem [Young & Householder 1938, Torgerson 1952]
Classical MDS algorithm • To compute coordinates of n microphones in • p-dimensional space from their pairwise distances: • Construct nxn squared-distance matrix D • Compute inner product matrix B = -1/2 JDJ,where is double-centering matrix • Decompose B as • Extract first p eigenvalues and eigenvectors • Coordinates are now in n x p matrix (same as PCA) Matlab code: n = size(D,1); J = eye(n) - ones( n)/n; B = -(1/2) * J*D*J; [u,s,v] = svd(B); rows = 1:ndim; Xout = u(:,rows)*s(rows,rows)^(1/2);
A simple technique for geometric calibration classical MDS • Measure the n (n-1)/2inter-microphone distances • Construct D • Run classical MDS algorithm BCMDS But what if n is large?
Basis-point classical MDS (BCMDS) Idea: Exploit redundancy in D and B matrices Automatically construct D using a subset of D A basis for a p-dimensional space can be constructed from distances between p+1 points Example for p=1: Q A and B form a basis for this 1D space The coordinates of any point Q can be computed by its distance to A and B d_AQ d_BQ d_AB A B origin x_Q
A simple technique for calibrating a large array • Measure the p (p+1)/2inter-microphone distances ofthe p+1 basis points • Measure the (p+1)(n-p-1) distances between each non-basis point and each basis point • Construct D • Run classical MDS algorithm
Response to noise Gaussian noise s=5mm Impulse noise 1% BCMDS (n=10) BCMDS (n=50)
BCMDS needs well-separated basis points Basis-point volume of W1 Basis-point area of W4 Using homogeneous coordinates, volume = 1/6 abs(| x_A x_B x_C x_D |) area = ½ abs(|x_A x_B x_C|)
Nearly planar arrays MDS (n=8) MDS (n=25) BCMDS (n=8) BCMDS (n=25)
Conclusion • Classical multidimensional scaling (classical MDS): • Classical technique for computing coordinates of points • from their interpoint distances • Basis-point classical MDS (BCMDS): • Extension requiring O(n) instead of O(n^2) distances • These techniques • are simple, global, and non-iterative • automatically determine the angles of hand measurements • obviate the need for non-linear optimization • can be used with hand measurements or a calibration target • enable rapid recalibration for dynamic scenes • provide good initial estimate for nonlinear minimization