Patent Description:
Optical film is one example of a manufactured film and is applied to a wide variety of consumer products. As an example, sheet parts converted from optical film may be in a screen assembly of an electronic device (e.g., a mobile phone, a television, a laptop computer, a desktop computer, or a tablet). A manufacturing facility may produce a plurality of similar sheet parts (e.g., optical film sheet parts) intended to be applied to particular consumer products. Often, sheet parts produced by a manufacturing facility need to be inspected for quality-compromising defects such that sheet parts determined to be defective can be discarded. In some examples, sheet parts are inspected by employees of the manufacturing facility. Additionally, or alternatively, sheet parts may be inspected using image processing techniques configured to automatically identify defects. <CIT> relates to a method for the qualitative evaluation of a material having at least one identifying characteristic including: providing an electronic image sensor; recording a color image of said identifying characteristic of said material using said electronic image sensor; obtaining at least one first electrical signal from said electronic image sensor, said at least one first electronic signal being correlated with said color image; providing an evaluating device connected with said electronic image sensor; using said evaluating device for evaluating said at least first electronic signal; providing at least one reference image of the material having at least one identifying characteristic; obtaining a second electrical signal from said at least one reference image; storing said at least one reference signal in a data memory; providing reference variables in said second electronic signal for at least two different properties of a reference image of said first electrical signal; comparing said first electrical signal with at least said two reference variables contained in said second electrical signal; checking at least said color image of said identifying characteristic for a deviation from said reference image; and checking said identifying characteristic regarding its association with one of a defined class of identifying characteristics and a defined geometrical contour and a relative arrangement with respect to at least one further identifying characteristic of said material. <CIT> discloses systems, computer program products, and techniques for detecting objects depicted in digital image data.

In general, this disclosure describes techniques for inspecting a plurality of irregularly shaped sheet parts for defects. More specifically, this disclosure describes example techniques for identifying and processing an inspection region of each sheet part of the plurality of sheet parts, where the inspection region represents an irregularly shaped area (e.g., an area including any combination of rounded corners, tabs, or indents) of the respective sheet part. In other words, it may be desirable to inspect an interior region of the sheet part while ignoring a surrounding region of the sheet part. As such, the example techniques of this disclosure may enable the identification of a region that is in close proximity to irregular characteristics of a sheet part, so that a quality of the sheet part may be sufficiently determined. The present invention relates to a processing unit according to claim <NUM>. Embodiments and examples not falling under the scope of claim <NUM> are provided for explanatory purposes only.

In one embodiment, a system for determining a quality of each of a plurality of sheet parts produced by a manufacturing facility includes an inspection device including at least one image capture device, the at least one image capture device configured to capture a set of reference images of a sheet part of the plurality of sheet parts. The system further includes a processing unit configured to identify at least one primary point in a reference image of the set of reference images and identify at least one secondary point in a mask image of a set of mask images, where the mask image defines a silhouette of the sheet part including a size and a shape of the sheet part for inspection, and where the mask image corresponds to the reference image. The processing unit is further configured to transform the mask image based on the at least one primary point and the at least one secondary point, where the transforming changes at least one of an orientation of the mask image or a shape of the mask image to align the orientation of the mask image to an orientation of the reference image and to align the shape of the mask image to a shape of the reference image and apply the transformed mask image to the reference image to identify an inspection region within the reference image. Additionally, the processing unit is configured to process the inspection region of the reference image to determine the quality of the sheet part and output information indicative of the quality of the sheet part.

In another embodiment, a processing unit is configured to receive a set of reference images of a sheet part of a plurality of sheet parts, where the set of reference images are captured by at least one image capture device. The processing unit is further configured to identify at least one primary point in a reference image of the set of reference images and identify at least one secondary point in a mask image of a set of mask images, where the mask image defines a silhouette of the sheet part including a size and a shape of the sheet part for inspection, and where the mask image corresponds to the reference image. Additionally, the processing unit is configured to transform the mask image based on the at least one primary point and the at least one secondary point, where the transforming changes at least one of an orientation of the mask image or a shape of the mask image to align the orientation of the mask image to an orientation of the reference image and to align the shape of the mask image to a shape of the reference image, apply the transformed mask image to the reference image to identify an inspection region within the reference image, process the inspection region of the reference image to determine a quality of the sheet part, and output information indicative of the quality of the sheet part.

In another embodiment, a method includes capturing, using at least one image capture device of an inspection system, a set of reference images of a sheet part of a plurality of sheet parts, identifying, using a processing unit, at least one primary point in a reference image of the set of reference images, and identifying, using the processing unit, at least one secondary point in a mask image of a set of mask images, where the mask image defines a silhouette of the sheet part including a size and a shape of the sheet part for inspection, and where the mask image corresponds to the reference image. Additionally, the method includes transforming, using the processing unit, the mask image based on the at least one primary point and the at least one secondary point, where the transforming changes at least one of an orientation of the mask image or a shape of the mask image to align the orientation of the mask image to an orientation of the reference image and to align the shape of the mask image to a shape of the reference image, applying, using the processing unit, the transformed mask image to the reference image to identify an inspection region within the reference image, processing, using the processing unit, the inspection region of the reference image to determine a quality of the sheet part, and outputting, using the processing unit, information indicative of the quality of the sheet part.

The techniques of this disclosure may provide at least one advantage. For example, since a mask image defines a silhouette of a sheet part, the techniques may enable the identification and processing of an inspection region to determine a quality of an irregularly shaped sheet part. Additionally, the techniques provide flexibility for aligning an orientation of the mask image with an orientation of the reference image, allowing the identification of an inspection region of a sheet part that is rotationally displaced from a longitudinal axis. Moreover, the mask image may define a binary image having only two possible pixel values. As such, it may be beneficial to transform the mask image instead of the reference image so that during transformation, pixel values do not need to be altered.

The details of at least one example of the disclosure are set forth in the accompanying drawings and the description below.

Systems and techniques are described for automatically determining a quality of each sheet part of a plurality of sheet parts created by a manufacturing facility to enable sorting the plurality of sheet parts into bins according to quality. Accuracy may be important while determining the quality of the plurality of sheet parts, as erroneous quality determinations may cause a high-quality sheet part to be discarded or may cause a low-quality sheet part to be shipped for consumption. Consequently, a well-performing inspection system may increase an efficiency of the manufacturing facility and increase the quality of sheet parts produced by the manufacturing facility.

The present disclosure describes image processing techniques used to analyze a set of reference images of a sheet part for quality-compromising defects. Such defects may determine a quality category (e.g., a satisfactory category, a defective category, or a rework category) of the sheet part. An inspection device may capture a set of reference images corresponding to each sheet part of a plurality of sheet parts. In some cases, it may be beneficial to inspect specific regions of the sheet part such as an interior region, a boundary region, or a region outside of the boundary region. As such, a processing unit may place a mask image over a reference image of the set of reference images, where the mask image represents an area of the sheet part to be examined for defects. As such, a processing unit may place a mask image over a reference image of the set of reference images to cover the interior region of the reference image, where the interior region covered by the mask image represents the region to be inspected for defects. Alternatively, for example, a processing unit may place a mask image over the reference image of the set of reference images to obscure the boundary region of the reference image, while the interior region of the reference image remains exposed for inspection. Alternatively, for example, multiple individual regions may be obscured or open for inspection and the mask image may be configured appropriately for each case.

While each sheet part of the plurality of sheet parts may be substantially similar in size and shape, each sheet part may enter the inspection device at a different angle relative to a longitudinal axis. Consequently, reference images may depict the plurality of sheet parts at different angles relative to the longitudinal axis. In addition, each sheet part may be slightly different in size depending on the manufacturing operations and tolerances. Consequently, reference image may depict the plurality of sheet parts at different shape scales.

