Reflection refuting laser scanner

Information

  • Patent Grant
  • 11859964
  • Patent Number
    11,859,964
  • Date Filed
    Friday, December 10, 2021
    2 years ago
  • Date Issued
    Tuesday, January 2, 2024
    5 months ago
Abstract
Some embodiments described herein relate to optical systems and methods for determining the shape and/or size of objects that include projecting a pattern of light onto the object. The pattern of light can be configured such that first-order reflections can be distinguished from second- and/or higher-order reflections, which can be rejected. Thus, even in instances in which the pattern of light is reflected onto the object multiple times, the original, or first-order, reflection can be detected, distinguished, and/or used for laser triangulation. In some embodiments, a pattern of light that does not have reflection and/or rotational symmetry is projected onto the object, such that second-order and/or higher-order reflections can be distinguished from the first-order reflection.
Description
TECHNICAL FIELD

Embodiments described herein generally relate to optical systems and methods for determining the shape and/or size of objects and rejecting reflections when imaging objects.


BACKGROUND

Laser scanners generally operate by projecting a laser line and capturing a reflection of the laser line. Laser triangulation, as shown in FIG. 1, is a technique that involves projecting a narrow laser line 125 from a light source 120 onto an object 110. The object 110 and/or the laser-line 125 is imaged by a camera 130. The laser-line 125 appears like a straight line when projected onto a flat surface. The system operates by visually observing the interaction between objects, surfaces, and/or environments, and the laser-line.


Known laser scanners are generally suitable for flat objects or objects having very low reflectivity. Known laser scanners are generally unsuitable for more complex, curved, and/or reflective objects. In particular, the laser line projected onto a curved reflective object is likely to cast multiple reflections, making it impossible or impractical to accurately scan the object. A need therefore exists for systems and methods of determining the shape and/or size of objects having complex and/or reflective surfaces.


SUMMARY

Some embodiments described herein relate to optical systems and methods for determining the shape and/or size of objects that include projecting a pattern of light onto the object. The pattern of light can be configured such that first-order reflections can be distinguished from second- and/or higher-order reflections, which can be rejected. Thus, even in instances in which the pattern of light is reflected onto the object multiple times, the original, or first-order, reflection can be detected, distinguished, and/or used for laser triangulation. In some embodiments, a pattern of light that does not have reflection and/or rotational symmetry is projected onto the object, such that second-order and/or higher-order reflections can be distinguished from the first-order reflection.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic illustration of a prior art laser-triangulation system.



FIG. 2 is a schematic illustration of a system configured to detect a geometry of a part, according to an embodiment.



FIG. 3 is an illustration of an example pattern that can be projected by a light source that can be used to distinguish first-order reflections from second-order reflections, according to an embodiment.



FIG. 4 is an illustration of an example pattern that can be projected by a light source that can be used to distinguish first-order reflections from second-order reflections, according to an embodiment.



FIG. 5 is a flow chart of a method for determining a geometry of at least a portion of a part, according to an embodiment.





DETAILED DESCRIPTION

Embodiments described herein relate to optical systems and methods for determining the shape and/or size of objects that include projecting a pattern of light onto the object. The pattern of light can be configured such that first-order reflections can be distinguished from second- and/or higher-order reflections, which can be rejected. Thus, even in instances in which the pattern of light is reflected onto the object multiple times, the original, or first-order, reflection can be detected, distinguished, and/or used for laser triangulation. As described in further detail below, in some embodiments, the pattern of light projected onto the object does not have reflection and/or rotational symmetry, such that second-order and/or higher-order reflections can be distinguished from the first-order reflection. Laser triangulation techniques can be applied to images captured of the object that include first-order reflections (e.g., images from which second- and/or higher-order reflections have been removed) to create a model of at least a portion of the object.


The term laser triangulation is used herein to refer to techniques used to determine the shape of an object onto which a pattern is projected. It should be understood that the light projected onto the object need not originate from a laser source. Additionally, the term laser triangulation should not be understood to mean that the pattern requires a thin straight linear portion. Laser triangulation techniques can be used to ascertain the shape of an object using any predetermined pattern originating from any suitable light source. Similarly stated, laser triangulation can include analyzing an image of a part illuminated by any predetermined pattern to identify deviations in the pattern caused by the shape of the part onto which the pattern is projected.


Some embodiments described herein relate to apparatus and/or systems that include a light source, a detector, and a compute device. The light source can be configured to project a pattern onto a part such that a first-order reflection of the pattern is distinct from a second order-(and/or other greater-than-first-order reflections of the pattern.) A detector can be configured to capture an image of the part, for example while the part is illuminated by the light source. The compute device can be communicatively coupled to the detector and configured to process the image of the part to identify a first-order reflection of the pattern and/or to filter second-order reflection (and/or higher-order reflections) from the image.


