04 01 ExtractTools 3D

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Objectives

At the end of this section Participants will be able to:


3D Extract Functions  Demonstrate how to utilize the ExtractPlane3D function and
Section 4 interpret the results
 Outline how to find blobs that are either positive (above the
plane) or negative (below the plane)
 Extract edges from the specified region of the point cloud
 Utilize the ExtractSphere3D function to extract one or more
spheres from the point cloud
 Summarize the steps to extract Cylinder3D structures from the
point cloud

Section 4 | Slide 2

In this section of the In-Sight 3D Standard training we will cover the 3D Extract At the end of this section participants will be able to:
functions. The In-Sight 3D Extract functions allow you to find, analyze and classify  Demonstrate how to utilize the ExtractPlane3D function and interpret the
various 3D features in the acquired point cloud. results
 Outline how to find blobs that are either positive (above the plane) or negative
The 3D Extract functions that will be covered in this section are: (below the plane)
• ExtractPlane3D  Extract edges from the specified region of the point cloud
• ExtractBlob3D  Utilize the ExtractSphere3D function to extract one or more spheres from the
• ExtractEdge3D point cloud
• ExtractSphere3D  Summarize the steps to extract Cylinder3D structures from the point cloud
• ExtractCylinder3D

Section 4 | Slide 1 Section 4 | Slide 2


ExtractPlane3D ExtractPlane3D Property Sheet

Section 4 | Slide 3 Section 4 | Slide 4

The ExtractPlane3D function is used to extract one or more planes from a point cloud in When the ExtractPlane3D function is dropped into the spreadsheet the Property Sheet
a user defined region of interest (ROI). The orientation of the extracted plane is will open.
determined by the ROI.

The tool has two modes for plane extraction:


• Fast mode uses all points to do a least squares fit. This mode extracts a single plane
by Orthogonal Distance Regression.
• Robust mode uses random sampling consensus (RANSAC).

The ExtractPlane3D function is found in the Toolbox  3D Vision Tools  3D Extract 


ExtractPlane3D.

Section 4 | Slide 3 Section 4 | Slide 4


ExtractPlane3D – Region ExtractPlane3D

Base Plane Base Plane

Section 4 | Slide 5 Section 4 | Slide 6

In this example, we are searching for the Base Plane of the demo part, so the Once all parameters have been set, click the OK button to close the property sheet.
ExtractPlane3D Region3D parameter will reference the Region3D structure of the
MultiBoxRegion function.

Section 4 | Slide 5 Section 4 | Slide 6


ExtractPlane3D ExtractPlane3D Regions

Cuboids Cuboids
Middle Cube

Corner Cube

Section 4 | Slide 7 Section 4 | Slide 8

In this example, we are searching for the Cuboids on the demo part, so the External As we saw on the last slide, the region of the ExtractPlane3D function can be set to find
Fixture parameter is directed to the Fixture3D structure of the FindPatMax3D function. the base plane, or it can be set to find a specific plane.

In this example we are finding the cuboids on the demo part.

Section 4 | Slide 7 Section 4 | Slide 8


ExtractPlane3D Outputs ExtractBlob3D

Section 4 | Slide 9 Section 4 | Slide 10

The ExtractPlane3D function returns a Planes3D data structure extracted from the point The ExtractBlob3D function is used to extract the blob(s) relative to a reference
cloud, or #ERR if any of the input parameters are invalid. Plane3D structure. It returns the extracted blob(s) as a Blobs3D structure.