Prior to inspecting the plurality of sheet parts, the inspection device may create a set of mask images. In some examples, the set of mask images are binary images (i.e., the mask images are exclusively black and white) in a shape of an example sheet part of the plurality of sheet parts. To create the set of mask images, the inspection device may capture an example set of reference images of the example sheet part. A user interface of the inspection device may accept an input, where the input creates the set of mask images based on the example set of reference images. The set of mask images may be oriented at a predetermined angle relative to the longitudinal axis. As such, the processing unit may transform a mask image such that an orientation of the mask image is aligned with an orientation of a respective reference image. In other words, the transformed mask image may be "tilted" about the longitudinal axis such that the transformed mask image adopts the orientation of the respective reference image. Furthermore, the processing unit may transform a mask image such that a shape of the mask image is aligned with a shape of a respective reference image. In some examples, an affine transformation transforms the set of mask images. The affine transformation may be configured to transform the set of mask images to adopt at least one of the shape and the orientation of each reference image of each sheet part of the plurality of sheet parts. Consequently, the processing unit may be configured to identify an inspection region of each reference image and determine the quality of each sheet part.

The methods and systems of this disclosure may enable quickly measuring the plurality of sheet parts. For example, transforming the set of mask images may enable quickly and accurately determining the quality of the plurality of sheet parts, thus improving the efficiency of the manufacturing facility. After determining the quality of a sheet part, the inspection device may sort the sheet part into bins according to the determined quality of the sheet part.

<FIG> is a block diagram illustrating a system for manufacturing a plurality of sheet parts, and for imaging and inspecting the plurality of sheet parts for defects, in accordance with at least one exemplary technique described in this disclosure. In the example illustrated in <FIG>, system <NUM> includes inputs <NUM>, manufacturing process <NUM>, sheet parts <NUM>, inspection device <NUM>, cleaning unit <NUM>, imaging unit <NUM>, image capture devices 110A-110N (collectively, "image capture devices <NUM>"), bins <NUM>, processing unit <NUM>, and user interface <NUM>.

Manufacturing process <NUM> as shown in <FIG> receives various inputs <NUM> (e.g., material, energy, people, and machinery) and produces an output including a plurality of sheet parts (e.g., sheet parts <NUM>). Manufacturing process <NUM> is not limited to any particular type or form of manufacturing and is illustrative of any type of manufacturing process operable to produce sheet parts. In some examples, inputs <NUM> include a long continuous sheet of a roll good product (e.g., a polyester film (e.g., an optical film)). Manufacturing process <NUM> may include partitioning individual portions of the long continuous sheet to create sheet parts <NUM>. For example, sheet parts <NUM> may include pieces cut from the long continuous sheet, the pieces having a basic shape (e.g., a square, a rectangle, or a circle). Additionally, or alternatively, sheet parts <NUM> may define an irregular shape. In some examples, sheet parts <NUM> include pieces of the long continuous sheet cut in the shape of an object (e.g., a mobile device, a laptop computer, a desktop computer, a television, or a window). Once produced by manufacturing process <NUM>, sheet parts <NUM> may be applied to a surface of the respective object.

Sheet parts <NUM> may be substantially similar in shape, material composition, and thickness such that each sheet part of the plurality of sheet parts appears to be alike. In some examples, a diagonal measurement of a sheet part of sheet parts <NUM> is greater than <NUM> millimeters (mm) and less than <NUM>,<NUM>. In some examples, a nominal thickness of sheet parts <NUM> is greater than about <NUM> micrometers and less than about <NUM> micrometers, although the nominal thickness dimension of sheet parts <NUM> is not limited to this range of thicknesses, and sheet parts <NUM> may have a nominal thickness that is greater than about <NUM> micrometers or less than about <NUM> micrometers. In some embodiments, each sheet part of sheet parts <NUM> comprises a single layer of transparent or semi-transparent material or may include a plurality of layers of materials. Sheet parts <NUM> may comprise transparent or semi-transparent material intended to provide particular levels of light transmission, generally through the thickness dimension of sheet parts <NUM>, for a particular wavelength of light or for a range of wavelengths of light. Sheet parts <NUM> may have various requirements related to the flatness of the top and/or bottom surfaces of the sheet parts, and/or related to the lack of defects.

During the manufacturing process <NUM>, sheet parts <NUM> may accrue a variety of defects. In some examples, defects include particles, scuffs, scratches, dents, streaks, or impressions. A presence of defects may determine a quality of a sheet part of sheet parts <NUM>. Some defects are miniscule in size and severity, and do not noticeably affect the quality of a sheet part. However, other defects may be more severe, and may negatively affect the quality of the sheet part. A sheet part may be classified as defective if greater than a primary threshold level of defects is detected in the sheet part. Additionally, or alternatively, a sheet part may be classified as satisfactory if less than a secondary threshold level of defects is detected in the sheet part. In some cases, a sheet part may be classified into a "rework" category if greater than the secondary threshold level of defects is detected in the sheet part and less than the primary threshold level of defects is detected. In other words, "rework" sheet parts may possess a higher quality level than defective sheet parts and a lower quality level than satisfactory sheet parts.

System <NUM> may manufacture and inspect sheet parts <NUM> in an assembly line. In other words, after manufacturing process <NUM> creates sheet parts <NUM>, the sheet parts may travel through cleaning unit <NUM> and imaging unit <NUM>. Subsequently, sheet parts <NUM> may be sorted into bins <NUM>. Sheet parts <NUM> may continuously cycle through system <NUM> such that additional sheet parts enter imaging unit <NUM> as newly inspected sheet parts exit imaging unit <NUM> into bins <NUM>. In some examples, a moving belt (e.g., a conveyor belt) continuously transports sheet parts <NUM> from an endpoint of manufacturing process <NUM> through inspection device <NUM> to bins <NUM>.

Inspection device <NUM> may include cleaning unit <NUM> and imaging unit <NUM>. In some examples, inspection device <NUM> includes an entry zone (not shown) for sheet parts <NUM> to enter inspection device <NUM>. In some examples, the entry zone of inspection device <NUM> automatically receives a sheet part from a collection of sheet parts <NUM>. For example, the entry zone of inspection device <NUM> may include a portion of a moving belt that transports sheet parts <NUM> from manufacturing process <NUM>, enabling sheet parts <NUM> to efficiently enter inspection device <NUM>. In other examples, sheet parts <NUM> may be assembled in a stack after the sheet parts are created by manufacturing process <NUM>, and individual sheet parts of the stack of sheet parts may automatically and continuously dispense onto the entry zone of inspection device <NUM>. Additionally, or alternatively, inspection device <NUM> may include a selection member (not shown) configured to select an individual sheet part from the stack of sheet parts <NUM> and place the individual sheet part onto the entry zone of inspection device <NUM>. In other examples, a device operator may manually place sheet parts <NUM> on the entry zone.

In the example of <FIG>, inspection device <NUM> includes cleaning unit <NUM> configured to remove particles (e.g., airborne particles, dust particles, or liquid droplets) from a surface of sheet parts <NUM> as the sheet parts travel to imaging unit <NUM>. By cleaning sheet parts <NUM> before imaging, cleaning unit <NUM> may prevent system <NUM> from falsely detecting defects in reference images of the plurality of sheet parts <NUM> and needlessly classifying sheet parts as defective. Although <FIG> illustrates inspection device <NUM> as including cleaning unit <NUM>, in some examples (not shown), inspection device <NUM> does not include cleaning unit <NUM>. For example, sheet parts <NUM> may advance directly to imaging unit <NUM> after being produced by manufacturing process <NUM>.

Imaging unit <NUM> may include image capture devices <NUM>. Each of image capture devices <NUM> may be a camera or other component configured to capture image data representative of sheet parts <NUM> within imaging unit <NUM>. In other words, the image data captures a visual representation of an environment, such as sheet parts <NUM> within imaging unit <NUM>. Each of image capture devices <NUM> may include components capable of capturing image data, such as a video recorder, an infrared camera, a CCD (Charge Coupled Device) array, or a laser scanner. Moreover, the captured image data can include at least one of an image, a video, a sequence of images (e.g., multiple images taken within a time period and/or with an order), or a collection of images.

