Vous êtes sur la page 1sur 37

Presentation and Analysis of a

Multi-Dimensional Interpolation Function


for Non-Uniform Data: Microsphere
Projection
Presented By:
Will Dudziak
What We Will Cover
Introduce Interpolation
Overview of Existing Techniques
Introduce Microsphere Projection
Analysis of Results
1D
2D
3D
Conclusion and Final Remarks
Q & A

Hand with Reflecting Sphere
M. C. Escher, 1935

Introduction What is Interpolation?
the process of determining the value
of a function between two points at
which it has prescribed values.

The hill behind me is low, the mountain
in front of me is high therefore I must
be somewhere in between low and
high.
Introduction Some Terminology
Control Points or Sample Points
Differentiable
C
0
,

C
1
,

C
2
, etc.
Functional Interpolation

Inverse-Distance p-value
Monotonic Behavior
Introduction Local vs. Global Interpolation
Local Interpolation
Makes use of information from small set of local
points.
Global Interpolation
Makes use of information from all points
Key Difference:
Local interpolation applies different set of rules to
close sample points than to far ones.
vs.
Introduction Exact vs. Inexact Interpolation
Exact interpolations
intersect ALL control
points.
Inexact interpolations
follow general trends.

Usages:
Exact: Largest problem
with data is in scarcity
of control points.
Inexact: Largest
problem with data is in
error margin of
sampled value.
Inexact
Functional
Approximation
Exact
Functional
Approximation
Inexact
Functional
Approximation
Inexact
Functional
Approximation
Exact
Functional
Approximation
Exact
Functional
Approximation
Popular Existing Interpolation Methods
1D
Polynomial Function Approximation
Piecewise Cubic Spline
2D
Thin-Plate Spline (TPS)
3D
Volume Spline
Multiquadric
1D, 2D, 3D
Nearest Neighbor
Shepards Method (inverse-distance weighting)
Popular Existing Interpolation Methods (1-D)
Polynomial Function
Interpolation
1-Dimensional Polynomial Interpolation
degree=4
Interpolation
Control Points
First Derivative
1-Dimensional Cubic Spline Interpolation
Interpolation
Control Points
First Derivative
Cubic Spline Interpolation
Radial Basis Function
Radial Basis Function
Premise:
Interpolation in N-dimensional space can
be approximated by a function of form:
A*f(d
1
) + B*f(d
2
) + C*f(d
3
) + + Z*f(d
N
)

ABCZ are constants
d
i
is the distance from interpolation location to
control point i.
Time Complexity: O(N
2
)
TPS, Volume Spline, and Multiquadric
use RBF.
Shepards Method
Shepards Method, aka Inverse-
distance Weighting.
Assign weights to each control point based
on distance to interpolation location.
Based on weight distribution, interpolate
value of point.
?? Fundamental Problem with Shepards
Method is the non-consideration of
locality.
Microsphere Projection - Objectives
Obeys Maximum Principle
Differentiable (smooth)
Non-consideration of redundant control
points. (problem with Shepards
method)
Reasonable extrapolation ability
Microsphere Projection - Premise
infinitesimally small sphere located at
the point of interpolation.

sphere is illuminated by the
surrounding sampled points.

Based on the degree of illumination, a
weight for all the control points
assigned.
MS Data Structure
1x Microsphere
2000x Sphere Segment
1x Index of control point with largest influence
(int)
1x Projection influence (double)
Data Structure not to be
confused with Datas Structure.
MS Creating the Sphere
Sphere needs lots of sections to be
spherical.
2000 sections were used.
Section unit vectors
were created by:
do
x := rand(-1,1)
y := rand(-1,1)
z := rand(-1,1)
vectorSize := sqrt (x*x + y*y + z*z)
while ( vectorSize > 1 )
normalize ( Vector(x,y,z) )
MS Control Point Projection
Points are projected on to the sphere.
Projection intensity varies:
Inversely as the distance.
Inversely as the angle of incidence. (governed
by the cosine function)
Each section of the sphere only retains the
information for the ONE POINT with
largest projection value.
MS Control Point Projection
MS Control Point Projection
Intensity Projection Function:

for i := 0 to Number of Samples
vector1 := sample[i].XYZLocation - interpolant.XYZLocation
weight := pow(vector1.Size, -p)
for j := 0 to Precision
cosValue := CosValueBetweenVectors(vector1, S[j].Vector)
if (cosValue * weight > S[j].Max_Illumination)
S[j].Max_Illumination := cosValue * weight
S[j].Brightest_Sample := i
endif
endfor
endfor
MS Determining Final Interpolation Value
Weight for each control point is
assigned based on total sum of
illumination on all the sections of the
sphere.
Weights are normalized such that
Sum(weights) = 1.
Final interpolation is:
(weight*control_point_value)
MS Walkthrough
0.19
0.55
0.83
0.98
0.98
0.83
0.55
0.24
0.24
0.55
0.83
0.98
0.98
0.83
0.55
0.19
4.91
4.91
0.48
10.30
10dB
5dB
40dB
Dist = 2
Dist = 1
[cos() / dist
2
]
0.48
0.48
0.04
1.00
0.48 * 10dB
0.48 * 5dB
0.04 * 40dB
8.8dB
1-D Results Case Study 1
1-Dimensional Nearest Neighbor Interpolation
Interpolation
Control Points
1-Dimensional Polynomial Interpolation
degree=4
Interpolation
Control Points
1-Dimensional Inverse-Distance Interpolation
p=2
Interpolation
Control Points
1-Dimensional Cubic Spline Interpolation
Interpolation
Control Points
1-Dimensional MS Projection
p=1
Interpolation
Control Points
1-Dimensional MS Projection
p=2
Interpolation
Control Points
1-D Results Case Study 2
1-Dimensional Nearest Neighbor Interpolation
Interpolation
Control Points
1-Dimensional Polynomial Interpolation
degree=4
Interpolation
Control Points
1-Dimensional Inverse-Distance Interpolation
p=2
Interpolation
Control Points
1-Dimensional Cubic Spline Interpolation
Interpolation
Control Points
1-Dimensional MS Projection
p=1
Interpolation
Control Points
1-Dimensional MS Projection
p=2
Interpolation
Control Points
1-D Results Source of Data
1-D Results Numeric
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled Pixel
Testing Region
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled Pixel
Testing Region
Percentage of Data Sampled
Method of Interpolation 2.5% 5% 10% 25% 50% 90%
Microsphere Projection, p=2 0.1731 0.1429 0.1135 0.0828 0.0651 0.0541
Microsphere Projection, p=1
(piecewise linear) 0.1688 0.1392 0.1105 0.0806 0.0635 0.0531
Piecewise Cubic Spline 0.1744 0.1438 0.1137 0.0825 0.0644 0.0533
Shepard's Method, p=2 (inverse
distance) 0.1698 0.1410 0.1136 0.0848 0.0689 0.0601
Nearest Neighbor 0.1906 0.1592 0.1281 0.0951 0.0769 0.0668
Average Value 0.2186 0.2155 0.2134 0.2120 0.2117 0.2111
N (number of samples) 3.642e6 3.642e6 3.642e6 1.821e6 7.284e5 3.642e5
RMS Error using Strict Interpolation on 1D Data
1-D Results Numeric
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled Pixel
Testing Region
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled Pixel
Testing Region
Percentage of Data Sampled
Method of Interpolation 2.5% 5% 10% 25% 50% 90%
Microsphere Projection, p=2 0.1913 0.1503 0.1167 0.0838 0.0660 0.0545
Microsphere Projection, p=1
(piecewise linear) 0.1882 0.1472 0.1139 0.0817 0.0645 0.0535
Piecewise Cubic Spline 3733 696.1 70.33 2.830 0.3406 0.0584
Shepard's Method, p=2 (inverse
distance) 0.1827 0.1464 0.1161 0.0857 0.0697 0.0606
Nearest Neighbor 0.2038 0.1640 0.1299 0.0957 0.0777 0.0675
Average Value 0.2240 0.2175 0.2142 0.2124 0.2118 0.2114
N (number of samples) 3.642e6 3.642e6 3.642e6 1.821e6 7.284e5 3.642e5
RMS Error using General Interpolation on 1D Data
1-D Results PCS Explanation
In some cases, even asking for a small amount of extrapolation can
be too much to ask.
2-D Results Case Study 1

