Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | jeffrey-dickerson |
View: | 215 times |
Download: | 0 times |
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• C0, C1, C2, 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.
InexactFunctional Approximation
ExactFunctional Approximation
InexactFunctional Approximation
InexactFunctional Approximation
ExactFunctional Approximation
ExactFunctional 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– Shepard’s Method (inverse-distance
weighting)
Popular Existing Interpolation Methods (1-D)
Polynomial FunctionInterpolation
1-Dimensional Polynomial Interpolationdegree=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(d1) + B*f(d2) + C*f(d3) + … + Z*f(dN)•ABC…Z are constants•di is the distance from interpolation
location to control point i.•Time Complexity: O(N2)
• TPS, Volume Spline, and Multiquadric use RBF.
Shepard‘s Method
• Shepard’s 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 Shepard’s Method is the non-
consideration of locality.
Microsphere Projection - Objectives
• Obeys Maximum Principle• Differentiable (smooth)• Non-consideration of redundant
control points. (problem with Shepard’s 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 “Data’s 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 endforendfor
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 – Walkthrough0.190.550.830.980.980.830.550.240.240.550.830.980.980.830.550.19
4.91
4.910.48
10.30
10dB
5dB
40dB
Dist = 2
Dist = 1
[cos(θ) / dist2]
0.48
0.480.04
1.00
0.48 * 10dB
0.48 * 5dB0.04 * 40dB
8.8dB
1-D Results – Case Study 1
1-Dimensional Nearest Neighbor Interpolation
Interpolation
Control Points
1-Dimensional Polynomial Interpolationdegree=4 Interpolation
Control Points
1-Dimensional Inverse-Distance Interpolationp=2 Interpolation
Control Points
1-Dimensional Cubic Spline Interpolation
Interpolation
Control Points
1-Dimensional MS Projectionp=1 Interpolation
Control Points
1-Dimensional MS Projectionp=2 Interpolation
Control Points
1-D Results – Case Study 2
1-Dimensional Nearest Neighbor Interpolation
Interpolation
Control Points
1-Dimensional Polynomial Interpolationdegree=4 Interpolation
Control Points
1-Dimensional Inverse-Distance Interpolationp=2 Interpolation
Control Points
1-Dimensional Cubic Spline Interpolation
Interpolation
Control Points
1-Dimensional MS Projectionp=1 Interpolation
Control Points
1-Dimensional MS Projectionp=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 PixelTesting Region
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled PixelTesting 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 PixelTesting Region
Pixel 0 Pixel N
One Pixel Row
Strict Interpolation
General Interpolation
Randomly Sampled PixelTesting 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
NearestNeighbor
Shepard’s 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 InterpolationLimited toConvex Hull
General InterpolationLimited toOriginal Data Range
Strict InterpolationLimited toConvex Hull
General InterpolationLimited toOriginal Data Range
2-D Results – NumericNumber 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
Shepard’s 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 ofsampled 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 ofsampled data
Control Point
Nearest Neighbor
Shepard’s 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 ofsampled 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 ofsampled 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 ofsampled 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 ofsampled 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 BoxConvex Hull
d
d
ch
bbdas ,
bbd is the d-dimensional bounding boxchd 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.