In some examples, image capture devices <NUM> are conventional imaging devices that are capable of reading a sequential portion of a moving sheet part and providing output in the form of a digital data stream. Image capture devices <NUM> may be cameras that directly provide a digital data stream or an analog camera with an additional analog to digital converter. Additionally, image capture devices <NUM> may include other sensors, such as, for example, laser scanners. Examples of image capture devices <NUM> include linescan cameras such as those marketed under the trade designation "PIRANHA" from Dalsa, Waterloo, Ontario, Canada and "ELIIXA" from Teledyne e2v, Thousand Oaks, CA. Additional examples include laser scanners from Surface Inspection Systems GmbH, Munich, Germany, in conjunction with an analog to digital converter. In some examples, an imaging resolution of image capture devices <NUM> is greater than about <NUM> micrometers per pixel and less than about <NUM> micrometers per pixel. For example, an imaging resolution of image capture devices <NUM> may be about <NUM> micrometers per pixel.

Each of image capture devices <NUM> may capture a set of reference images corresponding to a sheet part of sheet parts <NUM>. In some examples, if imaging unit <NUM> includes N number of image capture devices <NUM>, image capture devices <NUM> will capture a set of N reference images of the sheet part. For example, if imaging unit <NUM> includes five image capture devices <NUM>, image capture devices <NUM> will capture a set of five reference images of the sheet part. In some examples, image capture devices <NUM> capture a set of reference images of the sheet part simultaneously. In other examples, image capture devices <NUM> capture a set of reference images of the sheet part in a consecutive order. As a plurality of sheet parts cycle through imaging unit <NUM>, image capture devices <NUM> may capture a set of reference images corresponding to each sheet part of the plurality of sheet parts.

Automatic image capturing may increase a rate in which system <NUM> is able to determine a quality of sheet parts <NUM>. In some examples, as a sheet part travels through system <NUM>, image capture devices <NUM> detect a presence of the sheet part within imaging unit <NUM>. In response to detecting the sheet part, image capture devices <NUM> may capture a set of reference images of the sheet part. In some examples, image capture devices <NUM> simultaneously capture the set of reference images in response to a single image capture device (e.g., image capture device 110A) detecting the presence of the sheet part. In other examples, each image capture device of image capture devices <NUM> independently detects the presence of the sheet part, responsively capturing a reference image of the sheet part after detecting the sheet part. For example, image capture device 110A may detect the sheet part in response to the sheet part travelling between a light (not shown) and image capture devices <NUM>. The resulting obfuscation of the light by the sheet part may be detected by at least one light sensor of image capture device 110A, thus triggering image capture device 110A to capture a reference image of the sheet part. In this manner, each of the other image capture devices (i.e., image capture devices 110B-110N) may sense the presence of the sheet part and independently capture reference images pf the sheet part. The reference images of a sheet part captured by image capture devices <NUM> may form a set of reference images. As such, image capture devices <NUM> may capture a plurality of sets of reference images, where each set of reference images of the plurality of sets of reference images corresponds to a sheet part of sheet parts <NUM>.

After imaging unit <NUM> captures a set of reference images of a sheet part, inspection device <NUM> may output the set of reference images to processing unit <NUM>. Processing unit <NUM> may be configured to assess a quality of the sheet part. For example, processing unit <NUM> may identify at least one primary point in a reference image of the set of reference images. Additionally, processing unit <NUM> may identify at least one secondary point in a mask image (e.g., mask image) of a set of mask images. In some examples, the mask image corresponds to an area of the sheet part to be examined for defects. More specifically, the mask image may define a silhouette of the sheet part including a size and a shape of the sheet part for inspection. Processing unit <NUM> may transform the mask image based on the at least one primary point and the at least one secondary point identified in the reference image and the mask image, respectively. The set of mask images may be created based on manual input to a user interface, such as user interface <NUM>.

In some examples, user interface <NUM> allows a user to control system <NUM>. User interface <NUM> includes any combination of a display screen, a touchscreen, buttons, speaker inputs, or speaker outputs. In some examples, user interface <NUM> is configured to power on or power off any combination of the elements of system <NUM>. Additionally, or alternatively, user interface <NUM> may include a mask image application. The mask image application may be executed by any combination of processing circuitry located within user interface <NUM> and processing circuitry of processing unit <NUM>. The mask image application may enable system <NUM> to create the set of mask images based on an input representing manually drawn outlines of an example sheet part. In other words, image capture devices <NUM> may capture a set of example reference images, and system <NUM> may create the set of mask images based on the set of example reference images, where each mask image of the set of mask images corresponds to an example reference image of the set of example reference images. For example, the mask image application may enable a user to view each example reference image via user interface <NUM>. Additionally, user interface <NUM> may allow a user to trace an outline of an example reference image, the mask image application creating a respective mask image based on the outline traced by the user. The set of mask images may be stored in storage units of processing unit <NUM>.

Transforming the mask image may change at least one of an orientation of the mask image or a shape of the mask image to align the orientation of the mask image to an orientation of the reference image and to align the shape of the mask image to a shape of the reference image. For example, if mask image is aligned with a longitudinal axis and reference image is tilted five degrees relative to the longitudinal axis, processing unit <NUM> may transform the mask image to be tilted five degrees relative to the longitudinal axis. After mask image is transformed, processing unit <NUM> may apply the transformed mask image to the reference image, identifying an inspection region within the reference image. In other words, processing unit <NUM> may overlay the transformed mask image on the reference image, partially covering the reference image. A portion of the reference image that is covered by mask image may represent the inspection region. Processing unit <NUM> may process the inspection region of the reference image to determine the quality of the sheet part, and processing unit <NUM> may output information indicative of the quality of the sheet part.

Processing unit <NUM> may independently assess a quality of a sheet part of sheet parts <NUM> based on each reference image of the set of reference images corresponding to the sheet part. As discussed above, particular mask images within the set of mask images may be associated with particular "views" (i.e., image capture devices <NUM>) used to image sheet parts <NUM>. Each view may represent an imaging technique or modality. For example, views may include any combination of transmitted light imaging, focused light imaging, reflected light imaging, darkfield light imaging, laser scanning, or x-ray imaging. In one example, each view may be associated with a different mask image within the set of mask images. In other examples, groups of views may share a single mask image of the set of mask images. In order to comprehensively assess the quality of a sheet part of the plurality of sheet parts <NUM>, processing unit <NUM> may identify an inspection region in each reference image of the set of reference images associated with the sheet part. Processing unit <NUM> may independently process each inspection region, and processing unit <NUM> may independently make a quality determination based on each reference image of the set of reference images. After processing the set of reference images, processing unit <NUM> may output information indicative of a quality classification of the sheet part.

Inspection device <NUM> may receive information indicative of a determined quality category of a sheet part. In response to receiving the information indicative of the quality category, inspection device <NUM> may place the sheet part in bins <NUM>.

Bins <NUM> may be configured to receive sheet parts classified into at least one quality category (e.g., the satisfactory category, the defective category, and the rework category) by processing unit <NUM>. In some examples, bins <NUM> include at least one bin corresponding to the at least one quality categories. For example, bins <NUM> may include a satisfactory bin, a defective bin, and a rework bin. An output zone (not shown) of inspection device <NUM> may route a classified sheet part into a respective bin. For example, a sheet part classified as "defective" by processing unit <NUM> is routed to a "defective" bin. In some examples, the output zone of inspection device <NUM> automatically routes a classified sheet part into a respective bin. Additionally, or alternatively, system <NUM> may indicate a classification of a sheet part and a device operator may manually sort the sheet part into a respective bin. In the examples in which the output zone automatically sorts sheet parts into respective bins <NUM>, inspection device <NUM> may include a set of diverging tracks at the output zone, where each track of the diverging tracks leads to a bin of the plurality of bins <NUM>.