The following functions are automatically inserted into the spreadsheet to create a result The ExtractBlob3D function is found in the Toolbox  3D Vision Tools  3D Extract 
table: ExtractBlob3D.
• Num Found returns the number of found planes
• Score returns the score of the extracted plane with the specified index number, as a
value between 0 – 100.
• Relative Tilt returns the tilt angle of the extracted plane specified with the index
number
• Rectangle returns a Rectangle3D structure
• Center returns the center point of the extracted plane’s finite patch (or visually, the
center point of the Rectangel3D structure)
• X returns the X-axis coordinate of the specified patch’s center point on the Fixture3D
X-axis.
• Y returns the Y-axis coordinate of the specified patch’s center point on the Fixture3D
Y-axis
• Z returns the Z-axis coordinate of the specified patch’s center point on the Fixture3D
Z-axis
• Tilt returns the tilt angle of the specified patch on the FIxture3D Z-axis as an integer
• Tilt Direction returns the extracted patch’s direction of tilt (in degrees) from the tool’s
rotated Fixture X-axis, about the tool’s Fixture3D Z-axis. The value is provided as an
integer.

Section 4 | Slide 9 Section 4 | Slide 10


Blobs on 3D images ExtractBlob3D

Property Sheet

3D Blob = set of connected 3D pixels with a height value above (or below) a
specified reference plane.
In other words, 3D features that extend above or below a plane.

Section 4 | Slide 11 Section 4 | Slide 12

This slide shows the main concept behind 3D blobs extraction: When the ExtractBlob3D function is dropped into the spreadsheet the Property Sheet
will open.
1. We have a reference plane (on the base plane of the demo part – extracted during
the previous section);
2. The blob extraction criterion is the height (represented by the color of the PointCloud
image and range color scale on the right);
3. 3D blobs are identified with their bounding boxes – the blob with index number 5 is a
negative one, so it extends below the reference plane.

Section 4 | Slide 11 Section 4 | Slide 12


ExtractBlob3D – External Fixture ExtractBlob3D – Reference Plane

Section 4 | Slide 13 Section 4 | Slide 14

The External Fixture parameter is set manually. It is directed to the Fixture3D structure The External Plane parameter is set manually. It is directed to the Rectangle3D
of the FindPatMax3D function. structure of the ExtractPlane3D structure that found the Base Plane of the demo part.

NOTE: The Plane From Region checkbox must be unchecked for this parameter to
display.

The Plane From Region parameter when checked, the function uses a plane derived
from the configured Region3D region or External Region. This is useful if you need only a
rough reference shape or surface, and do not want to extract or explicitly define a plane.
This setting is disabled (unchecked) by default.

Section 4 | Slide 13 Section 4 | Slide 14


ExtractBlob3D – Region 3D ExtractBlob3D Results

Section 4 | Slide 15 Section 4 | Slide 16

This region is set manually using the Region3D parameter. Notice that the ExtractBlob3D function has only found 5 of the 6 blobs on the demo part.
The Blob Type parameter is set to only find the Positive (above the plane) Blobs.
Plane from Region:
 Enable checkbox  fits more for presence / absence checks. Not for precise volume
or height measurements.
 Disabled checkbox  allows the user to choose an external plane for the
measurement. Recommended approach for measurements (volume, height).

Section 4 | Slide 15 Section 4 | Slide 16


ExtractBlob3D Results ExtractEdge3D

Section 4 | Slide 17 Section 4 | Slide 18

When the Blob Type parameter is set to find both the Positive (above the plane) and The ExtractEdge3D function is used to extract edges (as Line3D structures) from the
Negative (below the plane) Blobs, all 6 of the Blobs on the demo part are found. specified region of the point cloud. The edges start at one plane of the specified 3D box
Region of Interest (ROI) and extend to the opposite plane of the box. Each extracted
The following functions are automatically inserted into the spreadsheet to create a result edge is roughly parallel to a specific edge of the box, called the canonical edge.
table:
 Num Found returns the number of blobs extracted by the function The extracted edges are classified as either convex or concave, depending on the
 Volume returns the volume of the blob surface characteristics along the extraction direction. The extracted edges are returned in
 Height returns the height of the blob an Edges3D structure.
 Type returns the blob type of the blob as an integer value
 Bounding Box returns the bounding box of the blob as a Box3D function The ExtractEdge3D function is found in the Toolbox  3D Vision Tools  3D Extract 
