DETAILED ACTION
Claims 1-10 are presented for examination.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Drawings
The drawings received on 8 December 2022 are accepted.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier.
Such claim limitation(s) is/are:
Claim 6:
a template scanning module; … is configured to … (No corresponding structure found in Specification!)
a coordinate system building module; … is configured to … (No corresponding structure found in Specification!)
a rasterization module; … is configured to … (No corresponding structure found in Specification!)
a plane fitting module; … is configured to … (No corresponding structure found in Specification!)
a first acquisition module; … is configured to … (No corresponding structure found in Specification!)
a first calculation module; … is configured to … (No corresponding structure found in Specification!)
a second calculation module; … is configured to … (No corresponding structure found in Specification!)
an image binarization module; … is configured to … (No corresponding structure found in Specification!)
a merging module; … is configured to … (No corresponding structure found in Specification!)
a second acquisition module; … is configured to … (No corresponding structure found in Specification!)
an alignment module; … is configured for … (No corresponding structure found in Specification!)
a third calculation module; … is configured to … (No corresponding structure found in Specification!)
a first judgment module; … is configured for … (No corresponding structure found in Specification!)
a first confirmation module; … is configured to … (No corresponding structure found in Specification!)
a second judgment module; … is configured for … (No corresponding structure found in Specification!)
a second confirmation module; … is configured to … (No corresponding structure found in Specification!)
a third confirmation module; … is configured to … (No corresponding structure found in Specification!)
Claim 7:
a first calculating unit; … is configured to … (No corresponding structure found in Specification!)
a second calculating unit; … is configured to … (No corresponding structure found in Specification!)
a building unit; … is configured to … (No corresponding structure found in Specification!)
Claim 8:
a calculating unit; … is configured to … (No corresponding structure found in Specification!)
a height threshold setting unit; … is configured to … (No corresponding structure found in Specification!)
Claim 9:
a calculating unit; … is configured to … (No corresponding structure found in Specification!)
an angle threshold setting unit; … is configured to … (No corresponding structure found in Specification!)
Claim 10:
a first calculating unit; … is configured to … (No corresponding structure found in Specification!)
a second calculating unit; … is configured to … (No corresponding structure found in Specification!)
a rasterizing unit; … is configured to … (No corresponding structure found in Specification!)
a first pixel setting unit; … is configured to … (No corresponding structure found in Specification!)
a second pixel setting unit; … is configured to … (No corresponding structure found in Specification!)
a contour pixel extraction unit; … is configured to … (No corresponding structure found in Specification!)
an outer contour point extraction point; … is configured to … (No corresponding structure found in Specification!)
Each module, unit, and point is specifically excluded from being interpreted as software per se. See MPEP §2181(II)(B) fourth to last paragraph.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 6-10 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claim limitations module/unit/point “configured to…” invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function.
The Specification does nothing more than repeat the claim language. Neither the Specification nor the drawings disclose hardware or material corresponding to any respective module or unit claimed. Furthermore, no clear link between the claimed function and any hardware is disclosed. Specification page 17 line 7 discloses “polyworks measurement software;” however, limitations which invoke §112(f) are specifically excluded from being interpreted as software because software is neither structure or material. No computer hardware is found disclosed within the Specification. Therefore, the claim is indefinite and is rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph.
Applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph;
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the function recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-10 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
To determine if a claim is directed to patent ineligible subject matter, the Court has guided the Office to apply the Alice/Mayo test, which requires:
1. Determining if the claim falls within a statutory category;
2A. Determining if the claim is directed to a patent ineligible judicial exception consisting of a law of nature, a natural phenomenon, or abstract idea; and
2B. If the claim is directed to a judicial exception, determining if the claim recites limitations or elements that amount to significantly more than the judicial exception.
See MPEP §2106.
Step 2A is a two prong inquiry. MPEP §2106.04(II)(A). Under 2A(i), the first prong, examiners evaluate whether a law of nature, natural phenomenon, or abstract idea is set forth or described in the claim. Abstract ideas include mathematical concepts, certain methods of organizing human activity, and mental processes. MPEP §2106.04(a)(2). Under 2A(ii), the second prong, examiners determine whether any additional limitations integrates the judicial exception into a practical application. MPEP §2106.04(d).
Claim 1 step 2A(i):
The claim(s) recite:
(S2) establishing a local coordinate system of a template point cloud based on the zero-mean template point cloud;
(S3) rasterizing the template point cloud to obtain a plurality of local point clouds;
(S4) fitting a plane parameter of a target local point cloud to obtain a normal vector of the target local point cloud on a template point cloud plane and any point on the template point cloud plane;
(S5) acquiring an average of normal vectors of all points in the target local point cloud;
(S6) calculating a height of all points in the target local point cloud based on the average of the normal vectors of all points in the target local point cloud to obtain a sinking point in the target local point cloud;
(S7) calculating an angle between a normal vector of the sinking point in the target local point cloud and a normal vector of the template point cloud plane where the sinking point is located to obtain a cutting point of the aircraft template; wherein all cutting points of the aircraft template constitute a cutting line;
(S8) binarizing a point cloud image of the aircraft template to obtain outer contour points of the aircraft template; wherein the outer contour points constitute an outer contour of the aircraft template;
(S9) merging all cutting points and outer contour points of the aircraft template to obtain a resulting point cloud;
(S10) …;
(S11) aligning the 3D digital model with the resulting point cloud;
(S12) calculating a distance between a target point in the 3D digital model and a corresponding point in the resulting point cloud to obtain an actual distance; and
(S13) determining whether the actual distance exceeds a preset distance threshold;
if not, confirming that the aircraft template is qualified;
otherwise, determining whether the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds a preset number threshold;
if not, confirming that the aircraft template is qualified;
otherwise, determining that the aircraft template is not qualified.
S2. Establishing a local coordinate system with a zero-mean point cloud is a mathematical construction involving respective mathematical calculations.
S3. Rasterizing is performing corresponding mathematical calculations.
S4. Fitting a plane parameter is further mathematical operations. Obtaining a normal vector is a mathematical calculation.
S5. Acquiring an average of normal vectors is further mathematical calculation.
S6. Calculating a height of all points from the average to obtain sinking point(s) of the point cloud is further mathematical calculation.
S7. Calculating an angle to obtain a cutting point and cutting line is further mathematical calculation.
S8. Binarizing the point cloud image is further mathematical operation.
S9. Merging the points is a mathematical operation of the mathematical construction of the resulting point cloud data.
S11. Aligning the point data of the digital model and point cloud is a mathematical operation.
S12. Calculating a distance between points is further mathematical calculation.
S13. Determining whether or not a distance numerical value exceeds a numerical threshold is a mathematical comparison. Determining that this calculated comparison determines whether an aircraft template is qualified or not qualified is an evaluation corresponding with a mental process or final determination of a mathematical algorithm.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 1 step 2A(ii):
This judicial exception is not integrated into a practical application because:
The claim(s) recite:
1. A method for detecting defects in an aircraft template, comprising:
(S1) scanning the aircraft template to obtain a zero-mean template point cloud;
…
(S10) obtaining a three-dimensional (3D) digital model of the aircraft template; ….
The claim language “for detecting defects in an aircraft template” is a recitation of intended use. Furthermore, generally linking the use of an abstract idea to a field of use fails to integrate an abstract idea into a practical application. See MPEP §2106.05(h).
S1 and S10. Scanning a template to obtain a point cloud and obtaining a 3D digital model are generic non-specific recitations of data gathering. Mere data gathering is insignificant extra solution activity. See MPEP §2106.05(g).
Claim 1 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Limitations analyzed under MPEP §2106.05(h) in step 2A(ii) above are analyzed the same under step 2B.
The claim(s) recite:
1. …
(S1) scanning the aircraft template to obtain a zero-mean template point cloud;
…
(S10) obtaining a three-dimensional (3D) digital model of the aircraft template; ….
Obtaining data in a non-specific manner is a generic recitation of data gathering. MPEP §2016.05(d) provides examples “i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information).” The generic recitation of “obtaining” encompasses receiving information transmitted over a network.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Claim 2 step 2A(i):
Dependent claims recite at least the identified judicially excepted subject matter of their parent claim(s).
The claim(s) recite:
2. The method of claim 1, wherein the step (S2) is performed through steps of:
(S201) calculating a product of a 3×n matrix formed from the zero-mean template point cloud and a transpose matrix of the 3×n matrix to obtain a covariance matrix; wherein n represents the number of points in the zero-mean template point cloud;
(S202) calculating three eigenvectors a1, a2 and a3 of the covariance matrix which are mutually orthogonal; wherein λ1 is an eigenvalue of a1, λ2 is an eigenvalue of a2, λ3 is an eigenvalue of a3, and λ1>λ2>λ3; and
(S203) establishing the local coordinate system of the template point cloud by taking the three eigenvectors a1, a2 and a3 respectively as X1-axis direction, Y1-axis direction and Z1-axis direction of the local coordinate system, and taking a zero point O1 as an origin of the local coordinate system.
S201. Calculating a product of a matrix is explicitly mathematical.
S202. Calculating eigenvectors is explicit recitation of mathematical subject matter.
S203. Establishing a coordinate system is a mathematical operation.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 2 step 2A(ii):
This judicial exception is not integrated into a practical application because:
Claim(s) do not recite any “additional” limitations.
Claim 2 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Claim(s) do not recite any “additional” limitations.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Claim 3 step 2A(i):
Dependent claims recite at least the identified judicially excepted subject matter of their parent claim(s).
The claim(s) recite:
3. The method of claim 1, wherein the step (S6) is performed through steps of:
(S601) calculating the height of all points in the target local point cloud according to the following formula:
h
j
i
=
p
j
i
-
p
j
0
∙
v
j
v
j
,
v
j
∙
v
j
-
<
0
p
j
0
-
p
j
i
∙
v
j
v
j
,
v
j
∙
v
j
-
≥
0
wherein
v
j
-
represents an average of normal vectors of all points in a target local point cloud j;
v
j
represents a normal vector of the target local point cloud j on the template point cloud plane;
p
j
i
represents an ith point in the target local point cloud j;
p
j
0
represents any point in the target local point cloud j; and
h
j
i
represents a height of the ith point in the target local point cloud j; and
(S602) setting a target height threshold; wherein a point in the target local point cloud whose height is less than the target height threshold is the sinking point.
S601. The mathematical formula recited is an explicit recitation of mathematical subject matter.
S602. The target threshold is a numerical value. Setting a numerical value as a part of a broader mathematical algorithm is a mathematical operation of the algorithm.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 3 step 2A(ii):
This judicial exception is not integrated into a practical application because:
Claim(s) do not recite any “additional” limitations.
Claim 3 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Claim(s) do not recite any “additional” limitations.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Claim 4 step 2A(i):
Dependent claims recite at least the identified judicially excepted subject matter of their parent claim(s).
The claim(s) recite:
4. The method of claim 1, wherein the step (S7) is performed through steps of:
(S701) calculating the angle between the normal vector of the sinking point in the target local point cloud and the normal vector of the template point cloud plane where the sinking point is located according to the following formula:
r
j
i
=
a
r
c
c
o
s
v
j
i
∙
v
j
v
j
wherein
r
j
i
represents an angle between a normal vector of an ith sinking point in a target local point cloud j and a normal vector of a template point cloud plane where the ith sinking point is located;
v
j
represents a normal vector of the target local point cloud j on the template point cloud plane; and
v
j
i
represents the normal vector of the ith sinking point in the target local point cloud j; and
(S702) setting a target angle threshold; wherein a sinking point in the target local point cloud corresponding to an angle less than the target angle threshold is the cutting point.
S701. The mathematical formula recited is an explicit recitation of mathematical subject matter.
S702. The target angle threshold is a numerical value. Setting a numerical value as a part of a broader mathematical algorithm is a mathematical operation of the algorithm.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 4 step 2A(ii):
This judicial exception is not integrated into a practical application because:
Claim(s) do not recite any “additional” limitations.
Claim 4 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Claim(s) do not recite any “additional” limitations.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Claim 5 step 2A(i):
Dependent claims recite at least the identified judicially excepted subject matter of their parent claim(s).
The claim(s) recite:
5. The method of claim 1, wherein the step (S8) is performed through steps of:
(S801) calculating a distance between a target point in the template point cloud and a point closest to the target point;
(S802) calculating a spatial resolution of the template point cloud according to the following formula:
l
=
1
n
∑
i
=
1
n
d
i
wherein / represents the spatial resolution of the template point cloud; n represents the total number of points in the template point cloud; and d represents a distance between an ith point in the template point cloud and a point closest to the ith point;
(S803) dividing an
X
1
O
1
Y
1
plane into a plurality of grids with the spatial resolution as an interval to obtain a binary image; wherein each of the plurality of grids is a pixel of the binary image; and an initial value of each pixel in the binary image is set to 0;
(S804) traversing all points in the template point cloud, and setting pixels corresponding to grids where the points in the template point cloud are respectively located as 1-value pixels;
(S805) traversing all 0-value pixels in the binary image, and setting a target 0-value pixel as a 1-value pixel, wherein in surrounding 8 pixels of the target 0-value pixel, the number of 1-value pixels exceeds a target number;
(S806) traversing all 1-value pixels in the binary image, and taking a 1-value pixel adjacent to a 0-value pixel as a contour pixel; and
(S807) taking a point in a grid corresponding to the contour pixel as the outer contour point of the aircraft template.
S801. Calculating a distance between points is further mathematical calculation.
S802. The mathematical formula recited for calculating a spatial resolution is an explicit recitation of mathematical subject matter.
S803. Dividing a plant into grids is a mathematical operation involving geometry.
S804-S806. Calculating the pixel values in the template point cloud is a mathematical calculation. These steps are an algorithmic recitation to calculate the contour pixels.
S807. The contour pixels of the grid are numerical values. Assigning a representative description (as outer contour points) does not change the values or alter the nature of these contour pixels to be non-mathematical in nature.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 5 step 2A(ii):
This judicial exception is not integrated into a practical application because:
Claim(s) do not recite any “additional” limitations.
Claim 5 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Claim(s) do not recite any “additional” limitations.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Claim 6 step 2A(i):
The claim(s) recite:
…;
the coordinate system building module is configured to establish a local coordinate system of a template point cloud based on the zero-mean template point cloud;
the rasterization module is configured to rasterize the template point cloud to obtain a plurality of local point clouds;
the plane fitting module is configured to fit a plane parameter of a target local point cloud to obtain a normal vector of the target local point cloud on a template point cloud plane and any point on the template point cloud plane;
the first acquisition module is configured to acquire an average of normal vectors of all points in the target local point cloud;
the first calculation module is configured to calculate a height of all points in the target local point cloud based on the average of the normal vectors of all points in the target local point cloud to obtain a sinking point in the target local point cloud;
the second calculation module is configured to calculate an angle between a normal vector of the sinking point in the target local point cloud and a normal vector of the template point cloud plane where the sinking point is located to obtain a cutting point of the aircraft template; wherein all cutting points of the aircraft template constitute a cutting line;
the image binarization module is configured to binarize a point cloud image of the aircraft template to obtain outer contour points of the aircraft template; wherein the outer contour points constitute an outer contour of the aircraft template;
the merging module is configured to merge all cutting points and outer contour points of the aircraft template to obtain a resulting point cloud;
…;
the alignment module is configured for aligning the 3D digital model with the resulting point cloud;
the third calculation module is configured to calculate a distance between a target point in the 3D digital model and a corresponding point in the resulting point cloud to obtain an actual distance;
the first judgment module is configured for judging whether the actual distance exceeds a preset distance threshold;
the first confirmation module is configured to confirm that the aircraft template is qualified when the actual distance does not exceed the preset distance threshold;
the second judgment module is configured for judging whether the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds a preset number threshold when the first judgment module determines that the actual distance exceeds the preset distance threshold;
the second confirmation module is configured to confirm that the aircraft template is qualified when the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold does not exceed the preset number threshold; and
the third confirmation module is configured to confirm that the aircraft template is unqualified when the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds the preset number threshold.
Establishing a local coordinate system with a zero-mean point cloud is a mathematical construction involving respective mathematical calculations.
Rasterizing is performing corresponding mathematical calculations.
Fitting a plane parameter is further mathematical operations. Obtaining a normal vector is a mathematical calculation.
Acquiring an average of normal vectors is further mathematical calculation.
Calculating a height of all points from the average to obtain sinking point(s) of the point cloud is further mathematical calculation.
Calculating an angle to obtain a cutting point and cutting line is further mathematical calculation.
Binarizing the point cloud image is further mathematical operation.
Merging the points is a mathematical operation of the mathematical construction of the resulting point cloud data.
Aligning the point data of the digital model and point cloud is a mathematical operation.
Calculating a distance between points is further mathematical calculation.
Determining whether or not a distance numerical value exceeds a numerical threshold is a mathematical comparison. Determining that this calculated comparison determines whether an aircraft template is qualified or not qualified is an evaluation corresponding with a mental process or final determination of a mathematical algorithm.
This falls within the mathematical concept grouping of abstract ideas. See MPEP §2106.04(a)(2).
Claim 6 step 2A(ii):
This judicial exception is not integrated into a practical application because:
The claim(s) recite:
6. A device for detecting defects in an aircraft template, comprising:
a template scanning module; a coordinate system building module; a rasterization module; a plane fitting module; a first acquisition module; a first calculation module; a second calculation module; an image binarization module; a merging module; a second acquisition module; an alignment module; a third calculation module; a first judgment module; a first confirmation module; a second judgment module; a second confirmation module; and a third confirmation module;
…
wherein the template scanning module is configured to scan the aircraft template to obtain a zero-mean template point cloud;
…
the second acquisition module is configured to acquire a three-dimensional (3D) digital model of the aircraft template; ….
The claim language “for detecting defects in an aircraft template” is a recitation of intended use. Furthermore, generally linking the use of an abstract idea to a field of use fails to integrate an abstract idea into a practical application. See MPEP §2106.05(h).
The modules and units are recited at a high-level of generality (i.e., as a generic processor performing generic computer functions) such that it amounts no more than mere instructions to apply the exception using generic computer components. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. See MPEP §2106.05(b) (“Merely adding a generic computer, generic computer components, or a programmed computer to perform generic computer functions does not automatically overcome an eligibility rejection. Alice Corp. Pty. Ltd. v. CLS Bank Int’l, 573 U.S. 208, 223-24, 110 USPQ2d 1976, 1983-84 (2014).”).
Scanning a template to obtain a point cloud and obtaining a 3D digital model are generic non-specific recitations of data gathering. Mere data gathering is insignificant extra solution activity. See MPEP §2106.05(g).
Claim 6 step 2B:
The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception, when considered individually and in combination, because:
Limitations analyzed under MPEP §2106.05(b) and (h) in step 2A(ii) above are analyzed the same under step 2B.
The claim(s) recite:
6. …
wherein the template scanning module is configured to scan the aircraft template to obtain a zero-mean template point cloud;
…
the second acquisition module is configured to acquire a three-dimensional (3D) digital model of the aircraft template; ….
Obtaining data in a non-specific manner is a generic recitation of data gathering. MPEP §2016.05(d) provides examples “i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information).” The generic recitation of “obtaining” encompasses receiving information transmitted over a network.
When further considering the claims as a whole and as an ordered combination the claims fail to amount to significantly more than the judicially excepted abstract idea.
Dependent claims 7-10 are substantially similar to claims 2-5 above and are rejected for the same reasons.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-4 and 6-9 are rejected under 35 U.S.C. 103 as being unpatentable over Jovančević, I., et al. “3D Point Cloud Analysis for Detection and Characterization of Defects on Airplane Exterior Surface” J. Nondestructive Evaluation, vol. 36, issue 74 (2017) [herein “Jovancevic”] in view of US patent 12,067,083 B2 Wolke, et al. [herein “Wolke”].
Claim 1 recites “1. A method for detecting defects in an aircraft template.” Jovancevic title discloses “3D Point Cloud Analysis for Detection and Characterization of Defects on Airplane Exterior Surface.” Jovancevic page 1 section 1 first paragraph discloses “The main purpose of fuselage inspection process is to detect the undesired defects such as dents, protrusions or cracks.”
Claim 1 further recites “comprising: (S1) scanning the aircraft template to obtain a zero-mean template point cloud.” Jovancevic page 3 section 3.2 disclose “Our approach is applied to inspect the fuselage of real Airbus A320 airplane. The dataset is captured using a 3D scanner mounted on Air-Cobot (see Figs. 2a, 5b).” The fuselage of an Airbus 320 is a part of an aircraft. Capturing the dataset using a 3D scanner is scanning.
Claim 1 further recites “(S2) establishing a local coordinate system of a template point cloud based on the zero-mean template point cloud.” Jovancevic page 5 left column line 6 disclose “If we set x as a centroid of
P
K
:
x
=
p
-
=
1
K
∑
i
=
0
K
p
i
. The depicted equation is an average where the centroid corresponds with a zero mean for the points
p
i
of the point cloud.
Claim 1 further recites “(S3) rasterizing the template point cloud to obtain a plurality of local point clouds.” Jovancevic page 5 right column step 4 discloses “Step 4 (Segmentation): In order to detect the damaged regions on airplane exterior surface, we need to segment the 3D points cloud data into regions that are homogeneous in terms of calculated surface characteristics, more specifically normal vector angles and curvature differences.” Segmenting into regions corresponds with rasterizing to obtain local point clouds.
Claim 1 further recites “(S4) fitting a plane parameter of a target local point cloud to obtain a normal vector of the target local point cloud on a template point cloud plane and any point on the template point cloud plane.” Jovancevic page 5 left column first paragraph disclose “the tangent plane S represented by a point x and a normal vector.” The tangent planes correspond with a fitted plane. The normal vectors correspond with obtained normal vectors.
Jovancevic page 5 left column last paragraph discloses “we estimate surface normals and curvature of each point in the cloud.” Estimating the surface normals corresponds with obtaining normal vectors of every point on the point cloud.
Claim 1 further recites “(S5) acquiring an average of normal vectors of all points in the target local point cloud.” Jovancevic page 7 step C1.1 discloses “Step C1.1 (Find the mean normal of the point cloud).” Finding the mean normal corresponds with acquiring an average of the normal vectors.
Claim 1 further recites “(S6) calculating a height of all points in the target local point cloud based on the average of the normal vectors of all points in the target local point cloud to obtain a sinking point in the target local point cloud.” Jovancevic page 5 left column first paragraph disclose:
For all the points
p
i
∈
P
K
, the distance from
p
i
to the plane S is defined as:
d
i
=
p
i
-
x
∙
n
x
This distance function corresponds with calculating a height for the respective point. This equation is based on the normal vector
n
x
.
Obtaining a sinking point of the local point cloud is a recitation of intended result. This equation is suitable for this intended purpose. But see further Jovancevic page 10 section 3.4.4 step C4 “Extracting Information About the Defects” disclosing “lowest point.”
Claim 1 further recites “(S7) calculating an angle between a normal vector of the sinking point in the target local point cloud and a normal vector of the template point cloud plane where the sinking point is located to obtain a cutting point of the aircraft template; wherein all cutting points of the aircraft template constitute a cutting line.” Jovancevic page 5 right column first paragraph discloses “The objective of this step is to partition a point cloud into sub-point clouds based on normal and curvature information which are calculated in step 3.” Jovancevic page 5 second paragraph discloses:
Condition (5) regulates the difference between adjacent regions which should be above the threshold.
…. If the curvature is less than threshold value
c
t
h
, then the point is added to the seeds [42]. The criteria is shown in Eq. 4:
a
r
c
c
o
s
n
,
n
k
≤
α
t
h
Partitioning or segmenting regions of the point cloud corresponds with cutting the point cloud into respective regions. The equation (4) criteria corresponds with a calculated angle between local normal vectors and that of the plane.
Claim 1 further recites “(S8) binarizing a point cloud image of the aircraft template to obtain outer contour points of the aircraft template; wherein the outer contour points constitute an outer contour of the aircraft template.” Jovancevic page 4 step 2 “pre-processing” teaches:
We use Moving Least Squares (MLS) for smoothing the surface. MLS is a method of reconstructing a surface from a set of unorganized point data by higher order polynomial interpolations in the neighborhood of a fixed point. This technique was proposed by Lancaster and Salkauskas in 1981 [27] and developed by Levin [28,29]. We are approximating our cloud with a polynomial of second degree in
R
n
, since airplane fuselage is closest to this type of surface.
Reconstructing the surface corresponds with obtaining an outer contour of points which constitute an outer contour of the aircraft.
Claim 1 further recites “(S9) merging all cutting points and outer contour points of the aircraft template to obtain a resulting point cloud.” Jovancevic page 5 right column second paragraph disclose “Let P represent the entire input point cloud.” The entire point cloud is a merged set of all points.
Furthermore, Jovancevic page 6 left column first paragraph disclose “We finish by obtaining one vast cluster which is considered background and a lot of small clusters only in the defected regions.” Alternative to the entire point could, the vest cluster of background points in non-defect regions is a merged obtained “resulting” point cloud.
Claim 1 further recites “(S10) obtaining a three-dimensional (3D) digital model of the aircraft template.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke column 6 lines 32-35 teach “A common task in 3D point cloud analysis is a comparison of 3D measurement data (e.g., the point cloud 130) to reference data 132. The reference data 132 can be a computer-aided design (CAD) model.” A reference CAD model is an obtained 3D digital model.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 1 further recites “(S11) aligning the 3D digital model with the resulting point cloud.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke column 7 lines 49-52 teaches “At block 202, the computing device 110 performs point cloud alignment between a measurement point cloud and reference data, such as an alignment of the point cloud to a computer-aided-design model.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 1 further recites “(S12) calculating a distance between a target point in the 3D digital model and a corresponding point in the resulting point cloud to obtain an actual distance.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke figure 2 item (204) and column 7 lines 53-58 teaches:
At block 204, the computing device 110 performs a multi-scale model-to-model cloud comparison between the measurement point cloud and the reference data to determine a displacement value between each point in the measurement point cloud and a corresponding point in the reference data.
The displacement between the measurement points and reference data corresponds with a calculated distance between respective point cloud points and the respective 3D digital model.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 1 further recites “and (S13) determining whether the actual distance exceeds a preset distance threshold; if not, confirming that the aircraft template is qualified; otherwise, determining whether the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds a preset number threshold; if not, confirming that the aircraft template is qualified; otherwise, determining that the aircraft template is not qualified.” Wolke column 7 lines 58-67 teach:
At block 206, the computing device 110 filters the points of the measurement point cloud based at least in part on the displacement value by comparing the displacement value to a threshold. At block 208, the computing device 110 iteratively performs multi-radii cluster matching for each of the points of the measurement point cloud having the displacement value greater than the threshold. At block 210, the computing device determines, based on results of the multi-radii cluster matching, whether an object is displaced or whether the object includes a defect.
Comparing the displacement to a threshold is determining whether the distance values exceed a distance threshold. Determining points having a displacement greater than a threshold as determining that the object includes a defect is confirming that points exceed the threshold and that the aircraft template is not qualified. Specifically, the object including a defect is a determination that the object is not qualified.
Claim 2 further recites “2. The method of claim 1, wherein the step (S2) is performed through steps of:(S201) calculating a product of a 3×n matrix formed from the zero-mean template point cloud and a transpose matrix of the 3×n matrix to obtain a covariance matrix; wherein n represents the number of points in the zero-mean template point cloud; (S202) calculating three eigenvectors a1, a2 and a3 of the covariance matrix which are mutually orthogonal; wherein λ1 is an eigenvalue of a1, λ2 is an eigenvalue of a2, λ3 is an eigenvalue of a3, and λ1>λ2>λ3; and (S203) establishing the local coordinate system of the template point cloud by taking the three eigenvectors a1, a2 and a3 respectively as X1-axis direction, Y1-axis direction and Z1-axis direction of the local coordinate system, and taking a zero point O1 as an origin of the local coordinate system.” Jovancevic page 5 left column line 6 disclose “If we set x as a centroid of
P
K
:
x
=
p
-
=
1
K
∑
i
=
0
K
p
i
. The depicted equation is an average where the centroid corresponds with a zero mean for the points
p
i
of the point cloud.
Jovancevic page 5 left column disclose “in order to estimate
n
x
, we need to analyze the eigenvalues
λ
j
and eigenvectors
v
j
… of the 3×3 covariance matrix A formed by the points []: [equation (2)].” Equation (2) is a computation of an average. Using this average equation to estimate the normal vector
n
x
corresponds with acquiring an average of normal vectors for the target point cloud. The 3×3 covariance matrix A corresponds with the obtained covariance matrix of S201. The eigenvectors
v
j
correspond with the calculated eigenvectors a1, a2 and a3 of S202. Jovancevic page 7 right column last paragraph disclose “this is an orthonormal basis.” A basis in this context is a coordinate system.
Claim 3 further recites “3. The method of claim 1, wherein the step (S6) is performed through steps of: (S601) calculating the height of all points in the target local point cloud according to the following formula:
h
j
i
=
p
j
i
-
p
j
0
∙
v
j
v
j
,
v
j
∙
v
j
-
<
0
p
j
0
-
p
j
i
∙
v
j
v
j
,
v
j
∙
v
j
-
≥
0
wherein
v
j
-
represents an average of normal vectors of all points in a target local point cloud j;
v
j
represents a normal vector of the target local point cloud j on the template point cloud plane;
p
j
i
represents an ith point in the target local point cloud j;
p
j
0
represents any point in the target local point cloud j; and
h
j
i
represents a height of the ith point in the target local point cloud j.” Jovancevic page 5 left column first paragraph disclose:
For all the points
p
i
∈
P
K
, the distance from
p
i
to the plane S is defined as:
d
i
=
p
i
-
x
∙
n
x
This distance function corresponds with calculating a height for the respective point. This equation is based on the normal vector
n
x
. The only differences between this equation of Jovancevic and the claimed equation is that
(1) the claimed equation distinguishes between dents and protrusions forcing the result to be a positive number. However, Jovancevic page 10 right column discloses “The sign of
∆
z
p
i
determines if defect is a dent or a protrusion. A dent is detected when
∆
z
p
i
is positive and a protrusion is detected when
∆
z
p
i
is negative.” This corresponds with the scope and significance of the claimed conditional in the claimed equation of
v
j
∙
v
j
-
.
And (2) the prior art equation does not explicitly normalize n within the equation itself. However, Jovancevic page 7 right column first paragraph discloses “The mean normal is then normalized: [equation]. The normalization of Jovancevic combined with the equations from page 5 cited above result in the same claimed equation
Claim 3 further recites “and (S602) setting a target height threshold; wherein a point in the target local point cloud whose height is less than the target height threshold is the sinking point.” Jovancevic page 10 right column discloses “The sign of
∆
z
p
i
determines if defect is a dent or a protrusion. A dent is detected when
∆
z
p
i
is positive and a protrusion is detected when
∆
z
p
i
is negative.” A dent corresponds with a sinking point.
Claim 4 further recites “4. The method of claim 1, wherein the step (S7) is performed through steps of: (S701) calculating the angle between the normal vector of the sinking point in the target local point cloud and the normal vector of the template point cloud plane where the sinking point is located according to the following formula:
r
j
i
=
a
r
c
c
o
s
v
j
i
∙
v
j
v
j
wherein
r
j
i
represents an angle between a normal vector of an ith sinking point in a target local point cloud j and a normal vector of a template point cloud plane where the ith sinking point is located;
v
j
represents a normal vector of the target local point cloud j on the template point cloud plane; and
v
j
i
represents the normal vector of the ith sinking point in the target local point cloud j; and (S702) setting a target angle threshold; wherein a sinking point in the target local point cloud corresponding to an angle less than the target angle threshold is the cutting point.”
Jovancevic page 5 right column first paragraph discloses “The objective of this step is to partition a point cloud into sub-point clouds based on normal and curvature information which are calculated in step 3.” Jovancevic page 5 second paragraph discloses:
Condition (5) regulates the difference between adjacent regions which should be above the threshold.
…. If the curvature is less than threshold value
c
t
h
, then the point is added to the seeds [42]. The criteria is shown in Eq. 4:
a
r
c
c
o
s
n
,
n
k
≤
α
t
h
Partitioning or segmenting regions of the point cloud corresponds with cutting the point cloud into respective regions. The equation (4) criteria corresponds with a calculated angle between local normal vectors and that of the plane.
Here, the claimed equation includes normalization of the vector vj. However, Jovancevic page 7 right column first paragraph discloses “The mean normal is then normalized: [equation]. The normalization of Jovancevic combined with the arccos equation from page 5 cited above result in the same claimed equation.
Jovancevic page 5 right column last paragraph disclose “For every seed point, the algorithm finds neighboring points (30 in our case). Every neighbor is tested for the angle between its normal and normal of the current seed point. If the angle is less than a threshold value, then current point is added to the current region.”
Claim 6 recites “6. A device for detecting defects in an aircraft template.” Jovancevic title discloses “3D Point Cloud Analysis for Detection and Characterization of Defects on Airplane Exterior Surface.” Jovancevic page 1 section 1 first paragraph discloses “The main purpose of fuselage inspection process is to detect the undesired defects such as dents, protrusions or cracks.”
Claim 6 further recites “comprising: a template scanning module; a coordinate system building module; a rasterization module; a plane fitting module; a first acquisition module; a first calculation module; a second calculation module; an image binarization module; a merging module; a second acquisition module; an alignment module; a third calculation module; a first judgment module; a first confirmation module; a second judgment module; a second confirmation module; and a third confirmation module.” For purposes of compact prosecution, the Examiner is interpreting these invocations of §112(f) modules as corresponding to a generic computer.
Jovancevic page 3 left column section 3.1 disclose “We use a personal computer for processing point clouds acquired from a structured light 3D scanner.” Here, this personal computer performing all the respective processing corresponds with the device hardware of a generic computer corresponding with the modules here.
Claim 6 further recites “wherein the template scanning module is configured to scan the aircraft template to obtain a zero-mean template point cloud.” Jovancevic page 3 section 3.2 disclose “Our approach is applied to inspect the fuselage of real Airbus A320 airplane. The dataset is captured using a 3D scanner mounted on Air-Cobot (see Figs. 2a, 5b).” The fuselage of an Airbus 320 is a part of an aircraft. Capturing the dataset using a 3D scanner is scanning.
Claim 6 further recites “the coordinate system building module is configured to establish a local coordinate system of a template point cloud based on the zero-mean template point cloud.” Jovancevic page 5 left column line 6 disclose “If we set x as a centroid of
P
K
:
x
=
p
-
=
1
K
∑
i
=
0
K
p
i
. The depicted equation is an average where the centroid corresponds with a zero mean for the points
p
i
of the point cloud.
Claim 6 further recites “the rasterization module is configured to rasterize the template point cloud to obtain a plurality of local point clouds.” Jovancevic page 5 right column step 4 discloses “Step 4 (Segmentation): In order to detect the damaged regions on airplane exterior surface, we need to segment the 3D points cloud data into regions that are homogeneous in terms of calculated surface characteristics, more specifically normal vector angles and curvature differences.” Segmenting into regions corresponds with rasterizing to obtain local point clouds.
Claim 6 further recites “the plane fitting module is configured to fit a plane parameter of a target local point cloud to obtain a normal vector of the target local point cloud on a template point cloud plane and any point on the template point cloud plane.” Jovancevic page 5 left column first paragraph disclose “the tangent plane S represented by a point x and a normal vector.” The tangent planes correspond with a fitted plane. The normal vectors correspond with obtained normal vectors.
Jovancevic page 5 left column last paragraph discloses “we estimate surface normals and curvature of each point in the cloud.” Estimating the surface normals corresponds with obtaining normal vectors of every point on the point cloud.
Claim 6 further recites “the first acquisition module is configured to acquire an average of normal vectors of all points in the target local point cloud.” Jovancevic page 7 step C1.1 discloses “Step C1.1 (Find the mean normal of the point cloud).” Finding the mean normal corresponds with acquiring an average of the normal vectors.
Claim 6 further recites “the first calculation module is configured to calculate a height of all points in the target local point cloud based on the average of the normal vectors of all points in the target local point cloud to obtain a sinking point in the target local point cloud.” Jovancevic page 5 left column first paragraph disclose:
For all the points
p
i
∈
P
K
, the distance from
p
i
to the plane S is defined as:
d
i
=
p
i
-
x
∙
n
x
This distance function corresponds with calculating a height for the respective point. This equation is based on the normal vector
n
x
.
Obtaining a sinking point of the local point cloud is a recitation of intended result. This equation is suitable for this intended purpose. But see further Jovancevic page 10 section 3.4.4 step C4 “Extracting Information About the Defects” disclosing “lowest point.”
Claim 6 further recites “the second calculation module is configured to calculate an angle between a normal vector of the sinking point in the target local point cloud and a normal vector of the template point cloud plane where the sinking point is located to obtain a cutting point of the aircraft template; wherein all cutting points of the aircraft template constitute a cutting line.” Jovancevic page 5 right column first paragraph discloses “The objective of this step is to partition a point cloud into sub-point clouds based on normal and curvature information which are calculated in step 3.” Jovancevic page 5 second paragraph discloses:
Condition (5) regulates the difference between adjacent regions which should be above the threshold.
…. If the curvature is less than threshold value
c
t
h
, then the point is added to the seeds [42]. The criteria is shown in Eq. 4:
a
r
c
c
o
s
n
,
n
k
≤
α
t
h
Partitioning or segmenting regions of the point cloud corresponds with cutting the point cloud into respective regions. The equation (4) criteria corresponds with a calculated angle between local normal vectors and that of the plane.
Claim 6 further recites “the image binarization module is configured to binarize a point cloud image of the aircraft template to obtain outer contour points of the aircraft template; wherein the outer contour points constitute an outer contour of the aircraft template.” Jovancevic page 4 step 2 “pre-processing” teaches:
We use Moving Least Squares (MLS) for smoothing the surface. MLS is a method of reconstructing a surface from a set of unorganized point data by higher order polynomial interpolations in the neighborhood of a fixed point. This technique was proposed by Lancaster and Salkauskas in 1981 [27] and developed by Levin [28,29]. We are approximating our cloud with a polynomial of second degree in
R
n
, since airplane fuselage is closest to this type of surface.
Reconstructing the surface corresponds with obtaining an outer contour of points which constitute an outer contour of the aircraft.
Claim 6 further recites “the merging module is configured to merge all cutting points and outer contour points of the aircraft template to obtain a resulting point cloud.” Jovancevic page 5 right column second paragraph disclose “Let P represent the entire input point cloud.” The entire point cloud is a merged set of all points.
Furthermore, Jovancevic page 6 left column first paragraph disclose “We finish by obtaining one vast cluster which is considered background and a lot of small clusters only in the defected regions.” Alternative to the entire point could, the vest cluster of background points in non-defect regions is a merged obtained “resulting” point cloud.
Claim 6 further recites “the second acquisition module is configured to acquire a three-dimensional (3D) digital model of the aircraft template.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke column 6 lines 32-35 teach “A common task in 3D point cloud analysis is a comparison of 3D measurement data (e.g., the point cloud 130) to reference data 132. The reference data 132 can be a computer-aided design (CAD) model.” A reference CAD model is an obtained 3D digital model.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 6 further recites “the alignment module is configured for aligning the 3D digital model with the resulting point cloud.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke column 7 lines 49-52 teaches “At block 202, the computing device 110 performs point cloud alignment between a measurement point cloud and reference data, such as an alignment of the point cloud to a computer-aided-design model.”
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 6 further recites “the third calculation module is configured to calculate a distance between a target point in the 3D digital model and a corresponding point in the resulting point cloud to obtain an actual distance.” Jovancevic does not explicitly disclose a 3D digital model; however, in analogous art of detecting object defects using a point cloud, Wolke figure 2 item (204) and column 7 lines 53-58 teaches:
At block 204, the computing device 110 performs a multi-scale model-to-model cloud comparison between the measurement point cloud and the reference data to determine a displacement value between each point in the measurement point cloud and a corresponding point in the reference data.
The displacement between the measurement points and reference data corresponds with a calculated distance between respective point cloud points and the respective 3D digital model.
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Jovancevic and Wolke. One having ordinary skill in the art would have found motivation to use a CAD model as reference data into the system of 3D point cloud analysis for detection of defects on airplane exteriors for the advantageous purpose so that “information about defects or discrepancies in the measurement data can be extracted.” See Wolke column 6 lines 38-39.
Claim 6 further recites “the first judgment module is configured for judging whether the actual distance exceeds a preset distance threshold; the first confirmation module is configured to confirm that the aircraft template is qualified when the actual distance does not exceed the preset distance threshold; the second judgment module is configured for judging whether the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds a preset number threshold when the first judgment module determines that the actual distance exceeds the preset distance threshold; the second confirmation module is configured to confirm that the aircraft template is qualified when the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold does not exceed the preset number threshold; and the third confirmation module is configured to confirm that the aircraft template is unqualified when the number of points in the resulting point cloud of which the actual distance exceeds the preset distance threshold exceeds the preset number threshold.” Wolke column 7 lines 58-67 teach:
At block 206, the computing device 110 filters the points of the measurement point cloud based at least in part on the displacement value by comparing the displacement value to a threshold. At block 208, the computing device 110 iteratively performs multi-radii cluster matching for each of the points of the measurement point cloud having the displacement value greater than the threshold. At block 210, the computing device determines, based on results of the multi-radii cluster matching, whether an object is displaced or whether the object includes a defect.
Comparing the displacement to a threshold is determining whether the distance values exceed a distance threshold. Determining points having a displacement greater than a threshold as determining that the object includes a defect is confirming that points exceed the threshold and that the aircraft template is not qualified. Specifically, the object including a defect is a determination that the object is not qualified.
Wolke column 10 lines 43-45 teach “In some examples, sparse false-positive segments are removed if the point density of the segment is less than a threshold limit.” The point density being below a threshold limit corresponds with determining that when a number of points which exceed the present distance does not exceed a preset threshold is still qualified. Removal of the false-positive segments corresponds with determining the aircraft is still qualified. The point density being less than a threshold limit corresponds with the preset number threshold.
Dependent claims 7-9 are substantially similar to claims 2-4 above and are rejected for the same reasons.
Allowable Subject Matter
Claim 5 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. §101 set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
Claims 10 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. §101 and under 35 U.S.C. §112(b) or 35 U.S.C. §112 (pre-AIA ), 2nd paragraph, set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
Jovančević, I., et al. “3D Point Cloud Analysis for Detection and Characterization of Defects on Airplane Exterior Surface” J. Nondestructive Evaluation, vol. 36, issue 74 (2017) [herein “Jovancevic”] page 4 step 2 “pre-processing” teaches:
We use Moving Least Squares (MLS) for smoothing the surface. MLS is a method of reconstructing a surface from a set of unorganized point data by higher order polynomial interpolations in the neighborhood of a fixed point. This technique was proposed by Lancaster and Salkauskas in 1981 [27] and developed by Levin [28,29]. We are approximating our cloud with a polynomial of second degree in
R
n
, since airplane fuselage is closest to this type of surface.
Reconstructing the surface corresponds with obtaining an outer contour of points which constitute an outer contour of the aircraft. But Jovancevic fails to teach a spatial resolution formula or binarization pixel grid.
US patent 12,067,083 B2 Wolke, et al. [herein “Wolke”] column 9 lines 1-3 teaches “an iterative closest point (ICP) technique is applied to match the points in the test cluster [point cloud] to the points in the reference cluster [i.e. CAD model].” Wolke fails to teach a spatial resolution formula or binarization pixel grid.
Intwala, A. & Magikar, A. “A Review on Process of 3D Model Reconstruction” IEEE Int’l Conf. on Electrical Electronics & Optimization Techniques, ICEEOT (2016) [herein “Intwala”] teaches technology background on converting point cloud data into a 3D model. Intwala fails to teach a spatial resolution formula or binarization pixel grid.
US patent 10,417,822 B2 Taubin [herein “Taubin”] column 1 line 37 teaches “surface reconstruction from point clouds.” Taubin column 8 lines 1-3 teach “a regular voxel grid of sufficiently high resolution, for instance such that different points fall in different voxels, must be chosen.” Taubin column 18 lines 19-25 teach “The non-convex hull surface reconstruction method includes the steps of fitting a non-convex hull signed distance function to the oriented points, evaluating the non-convex hull signed distance function on the vertices of a volumetric mesh, and approximating a zero level set of the non-convex hull signed distance function by the polygon mesh using an isosurface algorithm.” But Taubin fails to teach a spatial resolution formula or binarization pixel grid.
Hong-Seok, P. & Mani, T.U. “Development of an Inspection System for Defect Detection in Pressed Parts using Laser Scanned Data” Procedia Engineering, vol. 69, pp. 931-936 (2014) [herein “Hong-Seok”] abstract teaches a “feature based registration process to localize them with the respective CAD model and bring into same coordinate frame. A modified Iterative closest point (ICP) algorithm is proposed for the registration process.” Hong-Seok fails to teach a spatial resolution formula or binarization pixel grid.
Wang, Y., et al. “Density-Invariant Registration of Multiple Scans for Aircraft Measurement” IEEE Transactions on Instrumentation & Measurement, vol. 70 (2021) [herein “Wang”] abstract teaches an “influence of nonuniform distribution of point cloud density on registration accuracy.” Wang page 6 left column teaches “we use RANSAC combined with least scares method to fit two vertical intersection lines.” Wang section V teaches a density invariant global registration. The density corresponds with a spatial resolution, but Wang fails to teach binarization pixel grid.
None of the references taken either alone or in combination with the prior art of record disclose:
(S801) calculating a distance between a target point in the template point cloud and a point closest to the target point; (S802) calculating a spatial resolution of the template point cloud according to the following formula:
l
=
1
n
∑
i
=
1
n
d
i
wherein / represents the spatial resolution of the template point cloud; n represents the total number of points in the template point cloud; and d represents a distance between an ith point in the template point cloud and a point closest to the ith point;
(S803) dividing an
X
1
O
1
Y
1
plane into a plurality of grids with the spatial resolution as an interval to obtain a binary image; wherein each of the plurality of grids is a pixel of the binary image; and an initial value of each pixel in the binary image is set to 0;
(S804) traversing all points in the template point cloud, and setting pixels corresponding to grids where the points in the template point cloud are respectively located as 1-value pixels;
in combination with the remaining elements and features of the claimed invention.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Jay B Hann whose telephone number is (571)272-3330. The examiner can normally be reached M-F 10am-7pm EDT.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Renee Chavez can be reached at (571) 270-1104. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Jay Hann/Primary Examiner, Art Unit 2186 8 January 2026