# US 12,001,191 B2 · Automated 360-degree dense point object inspection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,191 B2
- Document ID: US12001191B2
- Status: Granted
- Kind: B2
- Application number: 17/335,882
- Filed: 2021-06-01
- Published: 2021-09-16
- Granted: 2024-06-04
- Earliest claimed: 2017-11-17
- Assignees: Kodak Alaris Inc.
- Applicants: Kodak Alaris Inc.
- Inventors: Bruce A. Link; Robert W. Johnson; Jose Zvietcovich Zegarra; Peter O. Stubler; Mark Barton; Frank R. Brockler; Michael S. Axman; Madirakshi Das; Gabor J. Ferencz, Jr.
- Web page: https://patentgrep.com/patent/US12001191B2

## CPC

- G05B 19/4097: characterised by using design data to control NC machines, e.g. CAD/CAM (G05B19/4093 takes precedence)
- G06T 7/001: {using an image reference approach}
- G06T 7/33: using feature-based methods
- G06T 7/70: Determining position or orientation of objects or cameras (camera calibration G06T7/80)
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G05B 2219/35134: 3-D cad-cam
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2207/20021: Dividing image into blocks, subimages or windows
- G06T 2207/20072: Graph-based image processing
- G06T 2207/20221: Image fusion; Image merging
- G06T 2219/2004: Aligning objects, relative positioning of parts
- G06T 2219/2016: Rotation, translation, scaling
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

A system and method for performing real-time quality inspection of objects is disclosed. The system and method include a transport to move objects being inspected, allowing the inspection to be performed in-line. At least one optical acquisition unit is provided that captured optical images of the objects being inspected. The captured optical images are matched to CAD models of objects, and the matched CAD model is extracted. A laser with an illumination light beam has a wavelength in the violet or ultraviolet range then conducts scans of the objects, which are formed into three-dimensional point clouds. The point clouds are compared to the extracted CAD models for each object, where CTF are compared to user input or CAD model information and the object is determined to be acceptable or defective based on the extent of deviation between the point cloud and the CAD model.

## Claims

### Claim 1

An object inspection system, the system comprising: a scanning unit configured to scan a calibration target to obtain a point cloud representing the target; and a processor configured to receive the point cloud representing the target from the scanning unit, and to: tessellate the point cloud into one or more tiles containing a plurality of points of the point cloud; for each of the one or more tiles, fit a plane model to the points contained in the tile, wherein the plane model includes value of a three-dimensional vector normal to the surface of the plane and the distance of the plane from a coordinate system reference point; add the normal vectors from each of the one or more tiles and calculate the average of the collection of normal vectors; use average normal vector orientation to define a reference plane outside the point cloud and calculate each cloud point to reference plane; and use a histogram to find local maximums, and create a group of points each with a distance to the defined reference plane that falls within a tolerance threshold to the local maximum; and monitor the performance of the scanning unit.

### Claim 2 (depends on 1)

The system of claim 1 wherein the one or more tiles are non-overlapping.

### Claim 3 (depends on 1)

The system of claim 1 wherein the processor is further configured to:
create the histogram of distances from points of the point cloud to the reference plane.

### Claim 4 (depends on 1)

The object inspection system of claim 1, wherein the calibration target includes fiducial holes at known locations and positions, and wherein the processor is further configured to analyze the one or more plane models to detect the location and position of representations of these fiducial holes in the one or more plane models.

### Claim 5 (depends on 4)

The object inspection system of claim 4, wherein the processor is further configured to determine a transformation matrix, based on the detected locations and positions of the representations of fiducial holes, that determines the orientation of the calibration target in three-dimensional space.

### Claim 6 (depends on 1)

The system of claim 1 wherein the processor is further configured to:
compare each of the normal vectors to the calculated average and remove any of the normal vectors that are outliers.

### Claim 7 (depends on 6)

The system of claim 6 wherein the comparing step is performed as a dot product of the average normal vector and the normal vector being compared.

### Claim 8 (depends on 6)

The system of claim 6 wherein the processor is further configured to:
recalculate the average when any of the normal vectors are removed as outliers.

### Claim 9

An object inspection system, the system comprising:
a scanning unit; and
a processor configured receive the captured point clouds from the scanning unit, and to:
determine a system calibration transform;
determine a recommended scan set-up parameters for an object to be scanned;
instruct the scanning unit to perform at least one scan of the object, wherein the at least one scan includes capturing two or more point clouds representing the same view of the scanned object and two or more point clouds representing different views of the scanned object;
receive the captured point clouds from the scanning unit;
determine a three-dimensional registration between the two or more point clouds representing the same view of the object;
determine a three-dimensional registration between the two or more point clouds representing different views of the object; and
monitor the performance of the scanning unit.

### Claim 10

A method for calibrating an object inspection system comprising: scanning a calibration target to obtain a point cloud representing the target; tessellating the point cloud into one or more tiles containing a plurality of points of the point cloud; for each of the one or more tiles, fitting a plane model to the points contained in the tile, wherein the plane model includes value of a three-dimensional vector normal to the surface of the plane and the distance of the plane from a coordinate system reference point; adding the normal vectors from each of the one or more tiles and calculating the average of the collection of normal vectors; using average normal vector orientation to define a reference plane outside the point cloud and calculating each cloud point to reference plane; using a histogram to find local maximums, and creating a group of points each with a distance to the defined reference plane that falls within a tolerance threshold to the local maximum, wherein each of these groups is a planar segment of the point cloud corresponding to a detected plane of the target; for each planar segment, fitting a plane model, and calculating the normal value of the segmented points; calculating the average of the normal values weighted by the population of points in each planar segment; and applying the average normal vector to each of the planar segments, and recalculate the distance from the coordinate origin for each plane; and monitor the performance of the scanning.

### Claim 11 (depends on 10)

The method of claim 10 wherein the one or more tiles are non-overlapping.

### Claim 12 (depends on 10)

The method of claim 10 further comprising:
creating the histogram of distances from points of the point cloud to the reference plane.

### Claim 13 (depends on 10)

The method of claim 10 further comprising:
comparing each of the normal vectors to the calculated average and removing any of the normal vectors that are outliers.

### Claim 14 (depends on 13)

The method of claim 13 wherein the comparing step is performed as a dot product of the average normal vector and the normal vector being compared.

### Claim 15 (depends on 13)

The method of claim 13 further comprising:
recalculating the average when any of the normal vectors are removed as outliers.