ExtractEdge3D.

Section 4 | Slide 17 Section 4 | Slide 18


ExtractEdge3D ExtractEdge3D Property Sheet

Section 4 | Slide 19 Section 4 | Slide 20

In this example we will be looking for the 3 edges on the pyramid. When the ExtractEdge3D function is dropped into the spreadsheet the Property Sheet
will open.

Section 4 | Slide 19 Section 4 | Slide 20


ExtractEdge3D – External Fixture ExtractEdge3D – Parameters

Number to Extract Feature Size

Section 4 | Slide 21 Section 4 | Slide 22

The External Fixture parameter is set manually. Similar to the other 3D Extract functions When working with the ExtractEdge3D function there are a few other parameters that will
it is directed to the Fixture3D structure of the FindPatMax3D function. be used to extract your edges.
 Number to Extract = the maximum number of edges to extract
 Feature Size = sampling quality of the point cloud points and patches that will be used
for edge extraction. It is used to detect noisy or jagged edges.

Section 4 | Slide 21 Section 4 | Slide 22


ExtractEdge3D – Region3D ExtractEdge3D – Results

Section 4 | Slide 23 Section 4 | Slide 24

This region is set manually using the Region3D parameter. The ExtractEdge3D function returns an Edges3D data structure extracted from the point
cloud, or #ERR if any of the input parameters are invalid.
The following functions are automatically inserted into the spreadsheet to create a result
table:
 Num Found returns the number of found edges
 Transition Type returns the transition type of the edge specified with the index as a text
(convex or concave)
 Score returns the score of the edges specified with the index as a value between 0
and 100
 Coverage returns the coverage of the edge specified with the index number
 Sharpness returns the sharpness of the edge specified with the index (in degrees)
 Vertical Angle returns eh vertical angle of the edge specified with the index number
 Horizontal Angle returns the horizontal angle of the edge specified with the index
number
 Line returns the line of the extracted edge with the specified index as a Line3D
structure
 Midpoint returns the midpoint of the specified Line3D structure as a Point3D structure
 X0 and X1 return the X-axis coordinate of the specified line’s starting point (when
using index 0) or endpoint (when using index 1) on the Fixture3D X-axis
 Y0 and Y1 return the Y-axis coordinate of the specified line’s starting point (when using
index 0) or endpoint (when using index 1) on the Fixture3D Y-axis
 Z0 and Z1 return the Z-axis coordinate of the specified line’s starting point (when using
index 0) or endpoint (when using index 1) on the Fixture3D Z-axis

Section 4 | Slide 23 Section 4 | Slide 24


ExtractSphere3D ExtractSphere3D

Section 4 | Slide 25 Section 4 | Slide 26

The ExtractSphere3D function is used to extract one or more spheres from a point cloud in In this example we will be looking for the 3-dimensional sphere on the demo part.
a user defined region of interest (ROI).

The tool has two modes for sphere extraction:


 Fast Mode uses all points to do a least squares fit. This mode extracts a single sphere
by fitting the coefficients of a quadratic equation.
 Robust Mode uses random sample consensus (RANSAC).

If no sphere is found by the function with the provided configuration, it returns a result with
zero length shape, inliers, and residuals. Typically, radius range, math singularity or shape
degeneracy can lead to not finding spheres. For example, if all input points are coincident,
then the function cannot extract spheres.

The ExtractSphere3D function is found in the Toolbox  3D Vision Tools  3D Extract 


ExtractSphere3D.

Section 4 | Slide 25 Section 4 | Slide 26


ExtractSphere3D Property Sheet ExtractSphere3D – External Fixture

Section 4 | Slide 27 Section 4 | Slide 28

When an ExtractSphere3D function is dropped into the spreadsheet the Property Sheet will The External Fixture parameter is set manually. Similar to the other 3D Extract functions it
display. is directed to the Fixture3D structure of the FindPatMax3D function.

