Industrial 3-D Augmented Reality - KOSMIA · 2016-12-21 · 4/25 2-D AR vs. 3-D AR •2-D AR...
Transcript of Industrial 3-D Augmented Reality - KOSMIA · 2016-12-21 · 4/25 2-D AR vs. 3-D AR •2-D AR...
2/25
Content
1. CurvSurf, Inc.
2. 2-D AR vs. 3-D AR
3. 3-D Measurement
4. Objects in 3-D Space
5. Data Coverage
6. Least Squares
7. Industrial 3-D AR
8. Local Curvature Analysis
9. Closing.
3/25
CurvSurf, Inc.
• A software company for 3-D data processing
• CEO: Ahn, Sung Joon
• 2013– : CurvSurf, Inc., CEO
• 2005–2013: Sungkyunkwan University, associate professor
• 1990–2004: Fraunhofer IPA, research engineer
• 1985–1990: LG Electronics, research engineer.
• 1985: BS, Seoul National University
• 1987: MS, KAIST
• 2004: Dr.-Ing., University of Stuttgart.
4/25
2-D AR vs. 3-D AR
• 2-D AR
① Image capture & search
② Plane detection &
camera orientation
③ Information overlaid.
• 3-D AR
① 3-D capture (RGB-D)
② Object recognition and
measurement
③ Shape, size, position &
rotation of objects.
© Vuforia
© CurvSurf
6/25
3-D Data Processing
Touch Points
Initial Model
ODF: Orthogonal Distance Fitting
-Inlier Points
-Model Fitting
8/25
Shape, Size, Position & Rotation (1)
• Curve/surface in space
• Conic section: Which a curve is this, ellipse?
𝑎𝑋2 + 𝑏𝑌2 + 𝑐𝑋𝑌 + 𝑑𝑋 + 𝑒𝑌 + 𝑓 = 0.
If so, axis lengths? Center? Pose angle?
• Quadratic surface: ? ? ? ? !
𝑎𝑋2 + 𝑏𝑌2 + 𝑐𝑍2 + 𝑑𝑋𝑌 + 𝑒𝑌𝑍 + 𝑓𝑍𝑋 + 𝑔𝑋 + ℎ𝑌 + 𝑖𝑍 + 𝑗 = 0
• Cubic, quartic, catenary, 3-D circle, helix, sine curve, … … … .
• 2-D Line: 𝑋𝑌
= 𝑢cos𝜅sin𝜅
+ 𝑋
𝑌 , decomposed to
𝑋𝑌
=cos𝜅 −sin𝜅sin𝜅 cos𝜅
𝑥𝑦 + 𝑋
𝑌 Coordinate transformation:
𝐗=𝐑−1𝐱+𝐗
and 𝑦 = 0 or 𝑥𝑦 =
𝑢0
Canonical form:
𝑓 𝑥,𝑦 =0 or 𝑥(𝑢)𝑦(𝑢)
.
9/25
Shape, Size, Position & Rotation (2)
• Parameter decomposition (cf. camera parameters in Photogrammetry)
• Canonical form: Specific to a model curve/surface 𝐗 = 𝐑−1𝐱 + 𝐗o: Common to all curves and surfaces in space
• Intrinsic: Shape parameters (size, radius, vertex angle, etc.)
Extrinsic: Position & rotation parameters (rigid body
motion).
Canonical form of circle
(𝑋 − 𝑋o)2+(𝑌 − 𝑌o)
2−𝑟2 = 0.
+
Don’t
combine!
10/25
Shape, Size, Position & Rotation (3)
• Examples of canonical form (Implementation of ISO 10360-6)
• 2-D line : 𝑦 = 0
• 3-D line : (0, 0, 𝑢)
• Plane : 𝑧 = 0
• 2-D circle : 𝑥2 + 𝑦2 − 𝑟2 = 0
• 3-D circle : (𝑟cos𝑢, 𝑟sin𝑢, 0)
• Sphere : 𝑥2 + 𝑦2 + 𝑧2 − 𝑟2 = 0
• Cylinder : 𝑥2 + 𝑦2 − 𝑟2 = 0
• Cone : 𝑥2 + 𝑦2 − (𝑟 − 𝑧tan(𝜓/2))2= 0
• Torus : 𝑥4 + 𝑦4 + 𝑧4 + 2 𝑥2𝑦2 + 𝑦2𝑧2 + 𝑧2𝑥2 −2 𝑅2 + 𝑟2 𝑥2 + 𝑦2 + 2 𝑅2 − 𝑟2 𝑧2 + 𝑅2 − 𝑟2 2 = 0.
2-D/3-D curve: Ellipse, hyperbola, parabola, sine curve, catenary, helix, ...
Surface:
Ellipsoid, hyperboloid, paraboloid, …
11/25
Shape, Size, Position & Rotation (4)
• Position of cylinder/cone (cf. position of line: 𝐗 )
• A point on axis
• The competent one is the closest point to the mass center 𝐗
of data points, resulting in minimum variances because the
feature extracted is adhering to data points.
12/25
Object
circle/
cylinder
Data Coverage by 3-D Camera
• Data coverage is less than 50% of the object surface
• Conventional least squares fitting algorithms have difficulties
in processing such data set
• E.g. circle/cylinder fitting results in smaller radius than
expected.
Data point
Conventional
least squares fitting
Orthogonal
distance fitting
13/25
Least Squares Curve/Surface Fitting
• Best error measure:
The minimum (shortest/orthogonal/normal) distance
between measurement point and model curve/surface
(Invariant to coordinate transformation)
• Twofold nonlinear minimization problem
• Find the minimum distance points on model curve/surface
• Minimize the sum of the squared minimum distances
through adjusting the model parameters.
14/25
Moment Method for Line/Plane
• Alias: Eigenvalue decomposition, total least squares,
principal component analysis (cf. linear regression)
• Line/plane fitting:
• Minimize the sum of the squared normal distances between
the measurement points and the model line/plane
• Linear problem: Solved in closed form (Pearson 1901).
Invariant to
coordinate
transformation
15/25
Orthogonal Distance Fitting (1)
• Alias: Best fitting, Euclidean fitting, geometric fitting
• Curve/surface fitting:
• Minimize the sum of the squared shortest distances between
the measurement points and the model curve/surface
• Nonlinear problem: Solved through iteration (Boggs 1987)
• S.J. Ahn, doctoral diss., LNCS 3151, Springer-Verlag, 2004.
17/25
Industrial 3-D AR
• Industrial environment
• Object surfaces are composed of planes, boxes, spheres,
cylinders, cones, and tori.
© CurvSurf
18/25
Local Curvature Analysis (1)
• Initialization of model parameter values
• Type of feature: Plane, sphere, cylinder, cone, or torus,
determined by comparing the signed curvature radii
• Feature parameters: Radius, position, and axis direction,
derived from the principal curvatures and axes.
Plane Sphere (torus) Cylinder (cone) Torus
* k1, k2 : Principal curvatures
19/25
Local Curvature Analysis (2)
• Initial values for nonlinear model fitting
• Radius of sphere/cylinder = |𝑟1| Position of sphere/cylinder = 𝐗f − 𝑟1𝐧 = 𝐗o
Axis direction of cylinder = 𝐯
• Cone and torus:
Beyond this talk’s
scope.
𝐗f : Surface point
𝐧 : Surface normal
𝐮, 𝐯 : Principal axes
𝑟1, 𝑟2 : Curvature radii
= 1 𝑘1 , 1 𝑘2 .
|𝑟1| ≤ |𝑟2|.
20/25
Local Curvature Analysis (3) if planar {
fit a plane;
if there is/are orthogonal plane(s) { fit a box; }
}
else if parabolic {
fit a cone;
if the vertex angle is small { fit a cylinder; }
}
else if elliptic {
fit a torus;
if the mean radius is small { fit a sphere; }
else if the mean radius is large { fit a cylinder; }
}
else fit a torus;
22/25
• FindSurface with AI
• Input to AI:
Shapes, sizes, positions & rotations of individual
features extracted and measured by ‘FindSurface’
• Output from AI:
List of probable things, e.g. table, chair, bed, ...
Shapes, sizes,
positions & rotations
of individual features
RGB-D
Future Developments (1)
FindSurface
Thing identification
& description AI
23/25
Future Developments (2)
• On-line data processing service
• Google’s business is based on
search & analysis of
1-D text arrays and
2-D images
• CurvSurf’s business will be extended to
search & analysis of
3-D spaces.
24/25
Closing (1)
• The seeing is not the understanding
• Human being sees and understands a scene by using
stereoscopic view and brain
• A computing machine (processing agent) runs
around, touches, and analyzes the 3-D point cloud
• Eventually, the machine will beat human being in 3-D
data processing.