In some examples, bins <NUM> include a defective bin. Sheet parts that are classified as defective by processing unit <NUM> are sorted into the defective bin. The defective sheet parts may be discarded, recycled, or reused to manufacture another product. Additionally, in some examples, bins <NUM> include a satisfactory bin configured to accept sheet parts possessing a satisfactory quality level. Sheet parts sorted into the satisfactory bin may be shipped from the manufacturing facility, sold, and consumed. Bins <NUM> may also include a rework bin. Sheet parts sorted into the rework bin may include a greater level of defects than the sheet parts sorted into the defective bin and a lesser level of defects than the sheet parts sorted into the satisfactory bin. After a sheet part is sorted into the rework bin, it may be repaired (e.g., reworked) to remove defects. After a sheet part is reworked, processing unit <NUM> may classify the reworked sheet part as having satisfactory quality. Examples in which system <NUM> sorts sheet parts into three categories (i.e., the defective category, the satisfactory category, and the rework category) increase an efficiency of system <NUM> over examples in which system <NUM> sorts sheet parts into just two categories (i.e., the defective category and the satisfactory category). Indeed, the addition of the rework category may allow system <NUM> to salvage sheet parts that would otherwise be classified as defective.

<FIG> is a block diagram illustrating additional details of system <NUM> of <FIG>, in accordance with at least one exemplary technique described in this disclosure. As shown in <FIG>, system <NUM> includes image capture devices <NUM>, moving belt <NUM>, proximal wheel <NUM>, acquisition computers 114A-114N (collectively, "acquisition computers <NUM>"), analysis computer 114Y, distal wheel <NUM>, storage units <NUM>, network <NUM>, and processing unit <NUM>.

System <NUM> includes image capture devices 110A-110N arranged to inspect sheet parts continuously advanced past the image capture devices. In the exemplary embodiment of inspection system <NUM> as shown in <FIG>, at least one sheet part of sheet parts <NUM> is positioned on moving belt <NUM> between proximal wheel <NUM> and distal wheel <NUM>. Image capture devices <NUM> are positioned adjacent to a surface of the sheet parts so that each of image capture devices <NUM> may capture a reference image of each sheet part that advances through imaging unit <NUM>. The number of image capture devices that may be included in image capture devices 110A-110N is not limited to a particular number of devices and may be two or more devices. Further, the physical arrangement and alignment of image capture devices 110A-110N as shown in <FIG> is not intended to represent an actual arrangement and/or alignment of the image capture devices relative to one another that might be used in an imaging unit <NUM> of system <NUM>, and is intended merely to represent the concept of a plurality of image capture devices that may be used in a system such as system <NUM>. Embodiments of the arrangement and/or alignments of a plurality of image capture devices that may be used to capture a set of reference images of a sheet part are further illustrated and described below.

Referring to <FIG>, during the imaging process that may be performed using system <NUM>, moving belt <NUM> may be advanced in a direction generally indicated by arrow <NUM>. In some embodiments, moving belt <NUM> may support and advance a plurality of sheet parts (not shown) of sheet parts <NUM> continuously as the plurality of sheet parts are being provided by a manufacturing process, such as manufacturing process <NUM> (<FIG>). In other embodiments, the imaging of the plurality of sheet parts as illustrated in <FIG> is performed at some point in time after the plurality of sheet parts have been manufactured and stored. In some embodiments, the plurality of sheet parts may be in the form of individual sheet parts having both a pre-defined width and length, and that are advanced through imaging unit <NUM> that includes image capture devices 110A-110N so the that image capture devices <NUM> can capture a set of reference image of each sheet part of the plurality of sheet parts.

As shown in <FIG>, image capture devices <NUM> are positioned in proximity to the continuously moving belt <NUM> carrying the plurality of sheet parts. Moving belt <NUM> may be conveyed in a direction generally indicated by arrow <NUM>, and for example by mechanical forces applied to proximal wheel <NUM> and/or distal wheel115. The mechanical forces applied to rotate proximal wheel <NUM> and/or distal wheel <NUM>, and thus moving belt <NUM>, may be generated using, for example, electrical motors, or other means (none shown in <FIG>) that are arranged to rotate proximal wheel <NUM> and/or distal wheel <NUM>. As moving belt <NUM> is advanced in the direction indicated by arrow <NUM>, image capture devices <NUM> are arranged to image the plurality of sheet parts to obtain image data.

Image capture devices <NUM> are not limited to any particular type of image capture devices and may be conventional imaging devices that are capable of imaging the plurality of sheet parts as moving belt <NUM> is advanced past the image capture devices, and provide outputs in the form of electronic signal, such as a digital data stream of image data. In some embodiments, at least one of image capture devices <NUM> is a line-scan camera. In other embodiments, at least one of image capture devices <NUM> is an area scan camera. In some embodiments, each of image capture devices <NUM> are a same type of image capture device. In other embodiments image capture devices <NUM> includes at least one image capture device that is a different type of image capture device compared to the additional image capture devices present in system <NUM>.

As shown in <FIG>, image capture devices <NUM> may include a plurality of cameras that provide electrical output signals representative of sensed images of the plurality of sheet parts to a respective set of acquisition computers 114A-114N. Acquisition computers 114A-114N are coupled to analysis computer 114Y and are arranged to provide an output representative of image data captured by the corresponding image capture devices 110A-110N to analysis computer 114Y. In other embodiments, image capture devices 110A-110N may provide a digital data stream and/or an analog signal representative of the images captured by the cameras directly to a computing device, such as analysis computer 114Y, for further processing by processing circuitry included in analysis computer 114Y. Other sensors, such as laser scanners, may be utilized as image capture devices 110A-110N.

Referring again to <FIG>, processing circuitry of analysis computer 114Y processes image streams including image data provided from acquisition computers 114A-114N, or in the alternative directly from image capture devices 110A-110N, to generate reference images of the plurality of sheet parts advancing through imaging unit <NUM> on moving belt <NUM>. As part of generating the reference images, analysis computer 114Y may arrange the reference images into a plurality of sets of reference images, where each set of reference images of the plurality of sets of reference images corresponds to a sheet part of the plurality of sheet parts. In other words, a set of reference images corresponding to a single sheet part may include a reference image captured by each image capture device of image capture devices 110A-110N. Analysis computer 114Y may also be arranged to output the image data to a database, such as storage units <NUM> and/or storage units of processing unit <NUM>.

Analysis computer 114Y may be configured to perform at least one pre-processing operation on the plurality of sets of reference images captured by image capture devices <NUM> before forwarding the reference images to processing unit <NUM>. Pre-processing of the reference images may include one or some combination of performing one-dimensional or two-dimensional spatial convolutions, ranked filtering (median), contrast enhancement, static flat-field correction, difference of filtered images processing, and/or frequency processing on the image data including the reference images. Examples of spatial convolutions that may be used to pre-process the image data may include neighborhood averaging, Gaussian kernels gradient filtering, and/or directional edge enhancement. Examples of difference of filtered image processing may include processing based on difference of Gaussians for the image data. Examples of frequency transforms may include processing in frequency space to remove artifacts and then application of an inverse transform.

Referring again to <FIG>, processing unit <NUM> receives the plurality of sets of reference images and may be arranged to provide any of the features ascribed to processing unit <NUM> as illustrated and described with respect to <FIG>. For example, processing unit <NUM> may analyze the data included in plurality of sets of reference images to determine if any defects, such as machine line defects, anomalies, or other types of surface and/or dimensional defects exist in the reference images. Processing unit <NUM> may apply at least one threshold value to the reference images to determine a quality of the sheet part associated with a functional and/or physical characteristic of the sheet part based on an analysis of the set of reference images associated with the sheet part.