Some embodiments described herein relate to a method that includes projecting a predetermined non-symmetric pattern onto a part. An image of the part can be captured, for example, by a camera or other detector device. The image of the part can be processed to remove a second-order reflection of the non-symmetric pattern. A shape of a portion of the part can be determined based on deviations from the predetermined non-symmetric pattern in the first-order reflection of the non-symmetric pattern in the image of the part.


Some embodiments described herein relate to a computer-implemented method that includes receiving multiple images of a part that is illuminated by a pattern that has a predetermined geometry, at least one of the images including a second-order reflection of the pattern. The second-order reflection can be filtered or rejected by comparing a geometry of the second-order reflection to the predetermined geometry. A three-dimensional model of at least a portion of the part can be generated by on triangulating a portion (e.g., a linear portion) of the pattern in first-order reflections captured in the plurality of images.



FIG. 2 is a schematic illustration of a system configured to detect a geometry of part 210, according to an embodiment. A light source 220 is configured to project a predetermined pattern onto the part 210. Suitable patterns are described in further detail below, but in general, the pattern is two-dimensional and includes a linear portion. The light source 220 can be any suitable light source configured to project a pattern. For example, the light source 220 can be a Berlin Lasers, 532 nm Glass Lens Green Laser-line Generator. As another example, the light source 220 can be an LED structured light pattern projector, such as those produced by Smart Vision Lights. As yet another example, the light source can be a Digital Light Processing (DLP), Liquid Crystal on Silicon (LCoS), Liquid-Crystal Display (LCD) or any other suitable projector, such as the type typically used to project visual media in a home or professional theatre.


The light source 220 can be configured to project a predetermined pattern in any suitable wavelength and/or combination of wavelengths. In some embodiments, the light source 220 can be configured to project at least a portion of a pattern in a wavelength that has good contrast against the part 210. For example, in instances in which the part 210 is blue, at least a portion of the pattern could be yellow. In instances in which the part 210 is red, at least a portion of the pattern could be red.


A detector 230 is configured to image the part 210 while the part 210 is being illuminated by the light source 220. The detector 230 can be any suitable camera or photodetector. The detector 230 is sensitive to the wavelengths of light emitted by the light source 220. The detector 230 can have a resolution sufficient to capture salient features of the pattern projected by the light source 220. For example, the detector 230 can be Basler ace acA2040-180 kc with a desired lens attached. An example of a suitable lens is the Edmund Optics 8 mm/F1.8 C-mount.


The light source 220 and the detector 230 can be preconfigured, communicatively coupled, or otherwise coordinated such that the light source 220 is configured to project the pattern in a suitable wavelength with a suitable intensity such that the part 210 reflects the pattern with sufficient intensity in a color-band to which the detector 230 is sensitive. In embodiments in which different regions of the part have different colors or reflective characteristics, the detector 230 can be operable to project different patterns, patterns having different colors, and/or patterns with different intensities based on the reflective characteristics of the portion of the part 210 being illuminated and/or the sensitivity of the detector 230.


As described above with reference to FIG. 1, laser triangulation systems are generally suitable for determining the geometry of simple, non-reflective parts. Objects, such as part 210 that have reflective and/or angled surfaces may produce second-order or higher reflections that known systems may not be able to resolve. As shown in FIG. 2, the light source 220 projects the pattern onto the part 210, creating a first-order reflection 222, which the detector 220 can capture. The pattern can reflect off the part 210 and cast a second-order reflection 224 on another portion of the part 210, which the detector 220 can also capture. A compute device 240 (having a processor and a memory) can distinguish the first-order reflection 222 from the second-order reflection 224 (and, in some instances, higher-order reflections), and refute or filter the second- and/or higher-order reflections such that only the first-order reflection 222 is used to determine the shape of the part 210.


In some embodiments, a shape and/or size of the part 210 can be determined by analyzing the images of the part 210 taken by the detector while the part is illuminated by the light source 220. Specifically, the light source 220 can project a predetermined pattern onto the part 210, and one or more images of the part 210 illuminated by the pattern can be captured by the detector and processed by the compute device 240. The compute device 240 can analyze deviations between the first-order reflection of the pattern and the expected predetermined pattern. Deviations can be attributed to the shape and/or size of the part 210 onto which the pattern is projected. In some instances, the compute device 240 can store or determine (e.g., through a calibration routine) information about the detector 230, which may include, but is not limited to, its position and orientation in space and/or information about the light source 220, which may include, but is not limited to, its position and orientation in space. Information about the detector 230 and/or the light source 220 can be used to produce the three-dimensional position (x, y, z states within some reference frame) of the points or regions where the pattern and part 210 intersect. Similarly stated, three-dimensional coordinates for portions of the part 210 illuminated by the pattern can be determined. Any desired technique and method to produce the data may be used with the disclosed system.