Original
Nearest
Neighbor
Shepards
Method
TPS
MS, p=1
MS, p=2
2-D Results Case Study 1
TPS,
Values truncated
to 0-255
TPS,
Areas interpolated
beyond data range
in red.
2-D Results Case Study 2 (Area of Interest)

MS, p=1
MS, p=2
NN
TPS
2-D Results Strict vs. General Interpolation
Strict Interpolation
Limited to
Convex Hull
General Interpolation
Limited to
Original Data Range
Strict Interpolation
Limited to
Convex Hull
General Interpolation
Limited to
Original Data Range
2-D Results Numeric
Number of Points Sampled
Method of Interpolation (STRICT) 10 20 50 100 500 1000
Microsphere Projection, p=2 0.251 0.231 0.201 0.178 0.133 0.116
Microsphere Projection, p=1 (2d version of
piecewise linear) 0.242 0.222 0.193 0.172 0.128 0.112
Thin-Plate Spline 0.269 0.248 0.214 0.189 0.138 0.121
Shepard's Method, p=2 (inverse distance) 0.241 0.222 0.197 0.180 0.150 0.140
Nearest Neighbor 0.289 0.268 0.234 0.210 0.159 0.140
Average Value 0.265 0.259 0.255 0.251 0.250 0.249
N (number of samples) 1.0e5 1.0e5 1.0e5 1.0e5 1.0e5 1.0e5
Number of Points Sampled
Method of Interpolation (GENERAL) 10 20 50 100 500 1000
Microsphere Projection, p=2 0.258 0.234 0.204 0.180 0.133 0.116
Microsphere Projection, p=1 (2d version of
piecewise linear) 0.247 0.225 0.196 0.173 0.129 0.112
Thin-Plate Spline 0.320 0.273 0.226 0.195 0.140 0.122
Shepards Method, p=2 (inverse distance) 0.242 0.221 0.197 0.181 0.151 0.139
Nearest Neighbor 0.292 0.268 0.237 0.211 0.160 0.141
Average Value 0.260 0.254 0.250 0.250 0.249 0.248
N (number of samples) 1.0e5 1.0e5 1.0e5 1.0e5 1.0e5 1.0e5
Convex Hull Coverage 43.6% 62.3% 80.0% 88.2% 96.6% 98.1%
3-D Results Case Study
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point

Nearest Neighbor
Shepards Method
3-D Results Case Study
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point

Volume Spline
Multiquadric



3-D Results Case Study
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point
100% below sample range.
(very negative)
Within 0.01% of minimum
value of sample range (zero)
Maximum value of sample
range (very large)
100% beyond sample range
(inconceivably large)
Range of
sampled data
Control Point

Microsphere Interpolation,
p=2



3-D Results Numeric
Method of Interpolation Relative RMS Error
Microsphere Projection, p=2 0.080
Microsphere Projection, p=1 (piecewise linear) 0.081
Volume Spline 0.093
Multiquadric, r=1 0.077
Shepard's Method, p=2 (inverse distance) 0.100
Nearest Neighbor 0.110
Average Value 0.168
N (Number of samples) 145
Hyper-Dimensional Interpolation
Microsphere Projection will work in any
Cartesian coordinate system.
Rotating Hypersphere. Oooooh, Aaaaah.
Hyper-Dimensional Interpolation
As dimensionality
increases, bounding box
becomes much larger
than convex hull.







Greater need for
algorithms which can
both interpolate and
extrapolate.
Bounding Box Convex Hull

d
d
ch
bb
d as ,
bb
d
is the d-dimensional bounding box
ch
d
is the d-dimensional convex hull
x is the volume of space enclosed by x
Conclusion
Great interpolation ability
Pretty good (and stable) extrapolation
ability.
Differentiable
Preserves monotonic behavior
Works well in any dimension
Based on a simple physical
model
Buckminsterfullerene. Perhaps the smallest
real-world microsphere possible, measuring
around 0.000000001 meters.

Vous aimerez peut-être aussi