Section 4 | Slide 27 Section 4 | Slide 28


ExtractSphere3D – Region3D ExtractSphere3D – Results

Section 4 | Slide 29 Section 4 | Slide 30

This region is set manually using the Region3D parameter. The ExtractSphere3D function returns a Spheres3D data structure extracted from the point
cloud, or #ERR if any of the input parameters are invalid.

The following functions are automatically inserted into the spreadsheet to create a result
table:
 Num Found returns the number of found spheres
 Score returns the score of the extracted Sphere3D structure specified with the index
number. The value is a number between 0 – 100.
 Center returns the center point of the specified Sphere3D structure as a Point3D
structure.
 Radius returns the radius of the specified Sphere3D structure as an integer.
 X returns the X-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D X-axis.
 Y returns the Y-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D Y-axis.
 Z returns the Z-axis coordinate of the specified Sphere3D structure’s center point on the
Fixture3D Z-axis.

Section 4 | Slide 29 Section 4 | Slide 30


ExtractCylinder3D ExtractCylinder3D

Section 4 | Slide 31 Section 4 | Slide 32

The ExtractCylinder3D function is used to extract multiple Cylinder3D structures from the In this example we will be looking for the 3-dimensional cylinder on the demo part.
point cloud. It returns the extracted 3D cylinders in a Cylinders3D structure.

The ExtractCylinder3D function is found in the Toolbox  3D Vision Tools  3D Extract 


ExtractCylinder3D.

Section 4 | Slide 31 Section 4 | Slide 32


ExtractCylinder3D Property Sheet ExtractCylinder3D – External Fixture

Section 4 | Slide 33 Section 4 | Slide 34

When an ExtractCylinder3D function is dropped into the spreadsheet the Property Sheet The External Fixture parameter is set manually. Similar to the other 3D Extract functions it
will display. is directed to the Fixture3D structure of the FindPatMax3D function.

Section 4 | Slide 33 Section 4 | Slide 34


ExtractCylinder3D – Region3D ExtractCylinder3D – Results

Section 4 | Slide 35 Section 4 | Slide 36

This region is set manually using the Region3D parameter. The ExtractCylinder3D function returns a Cylinders3D containing the 3D cylinders
extracted from the point cloud, or #ERR if any of the input parameters are invalid.

The following functions are automatically inserted into the spreadsheet to create a result
table:
 Num Found returns the number of found 3D cylinders.
 Score returns the score of the extracted Cylinder3D structure between 1 – 100.
 Cylinder returns the extracted Cylinder3D structure.

Section 4 | Slide 35 Section 4 | Slide 36


Summary Skills Journal Lab Exercise

 The ExtractPlane3D function is used to extract one or


more planes from a point cloud in a user defined ROI
 The ExtractBlob3D function allows the user to extract
Complete:
3D features that are above (positive) or below
Section 4
(negative) a reference plane Skills Journal
 The ExtractEdge3D function allows the user to extract
edges from the specified region of the point cloud
 The ExtractSphere3D function allows the user to
extract one or more spheres from the point cloud
 The ExtractCylinder3D function allows users to
extract Cylinder3D structures from the point cloud

Section 4 | Slide 37 Section 4 | Slide 38

In this section we covered the following: Complete:


 The ExtractPlane3D function is used to extract one or more planes from a point Skills Journal (image designed by pngtree)
cloud in a user defined ROI Lab Exercise
 The ExtractBlob3D function allows the user to extract 3D features that are
above (positive) or below (negative) a reference plane
 The ExtractEdge3D function allows the user to extract edges from the specified
region of the point cloud
 The ExtractSphere3D function allows the user to extract one or more spheres
from the point cloud
 The ExtractCylinder3D function allows users to extract Cylinder3D structures
from the point cloud

Section 4 | Slide 37 Section 4 | Slide 38

You might also like