FIG. 3 and FIG. 4 are illustrations of example patterns that can be projected by a light source that can be used to distinguish first-order reflections from second-order reflections, according to two embodiments. In particular, the patterns shown in FIGS. 3 and 4 do not have reflection or rotational symmetry. Thus, a second-order reflection of the patterns shown in FIGS. 3 and 4 can be distinguished from a first-order reflection. Similarly stated, the patterns shown in FIGS. 3 and 4, under any rotation or combination of rotations will never be identical or equivalent to the original (predetermined) pattern after a reflection followed by any rotation or combination of rotations. Rotation of a pattern in a mathematical sense, as applied to a two-dimensional pattern on some plane in Euclidean space, is a mapping from the Euclidean space to itself, where the shape or points are rotated about a single point on the plane and where the shape is preserved. Reflection of a pattern in a mathematical sense, as applied to a two-dimensional pattern on some plane in Euclidean space, is a mapping from the Euclidean space to itself, where the points or shapes that are reflected are mirrored about an axis on the plane.


The pattern of FIG. 3 includes two distinct portions, a linear portion 321 and a pattern portion 322. The linear portion 321 has a predefined orientation and position relative to the pattern portion 322. In some embodiments, the linear portion 321 and the pattern portion 322 can be different colors. For example, the linear portion 321 can be a green laser line and the pattern portion 322 can be red. It should be understood that the linear portion 321 and the pattern portion 322 can be any wavelength (e.g., any “color,” including wavelengths not visible to the human eye) or combination of wavelengths. Furthermore, it should be understood that the linear portion 321 and the pattern portion 322 can be generated separately or together (e.g., from a single light source or using multiple light sources).


In some embodiments, the linear portion 321 can be used for laser triangulation to determine the shape of a part, while the pattern portion 322 can be used to determine whether a reflection is a first-order reflection (used to determine the shape of a part) or a second- or higher-order reflection, which can be filtered or refuted. In embodiments in which the linear portion 321 and the pattern portion 322 are different colors, the pattern portion 322 can be filtered from an image after any reflections are refuted, which can provide a simpler image for laser triangulation processing.


Unlike the pattern of FIG. 3, the pattern of FIG. 4 does not have a distinct linear portion and pattern portion. Portion 421 of pattern 420 is linear, can be detected and/or isolated from images of the pattern 420 by a compute device, and used to conduct laser triangulation analysis of a part. In yet other embodiments, the pattern may not include a single or continuous line.


As described herein, any suitable pattern can be used, provided the detector and/or the compute devise can distinguish between first-order reflections and second-order reflections (and, in some instances, higher-order reflections). In some embodiments, the patterns do not have reflection or rotational symmetry. Similarly stated, patterns of any size, shape, and configuration can be used and may be selected based on the application, classification technique, type of light source available, and/or any other factor. In some embodiments, multiple patterns can be projected onto a part. In some embodiments, a pattern can include multiple linear portions such that multiple “laser lines” or laser line analogs can illuminate a part simultaneously. In embodiments in which multiple patterns and/or patterns having multiple linear portions illuminate a part, each pattern can be similar or each pattern can be different. Using different patterns and/or colors can be helpful to distinguish patterns, and hence originating light source, from each other in multiple pattern embodiments. Furthermore, in some embodiments, multiple patterns can be used in coordination, concurrently and/or sequentially, which can improve visibility on some surfaces or objects. Similarly stated, some patterns, colors, etc. may be more visible on certain surfaces than others.



FIGS. 3 and 4 depict patterns having a portion that includes non-isosceles right triangles, but it should be understood that any suitable pattern can be used. Similarly stated, laser triangulation can be used to ascertain a shape of a part using any pre-determined pattern. Such patterns may not include a continuous linear portion and/or may contain curves and/or arcs used for laser triangulation. Such patterns will typically not have reflection or rotational symmetry. Such patterns may overlap a linear (or curved) portion that is used for laser triangulation. Multiple patterns can be used, with no limitation on the number and type(s) of patterns implemented. The pattern may or may not fully encompass the entirety of the linear (or curved) portion used for laser triangulation.