A user interface (e.g., user interface <NUM> of <FIG>) may be coupled to processing unit <NUM> and may be used to provide graphical displays that are indicative of the results of the analysis of the plurality of sets of reference images. For example, the user interface may indicate the determined quality of each sheet part that advances through imaging unit <NUM>.

As shown in <FIG>, processing unit <NUM> and analysis computer 114Y may be coupled to network <NUM>. Network <NUM> is not limited to any particular type of network, and may be any network, including the internet, a Local Area Network (LAN), a Wide Area Network (WAN) using any type of communication protocol that allows the devices coupled to network <NUM> to communicate with one another.

<FIG> is a block diagram illustrating a perspective view of imaging unit <NUM> of the system of <FIG>, in accordance with at least one exemplary technique described in this disclosure. As shown in <FIG>, imaging unit <NUM> may include moving belt <NUM>, longitudinal axis <NUM>, sheet parts 304A-304C (collectively, "sheet parts <NUM>"), and image capture regions 306A-306N (collectively, "image capture regions <NUM>").

Referring to <FIG>, sheet parts <NUM> may be illustrated from the perspective of image capture devices <NUM> of <FIG> and <FIG>. In other words, <FIG> depicts sheet parts <NUM> from a "bird's eye" view. Moving belt <NUM> may advance in the direction indicated by arrow <NUM>, carrying sheet parts <NUM> through image capture regions <NUM>. Image capture regions <NUM> may correspond to image capture devices <NUM> of <FIG>. For example, image capture region 306A may represent an area that image capture device 110A captures. As such, each of sheet parts <NUM> passes through each of image capture regions <NUM>, and image capture devices <NUM> capture a set of reference images corresponding to each sheet part that advances through imaging unit <NUM> on moving belt <NUM>.

Image capture regions <NUM> may be aligned with longitudinal axis <NUM> such that boundaries of image capture regions <NUM> are either perpendicular or parallel to longitudinal axis <NUM>. Alternatively, for example, as seen in <FIG>, sheet parts <NUM> may be tilted relative to longitudinal axis <NUM>. Although sheet parts <NUM> are illustrated as being tilted with respect to longitudinal axis <NUM>, in some examples (not shown) at least one of sheet parts <NUM> may be aligned with longitudinal axis <NUM> such that a proximal edge of the at least one sheet part and a distal edge of the at least one sheet part are normal to longitudinal axis <NUM>.

<FIG> is a block diagram illustrating an example processing unit <NUM>, in accordance with at least one exemplary technique described in this disclosure. Processing unit <NUM> may be an example or alternative implementation of processing unit <NUM> of system <NUM> of <FIG>. The architecture of processing unit <NUM> illustrated in <FIG> is shown for exemplary purposes only. Processing unit <NUM> should not be limited to the illustrated example architecture. In other examples, processing unit <NUM> may be configured in a variety of ways. In the example illustrated in <FIG>, processing unit <NUM> includes transformation unit <NUM> configured to determine an inspection region for inspecting a sheet part produced by a manufacturing facility. Processing unit <NUM> further includes a quality unit <NUM> configured to assess the quality of the sheet part by detecting defects in the inspection region identified by transformation unit <NUM>.

Processing unit <NUM> may be implemented as any suitable computing system, (e.g., at least one server computer, workstation, mainframe, appliance, cloud computing system, and/or other computing system) that may be capable of performing operations and/or functions described in accordance with at least one aspect of the present disclosure. In some examples, processing unit <NUM> is electrically coupled to inspection device <NUM> of <FIG>. In other examples, Processing unit <NUM> represents a cloud computing system, server farm, and/or server cluster (or portion thereof) configured to connect with system <NUM> via a wireless connection. In other examples, processing unit <NUM> may represent or be implemented through at least one virtualized compute instance (e.g., virtual machines or containers) of a data center, cloud computing system, server farm, and/or server cluster. In some examples, processing unit <NUM> includes at least one computing device, wherein each computing device having a memory and at least one processor.

As shown in the example of <FIG>, processing unit <NUM> includes processing circuitry <NUM>, at least one interface <NUM>, and at least one storage unit <NUM>. Processing unit <NUM> also includes a transformation unit <NUM> and a quality unit <NUM>, which may be implemented as program instructions and/or data stored in storage units <NUM> and executable by processing circuitry <NUM>. Storage units <NUM> of processing unit <NUM> may also store an operating system (not shown) executable by processing circuitry <NUM> to control the operation of components of processing unit <NUM>. The components, units or modules of processing unit <NUM> are coupled (physically, communicatively, and/or operatively) using communication channels for inter-component communications. In some examples, the communication channels include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.

Processing circuitry <NUM>, in one example, may include at least one processor that are configured to implement functionality and/or process instructions for execution within processing unit <NUM>. For example, processing circuitry <NUM> may be capable of processing instructions stored by storage units <NUM>. Processing circuitry <NUM>, may include, for example, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate array (FPGAs), or equivalent discrete or integrated logic circuitry, or a combination of any of the foregoing devices or circuitry.

Processing unit <NUM> may utilize interfaces <NUM> to communicate with external systems via at least one network. In some examples, interfaces <NUM> include an electrical interface (e.g., at least one of an electrical conductor, a transformer, a resistor, a capacitor, or an inductor) configured to electrically couple processing unit <NUM> to inspection device <NUM>. In other examples, interfaces <NUM> may be network interfaces (e.g., Ethernet interfaces, optical transceivers, radio frequency (RF) transceivers, Wi-Fi, or via use of wireless technology under the trade "BLUETOOTH", telephony interfaces, or any other type of devices that can send and receive information). In some examples, processing unit <NUM> utilizes interfaces <NUM> to wirelessly communicate with external systems (e.g., inspection device <NUM> of <FIG>).

Storage units <NUM> may be configured to store information within processing unit <NUM> during operation. Storage units <NUM> may include a computer-readable storage medium or computer-readable storage device. In some examples, storage units <NUM> include at least a short-term memory or a long-term memory. Storage units <NUM> may include, for example, random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), magnetic discs, optical discs, flash memories, magnetic discs, optical discs, flash memories, forms of electrically programmable memories (EPROM), or forms of electrically erasable and programmable memories (EEPROM). In some examples, storage units <NUM> are used to store program instructions for execution by processing circuitry <NUM>. Storage units <NUM> may be used by software or applications running on processing unit <NUM> to temporarily store information during program execution.

As seen in the example of <FIG>, transformation unit <NUM> includes point detection unit <NUM>, mask alteration unit <NUM>, mapping unit <NUM>, and inspection region unit <NUM>. Additionally, quality unit <NUM> includes defect detection unit <NUM> and quality evaluation unit <NUM>.

Mask images 408A-408N (collectively, "mask images <NUM>") may be an example of the set of mask images created using user interface <NUM> of <FIG>. Processing unit <NUM> may receive data indicative of mask images <NUM> via interfaces <NUM>. Reference images (409A-409N) (collectively, "reference images <NUM>") may be an example of the plurality of sets of reference images captured by image capture devices <NUM> of <FIG>. Each set of reference images may be associated with a sheet part of a plurality of sheet parts (e.g., sheet parts <NUM> of <FIG>). Processing unit <NUM> may receive data indicative of reference images <NUM> via interfaces <NUM>. In fact, processing unit <NUM> may receive sets of reference images <NUM> in real-time, individually processing each set of reference images <NUM> to determine a quality of the respective sheet part. At least one mask image of mask images <NUM> may be associated with each reference image of a set of reference images <NUM>.

Point detection unit <NUM> may identify at least one primary point in a reference image (e.g., reference image 409A) of a set of reference images <NUM> corresponding to a sheet part of the plurality of sheet parts <NUM>. In some examples, point detection unit <NUM> is configured to identify the at least one primary point by identifying a plurality of primary edges in reference image 409A. Each primary point of the at least one primary point may represent an intersection between a pair of primary edges of the plurality of primary edges. Point detection unit <NUM> may extrapolate the plurality of primary edges such that pairs of the plurality of primary edges intersect at known coordinates. The known coordinates may define the at least one primary point. In some examples, the plurality of primary edges of reference image 409A includes four primary edges, and the four primary edges may not intersect at known coordinates. For example, the four primary edges may be connected by four rounded corners. In other examples, reference image 409A may include more than four primary edges or less than four primary edges. Point detection unit <NUM> may be configured to identify at least one primary point in each reference image in the set of reference images <NUM>.