FIG. 5 is a flow chart of a method for determining a geometry of at least a portion of a part, according to an embodiment. At 510, a part can be illuminated with a pattern. As described above, the pattern typically does not have reflection or rotational symmetry. Additionally, the pattern typically includes a linear portion, either as part of the pattern itself (e.g., as shown in FIG. 4) or associated with the pattern (e.g., as shown in FIG. 3). In some embodiments, the pattern can be moved or “scanned” over the part, such that each portion of a surface of the part is illuminated by the pattern. In some embodiments, the part can be moved or rotated such additional surfaces of the part can be illuminated by the pattern. In some embodiments, multiple light sources disposed in different locations can illuminate the part from multiple angles such that multiple surfaces of the part can be illuminated.


At 520, one or more images of the part can be captured by one or more detectors. In embodiments in which a pattern(s) in scanned across a surface(s) of the part, detector(s) can capture a series of images or video of the part, where the pattern is projected onto a different portion of the part in each image.


At 530, a compute device operatively coupled to the detector(s) (having a processor and a memory) can process the image(s) to identify a first-order reflection of the pattern and filter or refute second- and/or higher-order reflections. For example, as described above, the pattern can be configured such that a second-order reflection (and/or higher-order reflections) are distinguishable from first-order reflections and the compute device can be operable to reject such higher-order reflections.


Processing images to distinguish between first-order reflections and higher-order reflections includes pattern recognition and/or classification. In some embodiments, pattern recognition can include classifying a patterns detected in an image as first-order reflections (class 0) or as not-first-order reflections (class 1). Any suitable combination of software and hardware can be a classifier operable to identify a pattern as a class 0 reflection or a class 1 reflection. For example, an image of the part can be analyzed (e.g., by a processor) to identify pixels that match the color of at least a portion of the pattern projected by a light source (optionally accounting for color shifts caused by non-white surfaces and/or non-ideal mirrors). The pattern of pixels that match the color of at least a portion of the pattern can be compared to an expected pattern of a first-order reflection of the projected pattern. If the pattern of pixels matches the expected pattern of a first-order reflection, laser triangulation techniques can be applied to a portion of those pixels and/or pixels associated those pixels. If the pattern of pixels does not match the expected pattern (e.g., the pattern of pixels is a “mirror image” of the expected pattern), those pixels and/or other pixels associated with those pixels can be identified as being associated with a second- or higher-order reflection and may be filtered or discarded before laser triangulation techniques are applied to the image.


In some embodiments, a pattern projected onto a part may be reflected more than two times and yet may appear to be a first-order reflection. For example, a third-order or other higher-order reflection may, under certain circumstances, appear similar to a first-order reflection. In some embodiments odd-numbered non-first-order reflections can be identified as class 1 reflections by analyzing intensity, noise, and/or clarity of the pattern. For real-world surfaces (i.e., not ideal mirrors), each reflection induces a degree of scattering due to surface imperfections, absorbance, and the like. Accordingly, patterns having noise above a predetermined or dynamic threshold, intensity below a predetermined or dynamic threshold, and/or clarity below a predetermined or dynamic threshold can be identified as class 1 reflections and rejected.


In some embodiments, a convolutional neural network (CNN) which also may be called deep convolutional neural network or simply convolutional network, can be used as the classifier to recognize a pattern or any part thereof. Any suitable CNN, having any suitable number of layers, activation function of the neurons, connection between layers, network structure, and/or the like may be used to classify patterns detected in images. In some embodiments, the network structure of a CNN may be tuned and/or altered through training using any suitable means. A CNN may be initialized using any suitable means. In addition or alternatively, techniques like Scale Invariant Feature Transform (SIFT), or other types of neural networks could be used as a classifier to identify a pattern.


In some embodiments, the classifier can localize and/or be implemented in a way to operate on regions, sub-elements, or sub-images within one or more images captured by the detector. In some embodiments, the classifier can be applied such that individual pixels (or regions indexed in some other fashion), acquired by the detector(s), can be classified.


As an example, a classifier can operate by, for each pixel in the image, creating a sub-image. Each sub-image can have an odd number of (pixel) rows and an odd number of (pixel) columns centered on a particular pixel. The size of each sub-image (e.g., the number or rows and columns) can be selected based on the pattern and configured such that a salient feature of the pattern (e.g., at least one entire triangle of the patterns shown in FIGS. 3 and/or 4) will be contained in the sub-image when the linear portion of the pattern is centered in the sub-image. The classifier can determine whether the center pixel is constituent to a linear portion of a pattern and whether the pattern is a first-order reflection or a greater-than-first-order reflection. The classifier can denote the sub-image as class 0 if the center pixel is constituent to a linear portion of a pattern and the pattern is a first-order reflection. The classifier can denote the sub-image as class 1 if the center pixel is not constituent to a linear portion of a pattern and/or the pattern is not a first-order reflection. The classifier can iterate the various sub-images and save the classification result in memory. It should be understood, however, that other classifiers may be operable to classify more than one pixel at a time in an image or sub-image, that the location of the pixel or pixels used to classify an image and/or sub-image need not be the central pixel, and/or the image and/or sub-image may be filtered, normalized, or otherwise processed by the classifier or before the image is received by the classifier.


At 540, a model of at least a portion of the part can be generated by the compute device, using only first-order reflections (class 0) of the pattern. Similarly stated, laser triangulation can be performed on first-order reflections of the pattern using, for example, known positions of the detector(s) and/or light source(s). In other words, deviations in a first-order reflection of a linear or other portion of the pattern having a predetermined shape can be used to identify the shape of the portion of the part illuminated by that portion of the pattern. That is, portions of the pattern that are known to be linear (or having another pre-determined shape) may appear non-linear (or have a shape different from the pre-determined shape) in the first-order reflection due to being projected onto and reflected from a non-planar surface. By analyzing first order reflections of the pattern, such deviations can be used to map the surface of the part onto which the pattern is projected.


In embodiments in which the pattern(s) is scanned across a surface of the part, a three-dimensional model of the surface can be generated using the multiple images that were processed at 530 to remove second- and/or higher-order reflections. Similarly stated, each image can capture a different portion of the part illuminated by a first order reflection of a linear or other portion of the pattern having a predetermined shape and deviations in that portion of the pattern can be used to generate a three-dimensional model of the surface of the part.


Embodiments described herein can be particularly suitable for completely or semi-autonomous manufacturing processes, such as robotic welding. For example, in some embodiments, a light source and/or detector can be coupled to a suitable robot (e.g., a six-axis welding robot). Models of parts described herein can be used to identify joints for welding or other features for automated machining processes. Many welding processes involve the joining of highly reflective materials, such as aluminum and stainless steel. Such materials often are also frequently curved and cast multiple reflections, which may render traditional laser-triangulation methods unsuitable.


While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, some embodiments described herein reference a single light source, a single detector, and/or a single pattern. It should be understood, however, that multiple light sources can illuminate a part. Each light source can illuminate the part with a similar pattern, or different patterns. Patterns can be detected by multiple detectors. In embodiments with multiple light sources, it may be advantageous for each light source to illuminate the part with a different pattern such that detector(s) and/or compute devices processing images captured by detectors can identify which light source projected which pattern.


Furthermore, although various embodiments have been described as having particular features and/or combinations of components, other embodiments are possible having a combination of any features and/or components from any of embodiments where appropriate as well as additional features and/or components. For example, although not described in detail above, in some embodiments, methods of determining a shape of a portion of a part may include a calibration phase during which distortion of the detector(s), the lens(es) on said detector(s), the distortion in the combination of detector(s) and lens(es), and/or the relative position of the camera(s) to a test surface or fixture onto which a pattern(s) is projected are determined.


Some embodiments described herein relate to methods and/or processing events. It should be understood that such methods and/or processing events can be computer-implemented. That is, where method or other events are described herein, it should be understood that they may be performed by a compute device having a processor and a memory such as the compute device 240. Methods described herein can be performed locally, for example, at a compute device physically co-located with a detector, light emitter, and/or part, and/or remotely, e.g., on a server and/or in the “cloud.”


Memory of a compute device is also referred to as a non-transitory computer-readable medium, which can include instructions or computer code for performing various computer-implemented operations. The computer-readable medium (or processor-readable medium) is non-transitory in the sense that it does not include transitory propagating signals per se (e.g., a propagating electromagnetic wave carrying information on a transmission medium such as space or a cable). The media and computer code (also can be referred to as code) may be those designed and constructed for the specific purpose or purposes. Examples of non-transitory computer-readable media include, but are not limited to: magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical storage media such as Compact Disc/Digital Video Discs (CD/DVDs), Compact Disc-Read Only Memories (CD-ROMs), and holographic devices; magneto-optical storage media such as optical disks; carrier wave signal processing modules, Read-Only Memory (ROM), Random-Access Memory (RAM) and/or the like. One or more processors can be communicatively coupled to the memory and operable to execute the code stored on the non-transitory processor-readable medium. Examples of processors include general purpose processors (e.g., CPUs), Graphical Processing Units, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Digital Signal Processor (DSPs), Programmable Logic Devices (PLDs), and the like. Examples of computer code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments may be implemented using imperative programming languages (e.g., C, Fortran, etc.), functional programming languages (Haskell, Erlang, etc.), logical programming languages (e.g., Prolog), object-oriented programming languages (e.g., Java, C++, etc.) or other suitable programming languages and/or development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.