Additionally, point detection unit <NUM> may identify at least one secondary point in a mask image (e.g., mask image 408A) of the set of mask images <NUM>. Mask image 408A may be associated with reference image 409A. For example, user interface <NUM> of <FIG> may create mask image 408A based on an example reference image captured by the same image capture device (e.g., image capture device 110A of <FIG>) that captured reference image 409A. In some examples, point detection unit <NUM> is configured to identify the at least one secondary point by identifying a plurality of secondary edges in mask image 408A. Each secondary point of the at least one secondary point may represent an intersection between a pair of secondary edges of the plurality of secondary edges. Point detection unit <NUM> may extrapolate the plurality of secondary edges such that pairs of the plurality of secondary edges intersect at known coordinates. The known coordinates represent the at least one secondary point. In some examples, the plurality of secondary edges of mask image 408A includes four secondary edges, however the four secondary edges may not intersect at known coordinates. In other examples, mask image 408A may include more than four secondary edges or less than four secondary edges. Point detection unit <NUM> may be configured to identify at least one secondary point in each of mask images <NUM>.

Mask alteration unit <NUM> may be configured to crop mask image 408A. For example, mask image 408A may define a solid shape resembling the sheet part. The solid shape may be bounded by a combination of plurality of straight edges (e.g., the plurality of secondary edges) and a plurality of rounded corners. Mask alteration unit <NUM> may be configured to alter the boundary of mask image 408A by a predetermined distance while maintaining a shape of mask image 408A. In some examples, mask alteration unit <NUM> alters the boundary of mask image 408A by the predetermined distance by displacing the boundary by a predetermined number of pixels. By altering the boundary of mask image 408A by the predetermined distance, mask alteration unit <NUM> may be configured to alter a size (e.g., an area) of mask image 408A. In some examples, mask alteration unit <NUM> moves the boundary of mask image 408A inwards by a distance of greater than about <NUM> micrometers and less than about <NUM> micrometers. For example, mask alteration unit <NUM> may move the boundary of mask image 408A inwards by a distance of about <NUM> micrometers. In other examples, mask alteration unit <NUM> moves the boundary of mask image 408A outwards by a predetermined distance. In other examples, mask alteration unit <NUM> does not change the size, alter the boundaries, or otherwise change mask image 408A.

Mapping unit <NUM> may transform mask image 408A based on the at least one primary point and the at least one secondary point identified by point detection unit <NUM>. Transforming mask image 408A may change an orientation of the mask image to resemble an orientation of the respective reference image 409A. Additionally, transforming mask image 408A may change a shape of the mask image to resemble a shape of the respective reference image 409A. In some examples, mapping unit <NUM> is configured to transform mask image 408A using an affine transformation algorithm.

An affine transformation algorithm is function that is configured to map between affine spaces. In some examples, a first affine space includes sets of parallel lines and a plurality of points. The sets of parallel lines may include at least some of the plurality of points. Parallel lines of the first affine space may intersect at a plurality of angles. If the first affine space is mapped to a second affine space using an affine transformation, each set of parallel lines will remain parallel in the second affine space. However, the plurality of angles between pairs of intersecting lines may change between the first affine space and the second affine space. Additionally, each point of the plurality of points in the first affine space may be preserved in the second affine space. However, distances between points of the plurality of points may be altered between the first affine space and the second affine space. An example first affine space may include a rectangle. The rectangle is defined by two sets of parallel lines, including four total lines. The four total lines intersect at four points, the lines intersecting at right angles. An affine transformation may map the example first affine space to an example second affine space. The example second affine space may define a rhombus having two sets of parallel lines. However, unlike the example first affine space, the intersecting lines of the example second affine space do not intersect at right angles. As such, the affine transformation algorithm preserves the sets of parallel lines from the example first affine space to the example second affine space and alters angles of intersecting lines.

In the example illustrated in <FIG>, mapping unit <NUM> may compute an affine transformation matrix. The affine transformation matrix may include a group of values that enable an affine transformation algorithm to map a first affine space to a second affine space. For example, mask image 408A may define a first affine space and a transformed mask image 408A may define a second affine space. The affine transformation matrix may enable the affine transformation algorithm to transform mask image 408A to align an orientation of mask image 408A with an orientation of reference image 409A. Furthermore, the affine transformation matrix may enable the affine transformation algorithm to change a shape of mask image 408A to adopt a shape of reference image 409A. In some examples, the affine transformation matrix includes six values given by equestion.