Where methods described above indicate certain events occurring in certain order, the ordering of certain events may be modified. Additionally, certain of the events may be performed concurrently in a parallel process when possible, as well as performed sequentially as described above. Although various embodiments have been described as having particular features and/or combinations of components, other embodiments are possible having a combination of any features and/or components from any of the embodiments where appropriate.

Claims
  • 1. A method, comprising: receiving, from a detector, an image of a part illuminated by a light source, the light source configured to project a predetermined pattern that lacks reflection symmetry;classifying at least one reflection of the predetermined pattern based on a comparison of the at least one reflection to an expected pattern such that each first-order reflection from the at least one reflection is classified into a first class of reflections and each second or higher-order reflection from the at least one reflection is classified into a second class of reflections;identifying pixels in the image that match a color of at least a portion of the predetermined pattern; andcomparing a pattern of the identified pixels to the expected pattern, wherein classifying the at least one reflection of the identified pixels is based on comparing the identified pixels to the expected pattern.
  • 2. The method of claim 1, wherein: the at least one reflection includes a first reflection and a second reflection;the pattern of the identified pixels is a first pattern associated with a first subset of the pixels; andclassifying further comprises: classifying the first reflection associated with the first subset of the pixels into the first class based on the first pattern of pixels matching the expected pattern; andclassifying the second reflection associated with a second subset of the pixels into the second class based on a second pattern of pixels associated with the second subset of pixels not matching the expected pattern.
  • 3. The method of claim 1, wherein the predetermined pattern includes a linear portion and a non-symmetric portion.
  • 4. The method of claim 3, wherein classifying further comprises: identifying a pixel in the image of the part, the pixel corresponding to the linear portion of the predetermined pattern;generating a sub-image with the pixel as a center, the sub-image including at least a portion of the at least one reflection of the non-symmetric portion of the predetermined pattern; andclassifying the at least one reflection based on a comparison of the sub-image to at least a portion of the expected pattern of the first-order reflection.
  • 5. The method of claim 3, wherein the non-symmetric portion includes a plurality of non-isosceles triangle.
  • 6. The method of claim 1, further comprising identifying, based at least in part on an analysis of the first class of reflections, a shape of at least a portion of the part.
  • 7. The method of claim 1, wherein the at least one reflection of the predetermined pattern is classified by a convolutional neural network.
  • 8. The method of claim 1, further comprising: generating a three-dimensional model of at least a portion of the part based on the image after the second class of reflections are filtered.
  • 9. A system, comprising: a light source configured to project a predetermined pattern that lacks reflection symmetry;a detector configured to capture an image of a part illuminated by the light source; anda processor communicatively coupled to the detector, the processor configured to: classify at least one reflection of the predetermined pattern based on a comparison of the at least one reflection to an expected pattern such that each first-order reflection from the at least one reflection is classified into a first class of reflections and each second or higher-order reflection from the at least one reflection is classified into a second class of reflections;identify pixels in the image that match a color of at least a portion of the predetermined pattern; andcompare a pattern of the identified pixels to the expected pattern, andwherein classifying the at least one reflection of the identified pixels is based on comparing the identified pixels to the expected pattern.
  • 10. The system of claim 9, wherein: the at least one reflection includes a first reflection and a second reflection;the pattern of the identified pixels is a first pattern associated with a first subset of the pixels; andthe processor is further configured to: classify the first reflection associated with the first subset of the pixels into the first class based on the first pattern of pixels matching the expected pattern; andclassify the second reflection associated with a second subset of the pixels into the second class based on a second pattern of pixels associated with the second subset of pixels not matching the expected pattern.
  • 11. The system of claim 9, wherein the predetermined pattern includes a linear portion and a non-symmetric portion.
  • 12. The system of claim 11, wherein the processor is further configured to: identify a pixel in the image of the part, the pixel corresponding to the linear portion of the predetermined pattern;generate a sub-image with the pixel as a center, the sub-image including at least a portion of the at least one reflection of the non-symmetric portion of the predetermined pattern; andclassify the at least one reflection based on a comparison of the sub-image to at least a portion of the expected pattern of the first-order reflection.
  • 13. The system of claim 12, wherein the processor is further configured to identify, based at least in part on an analysis of the first class of reflections, a shape of at least a portion of the part.
  • 14. The system of claim 11, wherein the non-symmetric portion includes a plurality of non-isosceles triangle.
  • 15. The system of claim 9, wherein the processor implements a classifier to classify the at least one reflection and wherein the classifier includes at least one convolutional neural network.
  • 16. The system of claim 9, wherein the processor is further configured to: generate a three-dimensional model of at least a portion of the part based on the image after the second class of reflections are filtered.
  • 17. A non-transitory processor-readable medium storing code configured to be executed by a processor, the code comprising code to cause the processor to: receive, from a detector, an image of a part illuminated by a light source, the light source configured to project a predetermined pattern that lacks reflection symmetry;classify at least one reflection of the predetermined pattern based on a comparison of the at least one reflection to an expected pattern of a first-order reflection of the predetermined pattern such that each first-order reflection from the at least one reflection is classified into a first class of reflections and each second or higher-order reflection from the at least one reflection is classified into a second class of reflections;identify pixels in the image that match a color of at least a portion of the predetermined pattern; andcompare a pattern of the identified pixels to the expected pattern, wherein classifying the at least one reflection of the identified pixels is based on comparing the identified pixels to the expected pattern.
  • 18. The non-transitory processor-readable medium of claim 17, the code further comprising code to cause the processor to identify, based at least in part on an analysis of the first class of reflections, a shape of at least a portion of the part.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/778,649, filed Jan. 31, 2020, which is a continuation of U.S. patent application Ser. No. 16/397,428, filed Apr. 29, 2019, now U.S. Pat. No. 10,551,179, which claims priority to and the benefit of U.S. Provisional Application No. 62/664,320, filed Apr. 30, 2018, each entitled, “Reflection Refuting Laser Scanner,” the disclosure of each of which is incorporated herein by reference in its entirety.

US Referenced Citations (141)
Number Name Date Kind
3532807 Webb et al. Oct 1970 A
4011437 Hohn Mar 1977 A
4021840 Ellsworth et al. May 1977 A
4148061 Lemelson Apr 1979 A
4255643 Balfanz Mar 1981 A
4380696 Masaki Apr 1983 A
4412121 Kremers et al. Oct 1983 A
4482968 Inaba et al. Nov 1984 A
4492847 Masaki et al. Jan 1985 A
4495588 Nio et al. Jan 1985 A
4497019 Waber Jan 1985 A
4497996 Libby, Jr. et al. Feb 1985 A
4515521 Takeo et al. May 1985 A
4553077 Brantmark et al. Nov 1985 A
4555613 Shulman Nov 1985 A
4561050 Iguchi et al. Dec 1985 A
4567348 Smith et al. Jan 1986 A
4575304 Nakagawa et al. Mar 1986 A
4578554 Coulter Mar 1986 A
4580229 Koyama et al. Apr 1986 A
4587396 Rubin May 1986 A
4590577 Nio et al. May 1986 A
4593173 Bromley et al. Jun 1986 A
4595989 Yasukawa et al. Jun 1986 A
4613942 Chen Sep 1986 A
4616121 Clocksin et al. Oct 1986 A
4617504 Detriche Oct 1986 A
4642752 Debarbieri et al. Feb 1987 A
4652803 Kamejima et al. Mar 1987 A
4675502 Haefner et al. Jun 1987 A
4677568 Arbter Jun 1987 A
4685862 Nagai et al. Aug 1987 A
4724301 Shibata et al. Feb 1988 A
4725965 Keenan Feb 1988 A
4744039 Suzuki et al. May 1988 A
4745857 Putnam et al. May 1988 A
4804860 Ross et al. Feb 1989 A
4812614 Wang et al. Mar 1989 A
4833383 Skarr et al. May 1989 A
4833624 Kuwahara et al. May 1989 A
4837487 Kurakake et al. Jun 1989 A
4845992 Dean Jul 1989 A
4899095 Kishi et al. Feb 1990 A
4906907 Tsuchihashi et al. Mar 1990 A
4907169 Lovoi Mar 1990 A
4924063 Buchel et al. May 1990 A
4945493 Huang et al. Jul 1990 A
4969108 Webb et al. Nov 1990 A
4973216 Domm Nov 1990 A
5001324 Aiello et al. Mar 1991 A
5006999 Kuno et al. Apr 1991 A
5053976 Nose et al. Oct 1991 A
5083073 Kato Jan 1992 A
5096353 Tesh et al. Mar 1992 A
5154717 Matsen, III et al. Oct 1992 A
5159745 Kato Nov 1992 A
5219264 McClure et al. Jun 1993 A
5245409 Tobar Sep 1993 A
5288991 King et al. Feb 1994 A
5300869 Skaar et al. Apr 1994 A
5329469 Watanabe Jul 1994 A
5379721 Dessing et al. Jan 1995 A
5457773 Jeon Oct 1995 A
5465037 Huissoon et al. Nov 1995 A
5479078 Karakama et al. Dec 1995 A
5511007 Nihei et al. Apr 1996 A
5532924 Hara et al. Jul 1996 A
5570458 Umeno et al. Oct 1996 A
5572102 Goodfellow et al. Nov 1996 A
5600760 Pryor Feb 1997 A
5602967 Pryor Feb 1997 A
5608847 Pryor Mar 1997 A
5612785 Boillot et al. Mar 1997 A
5828566 Pryor Oct 1998 A
5906761 Gilliland et al. May 1999 A
5925268 Britnell Jul 1999 A
5956417 Pryor Sep 1999 A
5959425 Bieman et al. Sep 1999 A
5961858 Britnell Oct 1999 A
6035695 Kim Mar 2000 A
6044170 Migdal et al. Mar 2000 A
6049059 Kim Apr 2000 A
6084203 Bonigen Jul 2000 A
6163946 Pryor Dec 2000 A
6167607 Pryor Jan 2001 B1
6304050 Skaar et al. Oct 2001 B1
6430474 DiStasio et al. Aug 2002 B1
7130718 Gunnarsson et al. Oct 2006 B2
7151848 Watanabe et al. Dec 2006 B1
7734358 Watanabe et al. Jun 2010 B2
7805219 Ishikawa et al. Sep 2010 B2
7813830 Summers et al. Oct 2010 B2
7818091 Kazi et al. Oct 2010 B2
7946439 Toscano et al. May 2011 B1
8494678 Quandt et al. Jul 2013 B2
8525070 Tanaka et al. Sep 2013 B2
8538125 Linnenkohl et al. Sep 2013 B2
8644984 Nagatsuka et al. Feb 2014 B2
9067321 Landsnes Jun 2015 B2
9221117 Conrardy et al. Dec 2015 B2
9221137 Otts Dec 2015 B2
9666160 Patel et al. May 2017 B2
9685099 Boulware et al. Jun 2017 B2
9773429 Boulware et al. Sep 2017 B2
9821415 Rajagopalan et al. Nov 2017 B2
9836987 Postlethwaite et al. Dec 2017 B2
9937577 Daniel et al. Apr 2018 B2
9975196 Zhang et al. May 2018 B2
9977242 Patel et al. May 2018 B2
9993891 Wiryadinata Jun 2018 B2
10040141 Rajagopalan et al. Aug 2018 B2
10083627 Daniel et al. Sep 2018 B2
10191470 Inoue Jan 2019 B2
10197987 Battles et al. Feb 2019 B2
10198962 Postlethwaite et al. Feb 2019 B2
10201868 Dunahoo et al. Feb 2019 B2
11209264 Lonsberry et al. Dec 2021 B2
20030019931 Tsikos et al. Jan 2003 A1
20040105519 Yamada et al. Jun 2004 A1
20060047363 Farrelly et al. Mar 2006 A1
20060049153 Cahoon et al. Mar 2006 A1
20090075274 Slepnev et al. Mar 2009 A1
20090139968 Hesse et al. Jun 2009 A1
20100206938 Quandt et al. Aug 2010 A1
20110297666 Ihle et al. Dec 2011 A1
20120099798 Saruta et al. Apr 2012 A1
20120154577 Yoshikawa Jun 2012 A1
20120267349 Berndl et al. Oct 2012 A1
20130119040 Suraba et al. May 2013 A1
20130132038 Regan May 2013 A1
20130135450 Pallone et al. May 2013 A1
20140088577 Anastassiou et al. Mar 2014 A1
20140100694 Rueckl et al. Apr 2014 A1
20140267619 Bridges Sep 2014 A1
20150109418 Lin Apr 2015 A1
20150362312 Higo et al. Dec 2015 A1
20160096269 Atohira et al. Apr 2016 A1
20160252392 Tavassoly et al. Sep 2016 A1
20170132807 Shivaram et al. May 2017 A1
20180117701 Ge et al. May 2018 A1
20190108396 Dal Mutto Apr 2019 A1
Foreign Referenced Citations (1)
Number Date Country
2000-193438 Jul 2000 JP
Non-Patent Literature Citations (2)
Entry
International Application No. PCT/US2019/029717, filed Apr. 29, 2019, by Path Robotics, Inc.: International Search Report and Written Opinion, dated Jul. 19, 2019, including Notification of Transmittal; 13 pages.
Japanese Patent Application No. 2020-570446: Notice of Reasons for Rejection, dated Jun. 1, 2021, with English translation, 11 total pages.
Related Publications (1)
Number Date Country
20220170736 A1 Jun 2022 US
Provisional Applications (1)
Number Date Country
62664320 Apr 2018 US
Continuations (2)
Number Date Country
Parent 16778649 Jan 2020 US
Child 17547763 US
Parent 16397428 Apr 2019 US
Child 16778649 US