The affine transformation matrix may be calculated by using matrix algebra to solve for h in the equation b = Ah (eq. For example, primary points identified in reference image 409A may be given by the coordinates <MAT>. Secondary points identified in the respective mask image 408A may be given by the coordinates <MAT>. Based on the primary points and the secondary points, mapping unit <NUM> may assemble matrix A and matrix b, as seen below in (eq. <NUM>) and (eq. <NUM>), respectively. <MAT> <MAT> <MAT> <MAT>.

Mapping unit <NUM> may solve for the transformation matrix h (eq. <NUM>) by performing a least-squares estimate. For example, mapping unit <NUM> may solve for h by applying the equation h = (ATA)-<NUM>ATb. In other words, mapping unit <NUM> may solve for transformation matrix h by first multiplying a transpose of matrix A by matrix A itself. Next, mapping unit <NUM> may compute an inverse of the multiplication of the transpose of matrix A by matrix A. After computing the inverse, mapping unit <NUM> may multiply the inverse by the transpose of matrix A. Subsequently, mapping unit <NUM> may solve for matrix h by multiplying by matrix b.

Mapping unit <NUM> may transform mask image 408A by applying the affine transformation matrix (eq. <NUM>) to each point of mask image 408A, as shown below in (eq. In other words, each pixel of transformed mask image 408A may be calculated by applying the affine transformation matrix to each pixel of original (e.g., not transformed) mask image 408A.

Inspection region unit <NUM> may overlay (e.g., superimpose) the transformed mask image 408A on the corresponding reference image 409A. In some examples, after mask image 408A is superimposed on reference image 409A, transformed mask image 408A partially, but not completely covers reference image 409A. A portion of reference image 409A that is covered by transformed mask image 408A may define an inspection region (e.g., a region of the reference image that is intended for inspection by processing unit <NUM>). In some examples, inspection region unit <NUM> overlays transformed mask image 408A on reference image 409A such that a centroid of transformed mask image 408A is aligned with a centroid of reference image 409A. In some such examples, an area of reference image 409A is larger than an area of transformed mask image 408A and the inspection region is an interior region of reference image 409A that is covered by transformed mask image 408A. In some examples, the inspection region includes an interior region of reference image 409A extending up to greater than about <NUM> micrometers and less than about <NUM> micrometers from a boundary of reference image 409A. Put another way, the inspection region includes an area of reference image 409A which excludes a boundary region of reference image 409A.

Quality unit <NUM> may process the inspection region of reference image 409A to determine the quality of the sheet part. For example, defect detection unit <NUM> may detect defects in the inspection region. Defects in the inspection region may include at least one of particles, scuffs, scratches, dents, streaks, and impressions. In some examples, defect detection unit <NUM> employs image processing techniques to calculate a defect quantification value based on at least one of a type of defect, number of defects, a size of defects, or a severity of defects. Based on the defect quantification value, quality evaluation unit <NUM> may classify reference image 409A into at least one of a defective category, a satisfactory category, or a rework category. Processing unit <NUM> may independently process each reference image (e.g., reference image 409A, 409B, 409C,. , and 409N) of the set of reference images <NUM> to determine the quality of the sheet part. More specifically, quality evaluation unit <NUM> may use a quality function to determine the quality of the sheet part. For example, the quality function may accept the defect quantification value of each reference image as inputs and produce the quality classification of the sheet part as an output. Processing unit <NUM> may determine a quality of each sheet part of the plurality of sheet parts <NUM> by analyzing a set of reference images <NUM> corresponding to each sheet part. In some examples, processing unit <NUM> is configured to determine the quality of the plurality of sheet parts <NUM> at a rate of about two sheet parts per second.

<FIG> is a block diagram illustrating a reference image <NUM> having a plurality of identified primary points 512A-512D (collectively, "primary points <NUM>") and a mask image <NUM> having a plurality of identified secondary points 522A-522D (collectively, "secondary points <NUM>"), in accordance with at least one exemplary technique described in this disclosure. Reference image <NUM> may be an example of a reference image (e.g., reference image 409A) of the set of reference images <NUM> of <FIG> corresponding to a sheet part. In addition to primary points <NUM>, reference image <NUM> may include primary edges 514A-514D (collectively, "primary edges <NUM>") and primary rounded corners 516A-516D (collectively, "primary rounded corners <NUM>"). Furthermore, mask image <NUM> may be an example of a mask image (e.g., mask image 408A) of the set of mask images <NUM> of <FIG>. In addition to secondary points <NUM>, mask image <NUM> may include secondary edges 524A-524D (collectively, "secondary edges <NUM>") and secondary rounded corners 526A-526D (collectively, "secondary rounded corners <NUM>").

A processing unit (e.g., processing unit <NUM> of <FIG>) may identify primary points <NUM>. As seen in the example of <FIG>, processing unit <NUM> may identify the plurality of primary edges <NUM> in reference image <NUM>. Primary edges <NUM> may include straight edges of a boundary of reference image <NUM>. The straight edges of primary edges <NUM> may be connected by primary rounded corners <NUM>. To identify primary points <NUM>, processing unit <NUM> may extrapolate primary edges <NUM> such that primary edges <NUM> intersect at known coordinates. For example, as seen in <FIG>, primary edge 514A and primary edge 514D may be extrapolated to intersect at primary point 512A. Processing unit <NUM> may identify the coordinates of primary point 512A, and the coordinates of each other primary point of primary points <NUM>. The coordinates of primary points <NUM> may be used to transform mask image <NUM>.

Additionally, processing unit <NUM> may identify secondary points <NUM>. As seen in the example of <FIG>, processing unit <NUM> may identify the plurality of secondary edges <NUM> in mask image <NUM>. Secondary edges <NUM> may include straight edges of a boundary of mask image <NUM>. The straight edges of secondary edges <NUM> may be connected by secondary rounded corners <NUM>. To identify secondary points <NUM>, processing unit <NUM> may extrapolate secondary edges <NUM> such that secondary edges <NUM> intersect at known coordinates. For example, secondary edge 524A and secondary edge 524D may be extrapolated to intersect at secondary point 522A. Processing unit <NUM> may identify the coordinates of secondary point 522A, and the coordinates of each other secondary point of secondary points <NUM>. The coordinates of primary points <NUM> and the coordinates of secondary points <NUM> may be used as inputs to an affine transformation algorithm for transforming mask image <NUM> to adopt a shape and an orientation of reference image <NUM>.

<FIG> is a block diagram illustrating a reference image <NUM>, a corresponding mask image <NUM>, and a boundary region <NUM> created by applying a transformed mask image <NUM> to a reference image <NUM>, in accordance with at least one exemplary technique described in this disclosure. Reference image <NUM> may be an example of a reference image (e.g., reference image 409A) of the set of reference images <NUM> of <FIG> corresponding to a sheet part. Furthermore, mask image <NUM> may be an example of a mask image (e.g., mask image 408A) of the set of mask images <NUM> of <FIG>.

In some examples, a processing unit (e.g., processing unit <NUM> of <FIG>) transforms mask image <NUM> into a transformed mask image <NUM>. Prior to the transformation, a boundary of mask image <NUM> may be moved inward such that a size of mask image <NUM> is decreased and a shape of mask image <NUM> is maintained. Processing unit <NUM> may overlay the transformed mask image <NUM> on the reference image <NUM>. The transformed mask image <NUM> partially covers the reference image. Processing unit <NUM> may define a boundary region <NUM> within the reference image <NUM>, where the inspection region represents a portion of the reference image <NUM> that excludes the boundary region <NUM>. In this way, the area of reference image <NUM> that is covered by mask image <NUM> represents the inspection region. The boundary region <NUM> encompasses an area extending between the boundary of reference image <NUM> and the boundary of mask image <NUM>. In some examples, boundary region <NUM> extends greater than about <NUM> micrometers and less than about <NUM> micrometers from the boundary of reference image <NUM>.

<FIG> is a flow diagram illustrating example operation <NUM> of capturing a set of reference images of a sheet part using an inspection device, such as inspection device <NUM> of system <NUM> of <FIG>, for determining a quality of the sheet part, in accordance with at least one exemplary technique described in this disclosure. Example operation <NUM> is described with respect to system <NUM> of <FIG>. However, example operation <NUM> should not be construed as being limited to system <NUM>; example operation <NUM> may be performed by any element or group of elements configured to perform the steps of example operation <NUM>.

According to example operation <NUM>, an input zone of inspection device <NUM> receives a sheet part of a plurality of sheet parts <NUM> (<NUM>). In some examples, to receive the sheet part, inspection device <NUM> selects the sheet part from a stack of sheet parts and transfers the sheet part to the input zone. In order to select the sheet part, inspection device <NUM> may include a selection member configured to remove the sheet part from the stack of sheet parts and place the sheet part on the input zone. Additionally, or alternatively, to receive the sheet part, the system <NUM> may be configured to receive the sheet part from a device operator, where the device operator manually places the sheet part on the input zone. In some examples, the input zone of inspection device <NUM> includes a beginning of a moving belt that is configured to transport the sheet part from an endpoint of manufacturing process <NUM> through cleaning unit <NUM> and imaging unit <NUM>.

Cleaning unit <NUM> of inspection device <NUM> may clean the sheet part (<NUM>). For example, cleaning unit <NUM> may remove particles (e.g., airborne particles, dust particles, or liquid droplets) from a surface of the sheet part as the sheet part travels to imaging unit <NUM>. By cleaning the sheet part before imaging, cleaning unit <NUM> may prevent defects from being falsely detected in the set of reference images corresponding to the sheet part.

Imaging unit <NUM> of system <NUM> may detect the sheet part (<NUM>). In some examples, imaging unit <NUM> includes a light (not shown) and image capture devices <NUM>, where the sheet part travels between the light and image capture devices <NUM>. Consequently, in some such examples, image capture devices <NUM> may detect that the sheet part is partially obscuring the light as the sheet part passes between the light and image capture devices <NUM>, and image capture devices <NUM> may thus determine that the sheet part is within imaging unit <NUM>. In response to detecting that the sheet part is within the imaging unit, the at least one image capture device <NUM> capture a set of reference images of the sheet part (<NUM>).

Inspection device <NUM> outputs data indicative of the set of reference images to processing unit <NUM> (<NUM>). Processing unit <NUM> may analyze the set of reference images to determine a quality of the sheet part. After processing unit <NUM> determines the quality, system <NUM> receives, from processing unit <NUM>, information indicative of the quality of the sheet part, where the quality of the sheet part is based on the set of reference images (<NUM>). Inspection device <NUM> sorts the sheet part based on the quality of the sheet part (<NUM>). In some examples, the information indicative of the quality of the sheet part includes a designation of at least one of plurality of quality of categories, the plurality of quality categories including a defective category, a satisfactory category, and a rework category.

<FIG> is a flow diagram illustrating example operation <NUM> of determining a quality of a sheet part using a processing unit, such as processing unit <NUM> of <FIG>, in accordance with at least one exemplary technique described in this disclosure. Although example operation <NUM> is described with respect to processing unit <NUM> of <FIG>, in other examples, example operation <NUM> may be performed by processing unit <NUM> within system <NUM> of <FIG>.

According to example operation <NUM>, processing unit <NUM> receives a set of reference images <NUM> of a sheet part of a plurality of sheet parts (e.g., sheet parts <NUM> of <FIG>), where the set of reference images <NUM> are captured by at least one image capture device (e.g., image capture devices <NUM> of <FIG>) (<NUM>). In example operation <NUM>, the set of reference images <NUM> received by processing unit <NUM> may include a reference image corresponding to each image capture device of image capture devices <NUM>. In some examples, processing unit <NUM> receives the set of reference images <NUM> via a wireless connection at interfaces <NUM>. Additionally, or alternatively, interfaces <NUM> of processing unit <NUM> may be electrically connected to system <NUM> such that processing unit <NUM> may receive the set of reference images <NUM> via an electrical conductor.

Transformation unit <NUM> of processing unit <NUM> identifies at least one primary point in a reference image (e.g., reference image 409A) of the set of reference images <NUM> (<NUM>). Additionally, transformation unit <NUM> identifies at least one secondary point in a mask image (e.g., mask image 408A) of a set of mask images <NUM>, where the mask image 408A defines a silhouette of the sheet part including a size and a shape of the sheet part for inspection, and where the mask image 408A corresponds to the reference image 409A (<NUM>). More specifically, to identify the at least one primary point, point detection unit <NUM> of transformation unit <NUM> may identify a plurality of primary edges in reference image 409A. Each primary point of the at least one primary point represents an intersection between a pair of primary edges of the plurality of primary edges. Additionally, to identify the at least one secondary point, point detection unit <NUM> may identify a plurality of secondary edges in the mask image 408A, wherein each secondary point of the at least one secondary point represents an intersection between a pair of secondary edges of the plurality of secondary edges. In some examples, after point detection unit <NUM> identifies the at least one primary point and the at least one secondary point, mask alteration unit <NUM> of transformation unit <NUM> crops the mask image 408A (e.g., decreasing a size of the mask image 408A while maintaining a shape of the mask image 408A).

Once point detection unit <NUM> identifies the at least one primary point and the at least one secondary point, mapping unit <NUM> of transformation unit <NUM> may transform the mask image 408A based on the at least one primary point and the at least one secondary point, where the transforming changes at least one of an orientation of the mask image 408A and a shape of the mask image 408A to align the orientation of the mask image 408A to an orientation of the reference image 409A and to align the shape of the mask image 408A to a shape of the reference image 409A (<NUM>). In some examples, mapping unit <NUM> transforms the mask image 408A using an affine transformation algorithm. In general, the affine transformation algorithm maps a first affine space to a second affine space. Parallel lines remain parallel in the transformation between the first affine space and the second affine space. However, intersection angles between lines may change in the transformation between the first affine space and the second affine space. In the case of example operation <NUM>, the first affine space includes mask image 408A, and the second affine space includes a transformed mask image 408A. More specifically, the affine transformation algorithm includes an affine transformation matrix composed of a set of values, where the affine transformation matrix is designed to create the transformed mask image 408A which adopts an orientation and a shape of the respective reference image 409A.

After mapping unit <NUM> creates the transformed mask image 408A, mapping unit <NUM> applies the transformed mask image 408A to the respective reference image 409A to identify an inspection region within the reference image 409A (<NUM>). For example, mapping unit <NUM> may overlay the transformed mask image 408A on the reference image, the transformed mask image 408A partially covering the reference image. Mapping unit <NUM> may define the inspection region within the reference image 409A as a portion of the reference image 409A that is covered by the transformed mask image 408A. In this way, the inspection region defines an interior region of reference image 409A extending to a predetermined distance from the boundary of the reference image 409A. In some examples, the predetermined distance is greater than about <NUM> micrometers and less than about <NUM> micrometers. In one example, the inspection region defines the interior region of reference image 409A, where the interior region defines an area extending to greater than <NUM> micrometers and less than <NUM> micrometers from a boundary of reference image 409A.

Quality unit <NUM> of processing unit <NUM> may assess the inspection region of the reference image 409A for defects. In example operation <NUM>, quality unit <NUM> may process the inspection region to determine a quality of the sheet part (<NUM>). More specifically, quality unit <NUM> may be configured to determine the quality of the sheet part by detecting defects in the inspection region. Example defects may include at least one of particles, scuffs, scratches, dents, streaks, and impressions that may be detected by defect detection unit <NUM> of quality unit <NUM> using image processing techniques. Quality evaluation unit <NUM> of quality unit <NUM> may quantify detected defects based on any combination of a number of detected defects, a size of detected defects, or a severity of detected defects. Based on the quantification of the detected defects, quality evaluation unit <NUM> may determine the quality of the sheet part by classifying the sheet part into at least one of a satisfactory category, a defective category, or a rework category. Processing unit <NUM> outputs information indicative of the quality of the sheet part (<NUM>). In some examples, processing unit <NUM> outputs the information to inspection device <NUM> of <FIG> via interfaces <NUM>.

Although example operation <NUM> is described with respect to mask image 408A and reference image 409A, example operation <NUM> may additionally be applied using other mask images and reference images. For example, processing unit <NUM> may independently process each reference image (e.g., reference image 409A, 409B, 409C,. , and 409N) of the set of reference images <NUM> to determine the quality of the sheet part. Additionally, processing unit <NUM> may determine a quality of each sheet part of the plurality of sheet parts <NUM> by analyzing a set of reference images <NUM> corresponding to each sheet part. the techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware or any combination thereof. For example, various aspects of the described techniques may be implemented within at least one processor, including at least one microprocessor, DSP, ASIC, FPGA, and/or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. A control unit including hardware may also perform at least one of the techniques of this disclosure.

Rather, functionality associated with at least one module and/or unit may be performed by separate hardware or software components or integrated within common or separate hardware or software components.

The techniques described in this disclosure may also be embodied or encoded in a computer-readable medium, such as a non-transitory computer-readable medium or computer-readable storage medium, containing instructions. Instructions embedded or encoded in a computer-readable medium may cause a programmable processor, or other processor, to perform the method (e.g., when the instructions are executed). Computer readable storage media may include random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), EPROM, EEPROM, flash memory, a hard disk, a CD-ROM, a floppy disk, a cassette, magnetic media, optical media, or other computer-readable storage media. The term "computer-readable storage media" refers to physical storage media, and not signals or carrier waves, although the term "computer-readable media" may include transient media such as signals, in addition to physical storage media.

Claim 1:
A processing unit (<NUM>; <NUM>) configured to:
receive a set of reference images of a sheet part of a plurality of sheet parts (<NUM>), wherein the set of reference images are captured by a plurality of respective image capture devices (110A-110N);
identify at least one primary point in a reference image of the set of reference images;
identify at least one secondary point in a mask image of a set of mask images, wherein the mask image defines a silhouette of the sheet part (<NUM>) including a size and a shape of the sheet part (<NUM>) for inspection, and wherein the mask image corresponds to the reference image;
transform the mask image based on the at least one primary point and the at least one secondary point, wherein the transforming changes at least one of an orientation of the mask image or a shape of the mask image to align the orientation of the mask image to an orientation of the reference image and to align the shape of the mask image to a shape of the reference image,
apply the transformed mask image to the reference image to identify an inspection region within the reference image;
process the inspection region of the reference image to determine a quality of the sheet part (<NUM>); and
output information indicative of the quality of the sheet part (<NUM>);
wherein the processing unit (<NUM>; <NUM>) is configured to independently determine the quality of the sheet part (<NUM>) based on the reference image captured by each respective image capture device (110A-<NUM>-N).